X



OracleJDKからOpenJDKへ。OracleはJava世界に不要
0002デフォルトの名無しさん垢版2018/07/23(月) 16:54:42.60ID:O3yzvS6l
OpenJDKも特定バージョンをLTSするかもしれないって話はどうなったんだ
半年に一回アプデ強制だと本番環境ではとても使えん
0005デフォルトの名無しさん垢版2018/07/23(月) 19:00:58.93ID:Ot4A38Sz
>>4
新しい情報でも出たのかと思ったら相変わらず何も発表されてないだけじゃねーか。
8月頭にOpenJDKのカンファレンスがあるからそれ待ちだな。
0008デフォルトの名無しさん垢版2018/07/26(木) 18:29:38.46ID:OT5B/F1n
うちはCentだからとりあえずRedHatの11使っておけばいいわ、助かった。
Adoptはissue見てるとまだまだ使い物にならなさそう、っていうかこのままグダクダになりそうな気配がするし。
0012デフォルトの名無しさん垢版2018/07/27(金) 15:33:04.77ID:/2zZOHVe
OracleJDKのライセンス料払うの嫌ならOpenJDK使えって事だろうけど
自前で修正してビルドしてテストするのを半年毎にするのは変わらんのな
002019垢版2018/07/29(日) 21:40:44.55ID:QqHz9FOF
すまんOpenJDKの話な
GNUは勝手に改変して配っても別に何の問題もないよ
GPL2なら特許訴訟の可能性も無くはないけどFSFがGPLに従った再配布行為を訴えるなんてあり得ないし
0021デフォルトの名無しさん垢版2018/07/30(月) 09:20:02.96ID:fZgiXqCK
>>19
それ本当か?Linuxディストリビューション、
具体例ではRed Hatクローン配ってるところがみんな
Oracleに書類提出してるとは思えんが。
0022デフォルトの名無しさん垢版2018/07/30(月) 20:33:54.94ID:wLNkxbXD
コントリビューターとディストリビューターを勘違いしているのでは?
0023デフォルトの名無しさん垢版2018/07/31(火) 00:27:50.94ID:2+1mdxB2
なるほど、OpenJDKを配布するだけなら何も書類書く必要ないってことだな。
無料で使えて無料でばんばんコピーできる
0025デフォルトの名無しさん垢版2018/07/31(火) 01:33:40.05ID:mqraN/eJ
ディストリビューション独自のパッチ当ててるところもあるが
みんなOracleに契約書出してるのかと。
0027デフォルトの名無しさん垢版2018/07/31(火) 02:10:30.97ID:2+1mdxB2
OK、完全に理解した。

OpenJDKのコントリビュータというのは、
OpenJDKに対してソースコードを寄付した場合の話だ。
OpenJDKにコードをマージしてほしい場合の話だ

だからディストリ独自にパッチを当てる分には不要なんだ
0029デフォルトの名無しさん垢版2018/07/31(火) 04:53:16.13ID:2+1mdxB2
>>28
ははは、馬鹿なんだろ
OpenJDKのライセンスはGNU GPL(+リンク例外)だよ
それ以外の何者でもない
0030デフォルトの名無しさん垢版2018/07/31(火) 05:03:13.06ID:2+1mdxB2
GPLなんだから勝手に改変して再配布してもOK
もちろん再配布するときは、再配布した相手にソースコードを
入手できるようにしないといけない。これはGPLの制限。

OpenJDKプロジェクトに対してコードをマージしてもらいたいなら(=コントリビュート)
オープンソースプロジェクトにコードを提供したんだから、
特許問題とか解決してあとからそのコードは俺のもんだとかいうなよ。
なにか問題があったらお前の責任で解決するんだぞ。って言ってるだけ

これ、全てのオープンソースプロジェクトに対して
有効にしてもいいぐらいの常識的なことだと思う
0031デフォルトの名無しさん垢版2018/07/31(火) 07:03:57.08ID:2adz6Sjl
>>30
常識というか全てのオープンソースプロジェクトの大前提なんだけどな。
それをわざわざ文書で宣言させるところがオラクルらしい。
0032デフォルトの名無しさん垢版2018/07/31(火) 08:13:31.34ID:2+1mdxB2
書いてないことを前提にするのは良くないことだぞ
この場合Oracleは素晴らしいと言わないといけない
0033デフォルトの名無しさん垢版2018/07/31(火) 08:18:24.15ID:SM605dZN
>>30
違う
OpenJDKが採用しているのはGPLv2であり、GPLv2によって明示的に許諾されるのは著作権の利用のみで特許は含まれない
GPLv3が生まれた背景を調べたらすぐわかるけど、特許訴訟のリスクがあるというのはよく知られたGPLv2の問題だよ
書いてないことを前提にするのは良くないこと、は全くもって正しくて、それがまさにOpenJDKの問題なの
0034デフォルトの名無しさん垢版2018/07/31(火) 08:27:53.80ID:2+1mdxB2
>>33
なんか変な勘違いしてるぞ。

GPLが適用されるのは、作成して配布しているソフトウェアに対してだ
作った製品に対する利用ライセンス

それに対してOracleがやってるのは、製品に組み込む際のルールだよ。
それは組み込まれた製品のライセンスの対象外


↓ Oracleへの寄稿同意書(ソフトウェア利用許諾契約の対象外)
↓ ---------------------------
↓ ソフトウェア利用許諾契約(GPL等)


OpenJDKが採用しているのがGPLでも他のライセンスであっても関係ないんだよ
利用許諾契約外の話なんだから
0035デフォルトの名無しさん垢版2018/07/31(火) 08:41:18.87ID:qSbS3EBG
>>13に基づいたコントリビューションはGPLとは無関係だろ
これに従ってOpenJDKにマージされたソースには(コントリビュータの著作権に基いた)GPLは適用されないはず
Oracleが共同著作権を行使することにより、あくまでOracleの著作権に基づいてGPL下でOpenJDKがリリースされる
オラクルはいつでもOpenJDKとは無関係にコントリビュータのソースを使い派生物を作成してソースを公開することなく販売できる
0036デフォルトの名無しさん垢版2018/07/31(火) 08:43:33.50ID:2+1mdxB2
>>33
あと間違えてる

> OpenJDKが採用しているのはGPLv2であり、GPLv2によって明示的に許諾されるのは著作権の利用のみで特許は含まれない

GPLv2には特許に関してどう扱うかは記述されてない
だから「特許が含まれない」と断定することができない。

GPLv2で配布しているのに、ソースコードは公開していても特許が含まれるために
自由に使えないということがあり得るということ
だからGPLv3が生まれた


でもこれはあくまで配布する側の話

Oracle「よし、俺はGPLv2は配布するぜ!オープンソースだから外部からのコードも受け入れるぜ。明確に書いてないけど俺が特許権を行使することはないぜ」
怪しいやつ「Oracle様〜、ソースコード献上しますだぁ〜(俺のコードには特許がある。あとで行使してやるぞwww)」

Oracleは特許権を行使しなくても、される可能性があるんだよ。これはGPLv3でも同じ。
なぜならGPLv3のコードにマージする前の、提供されたコードにもともと存在する権利だから。

GPLにマージできないコードをGPLソフト開発者がマージしてしまったら、訴えられるのはGPLソフト開発者のほうだよ。

GPL開発者「さーせんwww あんたが権利を持ってるコードをマージしちゃった。GPLの方が偉いんだからお前の権利剥奪するわwww」
なんてことは言えない
0037デフォルトの名無しさん垢版2018/07/31(火) 08:54:03.41ID:2hPyQPU6
>>32
GPLでもMITでも、プロジェクト自体にオープンソースライセンスが適用されてりゃいちいち個別に宣言する必要なんてないわ。
0038デフォルトの名無しさん垢版2018/07/31(火) 09:18:40.36ID:qSbS3EBG
>>37
一般的に君がプロジェクトのライセンスとして認識してるのはソースコードの利用に際するライセンスだよ
君は混同してるようだけど、コントリビュータのソースをどう扱うかはまた別の問題だ
GPL下でソースをリリースするときには成果物が他人の著作権に基いたGPLによって「汚染」されることを防ぐために
>>13のように(権利者にとって)安全にコントリビューションを受け入れるパスを設けることは一般的なプラクティスだよ
MITならコントリビューションもMITでやっちゃっても実質的な問題はないかもしれないけど、
それでも管理が複雑になるから.NET Coreなんかも同様の契約があるね(契約相手はMSではないが)
本来の思想上はGPLオンリーでいいはずのFSFですらもそう
0039デフォルトの名無しさん垢版2018/08/01(水) 10:59:05.15ID:G/ZvYT+m
JAVAの場合、かってMSが喰らって今もgoogleとやりあってる
互換性テスト云々の縛りが別途あるような気がするが。
0040デフォルトの名無しさん垢版2018/08/01(水) 12:44:53.55ID:QBK7Rh0q
>>39
一般的にGPLv2では特許については常識的に考えて暗黙的に許諾されてるものとして高を括って権利者を信じるもんだけど、
OpenJDKについて特許訴訟のリスクが特に懸念されてるのは互換性テストのせいだね
OpenJDKも含め、特許利用許諾の必須要件としてJCPによる互換性の認定が必要だと明示的に規定されているわけで、
GPLが暗黙の特許利用許諾を含んでいることを仮定するならば、OpenJDKのライセンスはGPLと矛盾する
0043デフォルトの名無しさん垢版2018/08/01(水) 15:31:03.77ID:Al4aQLEL
>>42
どこで指摘されてるの?

このスレで問題があると指摘しているやつは
単なる間違いなので無視するとして(大爆笑)
0044デフォルトの名無しさん垢版2018/08/01(水) 15:32:07.52ID:Al4aQLEL
GPLが暗黙の特許利用許諾を含んでいないことは
まあ、あきらかですね。言うまでもありません。

暗黙 = 明言されてないので許諾になることは
法律上ありえない
0045デフォルトの名無しさん垢版2018/08/02(木) 01:35:22.93ID:PUemVwHx
>>44
OpenJDKの特許に関する安全性はGPLv2が暗黙の特許利用許諾を含んでいるという解釈が前提なんだけど、自分で何言ってるか分かってる?
含んでないなら改変によって互換性の失われたOpenJDKを利用することは完全に特許侵害行為となるわけだが…
0046デフォルトの名無しさん垢版2018/08/02(木) 03:55:44.18ID:tOum0Ceh
> GPLv2が暗黙の特許利用許諾を含んでいるという解釈が前提なんだけど
お前の解釈なんて知らん。

GPLv2が特許利用許諾を含んでいるか否かだ
暗黙って書いてないんだろ?なら含んでいないと解釈すべきだ
どんなに都合よく解釈したとしてもケースバイケースが限界
0047デフォルトの名無しさん垢版2018/08/02(木) 03:56:35.44ID:tOum0Ceh
>>45
> 含んでないなら改変によって互換性の失われたOpenJDKを利用することは完全に特許侵害行為となるわけだが…

OpenJDKに特許が含まれていないなら、特許侵害にはならない
0048デフォルトの名無しさん垢版2018/08/02(木) 08:17:57.73ID:PUemVwHx
このサイトによると、
http://en.swpat.org/wiki/Java_and_patents
・OpenJDKがオラクルの特許を含んでいることは誰がどう見ても明らか
・米国では一般的にGPLv2は暗黙の特許利用許諾を含んでいると信じられている(判例はない)
・↑を信じるなら改変したOpenJDKの配布は安全である
というのが現時点での結論のようだ
0049デフォルトの名無しさん垢版2018/08/02(木) 08:57:14.87ID: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であっても、その特許を使っていいですよって許諾している(はず)
0050デフォルトの名無しさん垢版2018/08/02(木) 09:18:01.77ID:76R2b7J5
>>49
惜しい
OpenJDKのコントリビュータにOCAを要求する目的は、もちろん特許訴訟を避けるためというのもあるけど、
それ以上に重要なのは他人がOpenJDKに対して著作権を主張して利用が妨げられることを避けること。
もっと端的に言うと、オラクルの保有するオリジナルのコードベースがGPLに逆感染するのを防ぐためだ。
そうしないと、俺の送ったパッチがマージされてるはずだから Oracle JDK11 LTS のソースを継続的にGPLで公開しろ、なんていう主張が通ってしまう。
二度とクローズドにできなくなるわけ。
0052デフォルトの名無しさん垢版2018/08/02(木) 10:45:53.24ID:tOum0Ceh
> OpenJDKのコントリビュータになるためにはこれにサインする必要がある
この部分だけ正しい

> OpenJDKに夢見てる奴は一度目を通してお前ならこれにサインできるかどうか考えてみるべきだな
なんの夢なのか意味不明。俺ならコントリビューターになりたい場合にサインする。

> ちなみに無視して野良OpenJDKを配ったら特許侵害な
GPLv2は暗黙の特許利用許諾を含んでいると信じられているので
サインしないで野良OpenJDKを配っても、Oracleの特許侵害にならない
GPLv2にさえ従っていれば、自分で改造したOpenJDKを配ることは可能

そもそもこのサインはコントリビューターになるためのサインで、
Oracleが提供しているOpenJDKは、必ずこのサインに署名されているので
Oracleもしくはその他の特許侵害にならない。安心して使えるといえる

Oracle以外が提供しているOpenJDKを使う場合はこの限りではない。
Oracleの特許侵害になることはないが、Oracle以外の特許侵害になる可能性はある。
0053デフォルトの名無しさん垢版2018/08/02(木) 12:14:55.05ID:NvR76J0F
つまりコントリビュータにこれを文書で誓約させている時点で、他の一般的なオープンソースプロジェクトよりもむしろ安全ってことだよな。

オープンソースライセンスで公開されているプログラムにコードを提供した時点で利用許諾をしたものとみなされる、ってのが判例で明示されればいいんだけどな。

今のところは各プロジェクト単位のContributionのところにそのむね書いておくくらいしかできないか。
0054デフォルトの名無しさん垢版2018/08/02(木) 12:24:24.57ID:tOum0Ceh
ぶっちゃけ怖いよな。素晴らしいコードを提供してくれた、ありがとう!
ってマージしたら、そのコードの権利を主張されるとかさ

もしかしたらそのコードは、コードを提供してくれた人ではない
他の誰かが作ったものだったら、勝手にGPLに変えちゃいますとか
言えないし。この場合はコードの本当の作者も被害者なわけで。

コードを持ってきた人に責任を負わせないと
0056デフォルトの名無しさん垢版2018/08/07(火) 17:05:32.43ID:TUntskSY
>>52
言ってることが無茶苦茶だな。
当然誰かが改変した野良OpenJDKもGPLv2の下で配布されるんだから、
GPLv2の暗黙の特許利用許諾を信じるなら、改変者の特許もOracleの特許と同様に利用許諾されていることになるだろ。
一方、Oracleの特許利用はJCPによって互換性があると認められたJava実装に対してのみ認められると定められていることも事実。
そして実際に裁判になった際に、GPLv2の暗黙の特許利用許諾とJavaの特許利用規定のどちらが優先されるかは自明ではない。
0057デフォルトの名無しさん垢版2018/08/07(火) 20:14:25.27ID:IKwKwLq7
>>56
OpenJDKのライセンスは、GPLv2 with classpath extensionなんだよね。
この規定の中にはJCPなる単語はあるの?

特許の許諾が発生するのはJCPの範囲なんでしょう?
だとすれば、classpathで分離されたjarファイル単体でJCP主張するのしか出来ないよね。OpenJDK自体はGPLv2なので再配布自由だけど、JCPが派生する根拠はあります?
0058デフォルトの名無しさん垢版2018/08/07(火) 21:29:45.41ID:52Q1hsC1
>>57
まず大前提として、Oracleの特許利用許諾は「TCKをパスしたJavaの実装」に対して与えられる。
そして、原則としてTCKを入手するにはオラクルからライセンスを受ける必要がある。
しかしこれでは個別にオラクルのライセンスを受けない限りOpenJDKを改変できなくなってしまうので、
GPLに基いてOpenJDKの派生物を配布しようとする者には特別にTCKを利用するライセンスを受けることができる。これがOCTLAと呼ばれるライセンスだ。
当然、オラクルがこのライセンスの供与を終了すればOpenJDKの改変は直ちに不可能になる。これが第一の問題。
そしてこのライセンスに基づいてオラクルからTCKを提供してもらうわけだが、なんと、そのためにはOCAにサインした上で(!!)
プロジェクトについてOracleのレビューを受けなければならない。Oracleの気に入らない実装はここでリジェクトできる。これが第二の問題。
http://openjdk.java.net/groups/conformance/JckAccess/
005958垢版2018/08/07(火) 21:47:46.70ID:52Q1hsC1
ちなみにRedHatもAdoptOpenJDKも当然このTCKを利用して正規のプロセスでOpenJDKを再配布してる。
AdoptOpenJDKによると、「野良実装はリスクがあるからプロダクションには使うな」だそうだよ。
0060デフォルトの名無しさん垢版2018/08/07(火) 22:08:10.22ID:52Q1hsC1
あと、OpenJDKを改変するにはTCKが要るというのはちょっと語弊があるな。
そもそもOpenJDKは単なるソースコードであって、それ自体は正規のJavaディストリビューションじゃない。
たとえ無改変だろうと、第三者へJavaを配布しようと思ったらTCKをパスしてなきゃいけない。
もちろん、AdoptOpenJDKをはじめとした再配布を許可しているTCK通過済みの正規のディストリビューションを使うのも手だ。
0061デフォルトの名無しさん垢版2018/08/08(水) 00:49:42.30ID:4BWTfzpI
>>58
いや、それOpenJDKを勝手に改変して、OpenJDKとしてリリースするのが駄目ってことだろ?

OpenJDKという名前も使えないだろうから、
OpenMyDKみたいに、OpenJDKを改変した違うものとして
リリースすれば問題ないでしょ?

もちろんそんなものを使ってくれるかどうかは別としてだけど
0062デフォルトの名無しさん垢版2018/08/08(水) 07:18:32.19ID:Gt27DTX6
GPLv2だから、ソース配布は無償だし、ビルドも無償でバイナリ配布だって無償だと理解しているけど。フォークや改変や再配布を禁止出来る理由がない。
特許の使用権と、ソースバイナリ配布とは全く別の概念のはず。後者はGPLv2でカバー、改変も許諾されている。
改変後のソース、バイナリに、特許の許諾が及ぶかどうかはGPLv2では担保されない。全部個別判断だし都度裁判沙汰になるだけ。
0063デフォルトの名無しさん垢版2018/08/08(水) 08:31:24.44ID:EHn29+3l
>>62
ソフトウェアは方法ではなく物だから、ネットワーク等の媒体を介してソフトウェアを流通させること自体が実施行為だよ
0064デフォルトの名無しさん垢版2018/08/08(水) 08:45:41.81ID:Gn4Y43YU
>>61
さあね
少なくともOpenJDK自体のライセンスは特許の利用を明示的に許諾していないのは事実だし、
OpenJDKに含まれる特許について明示的な特許利用許諾を受ける唯一の方法はTCKをパスすることであるのも事実だ
あとは法廷で決着をつけるしかないよ
Oracleからある日突然書類が送られてきて、正規のプロセスを通しなさい、さもなくば法的措置を取ることになりますと言われたら、君はOracleと戦う?
0066デフォルトの名無しさん垢版2018/08/08(水) 09:15:59.24ID:Gn4Y43YU
OpenJDKはGPLだからOracleの支配から解放されて自由だなんていうのは全くの幻想であり、
Oracleのライセンスを受けた正規のディストリビュータから提供される正規のOpenJDKディストリビューション(Oracle Javaも含む)を使いましょう
それが法的リスクに怯えずに堂々とJavaを使える唯一の方法です、という話
0067デフォルトの名無しさん垢版2018/08/08(水) 09:27:10.21ID:17cg0G3S
Java名乗るには互換性テスト受けないとダメという話は
サンの頃からずーと問題視されてたのでその点を取り上げてOracle死ねは今更感がある。

Red Hatは許諾を受けるとしてもRed Hatクローンやってる団体が
全て許諾を取るとも思えないがそのあたりどうなるだろうか
0070デフォルトの名無しさん垢版2018/08/08(水) 12:07:39.09ID:Ia/aBxxi
互換性テストをパスしなけりゃJavaを名乗れないのは納得できるけど
Javaを名乗らずに配布した場合は特許訴訟のリスクを背負うってことになるの?
0071デフォルトの名無しさん垢版2018/08/08(水) 12:14:03.31ID:Gn4Y43YU
>>70
さあ
ならない明示的な根拠はどこにもないし、OpenJDKのFAQとか見たらわかるけどOracleは明らかに意図的にその可能性を排除していない
0073デフォルトの名無しさん垢版2018/08/08(水) 19:05:34.14ID:9SrZ+y6I
WindowsXPではMS Javaみたいなのがデフォルトで載ってて互換性問題引き起こしたからなんらかの認定が要るのは分かる
0076デフォルトの名無しさん垢版2018/08/09(木) 15:10:42.12ID:CQRHkvlP
>>67
現状ですでにOpenJDK7の更新版の配布とかしてるんだから、そこはクリア済みでしょ、普通に考えて
0081デフォルトの名無しさん垢版2018/08/22(水) 03:28:15.33ID:gX3zexEG
>>80
そりゃ余計な金をオラクルに払いたく無いわな
でもソースはいじらずそのまましか使えないジレンマ
0086デフォルトの名無しさん垢版2018/08/25(土) 21:08:12.58ID:uybNM4iq
>>84
基本的にはね
でもプログラムソースを勝手にいじってオラクルの機嫌損ねたら訴えられるリスク込み
0089デフォルトの名無しさん垢版2018/08/30(木) 09:02:42.65ID:p08XKUl7
まあ、ちゃんとテストさえ書いてあればJavaのバージョンアップもそんなに怖いものじゃないわな。
RailsだのRubyだのはかなりの頻度でのアップデートにみんな普通に追随してるわけだし。

とはいえさすがに年一にして欲しいが
0092デフォルトの名無しさん垢版2018/09/03(月) 14:19:43.03ID:o/IbW0MO
怖いものかどうかってのが手間(コスト)って言う尺度で言うなら
メーカーがなんと言おうと確認試験は発生するからな。
0093デフォルトの名無しさん垢版2018/09/05(水) 13:04:51.85ID:tPjc+KWG
普通に考えたら半年に一回ミドルウェアのメジャーバージョンアップ強制なんて正気じゃねえわな
Rubyは年一アップデートだけど一年でサポート切れるわけじゃないし
0094デフォルトの名無しさん垢版2018/09/05(水) 13:47:45.74ID:OUMJLdaL
さすがにRuby程度のレベルでいいんならOpenJDKを半年ごとに自動更新するほうがマシだろw
0095デフォルトの名無しさん垢版2018/09/05(水) 14:50:41.84ID:njSWZAvd
273 デフォルトの名無しさん [sage] 2018/09/04(火) 08:29:51.03 ID:TKsJiWYY
信用の問題だろ
OracleがOpenJDKを潰そうと思えば直接的な法的手段を用いるまでもない
Oracleはいつでもディストリビュータに対するTCKの提供を停止することができ、それにより既にGPL化で配布されたOpenJDKも即座に破綻する
OracleはTCKのテストケースに対して著作権を有しており、これを侵害することなく互換テストを再構築することは事実上不可能だ
これが現在想定される最悪のシナリオだが、Oracleならやりかねないと思われてしまったこと自体が問題
0099デフォルトの名無しさん垢版2018/09/13(木) 06:02:14.15ID:TJ7QdJm1
Java EEはEclipse移管でOSS化
(Jakarta)
OpenJDKは半年サイクル更新
Java EEだけ使ってる所はセーフだが両方使ってるのが普通だからねえ
レスを投稿する


ニューススポーツなんでも実況