はてなキーワード: TCKとは
悪の帝国 Oracle が Java を有償化し重税を課そうとしたその時、正義の勇者 Amazon が立ち上がり新しい Java 実装 Corretto を無償で広めて救ったのだ!
……という情弱が好きそうなデマがあるんだが、こんな陳腐なシナリオに喜んでいるようではインチキなテック系 YouTuber に食い物にされてしまうぞ☆
Oracle レジスタンスはいた。彼らは Oracle の中に潜んでいたんだ。
時は2005年に遡る。
Java を開発した 米 Sun Microsystems は赤字にあえいでいた。
2004年に Java 5 (目玉機能はジェネリクス) がリリースされてしばらくの頃だ。
この頃、ひとつのオープンソースプロジェクトが立ち上がる。名を Apache Harmony という。
開発は2005年5月に開始され、2006年10月には Apache 財団のトップレベルプロジェクトとなった。
Sun は多数の企業をまきこみ、いろんな企業に Java™ をライセンスしていた。
Java の実装は Sun が持っていたが、各社が独自に実装したり、Sun と契約してコード提供を受けたりしていた。
Java™ を名乗るためには Technology Compatibility Kit (TCK) という互換チェックをパスしなければならない。
初期の Java はオープンソースではなかった。誰もが自由にコードを参照し用いることができるものではなかったんだ。
これをオープンソース化しようという野心で始まったのが Apache Harmony プロジェクトだ。
Java の実装をいちから書き起こしオープンソースの代表的な Apache License Version 2 ライセンスで提供したのだ。
しかし、Sun は Apache2 ライセンスを良しとせず、Harmony に Technology Compatibility Kit (TCK) を受けさせなかった。
なるほど。彼らが Java をオープンソース化したレジスタンスだったわけか?
違う。話はそんなにシンプルではない。
2006年 Sun は Java をオープンソースにする意志があると発表した。
Sun は Java を リンク例外付きの GNU General Public License でオープンソース化することにした。
Harmony のライセンスは自由な改変を認めるものだった。
OpenJDK のライセンスは派生物を作ったなら、そのソースコードの公開義務がある、という点が大きな違いだった。
OpenJDK は出た当初はまだ Sun の JDK との非互換が多かった。しかしこれが現代まで続く OpenJDK の始まりだったのである。
2007年11月 GoogleがAndroidを発表した。 Android は Java 言語で開発することができる。
そのベースとなったのは Sun との火種くすぶる Apache Harmony だった。よりにもよって!
(後にGoogleが負けて賠償し、現在のAndroid は OpenJDK ベース)
その渦中、赤字に喘いでいた Sun はついに身売りを決断する。2009年のことである。
当初 IBM との交渉が報じられていたが金額で折り合わなかったようだ。
そこに颯爽とあらわれたのが Oracle である。 Oracle が Sun Microsystems を買収することになった。
しかし Oracle にはよくない噂がある。敵対買収してプロダクトを潰してしまうという黒い噂だ。
Sun の Java も Oracle に食い物にされてしまうんじゃないか、いわゆる 「悪のOracle」 のイメージはこの頃からのものだ。
しかし、 Sun はすでに Java をオープンソース化していた。 派生物もオープンソースにしなくてはならない OpenJDK で!
Oracle は Java を Sun 社ごと買ったが、 Java はすでに独り占めできるようなものではなかった。
Sun 本家の JDK を引き継いだ Oracle JDK と、OpenJDKがついに統合される。
Oracle がソースコードを OpenJDK に寄贈し、 Oracle JDK も OpenJDK ベースとなった。
ここに OpenJDK への移管は完全となり、Javaのオープン化は成就した。
それまでの OpenJDK は Oracle JDK との非互換が不安視されていたわけだが、Java11 からはその不安もなくなった。
こうして完全にオープン化された Java は、各サードパーティーからディストリビューションが出るようになった。
Java11 での Java のオープン化を経て、Javaはディストリビューション乱立時代へと突入する。
Amazon Corretto もそうした OpenJDK の派生ディストリビューションのひとつである。
OpenJDK の開発は今なお Oracle が主力となって牽引している。
Java を解放しようとしたレジスタンスは、赤字に喘いでいたSunの中にいた。
たとえ Sun が身売りをすることになろうとも、Java を邪悪な独裁者の手に渡さないように。
Sun が倒れてしまう前に Java はオープン化された。Javaの仕様策定は Java Community Process (JCP) にて行われる。
Javaの仕様策定は Oracle の独断で進めることはできない。 OpenJDK の開発も Oracle の独断ですることができない。
GNU General Public License でオープンソース化された Java は、派生物のライセンスもGPLが強制されソースコードを公開しなければならない。
そんな OpenJDK をリリースした、当時の Sun の中の人達こそがレジスタンスだったんだ。
日本を出てからもう15年くらいたった。途中ちょっと日本にいた時期もあったけど、数ヶ月だったので気分的には旅行者。
私の娘は外国で生まれ、私とは日本語で話すし私の友人たちにも会ったりするが、普段はそれほど日本人と絡むことなく育ってきた。彼女の友人たちも、私の友人たちも国籍・文化背景は様々で、人種も宗教も何もかもが違うのが当たり前だ。
だから、日本の同族社会に違和感を感じることが多い。もちろん他の国でも、モノカルチャーの場所ならば同じことが言えるのだろうし、モノカルチャー出身の友人たちが自国に感じる違和感、というのも同じではないにしてもあるのだろうと思う。私自身は一応日本人で日本出身者なので、日本に対して、特にそれを感じているに過ぎない。
TCK(Third Culture Kids)という概念がある。両親どちらの文化にも属さない文化圏で育った子供たちを総称してそう呼ぶ。この子達は、独自の文化を持っている。どの文化にも属さない、という文化だ。私の娘はこれで、彼女の友人たちの多くもこれである。私も、だんだんとそうなってきている。
TCK文化圏の特徴の一つは、違うのが当たり前である、ということであろうとおもう。違うのが当たり前なので、空気を読もうとしないし、できるだけストレートにいうようになる。「普通こうだよね」という「普通」という共通理解が存在しないのが当たり前の世界なので、曖昧にすると伝わらないかもしれない。でも摩擦が起きないように、違うのが前提で、失礼のないように気はつかう。
しかし、自宅ではまだ親の文化があったりするので、それをTCK文化圏に持ち込むと問題になる。例えば、家では日本的に暮らしているので奥ゆかしく曖昧にぼかすのが良しとされているとして、それをTCKだらけの学校や職場でやると難しい。自国文化圏にいる時とそうでないときでは別人格みたいになったりする。うちは、自宅にも日本的なそれがないので、逆に日本人文化圏に行った時に摩擦が起きる。
実は最近まで「忖度」の読み方も意味も知らなかったのだけれど、この言葉が国会とかで使われるという時点で、もう日本は私の理解を超えている。日本を出る前の私はこれを理解できたんだろうか、と疑問にすら思う。
一応、私は日本人なので、日本的な忖度、というものを頭では理解できている、と思う。でも、それを、自分ごととして実践していきたいか、あるいはそれが当たり前の世界に暮らしたいか、娘にそれを当たり前と思って育ってほしいかというと、答えはノーだ。
正直、忖度とか、空気を読むとか、推し量るとかいうことを他者に期待するというのは、自分で伝えようとする努力をしない怠慢ですらあると思う。そして、最終責任を自分で負う事から逃げる、ずるい態度であると思う。「こんな事言わせるな(それくらい気を利かせろ)」とか「自分はそんなこと言ってない(お前が勝手に忖度してやった)」という言い逃れができるのだ。こんなもの、関わりたくない。
でもこういうことをする人たちに、直接的な質問を投げかけても、のらりくらりと曖昧な答えしか返ってこないのだ。
なんでも白黒つけられるわけではないが、質問に対して真摯に答えることや、自分の希望を明確に言葉で伝えるというスキルは、自分の人生に責任を持って生きるための最低限のスキルではないかと思う。