"BOKU"のITな日常

還暦越えの文系システムエンジニアの”BOKU”は新しいことが大好きです。

JAVAの有償化。まあ、仕方ないと思うんだけど、ちょっと寂しいかな。

JAVAの有償化に関する諸々の話題がテーマです。

f:id:arakan_no_boku:20190223140034j:plain

 

 

2018年9月から無償版のSEはなくなります

 

JAVAスタンダードエディション(SE)が、2018年9月のバージョン11から有償になるという話です。

www.nikkei.com

驚きはないです。

むしろ、以前のまま無償版の提供が続いていたのが意外だと思っていたくらいです。

Oracle社ですもの。

 

Oracle社はお金に厳しい企業だから

 

OracleのDBは仕事で使ってます。

いい値段とるなあと思いつつ。

企業としては、今更、使わない・・という選択肢をとりづらい。

ぶつぶつ言いながらも、Oracle社の言う通りにお金を払うしかない。

いや。

商売のうまい、お金に厳しい企業だな。

個人的にはそういう感想をもってます。(笑)

 

JAVAの開発コストは膨大だろうからなあ

 

だから。

JAVAもそうなっていく。

きっちり、お金に変えていく方向にもっていくだろう。

2010年にOracleサンマイクロを買収した時に、そう思いました。

ところが、意外にOracleは我慢してくれました。

以下の記事の約束を守ってくれていたわけです。

「Javaはオラクルのもの?」、「いいえ、これからもJavaコミュニティのものです!」――Javaエバンジェリスト 寺田佳央氏が、Javaの現在、未来を語る

でも、JAVAの開発コストって莫大でしょうから。

いよいよ、Oracle社も我慢できなくなったってことでしょう。

しょうがないなと思います。

 

ライセンス契約文章を読んでみた

 

有償化されても、個人が使うだけなら無償じゃないのか?

そういう人もいたので、以下のライセンス契約の文章をつらつら読みました。

f:id:arakan_no_boku:20180921233551j:plain

確かに個人が開発・テストのために利用するだけであれば無償のままらしいです。

ですが、その部分だけとりあげても、書き方が悩ましい。

本契約の条件、並びに参照により本契約に組み込まれるREADMEファイルに規定されている制限事項及び除外事項(本補足条項のJavaテクノロジーに関する制限事項を含むが、これに限定されません)に従って、オラクルはお客様に対し、プログラムの設計、開発及びテストの目的で、本ソフトウェアを完全かつ改変されない状態で、社内で複製及び使用するための非独占的、譲渡不能の限定的なライセンスを無償で許諾します。

うーん。

非独占的、譲渡不能の限定的なライセンス・・って言われてもねえ。

正直、ピンときません。

商用利用は完全に有償です。

社内の業務運営でプログラム、Javaアプレット又はアプリケーションを実行する目的、商用もしくは本番目的、又は本補足条項のセクションB、C、D及びEに記載されていない目的で、商用機能を使用することはできません。本契約で許可されている以外の目的で商用機能を使用することを希望する場合、オラクルから別途ライセンスを取得する必要があります。

こういう風に明記されていますから。

じゃあ、個人が商用でない目的でアプリケーションを公開・配布したらどうなのか?

該当箇所を読んでみました。

引用します。

本契約の条件、並びにREADMEファイルに規定されている制限事項及び除外事項(本補足条項の再頒布に関するJavaテクノロジーに関する制限事項を含むが、これに限定されません)に従って、オラクルはお客様に対し、以下を条件として、本ソフトウェアを複製及び頒布するための非独占的、譲渡不能の限定的なライセンスを無償で許諾します。

(i)本ソフトウェアを、完全かつ改変されないまま、プログラムの一部としてバンドルされた状態でのみ、かつお客様のプログラムを実行することを唯一の目的として、頒布すること、

(ii)プログラムが重要かつ主要な機能を本ソフトウェアに与えること、

(iii)本ソフトウェアのコンポーネントを取り替える目的で追加的なソフトウェアを頒布しないこと、

(iv)本ソフトウェアに記載されているいかなる所有権表示や通知も除去又は変更しないこと、

(v)(a)本契約の完全かつ変更されていない複製である、又は(b)本契約に含まれる条項と一致するオラクルの利益を保護し、セクションHに記載されている通知を含む、ライセンス契約に従ってのみ本ソフトウェアを頒布すること、

(vi)すべてのプログラム及び/又はソフトウェアの使用又は頒布に起因する第三者による請求、訴訟又は法的措置に関連して生じるあらゆる損害、コスト、損害賠償額、和解金及び/又は費用(弁護士費用を含む)について、オラクルとそのライセンサーを防御し、それらに補償することに同意すること。

どうですか?

自分には、どこまでがOKで、どこからがNGなのかが明確にイメージできません。

個人的には、JAVAってプラットフォーム的な感覚があります。

だから、「プログラムの一部としてバンドルされた状態」って何?って感じですし。

なにより、最後の方の「オラクルとそのライセンサーを防御し、それらに補償することに同意すること」という部分が、そら恐ろしい。

まあ、天下のORACLEが、個人に対してどうのこうの言うとは思えませんけど、中途半端な理解で冒険しようという気にもなれません。

いやはや。

悩ましいです。

 

リリースサイクルも難しいな 

 

個人的には。

あれこれ難しいことを考えたくはないし、プライベートではJAVAから徐々に離れて行くことを考えざるをえないのかなと考えてます。

仕事でだけつきあう方向に舵をきるというわけですね。

そう決めました。

ところが、その前提でも、「これはどうだろう・・」と疑問に思うことががあります。リリースサイクルです。

www.ossnews.jp

ポイントを引用すると。

Java 9以降の「Oracle JDK(非LTS無償版)」において重要なのは「メジャーバージョンごとのメンテナンス期間が次のメジャーバージョンが出るまでの間のみ」という点です。

つまり「6カ月ごとにメジャーバージョンアップが登場し、そのつどサポート期間が終了」することを意味し、実システムの運用に適用しにくい状態になります。

Oracle JDK(非LTS無償版)」はJava 10が最後となり、Oracle JDK 11以降は公開されません。

 

6カ月ごとにメジャーバージョンアップが登場し、そのつどサポート期間が終了。

一瞬、「正気か!」と思いました。

企業で使う以上、稼働確認テストをしないでメジャーバージョンアップする選択肢はないですから、エライことになります。

稼働確認は時間も手間もかかるのです。

それで非互換がでたりしたら・・目もあてられません。 

でも、よく調べると「LTS版」(長期サポート版)が別途用意されていて、それは3年周期ということなので、6カ月毎に必ずしもバージョンアップを繰り返さなくてもよさそうではありますが・・・、本当に大丈夫なのかな。

もやもや感が残ります。

まだ、はっきりしたことはわかりませんが。

企業がOracle社にお金を払わざるをえないような仕組に組み込まれる感があります。 

 

さよならJAVAの始まりになるのか?それとも。

 

個人的にはJAVAという言語には愛着があります。

でも。 

ここから10年とかのスパンで考えると。

企業のJAVA離れがすすむ可能性も、ちょっと考えてしまいます。

2018/09/21追記

>e-GovもJavaを使わない方向に舵をきったみたいですね。

www.e-gov.go.jp 

当面は、今まで無償で使えてたり、サポートを受けられていたところに費用がかかるようになったとしても、大きな費用ではないですから、すんなり移行する企業もたくさんあるでしょう。

でも、その後継システムはどうでしょうか?

費用に見合ったサポートが安定的に受けられているか?とか。

Oracle社の都合で急なコスト負担が発生したりしなかったか?

などなど。

総合的に判断して、JAVA以外の言語を検討する企業が増える可能性でみると・・。

うーん。

あるような気がするんですね。

少なくとも、今認識できている情報も、ちょっとややこしい印象があります。

当然。

Oracle社も手をうつでしょう。

できたら、じわじわJAVA離れが進んで、いつの間にか「さよならJAVA」ってなったりしかねないようにしてほしいです。

プライベートでは使わないかもしれないけど・・。

寂しいですからね。

 

Googleとの裁判

 

2018/10/27追記

OracleGoogleを訴えていた裁判の件、有償化の話の中で思い出しました。

Android開発でJavaAPI著作権をうんぬんで、2010年からやっている裁判です。

OracleGoogleにふっかけた1兆円とかの賠償金の額にもぶっとびます。

それ以上に「GoogleAndroidJava API特許権著作権を侵害している」という訴えそのものが、当時、どう考えても、言いがかりみたいに思えて注目してました。

最初の判決ではGoogleが勝ちました。

gigazine.net

ところが。

Oracleはしぶとく控訴して、逆転勝訴を勝ち取ったとか・・・。 

もちろん。

Googleも上訴する構えのようですが。

it.srad.jp

まだ、続くでしょうね。

個人的な懸念として、詳しい内容までわかりませんけど、APIレベルで著作権うんぬんの話が通ってしまうなら、怖くて企業は開発に使えなくなります。 

このことが。

Javaを使い続けることに怖さを感じて、捨てる覚悟を決める企業を増やすきっかけにならないですかね?

それに、GoogleAndroidJavaで作るのをやめる決断をしたりすると、一気にJAVA自体が縮小していくきっかけにもなりそうな気はするし。

自分も会社の上の人間から判断を聞かれたら、今は気分的に将来の開発言語としてJAVAは提案しづらい・・。

うーん。

いや・・JAVAって、ほんとにすたれていくんじゃないか。

冗談じゃなくなってきたかなあ。

 

Java8はいつまで使い続けられるの?

 

2019/01/05追記

こんな記事をチェックしました。

codezine.jp

この中でJava8のサポート期間が以下のように書かれてます。

LTSバージョンはかなり長期間のサポートを想定しており、Java 8であれば少なくとも2025年まではサポートを継続します。

 かと思えば、

非LTSとして今後リリースされるJava 12や13というバージョンも、本番使用に耐えうる品質を備えたものになるよう進めています。

ただし、非LTSを本番使用する場合、サポート期間は6か月ですので、その次のLTSまで継続的に6か月ごとのバージョン移行を行う必要がある点はご認識ください。

とも書いてある。

このサイクルが極端に違う2つを同じ開発姿勢で対応していくらしいです。

正直。

苦しい対応を迫られてるんじゃないのか?・・という感想で、すごい難しいことをやっていくんだな・・と思ってしまいます。

まあ・・、天下のOracle社なので、そんな難しい課題もなんとかするのでしょうが・・、個人的には、そうなったとしても、どんどんややこしくなるばっかりだなあとも思えます。

後方互換性とかも考えると、システムもどんどん大きく複雑になるでしょうし・・。

大丈夫かな?

本当に、Oracle社が望むように、今Java8でシステムを構築している企業のシステム担当者が、2025年以降の次期システムの言語にもJavaを選択するのでしょうかねえ。

個人的には心配です。

 

2019年始めは、まだJAVAは人気だな

 

2019/1/26 追記

techacademy.jp

これを見る限り、まだまだJAVAは人気ですね。

Androidの開発言語がJAVAだってのも大きいかと。

あと、数年は大丈夫とこの記事にも書いてますが・・やっぱ2025年ですかね。

ターニングポイントは。