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

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

Detailed Plugin Guidelines

提供: WordPress Codex 日本語版
移動先: 案内検索

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