BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ApacheCon 2019基調講演 - James Gosling氏のオープンソースへの旅

ApacheCon 2019基調講演 - James Gosling氏のオープンソースへの旅

原文(投稿日:2019/09/12)へのリンク

先日ラスベガスで開催されたApacheCon North America 2019で、James Gosling氏が基調講演を行い、オープンソースに関する自身の体験について語った。講演のおもなポイントは、オープンソースではプログラマがソースコードを読んで学習できること、開発者は乱用を防止するために知的財産権に注意する必要があること、プロジェクトは独り立ちが可能であること、の3点だ。

プログラミング言語Javaの発案者であるGosling氏は、オープンソースライセンスのコンセプトが形になって、一般的に使用されるようになるより前に、オープンソースの問題に取り組んだ自身のキャリアの中で対処した、さまざまな出来事を順に紹介した。氏が明確にオープンソースといえるソフトウェアと最初に出会ったのは、1970年代のカルガリ大学でのことだった。同大学はNicholas Wirth氏から、Pascalコンパイラのバイナリとソースを収めた磁気テープを受け取っていた。Gosling氏によると、そのソースは単一のファイルだった — "文字通り、ひとつの関数でした"。これがGosling氏にとって初めての、"自分が何をしているのかを本当に分かっている人によって書かれた"大規模プログラムだった。Wirth氏のコードはシンプルだったが、理解することは可能だった。その結果、Gosling氏は、PascalをMulticsオペレーティングシステムに移植するために雇われることになった。

企業の愚かさによって破壊されたすばらしいオペレーティングシステム ... もしもMulticsがオープンソースで、愚か者たちによって扱われていなければ、Linuxは生まれず、Unixも生まれなかったことでしょう。

Gosling氏が次に着いたのは、世界初のオブジェクト指向プログラミング言語であるSimulaだった。氏はテープにSimulaバイナリのコピーを持っていたが、アセンブラで書かれたソースは"厚さ約8インチの紙の束"に印刷されていた。Simulaを使用して、氏はOOPと"恋に落ちた"ので、そのソースコードを読み、それが動作の理解に役立った。例えば、仮想関数テーブルとは何か、どうやって機能するのか、といったことだ。こういったことは十分に文書化されていなかった、とGosling氏は言う。Ivan Sutherland氏による、OOPを取り上げた初の博士論文には、OOPを説明した1章が含まれていた。Gosling氏自身の博士論文は、"[Sutherland氏の]論文の半分をマクロ展開したもの"だったという。

Gosling氏はその後、氏が"素晴らしい場所"だと言う、カーネギーメロン大学(CMU)に移った。 CMUで氏が自身のバージョンのEmacsをコーディングしたのは、Multicsの開発中にEmacsに習熟して、大学院で"viはダメだ(vi sucks)"ということが分かったからだ。BSDが採用したことで、Emacsの人気が高まり、Gosling氏は磁気テープによる配布を始めた。Arpanetはすでに存在していたが、高速"バックボーン"リンクは50kb/sに過ぎなかった。

大量のソースコードやバイナリを持っているならは、磁気テープとUS Mailの方がネットワークより便利でしょう。

Gosling氏は、自身の作品の公開を気にしなかったが、その寛大さが不正に使用されることは望まなかった。氏は、Emacsをミニコンピュータにバンドルしたいと考えていた企業から連絡を受けた時のことを語っている。 "彼らの手紙はまさに、'あなたは有名になって、私たちは金持ちになります'というものでした。" 結果的にGosling氏は、自身の卒業に際して、Emacsを代わりにメンテナンスしてくれる人を探す必要がある、と判断した。引き継いてくれるコーダを2人見つけたが、彼らには収入が必要だった。Gosling氏はビジネスユーザへの課金を認めたが、大学には無償で提供することを条件とした。ここでも氏は、自身のコードの公開は望んでいたが、同時にメンテナを不正な搾取から守りたいとも考えていたのだ。

博士号の取得期間中にGosling氏は、Visicalcの評価ルールを理解し改善するための実験として、scというスプレッドシート計算機を開発した。1週間を費やした後、氏はそれを"投げ出した"。このプログラムは今でもLinuxで使用可能で、2018年に最新バージョンがリリースされている。このようなプロジェクトは消えることもあれば、命を見つけることもある、とGosling氏は指摘した。どちらになるのかは、誰がそれに価値があると思うかにかかっているのだ。

Gosling氏はその後、Sun Microsystemsに移籍した。Gosling氏は、"多くの面においてSunは、オープンソースを基盤としてはいたが、企業弁護士がそのコンセプト全体に納得することは困難でした"、と述べている。 SunのSolarisオペレーティングシステムはBSDに基づいていたが、当初Sunは、自社のソフトウェアコントリビューションを同じ条件はリリースしていなかった。Gosling氏は、オープンソースの観点から、Javaを"岩だらけの道"だと表現している。Javaは"最初から"ソースコード付きでリリースされたが、そのライセンスは複雑で面倒だった。このライセンスは、プラットフォームプロバイダが自分自身を差別化したいという願望(実際、Gosling氏のことばでは"スティッキー"になりたい)と、開発者がコードを実行したいという願望のバランスを取ろうとしたものだった。

最終的にJavaは、Gnu Public License (GPL)を採用した。Gosling氏はこれを"Sunに対する信仰の飛躍"だと言うが、最終的には成功だった。Sunは、"サービスとサポート"の収益モデルが機能すること、オープンソースのマーケティングレバレッジがライセンス収益よりも重要であることを学んだのだ。そして最終的に、Solarisを除くすべてをオープンソース化した。Gosling氏は、Solarisは人的問題によって"飛躍できなかった"のだ、と主張している。Oracleに買収されるまで、Sunはオープンソースに向けて進歩していた。オープンソースのJavaは移行後も生き残ったが、Solarisはそうではなかった。

Gosling氏は最後に、Apacheに関して氏が気に入っているものとして、クリーンなライセンス、強力なコミュニティ、行動規範(Code of Conduct)を挙げた。氏が特に称賛したのは、悪辣な行為からApacheコミュニティを保護するための規範だ。
 

この記事に星をつける

おすすめ度
スタイル

BT