『オープンソースって何だろう』

可知 豊  [http://www.catch.jp/]

CopyRight 2003 Yutaka Kachi

Ver 1.2

Last update:2003-10-08  

 「オープンソース」って聞いたことがありますか。
 インターネットをするだけ、ワープロや表計算を使うだけという普通のパソコンユーザーにとって、オープンソースなプログラムを使うことは、今までほとんどありませんでした。でも、オフィスソフトのOpenOffice.orgとブラウザのMozillaという2つのオープンソースソフトウェアがメジャーリリースされたことで、それが大きく変わろうとしています。
 ここでは、普通のパソコンユーザーに向けてオープンソースについて解説します。

 

[目次]

[オープンソースの基礎知識]

[オープンソースの考え方]

[一般ユーザーのためのオープンソース]

[オープンソースの現状と問題点]

[注釈]

 

2002-10-08 0.0.1:公開
2002-10-16 0.0.2:レビューと編集さんのチェックにより修正
2002-10-18 0.0.3:レビューにより、細かな修正
2002-10-19 0.1.0:注釈の追加
2002-10-20 0.1.1:細かな修正
2002-12-30 1.0.0:著者名を変更
2003-01-26 1.1 :GPLとBSDライセンスの違いを詳しく解説、細かな修正
2003-10-08 1.2 :細かな修正

 

 

注釈

1-1:そのために、実行環境の数だけバイナリーコードを用意する事になります

 実は、Macintosh上でWindowsのアプリケーションを実行するVirtualPCというプログラムが存在します。これは、Windowsの実行環境をMacintosh上で再現するプログラムです。このようなプログラムはエミュレータと呼ばれます。また、Javaというプログラム言語で開発されたプログラムは、WindowsでもMacintoshでもLinuxでも、どんなパソコンでも動くようにできます。こちらの場合は、Java VM(バーチャルマシン)という実行環境を各コンピュータで用意しています。このJava VMによって、コンピュータの違いを吸収してしまうのです。

1-2:必要なら不具合を修正したり、新しい機能を追加することもできます

 そうは言っても、これはそれほど簡単なことではありません。数千行に渡るソースコードを追っかけるのは、大仕事です。普通は、人間が読みやすいように、その働きを説明したコメントをソースコードに大量に記入しておきます。

2-1:これがずーっと続くのです

こんなふうに、同じ性質が引き継がれていくのは、「継承」というプログラム上のテクニックです。
ストールマンは、この問題をプログラマらしく定義したのです。

2-2:駄洒落になっているのです

『個人的には、leftはleaveの過去分詞でもあるので、著作権を保持している(Public Domainではない)と言う意味もかけているという点の方が、右・左よりもシャレてると解釈してきましたが・・・考え過ぎかもしれない・・・』というコメントを樋口さんから頂きました。
また『そのほかに、いわゆる右翼・左翼の左 -革命- の意味も持っているという説もあります。(RMS自身がそう発言したという話は聞きませんが) 事実、GNU の活動は文字通りに革命を起こしたのはご存知のとおりです。』というコメントを無津呂さんから頂きました。

2-3:Linuxの開発手法と効果が詳しく解説されました

「伽藍とバザール」エリック・S・レイモンド著・山形浩生訳
 http://cruel.org/freeware/cathedral.html

2-4:ビジネスでのオープンソースソフトウェアの普及を目指しました

オープンソースという名前を採用するに至った経緯は、次のページが詳しく書かれています。

ハッカーの逆襲」 エリック・S・レイモンド著・稲葉祐之訳

http://www.cus.cam.ac.uk/~yi205/revenge-j.html

2-5:ビジネスでのオープンソースソフトウェアの普及を目指しました

OSIによるオープンソースの定義は、次のサイトで読めます。

オープンソースの定義(The Open Source Definition)
http://www.opensource.org/docs/definition.html

OSDN Japanにある日本語訳
http://osdn.jp/article.pl?sid=01/08/17/0849221

3-1:オープンソースでソフトウェアを開発している企業がたくさん存在します

 利益をあげる手段としては、オープンソースソフトウェア それ自体の有償サポート以外に、自社ソリューションを 実現する手段の一つとしてオープンソースソフトウェアを 開発するというものがあります。
 たとえば Zope Corp. における Webアプリケーションサーバ Zope がそれに該当します。 PostgreSQL や MySQL など でも類似した事例があります。
 他には「他プラットフォームへ移植する」という事を 請け負うケースがあります。
 RedHat に買収された Cygnus は組み込み系メーカの依頼を受けて各種プロセッサ向けに GCC や GNUPro などのツール, eCos を 移植していました。 NetBSD の組み込み系改造や移植を請負う企業もあります。
「プリンタは幾つか採用しているところがあります: RICOH IPSiO(NetBSD/mips)。
パチンコはかなりの部分で NetBSD が組み込まれているらしい。これは GPL では具合が悪いので(公開の義務) 、BSD ライセンスだと有利という理由に依ります。」
「ルータなどのネットワーク関係の製品とかも NetBSD を内蔵 しているものが幾つかありますね。製品情報として公開して いるものもちらほら。 マルチメディアサーバ mmEye は 以前に雑誌記事でも見かけました。SH3プロセッサへの移植を やった所ですよね、確か。 http://www.brains.co.jp/mmeye/mmeye.html http://www.jp.netbsd.org/ja/Ports/sh3/」

> Thanks 無津呂さん 、なかたさん、はらおかさん

3-2:OpenOffice.org日本ユーザー会が、そういう存在です

オープンソースなオフィスソフトOpenOffice.orgの日本のユーザーの集まりです。
ドキュメントの整備・翻訳、日本語版設定ツールなどを開発しています。

http://ja.openoffice.org/

4-1:コピーレフトを明文化して、実際の使用許諾文書にしたものです

GPLを自分のプログラムのライセンスとして利用するなら、内容を良く読んでおきましょう。
さらに、そのプログラムで何が派生物なのか、出力結果なのか明確にしておくと良いでしょう。
例えば、Linuxカーネルでは、システムコールのインターフェースはライセンスから外してあるそうです。

「Linuxの場合、システムコールのインターフェイスは、カーネルそのものには含まれない部分とみなしている(というか、私がそう宣言したということになる)。」(Linuxの強みより)

これががGPLの適用範囲内だと、システムコールを利用しているソフトウェア(つまり、全てのLinuxアプリケーション)が派生品とみなされ、GPLになってしまうからです。

参考 「Linuxの強味」  リーナス・トーバルズ著・倉骨彰 訳
「オープンソースソフトウェア 彼らはいかにしてビジネススタンダードになったのか」より
http://www.law.co.jp/okamura/OpenSource_Web_Version/Web_version991206.html