Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
jp:developersguide [2007/01/24 09:32] amatubujp:developersguide [2008/08/01 05:56] (current) – external edit 127.0.0.1
Line 5: Line 5:
 POPFile の開発に興味があるなら、正しいページを開いています。最初にしなければならないのは、このドキュメントを読み、理解することです。 POPFile の開発に興味があるなら、正しいページを開いています。最初にしなければならないのは、このドキュメントを読み、理解することです。
  
-そして、SourceForge の POPFile ページにある [Bleeding Edge - Source Code] [[http://sourceforge.net/forum/forum.php?forum_id=230652フォーラム]] にアクセスして、なんらかのソースコードを書くことや提案をすることに興味があることを書いたメッセージを投稿してください。(フォーラムでは) アイデアに対する率直な反応が得られるでしょう。このことはとても重要です。なぜなら、他の人が作業しているようなコーディングをすることで、あなたの時間を無駄にしないためです。また、私があなたのアイデアをよいものだと思うかどうかを確かめるのも、よいアイデアでしょう。そうしないと、(作っても) 拒否されるものをコーディングすることになってしまうかもしれません。しかし、ほとんどの場合、POPFile の他の開発者から激励や提案があるでしょう。また、私から "見せてほしい" という反応があるでしょう。+そして、POPFile ページにある [[http://getpopfile.org/discussion/|Bleeding Edge - Source Code]] にアクセスして、なんらかのソースコードを書くことや提案をすることに興味があることを書いたメッセージを投稿してください。(フォーラムでは) アイデアに対する率直な反応が得られるでしょう。このことはとても重要です。なぜなら、他の人が作業しているようなコーディングをすることで、あなたの時間を無駄にしないためです。また、私があなたのアイデアをよいものだと思うかどうかを確かめるのも、よいアイデアでしょう。そうしないと、(作っても) 拒否されるものをコーディングすることになってしまうかもしれません。しかし、ほとんどの場合、POPFile の他の開発者から激励や提案があるでしょう。また、私から "見せてほしい" という反応があるでしょう。
  
 私がコードの基礎において特に重視しているのは、コード自体の品質だということに留意してください。これは、POPFile のコーディングスタイルや、POPFile のテストをどのように書けばよいのかを理解するために、充分に時間をかけることが必要だということです。テストされていないものや、コーディングスタイルにあっていない POPFile に対する変更は拒否されるでしょう。 私がコードの基礎において特に重視しているのは、コード自体の品質だということに留意してください。これは、POPFile のコーディングスタイルや、POPFile のテストをどのように書けばよいのかを理解するために、充分に時間をかけることが必要だということです。テストされていないものや、コーディングスタイルにあっていない POPFile に対する変更は拒否されるでしょう。
Line 13: Line 13:
 === 2. パッチを投稿するにはどうすればよいのですか? === === 2. パッチを投稿するにはどうすればよいのですか? ===
  
-まず、このドキュメントをすべて読んで、[[:jp:Tools | diff3]] (あるいはそれに似たプログラム) を使ってパッチを作成し、SourceForge の [[http://sourceforge.net/tracker/?group_id=63137&atid=502958チデータベース]](英語) に投稿してください。パッチがコーディング標準 (coding standard) にあっていること、また、関連する単体テストを含んでいること(パッチがとてもとても単純な場合を除く)を確認してください。+まず、このドキュメントをすべて読んで、[[:jp:Tools | diff3]] (あるいはそれに似たプログラム) を使ってパッチを作成し、 [[http://getpopfile.org/newticket新しいチケトを作成]](英語) してください。パッチがコーディング標準 (coding standard) にあっていること、また、関連する単体テストを含んでいること(パッチがとてもとても単純な場合を除く)を確認してください。
  
-パッチを投稿する前に、あなたのバージョンのコードに対して POPFile のテスト・スイートを実行して、他の部分に影響がないかを確認することをおすすめします。コーディング標準にあっていて、自分自身のテストを含み、POPFile のすべてのテスト・スイートをパスしたパッチを投稿することは、私の信頼を得、あなたのコードを CVS に登録し、いつかあなた自身が CVS へのアクセス権を得るための最善の方法です。+パッチを投稿する前に、あなたのバージョンのコードに対して POPFile のテスト・スイートを実行して、他の部分に影響がないかを確認することをおすすめします。コーディング標準にあっていて、自分自身のテストを含み、POPFile のすべてのテスト・スイートをパスしたパッチを投稿することは、私の信頼を得、あなたのコードを SVN に登録し、いつかあなた自身が SVN へのアクセス権を得るための最善の方法です。
  
-=== 3. CVS の commit 権限を得るためにはどうすればよいのですか? ===+=== 3. SVN の commit 権限を得るためにはどうすればよいのですか? ===
  
-プロジェクトオであるJohn Graham-Cumming, [email protected] に連絡してください(訳注:英語で)。あなたが一貫してすばらしいパッチを提供してくれて、[Bleeding Edge - Source Code] フォーラムにいれること、CVS へのアクセスができるようになるでしょう、下記のコーディングガイドに従って、よいテストを書き、さらには私が POPFile に変更を加えたい場合には私の指示に従ってください。+POPFile コアチム(The POPFile Core Team)のメンバ(BrianJoseph、Manni、Naoki)に連絡してください(訳注:英語で)。あなたが一貫してすばらしいパッチを提供してくれて、[Bleeding Edge - Source Code] フォーラムにほかの開発者たちと参加することにより、CVS へのアクセスができるようになるでしょう、下記のコーディングガイドに従って、よいテストを書き、さらには私が POPFile に変更を加えたい場合には私の指示に従ってください。
  
 === 4. POPFile (プロジェクト) にはコーディングスタイル (についてのルール) がありますか? === === 4. POPFile (プロジェクト) にはコーディングスタイル (についてのルール) がありますか? ===
Line 25: Line 25:
 はい、以下のルールがあります (POPFile のすべてのソースコードがこのコーディングスタイルにあっているわけではないことに注意してください・・・きれいにすべきところを見つけたら、してください!)。 はい、以下のルールがあります (POPFile のすべてのソースコードがこのコーディングスタイルにあっているわけではないことに注意してください・・・きれいにすべきところを見つけたら、してください!)。
  
-POPFile にはコーディングスタイルがあります。これは、コードに一貫性があるように見え、他の人に読みやすく、また理解しやすくするためです。POPFile のコーディング標準は、あなたの好みのスタイルとは違うかもしれません。残念! 個々のスタイルは重要なものですしかし、複数のデベロッパの間でひとつの一貫したスタイルを使用することは、コードをきれいなまま保つために欠かせないことなのです。+POPFile にはコーディングスタイルがあります。これは、コードに一貫性があるように見え、他の人に読みやすく、また理解しやすくするためです。POPFile のコーディング標準は、あなたの好みのスタイルとは違うかもしれません。残念! 個々のスタイルは重要なものですしかし、複数のデベロッパの間でひとつの一貫したスタイルを使用することは、コードをきれいなまま保つために欠かせないことなのです。
  
 --- 混乱した Perl スクリプトにしないでください。Perl はクロスプラットフォームのコードを書く上で素晴らしい言語ですが、(気をつけないと) 簡単に弁解の余地のないあいまいなコードになってしまいます。ですから、できるだけ暗黙の変数を使わないようにして、新米の Perl プログラマがあなたの書いたコードを解読しようとしているのを想像しながらコーディングしてください。 --- 混乱した Perl スクリプトにしないでください。Perl はクロスプラットフォームのコードを書く上で素晴らしい言語ですが、(気をつけないと) 簡単に弁解の余地のないあいまいなコードになってしまいます。ですから、できるだけ暗黙の変数を使わないようにして、新米の Perl プログラマがあなたの書いたコードを解読しようとしているのを想像しながらコーディングしてください。
Line 107: Line 107:
  
 if ( $^O eq 'MSWin32' ) { if ( $^O eq 'MSWin32' ) {
-<code>   require v5.8.0; +   require v5.8.0; 
-   $on_windows = 1;</code>+   $on_windows = 1;
 } }
 </code> </code>
Line 138: Line 138:
 tests.pl はすべての .tst ファイルを実行します。それぞれのテストがそれぞれのチェックを通過したテストごとに . を表示し、失敗した場合には適切なエラーを表示し、最後にはテストの合計数と失敗したテストの数についての概要を表示します。 tests.pl はすべての .tst ファイルを実行します。それぞれのテストがそれぞれのチェックを通過したテストごとに . を表示し、失敗した場合には適切なエラーを表示し、最後にはテストの合計数と失敗したテストの数についての概要を表示します。
  
-POPFile に含まれるそれぞれの Perl モジュールには、tests/ サブディレクトリにそれぞれに対応するテストファイルがあります。例えば、MailParse.pm (というモジュール) には、TestMailParse.tst (というテスト) があります。+POPFile に含まれるそれぞれの Perl モジュールには、tests/ サブディレクトリにそれぞれに対応するテストファイルがあります。例えば、%%MailParse.pm%% (というモジュール) には、%%TestMailParse.tst%% (というテスト) があります。
  
 新しいコードを (CVS に) チェックインする前、あるいはパッチを投稿する前に、テスト・スイートを実行して、リグレッション (訳注:新しいコードを追加したことによって他の部分に悪影響を及ぼすこと) がないこと確認してください 新しいコードを (CVS に) チェックインする前、あるいはパッチを投稿する前に、テスト・スイートを実行して、リグレッション (訳注:新しいコードを追加したことによって他の部分に悪影響を及ぼすこと) がないこと確認してください
Line 144: Line 144:
 === 6. なぜ 許諾契約書 (License Agreement) に署名して著作権を John Graham-Cumming に渡さないといけないのですか? === === 6. なぜ 許諾契約書 (License Agreement) に署名して著作権を John Graham-Cumming に渡さないといけないのですか? ===
  
-POPFile は フリーソフトウェアでよく使われている General Public License (GPL) に基づいて公開されていますが、実際のコードが GPL とは利害関係が異なる人からのクレームを受けないことを確実にするため、もし誰かが GPL を破った場合に私がちゃんと法定で争うことができるように、また、貢献者が提供したコードを使って POPFile の派生バージョンを法的な問題なく作成することができるようにするために、POPFile の貢献者 (パッチなどを提供する人) は、[[:LicenseAgreement | POPFile License Agreement (許諾契約書)]] に署名することが求められます。+POPFile は フリーソフトウェアでよく使われている General Public License (GPL) に基づいて公開されていますが、実際のコードが GPL とは利害関係が異なる人からのクレームを受けないことを確実にするため、もし誰かが GPL を破った場合に私がちゃんと法定で争うことができるように、また、貢献者が提供したコードを使って POPFile の派生バージョンを法的な問題なく作成することができるようにするために、POPFile の貢献者 (パッチなどを提供する人) は、[[:devel:LicenseAgreement | POPFile License Agreement (許諾契約書)]] に署名することが求められます。
  
 この契約書を簡単に要約すると、"あなたは私に、あなたが書いたコードが他の誰のものでもなく、あなたは私にそのコードを POPFile の中で自由に使える権利を与えることを告げ、私は POPFile で使われているあなたのコードが誰かに '損害を与えた' 場合にあなたが訴えられないように守ります。" という内容です。 この契約書を簡単に要約すると、"あなたは私に、あなたが書いたコードが他の誰のものでもなく、あなたは私にそのコードを POPFile の中で自由に使える権利を与えることを告げ、私は POPFile で使われているあなたのコードが誰かに '損害を与えた' 場合にあなたが訴えられないように守ります。" という内容です。
Line 151: Line 151:
  
 1. 私が POPFile とコードの著作権について書いたもとのスレッド 1. 私が POPFile とコードの著作権について書いたもとのスレッド
-<code>  https://sourceforge.net/forum/forum.php?thread_id=800798&forum_id=230652 +<code> 
-  </code>+  https://sourceforge.net/forum/forum.php?thread_id=800798&forum_id=230652 
 +</code>
  
 2. Free Software Foundation の GPL についての FAQ 2. Free Software Foundation の GPL についての FAQ
-<code>  http://www.fsf.org/licenses/gpl-faq.html+<code> 
 +  http://www.fsf.org/licenses/gpl-faq.html
      
   重要なセクションはここです:   重要なセクションはここです:
Line 166: Line 168:
    violation of the GPL, you should inform the developers of the GPL-covered    violation of the GPL, you should inform the developers of the GPL-covered
    software involved. They either are the copyright holders, or are connected    software involved. They either are the copyright holders, or are connected
-   with the copyright holders."</code>+   with the copyright holders." 
 +</code>
  
 (参考) GNU GPLに関して良く聞かれる質問 (上記の日本語訳) (参考) GNU GPLに関して良く聞かれる質問 (上記の日本語訳)
-<code>  http://www.fsf.org/licenses/gpl-faq.ja.html+<code> 
 +  http://www.fsf.org/licenses/gpl-faq.ja.html
      
   重要なセクションはここです:   重要なセクションはここです:
Line 181: Line 185:
    べきです。彼らは自身著作権者であるか、著作権者とつながりがあるかのどちらか    べきです。彼らは自身著作権者であるか、著作権者とつながりがあるかのどちらか
    でしょうから。"    でしょうから。"
-    +</code> 
-  私が POPFile の著作権についての明確な所有権を持っていることは不可欠です。 + 
-  それは、GPL に基づいて訴える必要が生じたときに、私が障害なくそれを行うために +私が POPFile の著作権についての明確な所有権を持っていることは不可欠です。 
-  必要となるからです。 +それは、GPL に基づいて訴える必要が生じたときに、私が障害なくそれを行うために 
-   +必要となるからです。 
-  **上記の FAQ をすべて読んでいただくよう、要望します。**</code>+ 
 +**上記の FAQ をすべて読んでいただくよう、要望します。**
  
 3. Free Software Foundation の著作権譲渡についての注意書き 3. Free Software Foundation の著作権譲渡についての注意書き
-<code>  http://www.fsf.org/licenses/why-assign.html+<code> 
 +  http://www.fsf.org/licenses/why-assign.html
      
   "By Professor Eben Moglen, Columbia University Law School    "By Professor Eben Moglen, Columbia University Law School 
Line 209: Line 215:
    the programmer's employer. That way we can be sure that all the code in FSF     the programmer's employer. That way we can be sure that all the code in FSF 
    projects is free code, whose freedom we can most effectively protect, and     projects is free code, whose freedom we can most effectively protect, and 
-   therefore on which other developers can completely rely." </code>+   therefore on which other developers can completely rely."  
 +</code>
  
 (参考) なぜFSFは貢献者に著作権の譲渡をお願いしているのか (上記の日本語訳) (参考) なぜFSFは貢献者に著作権の譲渡をお願いしているのか (上記の日本語訳)
-<code>  http://www.fsf.org/licenses/why-assign.ja.html+<code> 
 +  http://www.fsf.org/licenses/why-assign.ja.html
      
   "Eben Moglen(Columbia大学ロースクール教授)著    "Eben Moglen(Columbia大学ロースクール教授)著 
Line 231: Line 239:
    私たちはFSFのプロジェクトのコードすべてが、私たちがその自由を最も効果的に    私たちはFSFのプロジェクトのコードすべてが、私たちがその自由を最も効果的に
    保護でき、それによって他の開発者も完全に信頼することができることができる    保護でき、それによって他の開発者も完全に信頼することができることができる
-   フリーなコードであることを保証できるのです。"</code>+   フリーなコードであることを保証できるのです。" 
 +</code>
  
 (訳注:上記日本語訳の中で、「著作権者か著作権を上とされている誰か」という表現がありますが、ここはおそらく「著作権者か著作権を譲渡されている誰か」の変換ミスだと思われます) (訳注:上記日本語訳の中で、「著作権者か著作権を上とされている誰か」という表現がありますが、ここはおそらく「著作権者か著作権を譲渡されている誰か」の変換ミスだと思われます)
Line 237: Line 246:
 (訳注:ライセンス関係の文書は、英語で書かれた原文のみが法的な効力を持ち、日本語などの他の言語に翻訳されたものは、あくまで参考にしかなりません。このため、POPFile License Agreement については、日本語訳を作成していません) (訳注:ライセンス関係の文書は、英語で書かれた原文のみが法的な効力を持ち、日本語などの他の言語に翻訳されたものは、あくまで参考にしかなりません。このため、POPFile License Agreement については、日本語訳を作成していません)
  
-[#HowToWritePLA] 
 == POPFile License Agreement の書き方 == == POPFile License Agreement の書き方 ==
  
Line 248: Line 256:
   * E-mail address 欄には、メールアドレスを記入します。   * E-mail address 欄には、メールアドレスを記入します。
  
-これで完成です。印刷したもの書かれている住所に郵送するか、電子メールで送付します。電子メールを利用する方が簡単だと思います(私も電子メールにしました)+これで完成です。署名した License Agreement を電子メールで送付します。
  
 [[:DevelopersGuide | 原文]] [[:DevelopersGuide | 原文]]
 
jp/developersguide.1169631144.txt.gz · Last modified: 2008/02/08 19:49 (external edit)
Old revisions

Should you find anything in the documentation that is incomplete, unclear, outdated or just plain wrong, please let us know and leave a note in the Documentation Forum.

Recent changes RSS feed Donate Driven by DokuWiki
The content of this wiki is protected by the GNU Fee Documentation License