発端はオレジュメモ。wildcatsさん曰く、「そもそも企業で開発しているのに個人名を書かせるのはおかしいですよね」、「仕事による開発でJavaDocを納品成果物にした場合には、@author欄に企業名ではなく個人名が表示されるのはおかしい」、「よってコーディング規約で@authorタグを書かせるのはやめた方が良いとおもいますね」、とのこと。
なるほどねー。ウチはどうだったっけ……。「@authorはRecommended。コーダの名前を入れること」か。どうすべかなー、
そもそもの問題は、@authorタグをどういう目的で使うのかがはっきりしていないのが問題だな。読み手によって、コードの所有者、著作権者、問い合わせ先といった意味があるようだ。この曖昧さが問題だ。
コードの所有者は、パッケージ名の前半で示せる。著作権者は万国著作権条約にしたがって、© や (C) を用いて主張すべき。ベルヌ条約に従えば@authorタグが著作権者を特定するためのよりどころとなり得るのだが、上記のとおり目的がはっきりしないため、この目的に @authorタグを用いるべきではない。
以上により、@authorタグは問い合わせ先を示すものとする。したがって、JavaDoc規約に従い、個々のプログラマ(individual programmers)の名前を記述するべき。
構成管理ツールを使用していない場合、問い合わせ先を示すために、@author には コードを記述した者の氏名を書くべき。複数人が係わっている場合は、@authorタグを複数記述すべき。
構成管理ツールを使用している場合、問い合わせ先の管理は構成管理ツールに任せるべき。この場合は@authorタグは意味を持たないので、記述する必要はない。ただしこの場合、リリース後にコード記述者を追跡するため、CVSリポジトリをバックアップしておくことが重要。
なお、納品物としてのJavaDocに、問い合わせ先(コーダレベル)を記載する必要はない。すなわち、-authorタグを指定しない。
思いつきで書いているので、無理が生じてしまうところがあるかもしれません。ツッコミ歓迎。
結構、飛び火してますね。。。<br>まず、構成管理はすべき。<br>しない場合は、@auherタグを書くのは良くて、JavaDocに出力しないのもOKで、納品時に、ソースから削除するかが問題。
@authorタグを付けると、XPの「コードの共同所有」に悪影響を及ぼしそうで嫌ですね。付けない方が好きです。<br>問い合わせ先をコードに埋め込むことのメリットって何でしょうか。
無責任なコードは存在しない方がよいので、自分の作成したコードには署名すべき、という考えに基づいています。人が作成したコードに手を入れる場合は、オリジナルコードを尊重して、それ以上のレベルのコードを記述する必要があり、その際は署名を追加するべき、という考えです。
なるほど。問い合わせ先=署名という意味でしょうか・・・納得しました。<br>「無責任なコード」について、モラルが高い開発者が揃えられればいいんでしょうけど、現実問題としては無理ですね。別の仕組み(構成管理ツール)で責任範囲を明確にできれば、不要というのも理解しました。