Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Advertisement

Similar to JavaとOSSとAndroid - JavaAPI訴訟問題を考える(20)

Advertisement

JavaとOSSとAndroid - JavaAPI訴訟問題を考える

  1. Japan Java User Group JJUGナイトセミナー Java API訴訟問題を考える 2016/7/11 修正版01 #jjug
  2. Japan Java User Group アジェンダ • 前半(19:00-19:30) – JavaとOSSとAndroid by 鈴木 • Oracle vs Googleの前に知っておいてほしいこと • 後半(19:30-20:10) – Oracle vs Google訴訟の概要 by 栗原潔さん • パネル(20:15-21:00) 2
  3. Japan Java User Group JavaとOSSとAndroid Oracle vs Googleの前に知っておいてほしいこと JJUG会長 鈴木雄介 #jjug
  4. Japan Java User Group 自己紹介 • 鈴木雄介 – 日本Javaユーザーグループ • 会長 • http://www.java-users.jp/ – SNS • http://arclamp.hatenablog.com/ • @yusuke_arclamp 4
  5. Japan Java User Group アジェンダ • Javaのエコシステム • OSSのエコシステム • JavaとOSS • AndroidとJava • その後 • まとめ 5
  6. Japan Java User Group JAVAのエコシステム 6
  7. Japan Java User Group Javaのエコシステム • 「標準仕様と各社別の実装」 • 標準仕様の策定はオープン – 仕様はJCPを通じて策定される • Java Community Process(1998年設立) – 当時はSunを中心にベンダー各社が標準の仕 様すり合わせをするための組織 • 2011年になってJUGの参加も認められるように 7
  8. Japan Java User Group Javaのエコシステム • 各社別の実装 – ベンダーはJava標準APIを実装した製品を販 売する • Java SEも、たくさんの実装があった • Java EEは、もっとたくさんの実装があった – 「標準だからロックインが回避できる」 • ベンダー独自実装への極端な拒否感があった時代 – その代表が当時のマイクロソフト – 独自機能を作ることで実質ロックインはしてた 8
  9. Japan Java User Group Javaのエコシステム • JCPの目的 – 標準化の共有と追加独自実装の許容 – 派生を避けるための仕組み • ただし、標準認定にはSunによるテストが 必要 – TCK(Test Compatibility Kit/互換試験キッ ト) 9
  10. Japan Java User Group Javaのエコシステム • ベンダーのためのエコシステム 10 標準APIJCP A社 B社 C社 標準 標準 標準 策定 検討 参加 実装 差別化のための 独自機能 Sun 認定
  11. Japan Java User Group Javaのエコシステム • 一方、Javaは肥大化するばかり… – J2SE 1.2 (December 8, 1998) : 1524 – J2SE 1.3 (May 8, 2000) : 1840 – J2SE 1.4 (February 6, 2002) : 2722 – J2SE 5.0 (September 30, 2004) : 3280 – Java SE 6 (December 11, 2006) : 3793 – Java SE 7 (July 28, 2011) : 4024 11
  12. Japan Java User Group OSSのエコシステム 12
  13. Japan Java User Group OSSのエコシステム • Apache Software Foundation – オープンソースを支援する任意団体 • Apache HTTP Serverのために1999年設立 • その後、様々なOSSを受け入れて成長する – 2002年2月にStruts 1.0.2 – 2004年3月にはTomcat 3.3.2 • OSSをホストするためのプロセスがある – 基本的にAL 2.0 • Apache Software License(2004年1月) • 商用製品やクローズ製品にも利用可能 • GPLv3互換。GPLv1,v2とは非互換 13
  14. Japan Java User Group OSSのエコシステム(とIBM) • IBMとASF – WebSphereはASFの成果物を利用 • ServletコンテナはTomcatベース • SerlvetコンテナにTomcatの一部を取込み • HTTPサーバはAapcheベース – オープンソースを戦略的に活用 • もちろんLinuxの成功体験がベース – ただし、LinuxはGPL(コード公開義務あり) • Eclipseは2001年11月にOSS化 – 2004年にEclipse Foundationを結成し、すべてを移管 – OSSを通じた「実質的な標準化」 • 仕様じゃなくて実装の共有 14
  15. Japan Java User Group OSSのエコシステム(とJava) • 2004年、TomcatがRIに – Reference Implementation/参照実装 – 2004年頃にはオープンソースコミュニティ ベースの製品開発プロセスが広く知られる • コミュニティからのイノベーション – 2005年:IoC(後のDI)、Spring – 2006年:JBoss旋風 • JPA(JSP220):Hibernateベース • WebBeans(JSR299):Seamベース 15
  16. Japan Java User Group OSSのエコシステム(とJava) • Java SEでもTomcatのようなことができ ないのか? – 当然、商用利用可能なライセンスで 16
  17. Japan Java User Group JAVAとOSS 17
  18. Japan Java User Group JavaとOSS • 2005年5月、Project Harmonyが提案 – Apache License 2.0 で提供されるJ2SE 5の 実装を提供すること – モジューラーランタイム、つまり、Java VM やクラスライブラリの実装を自由に組み合わ せることができる仕組みにすること • 参加者多数 – ベンダー:BEA、IBM、IntelI – OSS:KVM、Kaffe、GCJ • 2006年10月、Apache Harmony誕生 18
  19. Japan Java User Group JavaとOSS • 2006年11月:SunがJ2SEをOSS化 – のちのOpenJDK – ただし、GPLv2(コード公開義務あり) • もちろん各ベンダーは納得しない • 直後にJ2MEもOSS化 – もちろんGPLv2 19
  20. Japan Java User Group JavaとOSS • 2006年、Apache Harmonyが認定を要求 – TCKが規定するJava SEの利用目的に組み込 み系(キオスク端末やモバイル端末など)へ の利用制限があったため適用できず – 2007年、公開書簡 • Harmony 「この制限を外せ」 • Sun「嫌だ」 20
  21. Japan Java User Group JavaとOSS • 2007年8月:SunがTCKを公開 – OpenJDK Community Technology Compatibility Kit(TCK)License – テストキット本体はOSSではない – テスト対象をGPLv2準拠に限定 • どう見てもOpenJDK専用 – Apacheが抗議活動を展開し、JCPでのJSR承 認に全て反対する 21
  22. Japan Java User Group ANDROIDとJAVA 22
  23. Japan Java User Group AndroidとJava • 2005年ごろのGoogleによるAndroid戦略 – オープンソースによる共有資産を作ることで キャリアも端末メーカーも大きなメリット • マイクロソフトとシンビアンというプロプライエ タリな巨人を倒す • キャリアや端末メーカーに互換性を提供する • Androidコミュニティを構築する – この時点ではMozillaライセンスを検討 • GPL/LGPLに近い – 当初はJ2ME JVMのOSS実装という位置づけ 23
  24. Japan Java User Group AndroidとJava • Andy Rubin氏によるSunへの批判 – Androidはプラットフォームであり、その上 で各社が自由に差別化できるようにすべき – SunはOSSにしたといってもGPLv2。独自実 装を含むなら、直接SUNから認定を受けるた めにロイヤリティを払わないといけない • Googleも当初は認定を取るつもりだった – でも、Harmonyを使っているがゆえに話が進 まない 24
  25. Japan Java User Group AndroidとJava • しかたなく、独自JVMのDalvikを作る – DalvikというJVMを開発し、その上にApache Harmonyのクラスライブラリから携帯電話に 必要な分だけを抜いてきた – 2007年発表、2008年にAL2.0でOSS化 • 2007年、Sunは「Javaの分断を招く」と 声明を発表 25
  26. Japan Java User Group AndroidとJava • Androidは普及 – ソフトウェアの呪縛から逃れたかったハード ウェアメーカーやキャリア • 無料で、好きなだけ手を入れられるOS • もうSunにライセンス料を払わなくていい – ソフトウェアの対価はいらないがユーザー ベースが欲しいGoogle • 結果としては分断は産まれた – Googleの責任でもあり、メーカーのセンスの なさもある 26
  27. Japan Java User Group その後 27
  28. Japan Java User Group その後 • SunのOSS戦略は成功せず – 直近の2008年第4四半期決算を見ると、Solaris SPARCやx64 サーバーなどのシステム事業の売上が13億3600万ドル、スト レージ事業は5億7000万ドルであるのに対し、JavaやMySQLな どのソフトウェア事業は1億8900万ドルにとどまっている。 Sunは今でも、大型システムを販売するハードウェアベンダー なのである。 • 「IBMのSun買収」報道-業界大再編の予感 • http://cloud.watch.impress.co.jp/epw/cda/infostand/2009/03/30/15 238.html • 2009年4月20日、ORACLE買収発表 28
  29. Japan Java User Group その後 • 2010年8月、OracleがGoogleを提訴 • 2010年10月、IBMがOpenJDKに – Harmonyは2011年11月に活動停止 – コミュニティからは大きな異論無し • 2016年、AndroidがOpenJDKベースに? – AL2.0からGPLv2への移行は可能なのか? – Oracleから認定を取得するのか? 29
  30. Japan Java User Group まとめ 30
  31. Japan Java User Group まとめ • 歴史的経緯 – Javaは「ベンダーによる標準化と各社実装」 というエコシステムを作った – しかし、すぐにOSS(AL2.0)による「実装 の共有と各社追加実装」という流れに • Java SEのOSS:Apache Hermony(AL2.0) • Sunは、この流れには乗れなかった – Androidも同じことを考えた結果、奇跡的に 成功した • そのために独自JavaVMを作ってしまった 31
  32. Japan Java User Group まとめ • 個人的な見解 1/2 – 「GoogleがJavaを分断した」は正しい • AndroidはSunが弱体化するときに盛り上がった ため、議論がうやむやになった感がある – SunがOSSを戦略的に利用したビジネスをで きなかったことも問題 • 急激にサーバー、携帯の市場が広がる中でOSSを 戦略的に利用することができなかった • ただ、JavaをOSS化(GPLv2)しなければ、もっ と大きな分断につながっていたと思われる • とはいえ、AL2.0でOSS化していればSunはもっ と早く潰れていたかも 32
  33. Japan Java User Group まとめ • 個人的な見解 2/2 – なぜOracleは訴えた? • JavaMEで得ていたライセンス費がなくなったのは Androidのせい!という論理? • それはそれで古い話? – IBMすげー • Harmonyを始めたのも終わらせたのもIBM 33
Advertisement