注意!! この投稿は5年と7ヶ月くらい前に公開したものです。
そのため正常に動作しないかもしれないので、ご注意ください。

巨人たちの一人でもあるWordPress

WordPress Advent Calendar 2013 全部オレ 2日目のオレです。

昨日の続きで「ん、じゃあオープンソースってなんなのさ?」ということをもっとちゃんと、そして簡潔に伝えるとすると可知さんの本からの引用が一番わかり易いと思うので引用させてもらいます。

オープンソースソフトウェアとは、ソースコードを公開して、一定の条件のもとで誰でも自由に利用できるソフトウェア。その条件は、オープンソースの定義に従っている。

知る、読む、使う! オープンソースライセンス by 可知 豊」より引用。強調はわたし。

で、そのオープンソースの定義とは、オープンソースイニシアティブ(OSI)という団体によって次のように定義されています。

オープンソースの定義

はじめに

「オープンソース」とは、単にソースコードが入手できるという ことだけを意味するのではありません。「オープンソース」であるプログラムの頒布条件は、以下の基準を満たしていなければなりません。

  1. 再頒布の自由
  2. ソースコードを入手できること
  3. 派生ソフトウェア
  4. 作者のソースコードの完全性(integrity)
  5. 個人やグループに対する差別の禁止
  6. 利用する分野(fields of endeavor)に対する差別の禁止
  7. ライセンスの分配(distribution)
  8. 特定製品でのみ有効なライセンスの禁止
  9. 他のソフトウェアを制限するライセンスの禁止
  10. ライセンスは技術中立的でなければならない

http://www.opensource.jp/osd/osd-japanese.htmlより

それぞれの項目の説明は引用元にあるのでここでは端折りますが、要は最初の可知さんの本からの引用の、

ソースコードを公開して、一定の条件のもとで誰でも自由に利用できるソフトウェア。

ということですね。なので単に「オープンソースソフトウェア(OSS – Open Source Software)」だと「自由に利用できる」が抜けてるので、GNUの創始者のRMSことリチャード・ストールマンは「フリー/自由なオープンソースソフトウェア(FLOSS – Free/Libre Open Source Software)」と呼ぶべきと言っていたりもします。ここではRMSに敬意を表して、以下オープンソースソフトウェアをFLOSSと表記します。

他のFLOSSの代表例

  • LinuxなどのUNIXクローンOSカーネルやそれを含むDebianなどのUNIXクローンOS、BSDなどのUNIX OS
    • Web サーバの OS などに多く使われています
  • WordPress にはなくてはならない ApacheNginxなどのWebサーバソフト、PHPMySQLもみんなFLOSS
  • ドメインの名前解決に不可欠なDNSサーバーのBIND
  • みんな大好き Apple の OSX にもたくさん入ってます
  • FirefoxThunderbird
  • Android
  • Safari のレンダリングエンジンの WebKit
  • GoogleFacebookTwitter もFLOSSを多数利用し、提供もしています

インターネット自体がFLOSSのもとに、FLOSSとともに発展し、現在もFLOSS抜きでは存在し得ない、と言ってもいいくらい。

FLOSS は必ず無料で配布しなければならない?

たしか「WordPressはオープンソースなので無料です。」のようなことが書いてあったWordPressの本があったと思いますが(立ち読みだったのでうろ覚えw)、FLOSS は「無料での配布」を条件とはしていません。

「自由な再頒布ができること」が条件なのであって、それは有料でも無料でもかまいせん。例えば、あなたが作ったFLOSSの WordPress のテーマやプラグインを有料で販売してもまったくかまいません。また例えばRed Hat Enterprise Linux なども有料ですね。

OSS はすべてボランティアが開発している?

日本語でボランティアという場合、通常は無償の奉仕活動のことと思いますが、FLOSS はすべて無償の奉仕活動によって作られている、というわけではありません。また、それがFLOSSの条件となるわけでもありません。

例えば、Linux を最初に作って現在もカーネル開発者をしているリーナス・トーバルズは現在OSDL(Open Source Development Labs)というNPOで給与をもらいながら仕事としてLinuxを開発しています。企業などに属して業務として開発を行っているLinuxカーネル開発 者もたくさんいます。 また、Automattic社の多くの従業員も業務の一環としてWordPressの開発に関わっています(よね、なおさん?w)し、わたしも業務時間内 でWordPressに関する活動をしてもいいという就業条件で今の会社(デジタルキューブ)で働いてます。 無料で配ることができるものへの貢献がなぜ企業の業務として成り立つのかについてはまた後日!

FLOSS のメリット

  • ピアレビュー
    • 「目玉の数さえ十分あれば、どんなバグも深刻ではない。」- 伽藍とバザールより。 ソースが公開されているということはだれでも(それが分かりさえすればですがw)バグを指摘できるということです。Linuxなどの成功してるFLOSSプロジェクトでは相当な規模でのピアレビューを受けることができ、それにより品質が格段に上がります。
  • だれでも参加できる(わたし的にはこれがいちばんの魅力)
    • 巨人の肩の一部になれる!
    • FLOSSを利用してさらに素晴らしいFLOSSが作れる!
  • たいていは無料で使える
  • ベンダロックインを避ける事ができる

ただし、FLOSSは「魔法の杖」ではありませんので、必ずしもFLOSSにすればLinuxやWordPressのように開発者が集まってユー ザーが増えるというわけではありません。が、FLOSSにすれば少なくともその可能性が生まれるということは可能性がゼロよりよりもはるかにましだと思い ます。

FLOSS のデメリット

  • そんな自由にしちゃったらプロジェクトを乗っ取られるのではないか?
    • 100%とは言いませんが、まずこれは起こりません。なぜかという話はまた後日! 待てない人はノウアスフィアの開墾を読みべし。
  • 問題があった時の保証がない -> そもそも保証とは? 逆に、プロプライエタリなソフトウェアでは保証があるの?
    • Windows 7のライセンスでは?
    • Movable Typeのライセンスでは?
  • サポートが不十分 -> 逆にプロプライエタリなソフトウェアならサポートは十分なの?

なぜタダで貢献しちゃったりするの?

なぜかというと、、、あ、時間切れですんでこの話もまた後日!

念のため

オープンソースが善でその反対のクローズド/プロプライエタリソフトウェアが悪だと言ってるのではないですよ(・ω<)。言いたいのは、わたしたち知らず知らずの内にオープンソースの恩恵をははかりしれないほど受けている、ということです。

なので、巨人たちの肩の上に立っているWordPressは自らもまた巨人たちの一人なのでしたとさ。めでたしめでたし。