OracleJDKからOpenJDKへ。OracleはJava世界に不要 (274レス)
OracleJDKからOpenJDKへ。OracleはJava世界に不要 http://mevius.5ch.net/test/read.cgi/tech/1532326820/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
30: デフォルトの名無しさん [sage] 2018/07/31(火) 05:03:13.06 ID:2+1mdxB2 GPLなんだから勝手に改変して再配布してもOK もちろん再配布するときは、再配布した相手にソースコードを 入手できるようにしないといけない。これはGPLの制限。 OpenJDKプロジェクトに対してコードをマージしてもらいたいなら(=コントリビュート) オープンソースプロジェクトにコードを提供したんだから、 特許問題とか解決してあとからそのコードは俺のもんだとかいうなよ。 なにか問題があったらお前の責任で解決するんだぞ。って言ってるだけ これ、全てのオープンソースプロジェクトに対して 有効にしてもいいぐらいの常識的なことだと思う http://mevius.5ch.net/test/read.cgi/tech/1532326820/30
31: デフォルトの名無しさん [sage] 2018/07/31(火) 07:03:57.08 ID:2adz6Sjl >>30 常識というか全てのオープンソースプロジェクトの大前提なんだけどな。 それをわざわざ文書で宣言させるところがオラクルらしい。 http://mevius.5ch.net/test/read.cgi/tech/1532326820/31
32: デフォルトの名無しさん [sage] 2018/07/31(火) 08:13:31.34 ID:2+1mdxB2 書いてないことを前提にするのは良くないことだぞ この場合Oracleは素晴らしいと言わないといけない http://mevius.5ch.net/test/read.cgi/tech/1532326820/32
33: デフォルトの名無しさん [sage] 2018/07/31(火) 08:18:24.15 ID:SM605dZN >>30 違う OpenJDKが採用しているのはGPLv2であり、GPLv2によって明示的に許諾されるのは著作権の利用のみで特許は含まれない GPLv3が生まれた背景を調べたらすぐわかるけど、特許訴訟のリスクがあるというのはよく知られたGPLv2の問題だよ 書いてないことを前提にするのは良くないこと、は全くもって正しくて、それがまさにOpenJDKの問題なの http://mevius.5ch.net/test/read.cgi/tech/1532326820/33
34: デフォルトの名無しさん [sage] 2018/07/31(火) 08:27:53.80 ID:2+1mdxB2 >>33 なんか変な勘違いしてるぞ。 GPLが適用されるのは、作成して配布しているソフトウェアに対してだ 作った製品に対する利用ライセンス それに対してOracleがやってるのは、製品に組み込む際のルールだよ。 それは組み込まれた製品のライセンスの対象外 ↓ Oracleへの寄稿同意書(ソフトウェア利用許諾契約の対象外) ↓ --------------------------- ↓ ソフトウェア利用許諾契約(GPL等) OpenJDKが採用しているのがGPLでも他のライセンスであっても関係ないんだよ 利用許諾契約外の話なんだから http://mevius.5ch.net/test/read.cgi/tech/1532326820/34
35: デフォルトの名無しさん [sage] 2018/07/31(火) 08:41:18.87 ID:qSbS3EBG >>13に基づいたコントリビューションはGPLとは無関係だろ これに従ってOpenJDKにマージされたソースには(コントリビュータの著作権に基いた)GPLは適用されないはず Oracleが共同著作権を行使することにより、あくまでOracleの著作権に基づいてGPL下でOpenJDKがリリースされる オラクルはいつでもOpenJDKとは無関係にコントリビュータのソースを使い派生物を作成してソースを公開することなく販売できる http://mevius.5ch.net/test/read.cgi/tech/1532326820/35
36: デフォルトの名無しさん [sage] 2018/07/31(火) 08:43:33.50 ID:2+1mdxB2 >>33 あと間違えてる > OpenJDKが採用しているのはGPLv2であり、GPLv2によって明示的に許諾されるのは著作権の利用のみで特許は含まれない GPLv2には特許に関してどう扱うかは記述されてない だから「特許が含まれない」と断定することができない。 GPLv2で配布しているのに、ソースコードは公開していても特許が含まれるために 自由に使えないということがあり得るということ だからGPLv3が生まれた でもこれはあくまで配布する側の話 Oracle「よし、俺はGPLv2は配布するぜ!オープンソースだから外部からのコードも受け入れるぜ。明確に書いてないけど俺が特許権を行使することはないぜ」 怪しいやつ「Oracle様〜、ソースコード献上しますだぁ〜(俺のコードには特許がある。あとで行使してやるぞwww)」 Oracleは特許権を行使しなくても、される可能性があるんだよ。これはGPLv3でも同じ。 なぜならGPLv3のコードにマージする前の、提供されたコードにもともと存在する権利だから。 GPLにマージできないコードをGPLソフト開発者がマージしてしまったら、訴えられるのはGPLソフト開発者のほうだよ。 GPL開発者「さーせんwww あんたが権利を持ってるコードをマージしちゃった。GPLの方が偉いんだからお前の権利剥奪するわwww」 なんてことは言えない http://mevius.5ch.net/test/read.cgi/tech/1532326820/36
37: デフォルトの名無しさん [sage] 2018/07/31(火) 08:54:03.41 ID:2hPyQPU6 >>32 GPLでもMITでも、プロジェクト自体にオープンソースライセンスが適用されてりゃいちいち個別に宣言する必要なんてないわ。 http://mevius.5ch.net/test/read.cgi/tech/1532326820/37
38: デフォルトの名無しさん [sage] 2018/07/31(火) 09:18:40.36 ID:qSbS3EBG >>37 一般的に君がプロジェクトのライセンスとして認識してるのはソースコードの利用に際するライセンスだよ 君は混同してるようだけど、コントリビュータのソースをどう扱うかはまた別の問題だ GPL下でソースをリリースするときには成果物が他人の著作権に基いたGPLによって「汚染」されることを防ぐために >>13のように(権利者にとって)安全にコントリビューションを受け入れるパスを設けることは一般的なプラクティスだよ MITならコントリビューションもMITでやっちゃっても実質的な問題はないかもしれないけど、 それでも管理が複雑になるから.NET Coreなんかも同様の契約があるね(契約相手はMSではないが) 本来の思想上はGPLオンリーでいいはずのFSFですらもそう http://mevius.5ch.net/test/read.cgi/tech/1532326820/38
39: デフォルトの名無しさん [sage] 2018/08/01(水) 10:59:05.15 ID:G/ZvYT+m JAVAの場合、かってMSが喰らって今もgoogleとやりあってる 互換性テスト云々の縛りが別途あるような気がするが。 http://mevius.5ch.net/test/read.cgi/tech/1532326820/39
40: デフォルトの名無しさん [sage] 2018/08/01(水) 12:44:53.55 ID:QBK7Rh0q >>39 一般的にGPLv2では特許については常識的に考えて暗黙的に許諾されてるものとして高を括って権利者を信じるもんだけど、 OpenJDKについて特許訴訟のリスクが特に懸念されてるのは互換性テストのせいだね OpenJDKも含め、特許利用許諾の必須要件としてJCPによる互換性の認定が必要だと明示的に規定されているわけで、 GPLが暗黙の特許利用許諾を含んでいることを仮定するならば、OpenJDKのライセンスはGPLと矛盾する http://mevius.5ch.net/test/read.cgi/tech/1532326820/40
41: デフォルトの名無しさん [sage] 2018/08/01(水) 13:14:36.56 ID:Al4aQLEL OpenJDKのライセンスはGPLだよ。 矛盾してたら世界の誰かが指摘している。 諦めろ http://mevius.5ch.net/test/read.cgi/tech/1532326820/41
42: デフォルトの名無しさん [sage] 2018/08/01(水) 13:20:17.04 ID:BDoQYqGC >>41 だから実際指摘されてまくってるんだよなあ http://mevius.5ch.net/test/read.cgi/tech/1532326820/42
43: デフォルトの名無しさん [sage] 2018/08/01(水) 15:31:03.77 ID:Al4aQLEL >>42 どこで指摘されてるの? このスレで問題があると指摘しているやつは 単なる間違いなので無視するとして(大爆笑) http://mevius.5ch.net/test/read.cgi/tech/1532326820/43
44: デフォルトの名無しさん [sage] 2018/08/01(水) 15:32:07.52 ID:Al4aQLEL GPLが暗黙の特許利用許諾を含んでいないことは まあ、あきらかですね。言うまでもありません。 暗黙 = 明言されてないので許諾になることは 法律上ありえない http://mevius.5ch.net/test/read.cgi/tech/1532326820/44
45: デフォルトの名無しさん [sage] 2018/08/02(木) 01:35:22.93 ID:PUemVwHx >>44 OpenJDKの特許に関する安全性はGPLv2が暗黙の特許利用許諾を含んでいるという解釈が前提なんだけど、自分で何言ってるか分かってる? 含んでないなら改変によって互換性の失われたOpenJDKを利用することは完全に特許侵害行為となるわけだが… http://mevius.5ch.net/test/read.cgi/tech/1532326820/45
46: デフォルトの名無しさん [sage] 2018/08/02(木) 03:55:44.18 ID:tOum0Ceh > GPLv2が暗黙の特許利用許諾を含んでいるという解釈が前提なんだけど お前の解釈なんて知らん。 GPLv2が特許利用許諾を含んでいるか否かだ 暗黙って書いてないんだろ?なら含んでいないと解釈すべきだ どんなに都合よく解釈したとしてもケースバイケースが限界 http://mevius.5ch.net/test/read.cgi/tech/1532326820/46
47: デフォルトの名無しさん [sage] 2018/08/02(木) 03:56:35.44 ID:tOum0Ceh >>45 > 含んでないなら改変によって互換性の失われたOpenJDKを利用することは完全に特許侵害行為となるわけだが… OpenJDKに特許が含まれていないなら、特許侵害にはならない http://mevius.5ch.net/test/read.cgi/tech/1532326820/47
48: デフォルトの名無しさん [sage] 2018/08/02(木) 08:17:57.73 ID:PUemVwHx このサイトによると、 http://en.swpat.org/wiki/Java_and_patents ・OpenJDKがオラクルの特許を含んでいることは誰がどう見ても明らか ・米国では一般的にGPLv2は暗黙の特許利用許諾を含んでいると信じられている(判例はない) ・↑を信じるなら改変したOpenJDKの配布は安全である というのが現時点での結論のようだ http://mevius.5ch.net/test/read.cgi/tech/1532326820/48
49: デフォルトの名無しさん [sage] 2018/08/02(木) 08:57:14.87 ID:tOum0Ceh で、なんの話だっけ?まとめるか? OpenJDKにOracleの特許が含まれてる GPLv2にしたところで特許は消滅しない 悪意ある人ならGPLv2にしておいて、後から特許利用料を請求する可能性がある (だからこそそれができないGPLv3ができた) Oracleさんは正義だからGPLv2であっても、その特許を使っていいですよって許諾している(はず) ↑ここまではOracleさんの話 Oracleさんへ悪意のある人がコード提供した。 そのコードには特許があった。 GPLv2にしたところで、特許は消滅しない。 もちろん特許をOracleへ譲渡したわけではないので、その特許は悪意のある人が持ってる OpenJDKを使った人が、悪意のある人から特許利用料を請求する可能性がある。 ↑ という自体を防ぐために、OpenJDKのコントリビュータになるためには そういうことをしませんよという契約が必要になる (それが http://www.oracle.com/technetwork/oca-405177.pdf ) もちろんOpenJDKはGPLv2なのでそれに従っている限り、勝手に改変して再配布してもよい。 勝手に再配布しても正義のOracleさんは、その特許を使っていいですよって許諾している(はず) だけど悪意のある人が再配布したものは、どんな改変がされてるかわからないし、 悪意のある人の特許が追加されているかもしれないので、信用出来ないなら 正義のOracleさんが配布している公式のOpenJDKを使いましょう。 Oracleさんは正義だからGPLv2であっても、その特許を使っていいですよって許諾している(はず) http://mevius.5ch.net/test/read.cgi/tech/1532326820/49
50: デフォルトの名無しさん [sage] 2018/08/02(木) 09:18:01.77 ID:76R2b7J5 >>49 惜しい OpenJDKのコントリビュータにOCAを要求する目的は、もちろん特許訴訟を避けるためというのもあるけど、 それ以上に重要なのは他人がOpenJDKに対して著作権を主張して利用が妨げられることを避けること。 もっと端的に言うと、オラクルの保有するオリジナルのコードベースがGPLに逆感染するのを防ぐためだ。 そうしないと、俺の送ったパッチがマージされてるはずだから Oracle JDK11 LTS のソースを継続的にGPLで公開しろ、なんていう主張が通ってしまう。 二度とクローズドにできなくなるわけ。 http://mevius.5ch.net/test/read.cgi/tech/1532326820/50
51: デフォルトの名無しさん [sage] 2018/08/02(木) 10:17:00.80 ID:vTXE1zvQ >>13 とにかくこれはデタラメということでOK? http://mevius.5ch.net/test/read.cgi/tech/1532326820/51
52: デフォルトの名無しさん [sage] 2018/08/02(木) 10:45:53.24 ID:tOum0Ceh > OpenJDKのコントリビュータになるためにはこれにサインする必要がある この部分だけ正しい > OpenJDKに夢見てる奴は一度目を通してお前ならこれにサインできるかどうか考えてみるべきだな なんの夢なのか意味不明。俺ならコントリビューターになりたい場合にサインする。 > ちなみに無視して野良OpenJDKを配ったら特許侵害な GPLv2は暗黙の特許利用許諾を含んでいると信じられているので サインしないで野良OpenJDKを配っても、Oracleの特許侵害にならない GPLv2にさえ従っていれば、自分で改造したOpenJDKを配ることは可能 そもそもこのサインはコントリビューターになるためのサインで、 Oracleが提供しているOpenJDKは、必ずこのサインに署名されているので Oracleもしくはその他の特許侵害にならない。安心して使えるといえる Oracle以外が提供しているOpenJDKを使う場合はこの限りではない。 Oracleの特許侵害になることはないが、Oracle以外の特許侵害になる可能性はある。 http://mevius.5ch.net/test/read.cgi/tech/1532326820/52
53: デフォルトの名無しさん [sage] 2018/08/02(木) 12:14:55.05 ID:NvR76J0F つまりコントリビュータにこれを文書で誓約させている時点で、他の一般的なオープンソースプロジェクトよりもむしろ安全ってことだよな。 オープンソースライセンスで公開されているプログラムにコードを提供した時点で利用許諾をしたものとみなされる、ってのが判例で明示されればいいんだけどな。 今のところは各プロジェクト単位のContributionのところにそのむね書いておくくらいしかできないか。 http://mevius.5ch.net/test/read.cgi/tech/1532326820/53
54: デフォルトの名無しさん [sage] 2018/08/02(木) 12:24:24.57 ID:tOum0Ceh ぶっちゃけ怖いよな。素晴らしいコードを提供してくれた、ありがとう! ってマージしたら、そのコードの権利を主張されるとかさ もしかしたらそのコードは、コードを提供してくれた人ではない 他の誰かが作ったものだったら、勝手にGPLに変えちゃいますとか 言えないし。この場合はコードの本当の作者も被害者なわけで。 コードを持ってきた人に責任を負わせないと http://mevius.5ch.net/test/read.cgi/tech/1532326820/54
55: デフォルトの名無しさん [sage] 2018/08/02(木) 15:23:42.25 ID:2/k7SRWC 請求来たらコーダーに払わせたらいいのか javaコーダーは金持ちだから大丈夫だな http://mevius.5ch.net/test/read.cgi/tech/1532326820/55
56: デフォルトの名無しさん [sage] 2018/08/07(火) 17:05:32.43 ID:TUntskSY >>52 言ってることが無茶苦茶だな。 当然誰かが改変した野良OpenJDKもGPLv2の下で配布されるんだから、 GPLv2の暗黙の特許利用許諾を信じるなら、改変者の特許もOracleの特許と同様に利用許諾されていることになるだろ。 一方、Oracleの特許利用はJCPによって互換性があると認められたJava実装に対してのみ認められると定められていることも事実。 そして実際に裁判になった際に、GPLv2の暗黙の特許利用許諾とJavaの特許利用規定のどちらが優先されるかは自明ではない。 http://mevius.5ch.net/test/read.cgi/tech/1532326820/56
57: デフォルトの名無しさん [sage] 2018/08/07(火) 20:14:25.27 ID:IKwKwLq7 >>56 OpenJDKのライセンスは、GPLv2 with classpath extensionなんだよね。 この規定の中にはJCPなる単語はあるの? 特許の許諾が発生するのはJCPの範囲なんでしょう? だとすれば、classpathで分離されたjarファイル単体でJCP主張するのしか出来ないよね。OpenJDK自体はGPLv2なので再配布自由だけど、JCPが派生する根拠はあります? http://mevius.5ch.net/test/read.cgi/tech/1532326820/57
58: デフォルトの名無しさん [sage] 2018/08/07(火) 21:29:45.41 ID:52Q1hsC1 >>57 まず大前提として、Oracleの特許利用許諾は「TCKをパスしたJavaの実装」に対して与えられる。 そして、原則としてTCKを入手するにはオラクルからライセンスを受ける必要がある。 しかしこれでは個別にオラクルのライセンスを受けない限りOpenJDKを改変できなくなってしまうので、 GPLに基いてOpenJDKの派生物を配布しようとする者には特別にTCKを利用するライセンスを受けることができる。これがOCTLAと呼ばれるライセンスだ。 当然、オラクルがこのライセンスの供与を終了すればOpenJDKの改変は直ちに不可能になる。これが第一の問題。 そしてこのライセンスに基づいてオラクルからTCKを提供してもらうわけだが、なんと、そのためにはOCAにサインした上で(!!) プロジェクトについてOracleのレビューを受けなければならない。Oracleの気に入らない実装はここでリジェクトできる。これが第二の問題。 http://openjdk.java.net/groups/conformance/JckAccess/ http://mevius.5ch.net/test/read.cgi/tech/1532326820/58
59: 58 [sage] 2018/08/07(火) 21:47:46.70 ID:52Q1hsC1 ちなみにRedHatもAdoptOpenJDKも当然このTCKを利用して正規のプロセスでOpenJDKを再配布してる。 AdoptOpenJDKによると、「野良実装はリスクがあるからプロダクションには使うな」だそうだよ。 http://mevius.5ch.net/test/read.cgi/tech/1532326820/59
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 215 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s