このサイトは、ほんの入り口です

ここにあるのは、だれかが実際に調べ、考え、作ってきたことを集めたメモです。気になったら、ページの下の「参考にした情報源」から、もとの本や記事、それを生み出した人たちに、直接ふれてみてください。このメモには書ききれないおもしろさが、そこにあります。

みんなで つくる プログラムは、なぜ うまく いくの?

オープンソースはなぜ成り立つのか

オープンソースはなぜ成り立つのか

分野:技術

スマートフォンや テレビの 中では、「Linux(リナックス)」と いう、みんなで 作った プログラムが うごいて いる ことが おおい。

きめられた 会社の 人だけでは なく、せかいじゅうの 見しらぬ 人たちが、すこしずつ プログラムを 書いて つくって いる。おかねを もらって いない はずなのに、なぜ こんな ことが できるのだろう。

スマートフォンやテレビの中では、「Linux(リナックス)」という、みんなで作ったプログラムが動いていることが多い。

決められた会社の人だけではなく、世界中の見知らぬ人たちが、少しずつプログラムを書いて作っている。お金をもらっていないはずなのに、なぜこんなことができるのだろう。

世界中の見知らぬ人たちが少しずつ書いたプログラムが集まって、スマートフォンや家電の中で動くOS(Linux)になっている。

一人のプログラマーの問題意識や、一人の大学生の趣味から始まったこの仕組みは、今では大企業のビジネスを根底から支える基盤に育っている。

読み方を切り替えられます。画面の上にある「よみかた」のボタンで、小学校低学年むけ・小学校高学年むけ・中学生むけの3つの書き方に切り替わります。むずかしいと思ったら、いつでもやさしい方に戻ってください。選んだ読み方はブラウザが覚えているので、次に別の記事を開いたときも同じ読み方で始まります。

1. プリンターの プログラムを 見せて もらえなかった 話

1. プリンターのプログラムを見せてもらえなかった話

1. ストールマンが、プログラムを自由にする運動を始めた

1980年ごろ、アメリカの リチャード・ストールマンと いう 人は、大学の プリンターの ちょうしが 悪いのを なおそうと しました。でも、プリンターの 中の プログラムを 作った 会社は、その 中みを 見せて くれませんでした[1]。

この できごとを きっかけに、ストールマンは、1983年、だれもが プログラムの 中みを 見て、自由に なおせる ように しようと よびかけました。これが、GNU(グヌー)と いう プロジェクトの はじまりです[1]。

1980年ごろ、アメリカのリチャード・ストールマンという人は、大学のプリンターの調子が悪いのを直そうとしました。でも、プリンターの中のプログラムを作った会社は、その中身を見せてくれませんでした[1]。

このできごとをきっかけに、ストールマンは、1983年、だれもがプログラムの中身を見て、自由に直せるようにしようと呼びかけました。これが、GNU(グヌー)というプロジェクトの始まりです[1]。

プログラマーのリチャード・ストールマンは、大学のプリンターの不具合を修正しようとした際、メーカーがソースコード(プログラムの元になる文章)の提供を拒否した経験に強い問題意識を持った。この経験は、彼が行動を起こす決定的なきっかけの一つとなった[1]。

1983年9月27日、ストールマンは「GNU宣言」を発表し、UNIX互換のフリーソフトウェアOSを開発するGNUプロジェクトの開始を告知した。実際の開発は翌1984年から始まった。彼が提唱した「フリーソフトウェア」とは、使用・学習・コピー・改変・再頒布を自由に行えるソフトウェアを意味する[1]。

2. 21さいの 大学生が、しゅみで OSを 書きはじめた

2. 21歳の大学生が、趣味でOSを書きはじめた

2. トーバルズが、Linuxカーネルを書きはじめた

1991年、フィンランドの 大学生 リーナス・トーバルズは、じゅぎょうで つかって いた「ミニックス」と いう OSに、もっと ちがう きのうが ほしいと 考えました。そこで、じぶんが ほしい OSの、コンピューターの いろいろな ぶひんを うごかす だいじな ぶぶん(カーネル)を、しゅみで 書きはじめたのです[2]。

1991年8月、当時 21さいだった トーバルズは、インターネットの けいじばんに、じぶんの 作って いる プログラムを しょうかいしました。まもなく、さいしょの バージョンが こうかいされました。これが、今、せかいじゅうで つかわれて いる「Linux」の はじまりです[2]。

1991年、フィンランドの大学生リーナス・トーバルズは、授業で使っていた「ミニックス」というOSに、もっと違う機能がほしいと考えました。そこで、自分が欲しいOSの、コンピューターのいろいろな部品を動かす大事な部分(カーネル)を、趣味で書きはじめたのです[2]。

1991年8月、当時21歳だったトーバルズは、インターネットの掲示板に、自分の作っているプログラムを紹介しました。まもなく、最初のバージョンが公開されました。これが、今、世界中で使われている「Linux」の始まりです[2]。

1990年秋、ヘルシンキ大学でUNIXとC言語の講座を受講していたリーナス・トーバルズは、1991年1月にインテル386搭載のパソコンを購入し、教科書に掲載されていた教育用OS「MINIX」を動かしていた。当時21歳の彼はMINIXの機能に不満を持ち、自分が欲しいものを自分で作るという発想から、Intel 386向けのカーネル開発を趣味として始めた[2]。

1991年8月25日、トーバルズはニュースグループ「comp.os.minix」に投稿し、カーネルを開発中であることを知らせた。最初のバージョン(0.01)が実際に公開されたのは、翌9月のことである。当初は個人の趣味的なプロジェクトだったこのソフトウェアは、のちに「Linux」と呼ばれるようになる[2]。

3. なおしても いいけど、じぶんだけの ものに しては いけない

3. 直してもいいけど、自分だけのものにしてはいけない

3. GPLというルールが、自由を次の世代に引き継がせる

GNUや Linuxの プログラムには、「GPL」と いう とくべつな きまりが つけられて います。だれでも 中みを 見たり、なおしたり、くばったり して よい、と いう きまりです[3]。

でも、1つだけ じょうけんが あります。なおした プログラムを、また みんなに くばる ときは、もとと 同じ「GPL」の きまりを つける ことに なって います。じぶんだけの ひみつの プログラムには しない、と いう きまりです[3]。

GNUやLinuxのプログラムには、「GPL」という特別なきまりがつけられています。だれでも中身を見たり、直したり、配ったりしてよい、というきまりです[3]。

でも、1つだけ条件があります。直したプログラムを、またみんなに配るときは、もとと同じ「GPL」のきまりをつけることになっています。自分だけの秘密のプログラムにはしない、というきまりです[3]。

ストールマンが考案したGPL(GNU General Public License)は、利用者がプログラムのソースコードを読み、変更し、再配布する自由を保障するライセンスである。この自由の考え方は「コピーレフト」と呼ばれる[3]。

コピーレフトの核心は、著作権を保持したまま、派生的な著作物も含めてすべての利用者がその著作物を利用・再配布・改変できるようにするという点にある。GPLのプログラムを改変して、その改変版を配るときは、GPLの条件に従い、同じGPLを使うことが求められる。これによって「自由」が次の世代にも引き継がれていく[3]。

4. 「オープンソース」と いう ことばが 生まれた

4. 「オープンソース」という言葉が生まれた

4. 1998年、「オープンソース」という言葉が生まれた

さいしょ、この かんがえかたは「フリーソフトウェア」と よばれて いました。でも、「フリー」には「むりょう」と いう いみも あり、会社が つかいにくいと かんじる ことも ありました[4]。

そこで 1998年、あたらしく「オープンソース」と いう ことばが つかわれる ように なりました。ソースコードが 「ひらかれて いる」と いう、わかりやすい 言いかたに かえたのです[4]。

最初、この考え方は「フリーソフトウェア」と呼ばれていました。でも、「フリー」には「無料」という意味もあり、会社が使いにくいと感じることもありました[4]。

そこで1998年、新しく「オープンソース」という言葉が使われるようになりました。ソースコードが「開かれている」という、分かりやすい言い方に変えたのです[4]。

ストールマンの「フリーソフトウェア」という言葉は、英語の"free"が「自由」と「無料」の両方の意味を持つため、企業に誤解されやすいという課題を抱えていた。1998年2月3日、カリフォルニア州パロアルトで開かれた戦略会議で、エリック・レイモンドやマイケル・ティーマンらが、この誤解を避けるための新しい呼び方として「オープンソース」という語を作った(提案者はクリスティン・ピーターソンとされる)[4]。

同年4月に開かれた別の会合(フリーソフトウェア・サミット)にはリーナス・トーバルズら主要な開発者も参加し、この用語は急速に受け入れられていった。この言い換えは、思想としての「自由」よりも、ソースコードが公開されていることによる実利(品質の向上、開発の効率化など)を前面に出す狙いがあったとされ、以後、企業がオープンソースを採用する動きが広がっていく[4]。

5. じぶんが ほしいから、じぶんで 作る

5. 自分が欲しいから、自分で作る

5. なぜ人は、無償でプログラムを書くのか

お金を もらって いないのに、なぜ 人は プログラムを 書くのでしょう。1つの りゆうは、「じぶんが ほしいから」です。トーバルズも、じぶんが ほしい OSが なかったから、じぶんで 作りはじめました[2]。

もう1つの りゆうは、うでまえを せかいに しめせる ことです。よい プログラムを 書けば、たくさんの 人に つかわれ、名前が しられる ことも あります[5]。

お金をもらっていないのに、なぜ人はプログラムを書くのでしょう。1つの理由は、「自分が欲しいから」です。トーバルズも、自分が欲しいOSがなかったから、自分で作りはじめました[2]。

もう1つの理由は、腕前を世界に示せることです。よいプログラムを書けば、たくさんの人に使われ、名前が知られることもあります[5]。

個人がオープンソース開発に参加する動機は多様である。トーバルズのように「自分が欲しいものが存在しないから自分で作る」という実用的な動機のほか、自分の技術力を世界に示せること、興味のある技術分野に関わり続けられることなどが挙げられる[5]。

優れたコードを書く開発者が注目され、経験や実績が仕事につながる場合もある。トーバルズ自身、カーネル開発の経験を通じて世界的に知られる技術者となった[5]。

6. じつは、Linuxカーネルの へんこうは 会社の 人が 9わりいじょう

6. 実は、Linuxカーネルの変更は会社の人が9割以上

6. 今日のLinuxカーネル開発の9割超は、企業に雇われた開発者による

「みんなが むりょうで、しゅみで 作って いる」と おもわれがちな Linuxカーネルですが、2016年の しらべでは、その へんこうの 9わりいじょうは、会社に やとわれた 人たちが おこなって いました[6]。

インテルや レッドハットなどの 大きな 会社に とって、Linuxの できが よく なる ことは、じぶんたちの せいひんや サービスにも やくだちます。だから 社いんが、しごととして 開発に かかわって います[6]。

「みんなが無料で、趣味で作っている」と思われがちなLinuxカーネルですが、2016年の調べでは、その変更の9割以上は、会社にやとわれた人たちが行っていました[6]。

インテルやレッドハットなどの大きな会社にとって、Linuxのできがよくなることは、自分たちの機器やサービスにも役立ちます。だから社員が、仕事として開発にかかわっています[6]。

「情熱的なボランティアが作っている」というイメージとは裏腹に、Linux Foundationの報告によれば、2016年時点でLinuxカーネルのコードの9割以上が、企業に雇用されプロとして開発に取り組む開発者によって書かれている。無償のボランティアによる貢献は、2012年の約14.6%から2016年には約7.7%へと減少した[6]。

インテル、レッドハット、サムスンなどの企業が上位の貢献企業として名を連ねる。これらの企業にとって、Linuxの品質向上は自社のクラウドサービスや製品の安定稼働に直結する、合理的な投資だと考えられている。ストールマンが理想として掲げた「自由」の思想は、結果として企業にとっても価値のある協業のしくみへと育っていった[6]。

せっていがめんに かくれた 名前

設定画面にかくれた名前

設定画面にかくれている名前

家に ある スマートフォンや、テレビの せっていがめんの おくには、「ライセンス」や「OSS」と いう ページが かくれて いる ことが おおいです。ひらいて みると、ずらっと ならんだ プログラムの 名前が、見しらぬ 人たちの しごとの あとです。

家にあるスマートフォンや、テレビの設定画面のおくには、「ライセンス」や「OSS」というページがかくれていることが多いです。開いてみると、ずらっと並んだプログラムの名前が、見知らぬ人たちの仕事のあとです。

スマートフォンやスマート家電の「設定」→「端末情報」→「オープンソースライセンス」といった項目を探すと、その機器の中で動いているオープンソースソフトウェアの一覧が表示されることが多い。そこに並ぶ膨大なリストこそが、見知らぬ人たちが協力して積み重ねてきた仕事の実物である。

しらべた ところ

参考にした情報源

参考にした情報源

  1. SIOS Tech Lab「そもそもOSSとは?オープンソースの歴史~草創期にあったこと」、フリー百科事典『ウィキペディア』「リチャード・ストールマン」。 https://tech-lab.sios.jp/archives/30456 https://ja.wikipedia.org/wiki/リチャード・ストールマン (ストールマンが大学のプリンター修正の際にソースコード提供を拒否された経験を問題視したこと、1983年9月27日にGNU宣言を発表しGNUプロジェクトを開始したこと、フリーソフトウェアが使用・学習・コピー・改変・再頒布を自由に行えるソフトウェアと定義されること)
  2. フリー百科事典『ウィキペディア』「Linuxの歴史」。 https://ja.wikipedia.org/wiki/Linuxの歴史 (1990年秋にトーバルズがUNIXとC言語の講座を受講したこと、1991年1月にIntel 386搭載パソコンを購入しMINIXを動かしたこと、MINIXへの不満からカーネル開発を趣味で始めたこと、1991年8月25日にニュースグループcomp.os.minixへ投稿しバージョン0.01を公開したこと)
  3. GNUプロジェクト「コピーレフトって何?」、フリー百科事典『ウィキペディア』「コピーレフト」。 https://www.gnu.org/licenses/copyleft.en.html https://ja.wikipedia.org/wiki/コピーレフト (GPLが利用者にソースコードを読み・変更し・再配布する自由を保障するライセンスであること、コピーレフトが著作権を保持したまま派生的著作物も含めすべての利用者が利用・再配布・改変できるようにする考え方であること、GPLで公開したプログラムの改変版に同じGPLを適用する義務があること)
  4. Open Source Initiative「History of the OSI」、FOSSの歴史(フリー百科事典『ウィキペディア』)。 https://opensource.org/about/history-of-the-open-source-initiative https://ja.wikipedia.org/wiki/オープンソースソフトウェアの歴史 (1998年2月3日にパロアルトで開催された戦略会議でエリック・レイモンドらが「オープンソース」という言葉を作ったこと、同年4月のフリーソフトウェア・サミットでトーバルズら主要開発者の支持を得て急速に広まったこと)
  5. Linux Foundation「企業におけるオープンソース開発の効果を高める」。 https://www.linuxfoundation.jp/resources/open-source-guides/improving-your-open-source-development-impact/ (個人がオープンソースに参加する動機として、自分が欲しいものを作ること、技術力を示せること、キャリアにつながることなどが挙げられること)
  6. The New Stack "Who Contributes to the Linux Kernel?"、Linux Foundation 2016年カーネル開発報告書に関する報道。 https://thenewstack.io/contributes-linux-kernel/ (Linux Foundationの報告で2016年時点でLinuxカーネルへの変更のうち9割以上が企業に雇用された開発者によるものだったこと、無償ボランティアによる貢献の割合が2012年の約14.6%から2016年に約7.7%へ減少したこと、インテル・レッドハット・サムスンなどが上位の貢献企業であること。2026年現在の最新の割合は未確認)

なおした ところ

更新履歴

更新履歴(改版の記録)

  •  初版を公開。
  •  lower・upper の文体を、です・ます調にそろえた(意味は変えていない)。
  •  6章で、9割以上という数字が「Linuxカーネルへの変更」の割合だと分かるように、lower・upper の本文と見出しを直しました。あわせて、「カーネル」の説明(lower・upper)とGPLの説明(junior)を分かりやすく直しました(先生の目での読み直しによる)。

このサイトでは、公開した記事の本文は原則として書き直しません。誤りが見つかったときや、内容が古くなったときだけ手を入れ、その理由をこの欄に残します。