多くの Linuxプログラマは自由に再配布可能な (freely redistributable software: FRS) の開発に携わっており、ソースが一般に利用可能なもので ないようなツールに対してあまり時間を割くことを避けようとしてきました。 この章では FRS の世界とSun、Java の関係について議論します。
(注意: 私は弁護士ではありません。Sun Microsystems の社員でも、代理人 でも、株主でもありません。この章は、現在の著作権法と Sun のライセンス 条文(language)に対する私の解釈をもとにしています。 ですから、これはあくまでも手引き(introduction)です。 Sunの ライセンシングに関するページ (Sun licensing page) <http://www.blackdown.org/Java/licensing.html> が絶対的なものです。 意味について重要な疑いがある場合には、法律家に相談してください。
要は、あなたが書いたものを FRS とすることを選ぶかどうかです。 それには、いくつかの方法(GPL や BSDスタイルのライセンスや、それを パブリックドメインと宣言する、など)があります。
Sunのライセンシングページには次のように書かれています:
無変更の Java と HotJava のバイナリーリリースは無償に限り 商用・非商用を問わず、自由に再配布して構いません。
さらに:
Java 言語を新しく移植したいと考える会社または個人は、この 同意の基に、テストスイートを通過し、かつ無償で提供する 限りにおいては、他者の使用のためにその移植したものを インターネットにポストする権利を有します。(テストスイートは 1996年の前半に利用できるようになる予定です。) (訳者:オリジナル)との差異点("diffs")も、(訳者:オリジナル)の もとのソースコードをポストしない限りにおいては、ポストして構いません。 Java のソースコードは...
ですから、動作する Java や HotJavaのバイナリを作ることができたら、 それを友達にあげることができます。CD-ROM にいれてもいいですね。 (訳者:バイナリ)パッチを当てて Java のパッチ版を作ったりしなければ、 他は自由にいろいろなことができます。 (これは筋の通ったことです。Sun は明らかに、Java の推進者として、 「トロイの木馬」(Trojan horses)を防がなければなりませんから。) バイナリは再配布可能(FRS)です。
Sun のライセンシングホームページによればすべて不可能です。しかし、この 言い方は実のところ厳しすぎるかもしれませんね。 実際には、教育、移植のため、非商用の目的のために、ソースを再配布しない という義務を負う Web の申し込み用紙に(訳者:必要な事項を)書き込めば、 誰でも Java や HotJava のソースを入手することができ、しかもオリジナルの ソースに対する差異点("diffs")を再配布することは契約書(agreement)では 許されているわけですから。
あなたが商用の製品としてソースを使いたい場合に限り、Sun と商用の ライセンスを結び、お金を払う必要があるわけです。 特に、この条項の書かれ方からすると、あなたがSunの非商用ソース・ライセンス 同意書にサインして、ソースを貪るように解析し、それをポートして、その成果を なんの制約も伴わない完全なフリーウェアとしてばらまくことは、条項の条文上か らも、それが書かれた意図の上からも、まったく問題がないわけです!
Sun によれば、このように、できる限りの管理をおこなっている最大の目的は、 この言語がコンパチビリティーのない方言を生み出すのを防ぐことです。 ライセンスの条項の書かれ方もこれをうたっています。この条項は、 ハッカーたちが自由(かつ無料)で遊べるように配慮して書かれているようです。
現在のところ我々は知りません。Sun のライセンシングページによれば:
Java言語と Java仮想マシンの仕様は「オープン」(OPEN)ですが、 著作権は Sun Microsystems が有しています。
Javaコンパイラ、Javaランタイムインタープリターの別の実装 は、その実装が公開されている仕様に直接に基づいており、 かつ 直接/間接的にかかわらず Sun の所有する実装や、 トレードマークを含む知的財産権を使用しない限りにおいて、 Sun からのライセンスを必要としないことを認める。
ですから、公開された仕様書(自由に再配布可能(FRS))をもとにして、あなたが Javaクローンを作り、それをたとえば"ミスターコーヒー"と呼ぶのならば、 Sun はそれを咎めることはないわけです。
みんなが望んでいるとおりに Java がポピュラーなものになれば必ずクローンも 現れるはずです。(必要な仕様書が利用可能になり次第、この HOWTO の著者は、 "ミスターコーヒー"コンパイラやバイトコードインタープリタを書くための 手伝いをする用意があることをここに表明します。)
Java言語をエディットするための GNU Emacs モードがあります。 以下から入手できます: <ftp://java.sun.com/pub/java/contrib/emacs>.
Sunの人たちは、(a) Sun 以外で行われたJavaのインプリメンテーションや (b) Sunからライセンスを受けたコードに依存しないインプリメンテーション を"rough port"と呼んでいます。a,bのどっちを意味するかは場合によるみ たいです。Sunの人たちは、すでにこのrough portがいくつか存在している と考えているようですが、われわれはそれがどこにあるのか、それがFRSなの かといったことはまるで知りません。Sunの人たちも、特に神経をとがらせて はいないみたいです。
SunにはJava 認定制度というものがあります。この認定をパスしたJavaの ポートは正式に認定しよう、と言っています。(この認定が有料かどう かはまだわかりませんが、Sunはそれが1996年に「一般提供される」と文書 で申しておりますので、少なくとも無料になりそうな気配ではあります
[校正者注: そうかぁ???])rough portでも認定するよ、と言ってますが、これは まだ例がないみたいです。