Java有料化について思うこと

今日はプログラミング言語について思うことを書きたいと思います。
私は、職業上、様々なプログラミング言語を扱ってきました。
最近では主にJavaとC#を扱っていますが、昔はC++やDelphiをよく使ってました。
最近のメインの仕事はJavaとC#なんですが、やっぱり、技術者たるもの、新しく登場してきたプログラミング言語に目移りしていたりするものです。
最近は上流工程がすっかりメインとなってしまったので、コードそのものを書く機会はめっきり減ってしまったのですが、個人的には

コードを書けない技術者は技術者にあらず

と考えており、衰えないように、仕事以外の時間で、よくミニプログラムを作ったりしています。
そんな時、よく別の言語を覚えたいなんて考えたりして、そのたびに学習したい言語リストをピックアップしていたりするんですけど、実際にはなかなか学習できないまま、ここまで進んで来てしまったって感じでした。
しかし、最近、会社である調査を行う機会があり、それを行なっているうちに、これは真剣に他の言語を覚えた方がいいかもしれないと考えるようになりました。

会社で現在やっているプロジェクトでは、サーバーサイドJavaのWebサーバアプリ開発がメインなのですが、最近、一つ大きな問題が持ち上がりました。

2018年9月リリースのJDK11から、Javaが有料化になる

この事実は、かなり前からネットでは話題になっていたようでしたが、正直言うと今の今まで全然知りませんでした。(どんだけITニュースに疎いのだか・・・)
今までタダで使えていたJDKが突然有料化する。
これは、個人的にかなり衝撃的な事実でした。

OracleはOpenJDKをOracleJDKと同じにしようとしているようですが、OpenJDKが11以降もフリーで利用できるのか、この段階ではまだわかりません。(OracleJDKが有料なのに、OpenJDKが無料とは個人的には考えられない。)
ちなみに、JDK9と10は半年の寿命のようで、JDK9はこないだ出たばかりなのに、もうサポート終了しており、今では過去の遺物扱いされています。(Oracleアカウントなしではダウンロードすることすらできない状態です。)
どうやら、JDKは今後半年毎にバージョンアップしていく流れのようですが、たった半年で過去の遺物に変わり果てるJDKを、誰が採用できるでしょうか?
なお、OracleとLTS(長期サポート契約)を結ぶことで、5年間はそのバージョンのサポートが受け続けられるそうです。
ただ、5年後にはJDKのバージョンは10も上がってますし、バージョンアップしたJDKでの動作確認と新しいLTSが待ち構えていることになります。

おそらく、このJavaライセンス問題は、色んなところに影響が出ると思います。
今や、JavaはAndroid開発を始め、様々なシステムで利用されており、実際に有料化になった場合にどれだけの影響が出るか、全く想像できません。
現在、会社で新しいサーバ開発案件について、Javaを使うべきかどうかで揉めているようです。
当然でしょう。
開発当初は最新バージョンでも、半年後には陳腐化して、過去の遺物と化しているわけですから。
サーバーアプリ開発の場合は、LTSを結ぶのが必須になるわけですから。
自分がPMだったら、Javaはまず使わないと思います。
しかし、開発メンバーにJavaプログラマーが多い場合は、そうはいかないでしょう。
自分は参加していないプロジェクトではあるのですが、非常に気になります。

このJava有料化の流れは、個人的に非常に嫌な流れだと感じました。
自分の会社が開発言語にJavaを使うのをためらっているように、他のプロジェクトでも、これからJava案件は減っていくんじゃないかという危惧がしてなりません。
というわけで、真剣に別の言語の取得を考えた方がいいのではと思ったわけです。
ただ、新しい言語といっても、なかなか難しい。
例えば、Kotlinなんかは面白いと思ったんだけど、あれも結局Javaが必要ですからね。
Javaに代わるサーバ開発言語の選択肢は意外とたくさんあるけど、今から覚えるのは苦労しそうです。
このブログで、新しいサーバ開発言語の勉強記録でもつけて見ると言うのも悪くはないかもしれません。

まあ、今すぐJavaが消えてなくなるわけでないし、まだまだJavaの開発案件もあるので、当面はJavaで食べていけると思いつつも、別の言語を早く身につけたいと考えているところです。
(まあ、C#があれば当分安泰かもしれませんが・・・)

とりあえず、今のうちにJDK8と10はダウンロードしておこう。

コメント

PAGE TOP
タイトルとURLをコピーしました