Translate

セキュリティもきっかけで、OracleのJavaも有償化したし、衰退が近いと感じる今日この頃。

セキュリティもきっかけで、OracleのJavaも有償化したし、衰退が近いと感じる今日この頃。


以前、Javaが有償化される件で触れた通り、実質Javaが開発者と個人のみの利用以外は有償化していくような方針のようだ・・・

オープン以外ではコマーシャルライセンスで利用可能な無償のMySQLもいづれそうなるだろうとの見方は、元々、MySQLがオラクルに買収された時点で想像があった。

Javaはサポート期間が短いフリーのOpen JDKがあるが、企業が本番環境でこれを想定して基盤を作ることはまず考えられない。

個人的に思う所、JavaやPHPで作られたWEBシステムは、情報漏洩事件を起こしている企業が非常に多いと思う。

PHPは、バインド変数使ってもSQLインジェクションが出来てたので自分の中ではアレな言語扱いしているけれど・・・Wordpressの脆弱性による情報漏洩が日本では尋常じゃない気がする・・・

特に、日本企業はWEBシステムはメンテナンスに人を割き続ける必要がある重要性よりも、人件費削減を優先して、放置されるケースが多く、漏洩してからエンジニアを生贄にして、とかげのしっぽ切りにしている風潮を感じる。

Javaで作られたシステムもそう。

特にJavaは、これまで無料で利用できる言語だけあって、爆発的に広がった言語だ。

今後は、Java 8を利用継続する場合は、Oracleにお金を払う必要があるし、が、払わない企業もきっと多いのだろうなぁ・・・裁判案件になる?

OpenJDKは、お勉強程度でしか使えないのだと思う。

OpenJDKはフリーだけれども、6か月(次バージョンの登場まで)しかサポートされず、6か月毎にシステムの見直しを迫られる事案が襲ってくる。

そんな短いサイクルでメンテナンスは不可能。

特にWEBで良く使われてきたJavaは、無料システム群に多く支えられており、Apatch(アパッチ)の脆弱性、MySQLの脆弱性等々、日々セキュリティの対応が大変で、これが日本企業では経営層に理解されず、放置される為、情報漏洩を繰り返している。

これに加えて、プログラムの見直しまで6か月単位で見直す為に人を割くとかアホらしくて無理。

やるとき無料でも、運用する時に地獄を見るのが目に見えている。

自分が渡った大企業も含む現場では、かならず、古いJavaで作った基幹システムがネックになって手をこまねいていた。

日本有数の大企業でさえ、Windows NT上でJavaで作った基幹システムの更新が出来ずに藻掻いていた事例があったし。


そして、Oracleの衰退は、SQLServer、PostgreSQLの存在もある。


昔、データベースと言えば、Oracleか、SQLServerと名前が直ぐに出てくるレベルの存在だった(2000年前後当時はレッドブリックやDB2等も名前が良く出てたけれど)。

が、このOracleのライセンスが細かすぎて、ちょっと監査証跡の使いたいとか要件が出ると、ライセンス費用数百万円とかありえない状態だった。

オイラ~が開発していた当時は、XMLスキーマーが存在しているデータベースはバックアップが取れない不具合迄遭遇して、完全にアンチオラクル派になった。

当時はバックアップをするのに、致し方なくサーバー丸々イメージバックアップと言う苦肉の策に走っていた。

そんな中、SQL Serverは、そういった類は購入したエディションの中に大体全て含まれているから、後から費用発生でワークフローやら稟議やら、根回しやの苦労もせずに済んだ。


そして、昨今はPostgreSQLの存在が大きい。

無料でありながらSQL ServerとOracleのような使い勝手を提供している。

機能もこれで無料かよと思える程の仕上がり。

昔のMySQLは、バルクインサートの癖があって、データベースそのものが壊れていたり、前レコードの値で更新される等、癖を気にしてコーディングしないと非常にテストが大変な産物だった・・・今はしらないけど。

そして、GoogleのAndroid標準言語も、JavaからKotlinへの言語へ変更。
Javaが爆発的に増えたのは、Androidも影響していると思う。

ここ最近は、Javaはポピュラーな言語としては、レートを下げ続けている。



PythonのDjangoと、Ruby on Railsのコーディングパターンは非常に似ているけれど(MVCだという事に限らず)、どちらの言語もバージョンが上がる度に付随するライブラリー群がバージョンアップについてこられず、セキュリティの脆弱性も放置されたままになるので、WEBサービスのバックグラウンドで使う分には良いのだろうけれど、全面それだけでやるには、機能も足りず、複数の言語を組み合わせる結果になるから、長く使うタイプの日本企業スタイルではあまり向かないんじゃないかなぁと思うけれど。

まぁ、そんなこんなで、Oracleがライセンススタイルを集金スタイルに舵をきった事で、Javaから他の言語へのシフトが進んで行くのだろうと思う。

今回のJavaは、単純にサポートぎれみたいな扱いというより、Windows 7に似ていて、継続して使うなら、ライセンス料払ってねってみたいなスタイルが、今後、Javaを利用していた企業が、エンジニアに対して、経営者は理不尽な叱責や責任問題にされる予想もあって、ますます立場が危険にさらされるんだろうなぁ。
(日本企業の経営陣は、ITリテラシーが乏しく、コスト増に対しては物凄い嫌悪する。)

まぁ、以前から言われていた事を、楽観的に解釈して放置したJavaのエンジニアの責任でもあるんだろうが。

そういえば、以前Appleは、MacでもJavaは標準で無効にするような動きもあったなぁ・・・と思い返してみる。

自己責任な無料のテクノロジー = セキュリティリスクも自己責任。


ここは、常に意識して基盤を選定する必要があると思う。
日本企業は、7&iの情報漏洩が良い反面教師になったと思うのだけれども・・・


オチとしては、相変わらず日本企業のプロジェクトリーダーって、ITリテラシーが無くて、上層部と付託するのに必死だなぁ・・・と思う今日この頃。




このブログの人気の投稿

VBAのADOで「パラメーターが少なすぎます。xを指定してください。」と表示された場合の原因

ACCESSでバーコードスキャンしたら自動でイベントを起こす方法

PostgreSQL 11 でpg_dumpallを使ってバックアップしたデータをリストアするとき文字化けの対処法

ACCESSのVBAを実行するとACCESSが強制終了する事がある

VBSでマクロの実行時に警告を非表示にする方法

ACCESSのVBAでADOを利用したバインド変数を利用したデータベース連携方法

ACCESSでバーコードをスキャンして登録更新する簡単なサンプル

pgAdmin 4が遅いのは仕方がない | PostgreSQL things.

ACCESSのVBAでリストビュー(ListView)を使う為の設定 | Office365

ASP.NETのでクライアント証明書を使ったログイン認証を行う方法