orangeitems’s diary

クラウドではたらくエンジニアの日々の感想です。

Java is Still Free、とは言うけれど

f:id:orangeitems:20181010170033j:plain

 

Javaチャンピオンが執筆

Java is Still Freeの日本語訳、「Javaは今も無償です」はご一読されましたでしょうか。

 

www.sakatakoichi.com

今後のJavaのサポートとアップデートに関して、世界のJavaチャンピオン数十名が執筆したJava is Still Freeというドキュメントを、日本のJavaコミュニティメンバーで翻訳しました。

 

Oracleが中心になって実施しているJavaロードマップの刷新についてJavaの有識者が共同で情報をまとめたものです。有識者がレビューしただけあって情報が網羅されていると思います。

 

Java is Still Free、とは言うけれど

Javaが今回の混乱を切り抜けて、今後も繁栄を続けてほしいという思いもこめてこの文書だと思います。

ただ、今回のOracleが実施したロードマップ変更の目的を、今一度考えなければいけないと思うのです。

商用にて責任ある品質を保つためには、無償、ということは本来あり得ないという点です。誰かがデバッグして修正することで品質は保たれます。この作業はコストが発生するし、対応したら報酬を得られるべきです。製品の保証を企業が行うならば、企業はその対価を得られなければ存続できません。

一方で、ソフトウェア企業は、開発者に対して保有するソフトウェアを無償提供するのが常です。ソフトウェア企業も商用利用が広がらないと実績ができないからです。したがって、「開発中はソフトウェアを無償で利用できます。ただし有償で利用する際はライセンス料あるいはサブスクリプション料をお支払いください」というのが、今のトレンドです。Oracleに限ったことではなく、Microsoftなども同様に開発者向けには廉価に開発用ソフトウェアを配布しています。

この状況のもと、商用システムで「Java is Still Free」という言葉を強引に適用してはいけないと思います。OracleはすでにOTN開発者ライセンスをOracle Java 11に新規に適用しています。Oracleの考え方は、他の商用製品と同様に、開発用途なら無料、商用にするなら有料、です。Oracleが品質を担保するJavaは、明確にトレードオフとして対価を要求するのです。一方、OpenJDKについては、各ベンダーがバイナリーを配布しますが、各ベンダーのビジネスの中で利用しそこで品質を担保する目的です。Oracleがやってきたように不特定多数に無償で品質を担保するわけではありません。

Javaは無償だが、品質を保つにはコストがかかる。それは利用者が支払うべきだ。

Java is Still Free, but it costs money to keep quality.
It should be paid by end users.

と言いたいです。

 

メンテナンスする技術者に対価を

ソフトウェアを作成し、オープンソースにて配布するといったことが大ブームとなった時期があります。かつ多数のプロダクトが今でも無償で使えるようになっており、今のインターネットを支えているのは言うまでもありません。

しかし、この無償モデルはいつまで続くのでしょうか。コードをメンテナンスしてくれる技術者がいつまでも安泰ならば良いのですが、きっとそうはいきません。特定の企業がサポートしてくれるかどうかもビジネス状況で大きく変わります。いまはアメリカが空前の好景気でそんな雰囲気はありませんが未来永劫続く保証はありません。ソフトウェアを利用する側がコストを技術者に間接的に支払い、品質を安定的に保つことができる仕組みを作るべきではないでしょうか。

OracleはOracleで、熟慮の上きっとJavaをこれからも品質を恒久的に保つために企業としてこのロードマップ変更を行ったのでしょう。

Java is Still Free、とは言うけれど、これは開発者に向けての言葉であって、商用システム開発などで見積を作る立場の人は、決してFreeだとは考えないで欲しいと思いました。