Q1オープンソースの定義を教えてください
 
 
 「オープンソース」という言葉は、最近一般的に用いられるようになった感があるが、米国で設立された非営利団体Open Source Initiative(OSI)の定義を採用するのが一般的となっています。

 OSIの定義について詳しくは原文を参照していただきたいのですが、簡単に内容を紹介すると、「再配布の自由が認められている」「ソースコードが同時に配布される。または、実費程度の妥当なコストで入手できる」「派生ソフトウエアの作成や配布が認められる」といった要件を満たすものとされています。原文では、
  • Free Redistribution
  • Source Code
  • Derived Works
  • Integrity of The Author's Source Code
  • No Discrimination Against Persons or Groups
  • Distribution of License
  • License Must Not Be Specific to a Product
  • The License Must Not Restrict Other Software
  • The License must be technology-neutral
の9項目が挙げられています。

 ここで、ソフトウエアが無償で入手できるかどうかには触れられていないことに注意してください()。オープンソースのソフトウエアは事実上無償となっているが、それは必須の要件ではなく、「オープンソース=無料」ということではないのです。

 また、この定義が対象としているのは、ソフトウエア自体ではなく、ソフトウエアの配布/利用条件を定めるためのライセンスの内容についてであることにも注意したいところです。実際のソフトウエアがオープンソースの定義に従っているかどうかは、ソースコードが公開されていて入手可能であるかどうかという点ではなく、そのソフトウエアのライセンスの規定内容が定義に合致しているかどうかで決まります。


 「再配布の自由」として、ソフトウエアを無料で配布することを制限してはいけないという記述があるため、仮にA社が有償で配布したとしても、それを購入したBさんが無料で再配布することを妨げることはできない。つまり事実上、無償配布によって入手可能となる。ただし「ソフトウエア自体が無償でなくてはならない」という定義はされていない。

 OSIによるオープンソースの定義に従ったライセンスとして代表的なものとしては、GPL(GNU Public License。Linuxもこのライセンスに基づいている)やBSDライセンス、Apacheライセンスなどがあります。それぞれ規定する内容に差異がありますが、OSIの定義を満たしているという点では共通しています。OSIのWebサイトでは、OSIの定義に合致するライセンスの例がリストアップされています。

 本来の定義から離れ、オープンソースという語を曖昧な形で日常語のように利用する例もしばしば見受けられますが、せめて本来の「Open Source」という言葉が、「プログラマがソースを見ることができ、修正して再配布できればソフトウエアの進歩や品質向上のスピードが飛躍的に高まるはずだ」(OSIの言明より)という意図から生まれていることを意識しておきたいところです。単にソースコードが見られるだけとか、無償で入手できるといった点に重点を置くのではなく、ソフトウエアのソースレベルでの再利用や進歩・発展をライセンスで保証しているという点が、「オープンソース」という考え方の肝といえるでしょう。

<関連リンク>
OSIによるOpen Sourceの定義 (八田真行氏による日本語参考訳)
GPL (非公式な各国語訳)
谷山亮二「社会を支えるオープンソースとLinux」
(BizTech Special「Linuxソリューション」)

 
LINE