• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「Detailed Plugin Guidelines」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(フォーマット調整。)
(原文を非表示にしました。thanks to @nao さん for reviewing this.)
 
42行目: 42行目:
 
<br />
 
<br />
 
<li><!-- 7. -->
 
<li><!-- 7. -->
<div>ユーザーのインフォームドコンセントを伴わない「[https://en.wikipedia.org/wiki/Phoning_home phoning home](訳注: ユーザーが知らない外部との通信)」は禁止。この一見シンプルなルールはいくつかの異なる側面をカバーします: </div>
+
ユーザーのインフォームドコンセントを伴わない「[https://en.wikipedia.org/wiki/Phoning_home phoning home](訳注: ユーザーが知らない外部との通信)」は禁止。この一見シンプルなルールはいくつかの異なる側面をカバーします:
<div style="font-size:smaller">No "phoning home" without user's informed consent. This seemingly simple rule actually covers several different aspects:</div>
+
<!-- No "phoning home" without user's informed consent. This seemingly simple rule actually covers several different aspects: -->
 
<ul>
 
<ul>
 
<br />
 
<br />
 
<li>
 
<li>
<div>承認なしのユーザーデータの収集は禁止。例えば、ユーザーの許可なしに管理者のメールアドレスをあなたのサーバーへ送り返すことは禁止されます。しかしユーザーへメールアドレスをたずねて送信が選択されたときに収集するのは問題ありません。ここで行われるすべての動作はユーザーが行うものである<b>必要があり</b>、プラグインが自動的に行ってはなりません。</div>
+
承認なしのユーザーデータの収集は禁止。例えば、ユーザーの許可なしに管理者のメールアドレスをあなたのサーバーへ送り返すことは禁止されます。しかしユーザーへメールアドレスをたずねて送信が選択されたときに収集するのは問題ありません。ここで行われるすべての動作はユーザーが行うものである<b>必要があり</b>、プラグインが自動的に行ってはなりません。
<div style="font-size:smaller">No unauthorized collection of user data. For example, sending the admin's email address back to your own servers without permission of the user is not allowed; but asking the user for an email address and collecting if they choose to submit it is fine. All actions taken in this respect MUST be of the user's doing, not automatically done by the plugin.</div>
+
<!-- No unauthorized collection of user data. For example, sending the admin's email address back to your own servers without permission of the user is not allowed; but asking the user for an email address and collecting if they choose to submit it is fine. All actions taken in this respect MUST be of the user's doing, not automatically done by the plugin. -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li>
 
<li>
<div>表示されるすべての画像とスクリプトはプラグインの一部でなければなりません。これらはローカルに読み込まれなければなりません。もしプラグインが外部サイトからデータをロードする必要があるなら(例えばブロックするサイトのリスト)、そのことをプラグインの管理画面または説明文で明確にしなければなりません。重要なのはどんな情報がどこへ送られるかをユーザーが知らされなければならないという点です。</div>
+
表示されるすべての画像とスクリプトはプラグインの一部でなければなりません。これらはローカルに読み込まれなければなりません。もしプラグインが外部サイトからデータをロードする必要があるなら(例えばブロックするサイトのリスト)、そのことをプラグインの管理画面または説明文で明確にしなければなりません。重要なのはどんな情報がどこへ送られるかをユーザーが知らされなければならないという点です。
<div style="font-size:smaller">All images and scripts shown should be part of the plugin. These should be loaded locally. If the plugin does require that data is loaded from an external site (such as blocklists) this should be made clear in the plugin's admin screens or description. The point is that the user must be informed of what information is being sent where.</div>
+
<!-- All images and scripts shown should be part of the plugin. These should be loaded locally. If the plugin does require that data is loaded from an external site (such as blocklists) this should be made clear in the plugin's admin screens or description. The point is that the user must be informed of what information is being sent where. -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li>
 
<li>
<div>一般的に、バナーやテキストリンクを使った広告はプラグインのどこにも(設定画面を含む)現れてはいけません。いずれにせよ設定画面に広告を出してもふつうは効率がよくありません。なぜならユーザーがその画面へ訪れるのは稀です。また良い広告を出すために広告システムがページのコンテンツを確認できないので広告が低品質になります。ですからすっかり止めてしまうのがベストです。あなたのサイトやあなたが選んだソーシャルネットワークへのリンクを配置するのは問題ありません。もしプラグインがサードパーティー製サービスからの広告を出すなら、デフォルトで完全な無効化が選ばれるようにしなければなりません。これはユーザーの同意なしにトラッキング情報が収集されるのを防ぐためです。この手法は「オプトイン」として広く知られています。</div>
+
一般的に、バナーやテキストリンクを使った広告はプラグインのどこにも(設定画面を含む)現れてはいけません。いずれにせよ設定画面に広告を出してもふつうは効率がよくありません。なぜならユーザーがその画面へ訪れるのは稀です。また良い広告を出すために広告システムがページのコンテンツを確認できないので広告が低品質になります。ですからすっかり止めてしまうのがベストです。あなたのサイトやあなたが選んだソーシャルネットワークへのリンクを配置するのは問題ありません。もしプラグインがサードパーティー製サービスからの広告を出すなら、デフォルトで完全な無効化が選ばれるようにしなければなりません。これはユーザーの同意なしにトラッキング情報が収集されるのを防ぐためです。この手法は「オプトイン」として広く知られています。
<div style="font-size:smaller">In general, things like banner or text link advertising should not be anywhere in a plugin, including on its settings screen. Advertising on settings screens is generally ineffective anyway, as ideally users rarely visit these screens, and the advertising is low quality because the advertising systems cannot see the page content to determine good ads. So they're best just left off entirely. Putting links back to your own site or to your social-network of choice is fine. If the plugin does include advertising from a third party service, then it must default to completely disabled, in order to prevent tracking information from being collected from the user without their consent. This is the method commonly known as "opt-in".</div>
+
<!-- In general, things like banner or text link advertising should not be anywhere in a plugin, including on its settings screen. Advertising on settings screens is generally ineffective anyway, as ideally users rarely visit these screens, and the advertising is low quality because the advertising systems cannot see the page content to determine good ads. So they're best just left off entirely. Putting links back to your own site or to your social-network of choice is fine. If the plugin does include advertising from a third party service, then it must default to completely disabled, in order to prevent tracking information from being collected from the user without their consent. This is the method commonly known as "opt-in". -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li>
 
<li>
<div>もしあなたが、私たちが「広告スパム」と考えるものを含めたり他の誰かの広告システムの操作(game)を企んだりした場合、私たちはプラグインを削除するだけでなくあなたのコードを広告システムの乱用通報窓口へレポートします。私たちはスパムに寛容ではありません。試さないでください。</div>
+
もしあなたが、私たちが「広告スパム」と考えるものを含めたり他の誰かの広告システムの操作(game)を企んだりした場合、私たちはプラグインを削除するだけでなくあなたのコードを広告システムの乱用通報窓口へレポートします。私たちはスパムに寛容ではありません。試さないでください。
<div style="font-size:smaller">Note that if you do include what we consider to be "advertising spam", or attempt to game somebody else's advertising system, then we will not only remove your plugin, but also report your code to the advertising system's abuse mechanism as well. We do not react kindly to spam. Don't try it.</div>
+
<!-- Note that if you do include what we consider to be "advertising spam", or attempt to game somebody else's advertising system, then we will not only remove your plugin, but also report your code to the advertising system's abuse mechanism as well. We do not react kindly to spam. Don't try it. -->
 
</li>
 
</li>
 
</ul>
 
</ul>
73行目: 73行目:
 
<br />
 
<br />
 
<li><!-- 8. -->
 
<li><!-- 8. -->
<div>サードパーティー製システムを経由しての実行可能コードの送信は禁止。サーバー・クライアント方式によるサードパーティー製システムの使用は問題ありませんが、本物の PHP コードや他の実行可能コードをネットワーク経由で送るのはセキュリティ上のリスクと考えられます。外部コードの実行は、特定の非常に注意深く考えられた状況(例えばアップグレードの実施中)を除いては許可されません。</div>
+
サードパーティー製システムを経由しての実行可能コードの送信は禁止。サーバー・クライアント方式によるサードパーティー製システムの使用は問題ありませんが、本物の PHP コードや他の実行可能コードをネットワーク経由で送るのはセキュリティ上のリスクと考えられます。外部コードの実行は、特定の非常に注意深く考えられた状況(例えばアップグレードの実施中)を除いては許可されません。
<div style="font-size:smaller">No sending executable code via third-party systems. Use of third-party systems is acceptable in a service-client type of model, but sending actual PHP or other executable code over the network is considered a security risk. Executing outside code like this is not allowed except for specific and very carefully considered cases (such as during upgrades, for example).</div>
+
<!-- No sending executable code via third-party systems. Use of third-party systems is acceptable in a service-client type of model, but sending actual PHP or other executable code over the network is considered a security risk. Executing outside code like this is not allowed except for specific and very carefully considered cases (such as during upgrades, for example). -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li><!-- 9. -->
 
<li><!-- 9. -->
<div>プラグインはあらゆる違法なことや、モラル的に不適切なことを行ってはなりません。これは主観的であると私たちは認識しています。しかし、私たちがどんな理由にせよ好ましく思わないものは許されません。これには私たちが考える任意のスパムの定義にもとづいたスパムを含みます。</div>
+
プラグインはあらゆる違法なことや、モラル的に不適切なことを行ってはなりません。これは主観的であると私たちは認識しています。しかし、私たちがどんな理由にせよ好ましく思わないものは許されません。これには私たちが考える任意のスパムの定義にもとづいたスパムを含みます。
<div style="font-size:smaller">The plugin must not do anything illegal, or be morally offensive. That's subjective, we know. Still, if we don't like it for any reason, it's gone. This includes spam, for whatever definition of spam we want to use.</div>
+
<!-- The plugin must not do anything illegal, or be morally offensive. That's subjective, we know. Still, if we don't like it for any reason, it's gone. This includes spam, for whatever definition of spam we want to use. -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li><!-- 10. -->
 
<li><!-- 10. -->
<div>ユーザーの許可を明示的に得ない限り、プラグインはサイトのフロントエンド(public site)に外部リンクを埋め込んではいけません(「powered by」リンクのような)。プラグインのこれに該当するどんなオプションもデフォルトでリンクを表示<b>しない</b>ようにしなければなりません。</div>
+
ユーザーの許可を明示的に得ない限り、プラグインはサイトのフロントエンド(public site)に外部リンクを埋め込んではいけません(「powered by」リンクのような)。プラグインのこれに該当するどんなオプションもデフォルトでリンクを表示<b>しない</b>ようにしなければなりません。
<div style="font-size:smaller">The plugin must not embed external links on the public site (like a "powered by" link) without explicitly asking the user's permission. Any such options in the plugin must default to NOT show the link.</div>
+
<!-- The plugin must not embed external links on the public site (like a "powered by" link) without explicitly asking the user's permission. Any such options in the plugin must default to NOT show the link. -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li><!-- 11. -->
 
<li><!-- 11. -->
<div>プラグインはブログの管理を乗っ取ってはいけません。プラグインの管理画面にアップグレードのプロンプトを含めるのは問題ありませんが、ブログ全体にはだめです。ダッシュボードへウィジェットを埋め込むのは問題ありませんが、他のウィジェットと同じサイズであり非表示にできることが必要です。特別な状況でエラーメッセージを管理画面の上部に表示するのは構いませんが、エラー解決方法へリンクしていなければならず、頻度が低くなければなりません。何であれ「しつこい」のは絶対に禁止されます。</div>
+
プラグインはブログの管理を乗っ取ってはいけません。プラグインの管理画面にアップグレードのプロンプトを含めるのは問題ありませんが、ブログ全体にはだめです。ダッシュボードへウィジェットを埋め込むのは問題ありませんが、他のウィジェットと同じサイズであり非表示にできることが必要です。特別な状況でエラーメッセージを管理画面の上部に表示するのは構いませんが、エラー解決方法へリンクしていなければならず、頻度が低くなければなりません。何であれ「しつこい」のは絶対に禁止されます。
<div style="font-size:smaller">Plugins should not hijack the blog admin. It is fine to include an Upgrade prompt on the plugin admin page, but not throughout the blog. It is acceptable to embed a widget on the dashboard but this should be the same size as others and be dismissable. It's fine to put an error message at the top of the admin for special cases, but it should be linked to a way to fix the error and it should be infrequent. Any form of "nagging" is absolutely prohibited.</div>
+
<!-- Plugins should not hijack the blog admin. It is fine to include an Upgrade prompt on the plugin admin page, but not throughout the blog. It is acceptable to embed a widget on the dashboard but this should be the same size as others and be dismissable. It's fine to put an error message at the top of the admin for special cases, but it should be linked to a way to fix the error and it should be infrequent. Any form of "nagging" is absolutely prohibited. -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li><!-- 12. -->
 
<li><!-- 12. -->
<div>プラグインページ(readme.txt ファイルの内容)に「スポンサーの」リンクを含めないようにしてください。これは翻訳ファイルや、WordPress.org に表示されるコンテンツを持つ他のあらゆるリンクバック型の仕組みにも適用されます。</div>
+
プラグインページ(readme.txt ファイルの内容)に「スポンサーの」リンクを含めないようにしてください。これは翻訳ファイルや、WordPress.org に表示されるコンテンツを持つ他のあらゆるリンクバック型の仕組みにも適用されます。
<div style="font-size:smaller">The plugin page (aka the readme.txt file) may not have "sponsored" links on it. Same goes for the translation files and any other linkback type schemes that will have content displayed on WordPress.org.</div>
+
<!-- The plugin page (aka the readme.txt file) may not have "sponsored" links on it. Same goes for the translation files and any other linkback type schemes that will have content displayed on WordPress.org. -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li><!-- 13. -->
 
<li><!-- 13. -->
<div>ディレクトリーのプラグインページは 12 個を超えるタグを含んではいけません。他のプラグインの名前をタグに使うことは、検索エンジンの結果を操作するもの(gaming)と解釈されることがあるので、注意深く考えてください。</div>
+
ディレクトリーのプラグインページは 12 個を超えるタグを含んではいけません。他のプラグインの名前をタグに使うことは、検索エンジンの結果を操作するもの(gaming)と解釈されることがあるので、注意深く考えてください。
<div style="font-size:smaller">The plugin page in the directory should include no more than 12 tags. Using the names of other plugins as tags should be carefully considered, since it could be construed as "gaming" the search engine.</div>
+
<!-- The plugin page in the directory should include no more than 12 tags. Using the names of other plugins as tags should be carefully considered, since it could be construed as "gaming" the search engine. -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li><!-- 14. -->
 
<li><!-- 14. -->
<div>頻繁なコミットは最近の更新(Recently Updated)リストを操作するものと見なされる場合があります。これを避けるためにコミットの制限に努めてください。どんなコミットもその内容を説明するコミットメッセージ(合理的な詳細度の)を含まなければなりません。空のコミットメッセージがたくさんあると他の開発者やユーザーがプラグインの変更点をフォローするのが困難になります。また空のコミットメッセージによってコミットが拒否されたり、プラグインがディレクトリーから削除されたりする場合があります。</div>
+
頻繁なコミットは最近の更新(Recently Updated)リストを操作するものと見なされる場合があります。これを避けるためにコミットの制限に努めてください。どんなコミットもその内容を説明するコミットメッセージ(合理的な詳細度の)を含まなければなりません。空のコミットメッセージがたくさんあると他の開発者やユーザーがプラグインの変更点をフォローするのが困難になります。また空のコミットメッセージによってコミットが拒否されたり、プラグインがディレクトリーから削除されたりする場合があります。
<div style="font-size:smaller">Frequent commits can be seen as gaming the Recently Updated lists. Try to limit commits to prevent this. All commits should include a commit message describing the content of the commit, in reasonable detail. Frequent blank commit messages makes it hard for other developers and users to follow what is changing in the plugin. Blank commit messages may also be cause for rejection of the commit or removal of the plugin from the directory.</div>
+
<!-- Frequent commits can be seen as gaming the Recently Updated lists. Try to limit commits to prevent this. All commits should include a commit message describing the content of the commit, in reasonable detail. Frequent blank commit messages makes it hard for other developers and users to follow what is changing in the plugin. Blank commit messages may also be cause for rejection of the commit or removal of the plugin from the directory. -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li><!-- 15. -->
 
<li><!-- 15. -->
<div>「trunk」の Stable タグを持つプラグインに対するあらゆるコード変更は、バージョン番号をアップグレードしなければなりません。trunk とタグ(trunk のスナップショット)による管理方式では、trunk はバージョン番号の変更なしに続けて更新できます。その一方でタグはふつう最初にタグ付けしたあとは更新しないようにすべきです。<!-- thanks to Akira Tachibana さん 2015/09/20 gblsm --></div>
+
「trunk」の Stable タグを持つプラグインに対するあらゆるコード変更は、バージョン番号をアップグレードしなければなりません。trunk とタグ(trunk のスナップショット)による管理方式では、trunk はバージョン番号の変更なしに続けて更新できます。その一方でタグはふつう最初にタグ付けしたあとは更新しないようにすべきです。<!-- thanks to Akira Tachibana さん 2015/09/20 gblsm -->
<div style="font-size:smaller">All code changes to a plugin that has a Stable Tag of "trunk" must result in the version number being upgraded. For the trunk and tags method, trunk can be continually updated without version number changes, while tags should generally not be updated ever past the initial tagging.</div>
+
<!-- All code changes to a plugin that has a Stable Tag of "trunk" must result in the version number being upgraded. For the trunk and tags method, trunk can be continually updated without version number changes, while tags should generally not be updated ever past the initial tagging. -->
 
</li>
 
</li>
  
 
<br />
 
<br />
 
<li><!-- 16. -->
 
<li><!-- 16. -->
<div>プラグインをレポジトリへ含めるリクエストを送る時点で完全なプラグインが利用可能であることが必要です。それにより私たちは承認に先立って検査を行うことがあります。これをプラグインの説明にも当てはめていただきたいと思います。私たちは名前を将来使うために<b>予約</b>しません。もしプラグインが合理的な時間内に SVN へコミットされなければ、承認されたプラグイン名が未承認へ戻される場合があります。</div>
+
プラグインをレポジトリへ含めるリクエストを送る時点で完全なプラグインが利用可能であることが必要です。それにより私たちは承認に先立って検査を行うことがあります。これをプラグインの説明にも当てはめていただきたいと思います。私たちは名前を将来使うために<b>予約</b>しません。もしプラグインが合理的な時間内に SVN へコミットされなければ、承認されたプラグイン名が未承認へ戻される場合があります。
<div style="font-size:smaller">A complete plugin must be available at the time of submitting the plugin request to the repository, so that we may examine it prior to approval. It would be appreciated if this is linked to in the plugin description. We do not "reserve" names for future usage. Plugin names that are approved may be taken away if the plugin is not committed to the SVN in a reasonable amount of time.</div>
+
<!-- A complete plugin must be available at the time of submitting the plugin request to the repository, so that we may examine it prior to approval. It would be appreciated if this is linked to in the plugin description. We do not "reserve" names for future usage. Plugin names that are approved may be taken away if the plugin is not committed to the SVN in a reasonable amount of time. -->
 
</li>
 
</li>
  
132行目: 132行目:
 
<br />
 
<br />
 
<li><!-- 18. -->
 
<li><!-- 18. -->
<div>私たちはこのリストを将来変更する権利を留保します。私たちはどのプラグインも独断で任意の理由によって無効化または削除する権利を留保します。基本的に、これは私たちのレポジトリであり、私たちが運営の標準とコードの品質を維持するよう努めます。いつも成功するとは限りませんが、それが私たちのゴールであり、ゴールへ向かうために必要と感じるあらゆることを私たちは行います。</div>
+
私たちはこのリストを将来変更する権利を留保します。私たちはどのプラグインも独断で任意の理由によって無効化または削除する権利を留保します。基本的に、これは私たちのレポジトリであり、私たちが運営の標準とコードの品質を維持するよう努めます。いつも成功するとは限りませんが、それが私たちのゴールであり、ゴールへ向かうために必要と感じるあらゆることを私たちは行います。
<div style="font-size:smaller">We reserve the right to alter this list in the future. We reserve the right to arbitrarily disable or remove any plugin for any reason whatsoever. Basically, this is our repository, and we will attempt to maintain a standard of conduct and code quality. We may not always succeed, but that is our goal, and we will do whatever we feel is necessary in furtherance of that goal.</div>
+
<!-- We reserve the right to alter this list in the future. We reserve the right to arbitrarily disable or remove any plugin for any reason whatsoever. Basically, this is our repository, and we will attempt to maintain a standard of conduct and code quality. We may not always succeed, but that is our goal, and we will do whatever we feel is necessary in furtherance of that goal. -->
 
</li>
 
</li>
 
</ol>
 
</ol>

2016年3月19日 (土) 10:46時点における最新版

この項目「Detailed Plugin Guidelines」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

原文 WordPress.org > プラグインディレクトリ > Detailed Plugin Guidelines の 2015/09/19 17:41 JST 時点の内容を和訳してみました。--Gblsm 2016年2月16日 (火) 23:39 (JST)

Detailed Plugin Guidelines

何が許可されて何が禁止されるかについて、一部の開発者は非常に具体的な詳細を必要とするため、私たちはプラグインのレポジトリで許されることとそうでないことのガイドラインリストを作成しました。これは完成したリストではなく、すべてをカバーするものでもないことに注意してください(最後のガイドラインを見てください)。それでも、重要な点について明確して欲しいという方には意味のあるリストです。大部分のプラグイン開発者はこの大量な文章を読む必要はおそらくないでしょう。


  1. プラグインは GNU General Public License v2 またはそれ以降のバージョンと互換性を持つ必要があります。WordPress と同じライセンス、すなわち「GPLv2 以降」を使うことを強く推奨します。

    注意: このルールはプラグイン内のすべてのファイルに適用されます。これにはコード、データ、画像が含まれ、あなた自身が作成していないものも例外ではありません。サードパーティー製のライブラリもすべて互換でなければなりません。互換性のあるライセンスの具体的なリストは gnu.org にある GPL 互換ライセンスのリスト をご覧ください。プラグインを書き始める前にライセンス条件を再確認してください。


  2. 互換性のあるライセンスを指定(例えば license.txt ファイル内、コードや readme.txt ファイル内のどこかでライセンスを参照または宣言)しない場合、チェックインしたコードは GPLv2 以降であるとみなされます。WordPress.org のレポジトリへコードをコミットすると、この条件を受け入れることになります。

  3. プラグインを WordPress プラグインディレクトリに表示させるには、WordPress.org が提供する Subversion レポジトリを実際に使う必要があります。プラグインディレクトリはホスティングサイトであり、リスティングサイトではありません。

  4. 難読化したコードは禁止します。私たちが従う GPL ライセンスの精神に(条文ではないにしても)、難読化したコードは反していると信じています。GPL は具体的に次のように述べています。「著作物のソースコードとは、それに対して改変を加える上で好ましいとされる著作物の形式を意味する。」故意に難読化したコードは好ましい形式ではなく、どんな事情であってもレポジトリへ含めることを許されません。しかし Paypal の寄付ボタンのように、一部のシステムはエンコードされたコードを通常の動作メカニズムの一部として使っていることに注意してください。その種のシステムは単にそのように動作するのであって、プラグイン開発者の選択ではない以上、これは「難読化」とは見なされません。この種のものは許可されますが、極端な場合には開発者が問い合わせを受けることがあります。エンコードされていない方法がそのようなサービスに用意されている場合は、そちらを使ってください。

  5. 試用版ソフトウェア(トライアルウェア)のレポジトリへの追加は許可されていません。ユーザーに対して他の製品や機能を追加販売(アップセル)しようと試みるのは何の問題もありませんが、次の2点を守ってください: a) 不快な方法を用いないこと、b) 一定期間後に機能を無効化しないこと。同様に、プラグインの機能を「無力化」しておいて支払いを求めたり、機能をアンロックするコードを提供したりしてはいけません。WordPress.org のサーバーがホストするすべてのコードはフリーであり完全に機能しなければなりません。もしプラグインの拡張機能を販売したければ(「プロ」バージョンのように)、そのコードは自分のサイトで販売・提供を行う必要があります。WordPress.org サーバーでのホスティングは行いません。

  6. 「サービスウェア」プラグインは外部にある何らかのサードパーティー製サービス(例えばビデオホスティングサイト)とのインターフェイスとしてのみ動作するプラグインと定義されます。サービスウェアプラグインは、そのコードが他の条件をすべて満たす限り、レポジトリへ含めることができます。有料サービスであっても、サービスそれ自体が何か実体のあることを行う限りは許可されます。しかし実際の処理はすべてプラグインが実行する一方で、それ自体は何も行わずキーやライセンスや類似のものをプラグインへ提供するだけの「サービス」作りは禁止されます。一部のコードをサービスへ移して何か実行しているように見せることも禁止されます。これはケースバイケースで扱われ、特定のケースにおける私たちの判断はそれぞれが最終決定になります。

    ここで明確化します。「ストアフロント(訳注: 店頭という意味)」は「サービス」ではありません。ユーザーがあなたのシステムから製品を買えるようにするフロントエンドとしてのみプラグインが動作する場合、レポジトリへは含められません。


  7. ユーザーのインフォームドコンセントを伴わない「phoning home(訳注: ユーザーが知らない外部との通信)」は禁止。この一見シンプルなルールはいくつかの異なる側面をカバーします:

    • 承認なしのユーザーデータの収集は禁止。例えば、ユーザーの許可なしに管理者のメールアドレスをあなたのサーバーへ送り返すことは禁止されます。しかしユーザーへメールアドレスをたずねて送信が選択されたときに収集するのは問題ありません。ここで行われるすべての動作はユーザーが行うものである必要があり、プラグインが自動的に行ってはなりません。

    • 表示されるすべての画像とスクリプトはプラグインの一部でなければなりません。これらはローカルに読み込まれなければなりません。もしプラグインが外部サイトからデータをロードする必要があるなら(例えばブロックするサイトのリスト)、そのことをプラグインの管理画面または説明文で明確にしなければなりません。重要なのはどんな情報がどこへ送られるかをユーザーが知らされなければならないという点です。

    • 一般的に、バナーやテキストリンクを使った広告はプラグインのどこにも(設定画面を含む)現れてはいけません。いずれにせよ設定画面に広告を出してもふつうは効率がよくありません。なぜならユーザーがその画面へ訪れるのは稀です。また良い広告を出すために広告システムがページのコンテンツを確認できないので広告が低品質になります。ですからすっかり止めてしまうのがベストです。あなたのサイトやあなたが選んだソーシャルネットワークへのリンクを配置するのは問題ありません。もしプラグインがサードパーティー製サービスからの広告を出すなら、デフォルトで完全な無効化が選ばれるようにしなければなりません。これはユーザーの同意なしにトラッキング情報が収集されるのを防ぐためです。この手法は「オプトイン」として広く知られています。

    • もしあなたが、私たちが「広告スパム」と考えるものを含めたり他の誰かの広告システムの操作(game)を企んだりした場合、私たちはプラグインを削除するだけでなくあなたのコードを広告システムの乱用通報窓口へレポートします。私たちはスパムに寛容ではありません。試さないでください。

  8. サードパーティー製システムを経由しての実行可能コードの送信は禁止。サーバー・クライアント方式によるサードパーティー製システムの使用は問題ありませんが、本物の PHP コードや他の実行可能コードをネットワーク経由で送るのはセキュリティ上のリスクと考えられます。外部コードの実行は、特定の非常に注意深く考えられた状況(例えばアップグレードの実施中)を除いては許可されません。

  9. プラグインはあらゆる違法なことや、モラル的に不適切なことを行ってはなりません。これは主観的であると私たちは認識しています。しかし、私たちがどんな理由にせよ好ましく思わないものは許されません。これには私たちが考える任意のスパムの定義にもとづいたスパムを含みます。

  10. ユーザーの許可を明示的に得ない限り、プラグインはサイトのフロントエンド(public site)に外部リンクを埋め込んではいけません(「powered by」リンクのような)。プラグインのこれに該当するどんなオプションもデフォルトでリンクを表示しないようにしなければなりません。

  11. プラグインはブログの管理を乗っ取ってはいけません。プラグインの管理画面にアップグレードのプロンプトを含めるのは問題ありませんが、ブログ全体にはだめです。ダッシュボードへウィジェットを埋め込むのは問題ありませんが、他のウィジェットと同じサイズであり非表示にできることが必要です。特別な状況でエラーメッセージを管理画面の上部に表示するのは構いませんが、エラー解決方法へリンクしていなければならず、頻度が低くなければなりません。何であれ「しつこい」のは絶対に禁止されます。

  12. プラグインページ(readme.txt ファイルの内容)に「スポンサーの」リンクを含めないようにしてください。これは翻訳ファイルや、WordPress.org に表示されるコンテンツを持つ他のあらゆるリンクバック型の仕組みにも適用されます。

  13. ディレクトリーのプラグインページは 12 個を超えるタグを含んではいけません。他のプラグインの名前をタグに使うことは、検索エンジンの結果を操作するもの(gaming)と解釈されることがあるので、注意深く考えてください。

  14. 頻繁なコミットは最近の更新(Recently Updated)リストを操作するものと見なされる場合があります。これを避けるためにコミットの制限に努めてください。どんなコミットもその内容を説明するコミットメッセージ(合理的な詳細度の)を含まなければなりません。空のコミットメッセージがたくさんあると他の開発者やユーザーがプラグインの変更点をフォローするのが困難になります。また空のコミットメッセージによってコミットが拒否されたり、プラグインがディレクトリーから削除されたりする場合があります。

  15. 「trunk」の Stable タグを持つプラグインに対するあらゆるコード変更は、バージョン番号をアップグレードしなければなりません。trunk とタグ(trunk のスナップショット)による管理方式では、trunk はバージョン番号の変更なしに続けて更新できます。その一方でタグはふつう最初にタグ付けしたあとは更新しないようにすべきです。

  16. プラグインをレポジトリへ含めるリクエストを送る時点で完全なプラグインが利用可能であることが必要です。それにより私たちは承認に先立って検査を行うことがあります。これをプラグインの説明にも当てはめていただきたいと思います。私たちは名前を将来使うために予約しません。もしプラグインが合理的な時間内に SVN へコミットされなければ、承認されたプラグイン名が未承認へ戻される場合があります。

  17. WordPress の商標を侵害しないでください。ドメイン名に「wordpress」を使わないでください。代わりに「wp」を使うか、いっそのことオリジナルブランドを考え出しましょう。みんなが名前を覚えてくれます。

  18. 私たちはこのリストを将来変更する権利を留保します。私たちはどのプラグインも独断で任意の理由によって無効化または削除する権利を留保します。基本的に、これは私たちのレポジトリであり、私たちが運営の標準とコードの品質を維持するよう努めます。いつも成功するとは限りませんが、それが私たちのゴールであり、ゴールへ向かうために必要と感じるあらゆることを私たちは行います。