2014/06/03追記:ありがたいことに、フィードバックをいただきまして、反映させてみました。
反映前のテキストと、今回の修正の差分は、ここで見れますm(__)m
引き続き、何かありましたらコメントやツイッターでお願いします!
WordPressのプラグインの作り方、WordPress内部の色々なAPIを解説をする本を書いています。
テーマを作れる人がプラグインを作って公開できるようになること、普段からフレームワークを使っている開発者の方々にWordPressをアプリケーション開発の一つの選択肢として理解してもらうことなどを目的としていて、ひいては日本から公開されるプラグインの数が、今よりもずっと多くなると嬉しいと思っています。
その中で、オープンソース、GPLライセンスについて書いているところがあります。
以下にコピペしますので、読んで見てください。発売までの間に変更もあるかもしれませんし、コメント、フィードバックもお待ちしております。
2-1 オープンソースとGPL
オープンソース
WordPressはオープンソースソフトウェアです。オープンソースという言葉には、Open Source Initiative (OSI) が掲げる定義がある一方、単純に「ソースがオープンであること」という受け取られ方もされています。また、さまざまなライセンスがあるため、その意味するところを簡単に記すことはできません。
参考)Open Source Initiative (OSI) が掲げるオープンソースの定義
- 自由な再頒布ができること
- ソースコードを入手できること
- 派生物が存在でき、派生物に同じライセンスを適用できること
- 差分情報の配布を認める場合には、同一性の保持を要求してもかまわない
- 個人やグループを差別しないこと
- 適用領域に基づいた差別をしないこと
- 再配布において追加ライセンスを必要としないこと
- 特定製品に依存しないこと
- 同じ媒体で配布される他のソフトウェアを制限しないこと
- 技術的な中立を保っていること
用語は若干違いますが、このOSIによる定義の説明は以下のURLでみることができます。
http://www.opensource.jp/osd/osd-japanese.html
ここでは、WordPressを中心に据えて、GPLの概要、こうした成り立ちが可能にしているマーケットとエコシステム、ビジネスや貢献について理解していければと思います。
GPL
WordPressは「GPLv2またはそれ以降」というライセンスで公開・配布されています。
WordPressをインストールして、/wp-admin/freedoms.phpを開くと、「自由について」というページが開きます。このページはすべてのWordPressに同梱されているもので、そこには、下記のようなことが書かれています。
WordPress はフリーかつオープンソースのソフトウェアで、世界中のボランティアの開発者たちの分散型コミュニティによってつくられています。WordPressはそのライセンス、つまりGPLのおかげですばらしい、世界観が変わるような権利を備えています。
- ユーザーは、目的を問わず、プログラムを実行する自由を有します。
- ユーザーは、ソースコードを入手可能であり、プログラムがどのように動作しているか研究し、そのプログラムに必要に応じて修正を加え、採り入れる自由を有します。
- ユーザーは、身近な人を助けられるよう、コピーを再頒布する自由を有します。
- ユーザーは、プログラムを改良し、コミュニティ全体がその恩恵を受けられるよう改良点を公衆に発表する自由を有します。
4つの箇条書きは、GPLが保証しているユーザーの自由についての文言です。
1に従えば、WordPressのライセンスはどんな情報発信・サービス展開も制限しません。言論統制下にある国や地域であってもWordPressはどんな思想信条を発信することを制限しませんし、アダルトサイト、麻薬や武器の販売サイトを作ることもできます。
2は、ソフトウェアのソースコードを入手することができ、自分の好きなように改変をして使ってもよいということです。
3は、手に入れたソースコードを誰かに自由に渡してもよいということです。
4は、WordPressをベースに改良したソースコードを世界に向けてリリースすることができるということです。例えばこれに「OreOrePress」「スペシャルCMS」などの名前を付けて再配布することだってできます。
こうした「自由」は、WordPressが持っている大きな価値のひとつであり、GPLというライセンスのもとに保証されています。
コピーレフト
GPLはユーザーに上記のような自由を保証しますが、ひとつだけ制限があります。それが、コピーレフト(Copyleft)です。コピーレフトとは、「改変したWordPressとその派生物(具体的にはテーマやプラグインなど)を配布する場合には、元のライセンスと同じ条件で配布しなければならない」というものです。GPLを付与されたソフトウェアを手に入れて、その改変版や派生物を配布する場合には、かならずGPL互換ライセンスのもとに公開する必要があるのです。
なぜこのような制限があるのでしょうか?
あるプログラムを自由なソフトウェア、フリーソフトウェアとするために一番最初に思いつくのは、パブリックドメイン、つまり著作権の主張をしないということですが、ここには大きな問題があります。何をしても自由であるため、ソフトウェアを手に入れた誰かが、ソースがオープンではないソフトとして公開してしまうことが起こりえます。そうすると、そのソフトウェアを受け取った人は、ソースを入手したり研究したり改変して使ったりすることができなくなってしまいます。元の作者が人びとに与えた自由を、あいだに入った人が奪ってしまうのです。
それを防ぐのが、あらゆる自由を保証しながら、他人の自由を制限する自由だけは認めないというコピーレフトの考え方なのです。このコピーレフトが働くために、WordPressとその派生物は常にユーザーに対して自由を保証し続けることができています。
WordPressが進化し続けているという事実も、WordPressがオープンソースでありGPLであり自由であることに支えられています。将来にわたって自由が保証されていくことが分かっているので、ムーブメント全体に賛同するプログラマやデザイナーがテーマやプラグインを公開したり、WordPress本体にパッチを送ったりするのです。
ちなみにコピーレフトという言葉は、著作権=コピーライトの右(right)に対する左(left)から来ています。自由が「残される(left)」という意味を含めて受け取ることもできます。この言葉がはじめに使われたのは、「Copyleft All rights *reversed* (逆さ)」というフレーズの中だったそうで、とてもよくできた言葉だと思いませんか。
有料と無料、配布
GPLは、再配布の自由を認めています。その際、「無料でないといけない」という条件は付きません。つまり、テーマやプラグインを有償で販売することはライセンス違反ではありません。ただし、販売は配布に含まれますので、そのソースもGPL互換ライセンスであることが必須となり、購入者による利用目的、ソースコードの改変や再配布を制限することはできません。
また、誤解の多い点ですが、GPLはソースを販売・配布する自由を認めていますが、配布しないことを選択する自由もあります。GPLで配布されているソフトウェアを受け取り、改変・利用しているからといって、そのソースを再配布をしなければならないというわけではないのです。
たとえば、あなたがクライアントのためにテーマやプラグインを制作した場合、クライアントに配布したファイルにGPL互換のライセンスを適用する必要はありますが、それらのソースを公開する「義務」はあなたにもクライアントにもありません。
つまり、自分やクライアントが使うために制作したテーマやプラグインのソースを公開する「自由」はありますが、そうしないという選択ももちろん可能なのです。
また、WordPressを利用したウェブサービスやアプリケーションなどを制作・運用する場合にも、ソース公開が義務付けられているというわけではありません。
開発者にとってのオープンソースのメリット
ソフトウェアがオープンソースであることによって、私たちは利用者として多くのメリットを享受することができます。開発者としては以下のようなメリットがあるでしょう。
- 開発人数、開発時間の削減
- スキルアップの機会
- 重大なバグやセキュリティの速やかな修正
WordPressは10年以上にわたって議論され、テストされ、改善され続けてきた知恵とコードの蓄積の結果です。その上に何かを構築することによって、一から作るよりも、開発の人数や開発時間を削減することができます。また、ソースを見ることができるので、何らかの不具合があった場合に原因を見つけやすくなります。他の人が書いたソースを読むことで、様々な処理の仕方を見ることができ、学習に繋がります。さらに、重大なバグやセキュリティホールが発見された場合には、活発なコミュティのおかげで比較的早い段階でパッチが届きWordPress本体の更新が行われますが、その対応速度はソースが公開されていない商用ソフトウェアなどと比べて遜色がありません。むしろ、多くの人々の目に触れることで、発見と修正のプロセスはよりスピード感があるとも言えます。
100%GPL(または100%GPL互換)
オリジナルで自作したテーマとプラグインも配布の際にはGPLが適用されます。その理由は、テーマやプラグインはテンプレートタグやプラグインAPI(プラグインフック)を利用しているからです。たとえばWordPressが無い場合、テーマやプラグインは単体では機能できません。テーマやプラグインはWordPressの派生物であり、そのためGPLのライセンスが適用されるというわけです。
ところで、WordPress.orgサイトやWordPress Foundationに代表されるWordPressコミュニティは100%GPLを推奨しています。100%GPLというのは、テーマやプラグインのPHPソースコードだけではなく、CSSや画像、JavaScriptといった同梱ファイルについてもGPL互換ライセンスを適用することを言います。本来、関数やフックを利用しないCSSや画像、JavaScriptについては、GPLではないライセンスを付与することが可能です。自分が撮影したり作成した画像、自分で書いたCSS/JavaScriptは改変や再配布を認めなくても法的にはOKなのです(PHPファイルのみをGPL互換としたテーマやプラグインのライセンスは「スプリット・ライセンス」と呼ばれます)。
ですが、スプリット・ライセンスの元ではテーマやプラグインを受け取った人が完全には自由を享受できないという考えから、WordPress.org公式ディレクトリ上のテーマ・プラグインは100%GPLであることが登録条件になっています。また、WordPressのユーザーイベントであるWordCampでは、登壇者・運営者・スポンサーに求める条件のひとつとして、もし公開・販売・宣伝しているテーマやプラグインがあるのならば、そのライセンスは100%GPLであること、を挙げています。
GPL下でのエコシステムとビジネス
ここまで見てきたように、WordPressはGPLを採用しており、改変物や派生物を配布する人は、自分が享受した自由を次の受け取り手にも必ず手渡さなければならないわけです。
このことは、Mac/PCやスマートフォンのアプリを販売する場合とはずいぶん違います。みなさんがテーマやプラグインを販売した場合、購入者はそれを無料で再配布することができますし、有料で販売する人も出てくるかもしれません。
さて、このライセンスの存在はWordPressを中心においたビジネスを行う上で不利なものになるのでしょうか?WordPressにはそれを取り巻く大きなマーケットが存在するということ、マーケットが成長することでWordPressも成長するというエコシステムが確立されていること、という現状にその答えは出ているのではないかと思います。WordPressのエコシステム内では、ソフトウェアがGPLであることであらゆる人たちが自由を享受し、大きな自由を背景にユーザーが増え、そのマーケットの中でビジネスが起こり、ビジネスからはソースコードの配布やその他の形での貢献(コアへのコミットやWordCampのスポンサーシップ、知識の共有や翻訳、貢献者への発注や雇用)を通して、利益の一部がWordPressへと還元されています。
ビジネスを行う場合には、こうしたエコシステムについての理解を深めていくとよいと思います。GPLであるために課される制約とGPLの利点のバランスについて意識しながら、どのようにビジネスを構成していくのかを考える必要があります。
次の節では、WordPressを利用している世界のビジネスにはどのようなものがあるのか、分類や事例を挙げながらご紹介していきます。
コメント
コメント一覧 (1件)
[…] (フィードバック反映)オープンソース、GPL、WordPressのエコシステム。(プラグイン開発解説書からの抜粋)-Shinichi Nishikawa’s […]