全3055文字

 東京都の新型コロナウイルス感染症対策サイトをベースにした対策サイトが様々な自治体に広がっている。他にも空いている病院のベッドの数オンライン教育デリバリー情報まで、海外では政府や大手メディアが提供しているような新型コロナウイルス流行下の生活情報を、民間が互助的に立ち上げたオープンソースのシステムで提供しているのは日本の誇りといえる。

 皆さんが見ているこの記事を配信しているサーバーはオープンソース・ソフトウエアで構成されている。もしスマートフォンで見ているならiOS、Androidのどちらであっても、中核にあたるカーネルはオープンソースのソフトウエアで構成されている。このサイトを運営している日経BPも、iOSを開発している米アップルもAndroidを開発している米グーグルも、安物の代替品としてDarwin(iOSのカーネル)やLinuxカーネル(Androidのカーネル)、オープンソースのWebサーバーを採用しているわけではない。

 グーグルが多く採用しているGo言語も、アップルが推進しているSwiftも、米マイクロソフトが多く採用しているC#もオープンソースの開発言語だ。優秀なエンジニアを多く抱えた世界を代表するようなテック企業がオープンソース・ソフトウエアを自社の中核に採用し、自らもオープンソースのソフトウエアを発表しているのは、これらの企業にとってソフトウエアの品質がビジネスの大切な要素で、オープンソース・ソフトウエアによりソフトウエアの品質が上がるからだ。

 オープンソースのソフトウエアは、ソフトウエアを構成するソースコードが公開されている。誰でも利用できるだけでなく、誰でも不具合を報告でき、その不具合を自分で修正することもできる。さらに、自分が修正した不具合をフィードバックしてアップデート時に本体に取り込むこともできる。新機能を追加して、自分のバージョンとして別に公表することもできる。

 オープンソース・ソフトウエアを実現するライセンスには様々なものがあるが、多くのライセンスでは自分が独自追加した機能を含めた非オープンソース版を作り、販売することもできる。

 オープンソース版の方が開発者が多くアップデートが早いため、多くの人が使うソフトウエアではオープンソース・ソフトウエアが広がっている。一方、開発者があまり使わないソフトウエアや、特定の企業しか使わないものは今も独占ソフトが中心だ(オープンソース・ソフトウエアの対義語として、プロプライエタリ・ソフトウエアや独占ソフトという呼び名が使われる)。

 ソフトウエアをよくしていくために最も大事なことは、何よりもオープンソースのソフトウエアが利用されることだ。東京都の新型コロナウイルス感染症対策サイトをベースにしたサイトが各自治体に広がったことで、東京都のソフトウエアを利用することを「パクリ」と呼ぶ誤解も生じ、多くのエンジニアが誤りだと指摘しているが、こうした誤解が生じているのも多くの人が利用しているからこそだ。

オープンソース・ソフトウエアへの貢献はエンジニアに限らない

 これまでも「東京都公式の新型コロナ対策サイトはオープンソースで作られた!」や「技術者以外も可能、自宅からテクノロジーで行政を助ける方法」などで再三お伝えしてきたように、オープンソースのソフトウエアに貢献できるのはエンジニアに限らない。ソフトウエアを使い、関わる人を増やすことは、コミュニティーを広げていく第一歩にほかならない。

 情報を分かりやすく整理したり、テストに協力したりすることも立派な役割だ。オープンソース・ソフトウエア開発の心構えについて1997年に書かれ、今では古典になっている「ハッカーになろう」(日本語訳)にも、以下のような記述がある。

 これまたよいことは、役に立つおもしろい情報を集めて選り分け、それをWebページにしたり、あるいはFAQ (Frequently Asked Questions lists)のような文書にすることです。そしてそれらを一般公開することです。

 大事な技術FAQ類の維持管理者は、オープンソースの作者とほとんど同じくらい尊敬を得られます。

 様々な形で、オープンソース・ソフトウエアに貢献をしている人は多い。多くの人が貢献してくれるのは、優秀な人たちとやり取りしながらものを作り上げる行為が楽しいからだ。