オープンソース
概 要
プログラムの素となる「ソースコード(source code)」を、商用・非商用の目的問わず誰でも使えるようにしたソフトウェア。端的に言えば、誰でも自由に使えるソフトウェアの総称。自由に使えることが大事で、無償かどうかは問わない。
解 説
開発者(ソフトウェアを記述する人。プログラマーのこと)は、プログラミング言語と呼ばれる言語の文法に従ってプログラムを記述し、それを組み合わせたりコンピュータ上で実行できるように変換したりして作り上げていきます。この開発者が書くプログラムのことを「ソースコード(source code:素となるコード)」と言います。
ソースコードは人間が書いて作るものなので、小説などの文章などと同じく著作権によって保護されています。第三者に使わせる許諾のことを「ライセンス(license)」と言いますが、こうした許諾を得ることなく使うことはできません。そもそもソースコードを見れば、どのような処理をしているのかがわかってしまうため、業務で作るプログラムでは門外不出なものもたくさんあります。

しかしソフトウェアは、その性質上、「データを並べ替える」「データを小さくする」「画像データを扱う」「音楽データを扱う」「地図を表示する」など基本的な機能の集まりで構成されています。もし、こうした基本機能が流用できないとすると、世界中の開発者が同じものを書かなければならなくなり、とても非効率です。
そこで「オープンソース」という考え方が生まれました。厳密な意味のオープンソースは、「オープンソース・イニシアティブ」という団体が「オープンソースの定義」として定めています。
【オープンソースの定義】
https://opensource.org/docs/osd
- 1. 再配布の自由
- 2. ソースコードを含めなければならない
- 3. 派生物(改良したものに対しても自由な利用)
- 4. 原著作者のソースコードと区別する(改良したものに対しては、改良したものの作者と原作者とを区別する)
- 5. 特定の人物や集団に対する制限を設けてはならない
- 6. 使用分野に対する制限を設けない
- 7. ライセンスの権利配分(再配布者に認める権利)は平等でなければならない
- 8. ライセンスを特定製品に限定してはならない
- 9. ライセンスは他のソフトウェアを制限してはならない
- 10. ライセンスは技術的に中立でなければならない
オープンソースで大事なのは「ソースコードがオープンである」ということです。ソースコードをオープンにすることで、そのまま使うだけでなく、オリジナルのものに少し手を加えたプログラムを作ることが可能になっています。

こうしたオープンソースの取り組みにより、自由に使える高品質なソースコードが提供されるようになった結果、より複雑なソフトウェアを短期間で作れるようになりました。
皆さんが手にしている「スマートフォン」にも、たくさんのオープンソースのソフトウェアが含まれていますし、「ゲーム機」や「家電」にも含まれています。「自動車」や「産業機器」にも含まれていて、いまや、オープンソースは、なくてはならないものです。
オープンソースを使っているソフトウェアは、[このプログラムについて]などのメニュー項目や説明書などに、どんなソフトウェアが使われているのかが記述されていることがほとんどです。興味があれば、調べてみてください。
任天堂製品に関連するオープンソースソフトウェアのソースコード配布ページ
実現できること
- ・既存のソフトウェアの改良
- ・より複雑なソフトウェアの短期間での開発
将来の展開
オープンソースには、さまざまな企業や団体、開発者個人が賛同しており、オープンソースとして使えるソフトウェア(つまり、誰でも自由に使えるソフトウェア)は、ますます増えています。
企業や団体が基金を作り、その基金でオープンソースのソフトウェアを作るための開発者を雇う仕組みもあります。その最大の組織が、Linuxと呼ばれるOSの開発を中心に支援している「Linux Foundation」という団体です。
ソフトウェアが高度化して1社ですべてを作れなくなった現在、こうした基金を通じて、多くの企業が資金・人材を出して、共通の機能は共同でオープンソースとして開発していくというやり方は、ますます進んでいくはずです。
補 足
オープンソースは、自由に使えるという許可を与えるライセンスであり、制作者がもつ権利を放棄しているわけではありません。著作権などをはじめとしたさまざまな権利は、制作者にあります。
