SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Japan Java User Group
JJUGナイトセミナー
Java API訴訟問題を考える
2016/7/11
修正版01
#jjug
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
Japan Java User Group
JavaとOSSとAndroid
Oracle vs Googleの前に知っておいてほしいこと
JJUG会長 鈴木雄介
#jjug
Japan Java User Group
自己紹介
• 鈴木雄介
– 日本Javaユーザーグループ
• 会長
• http://www.java-users.jp/
– SNS
• http://arclamp.hatenablog.com/
• @yusuke_arclamp
4
Japan Java User Group
アジェンダ
• Javaのエコシステム
• OSSのエコシステム
• JavaとOSS
• AndroidとJava
• その後
• まとめ
5
Japan Java User Group
JAVAのエコシステム
6
Japan Java User Group
Javaのエコシステム
• 「標準仕様と各社別の実装」
• 標準仕様の策定はオープン
– 仕様はJCPを通じて策定される
• Java Community Process(1998年設立)
– 当時はSunを中心にベンダー各社が標準の仕
様すり合わせをするための組織
• 2011年になってJUGの参加も認められるように
7
Japan Java User Group
Javaのエコシステム
• 各社別の実装
– ベンダーはJava標準APIを実装した製品を販
売する
• Java SEも、たくさんの実装があった
• Java EEは、もっとたくさんの実装があった
– 「標準だからロックインが回避できる」
• ベンダー独自実装への極端な拒否感があった時代
– その代表が当時のマイクロソフト
– 独自機能を作ることで実質ロックインはしてた
8
Japan Java User Group
Javaのエコシステム
• JCPの目的
– 標準化の共有と追加独自実装の許容
– 派生を避けるための仕組み
• ただし、標準認定にはSunによるテストが
必要
– TCK(Test Compatibility Kit/互換試験キッ
ト)
9
Japan Java User Group
Javaのエコシステム
• ベンダーのためのエコシステム
10
標準APIJCP
A社 B社 C社
標準 標準 標準
策定
検討
参加
実装
差別化のための
独自機能
Sun
認定
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
Japan Java User Group
OSSのエコシステム
12
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
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
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
Japan Java User Group
OSSのエコシステム(とJava)
• Java SEでもTomcatのようなことができ
ないのか?
– 当然、商用利用可能なライセンスで
16
Japan Java User Group
JAVAとOSS
17
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
Japan Java User Group
JavaとOSS
• 2006年11月:SunがJ2SEをOSS化
– のちのOpenJDK
– ただし、GPLv2(コード公開義務あり)
• もちろん各ベンダーは納得しない
• 直後にJ2MEもOSS化
– もちろんGPLv2
19
Japan Java User Group
JavaとOSS
• 2006年、Apache Harmonyが認定を要求
– TCKが規定するJava SEの利用目的に組み込
み系(キオスク端末やモバイル端末など)へ
の利用制限があったため適用できず
– 2007年、公開書簡
• Harmony 「この制限を外せ」
• Sun「嫌だ」
20
Japan Java User Group
JavaとOSS
• 2007年8月:SunがTCKを公開
– OpenJDK Community Technology
Compatibility Kit(TCK)License
– テストキット本体はOSSではない
– テスト対象をGPLv2準拠に限定
• どう見てもOpenJDK専用
– Apacheが抗議活動を展開し、JCPでのJSR承
認に全て反対する
21
Japan Java User Group
ANDROIDとJAVA
22
Japan Java User Group
AndroidとJava
• 2005年ごろのGoogleによるAndroid戦略
– オープンソースによる共有資産を作ることで
キャリアも端末メーカーも大きなメリット
• マイクロソフトとシンビアンというプロプライエ
タリな巨人を倒す
• キャリアや端末メーカーに互換性を提供する
• Androidコミュニティを構築する
– この時点ではMozillaライセンスを検討
• GPL/LGPLに近い
– 当初はJ2ME JVMのOSS実装という位置づけ
23
Japan Java User Group
AndroidとJava
• Andy Rubin氏によるSunへの批判
– Androidはプラットフォームであり、その上
で各社が自由に差別化できるようにすべき
– SunはOSSにしたといってもGPLv2。独自実
装を含むなら、直接SUNから認定を受けるた
めにロイヤリティを払わないといけない
• Googleも当初は認定を取るつもりだった
– でも、Harmonyを使っているがゆえに話が進
まない
24
Japan Java User Group
AndroidとJava
• しかたなく、独自JVMのDalvikを作る
– DalvikというJVMを開発し、その上にApache
Harmonyのクラスライブラリから携帯電話に
必要な分だけを抜いてきた
– 2007年発表、2008年にAL2.0でOSS化
• 2007年、Sunは「Javaの分断を招く」と
声明を発表
25
Japan Java User Group
AndroidとJava
• Androidは普及
– ソフトウェアの呪縛から逃れたかったハード
ウェアメーカーやキャリア
• 無料で、好きなだけ手を入れられるOS
• もうSunにライセンス料を払わなくていい
– ソフトウェアの対価はいらないがユーザー
ベースが欲しいGoogle
• 結果としては分断は産まれた
– Googleの責任でもあり、メーカーのセンスの
なさもある
26
Japan Java User Group
その後
27
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
Japan Java User Group
その後
• 2010年8月、OracleがGoogleを提訴
• 2010年10月、IBMがOpenJDKに
– Harmonyは2011年11月に活動停止
– コミュニティからは大きな異論無し
• 2016年、AndroidがOpenJDKベースに?
– AL2.0からGPLv2への移行は可能なのか?
– Oracleから認定を取得するのか?
29
Japan Java User Group
まとめ
30
Japan Java User Group
まとめ
• 歴史的経緯
– Javaは「ベンダーによる標準化と各社実装」
というエコシステムを作った
– しかし、すぐにOSS(AL2.0)による「実装
の共有と各社追加実装」という流れに
• Java SEのOSS:Apache Hermony(AL2.0)
• Sunは、この流れには乗れなかった
– Androidも同じことを考えた結果、奇跡的に
成功した
• そのために独自JavaVMを作ってしまった
31
Japan Java User Group
まとめ
• 個人的な見解 1/2
– 「GoogleがJavaを分断した」は正しい
• AndroidはSunが弱体化するときに盛り上がった
ため、議論がうやむやになった感がある
– SunがOSSを戦略的に利用したビジネスをで
きなかったことも問題
• 急激にサーバー、携帯の市場が広がる中でOSSを
戦略的に利用することができなかった
• ただ、JavaをOSS化(GPLv2)しなければ、もっ
と大きな分断につながっていたと思われる
• とはいえ、AL2.0でOSS化していればSunはもっ
と早く潰れていたかも
32
Japan Java User Group
まとめ
• 個人的な見解 2/2
– なぜOracleは訴えた?
• JavaMEで得ていたライセンス費がなくなったのは
Androidのせい!という論理?
• それはそれで古い話?
– IBMすげー
• Harmonyを始めたのも終わらせたのもIBM
33

Contenu connexe

Tendances

ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナーユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナーYusuke Suzuki
 
Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Yusuke Suzuki
 
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~Yusuke Suzuki
 
アジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とはアジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とはYusuke Suzuki
 
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJPMicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJPYusuke Suzuki
 
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016Yusuke Suzuki
 
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会Yusuke Suzuki
 
JavaOne 2016総括 #jjug
JavaOne 2016総括 #jjugJavaOne 2016総括 #jjug
JavaOne 2016総括 #jjugYusuke Suzuki
 
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてYusuke Suzuki
 
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18Yusuke Suzuki
 
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1Yusuke Suzuki
 
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会Yusuke Suzuki
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017Yusuke Suzuki
 
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallJavaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallYusuke Suzuki
 
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演Yusuke Suzuki
 
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景にマイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景にYusuke Suzuki
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018Yusuke Suzuki
 
Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Yusuke Suzuki
 
クラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCCクラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCCYusuke Suzuki
 

Tendances (20)

ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナーユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
 
Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018
 
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
 
アジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とはアジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とは
 
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJPMicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
 
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
 
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
 
JavaOne 2016総括 #jjug
JavaOne 2016総括 #jjugJavaOne 2016総括 #jjug
JavaOne 2016総括 #jjug
 
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについて
 
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18
 
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
 
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
 
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallJavaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
 
Aj2016 toyama feedback
Aj2016 toyama feedbackAj2016 toyama feedback
Aj2016 toyama feedback
 
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
 
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景にマイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
 
Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020
 
クラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCCクラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCC
 

En vedette

Vb migration partnerデモ資料
Vb migration partnerデモ資料Vb migration partnerデモ資料
Vb migration partnerデモ資料inforteech
 
JPAの動的振る舞い
JPAの動的振る舞いJPAの動的振る舞い
JPAの動的振る舞いRyo Asai
 
Aberdeen Oil & Gas Event - Cloud Adoption Framework
Aberdeen Oil & Gas Event - Cloud Adoption FrameworkAberdeen Oil & Gas Event - Cloud Adoption Framework
Aberdeen Oil & Gas Event - Cloud Adoption FrameworkAmazon Web Services
 
An Agile Approach to Accelerate Mass Migration
An Agile Approach to Accelerate Mass MigrationAn Agile Approach to Accelerate Mass Migration
An Agile Approach to Accelerate Mass MigrationAmazon Web Services
 
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4cCDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4cNorito Agetsuma
 
Patterns for getting started with agile
Patterns for getting started with agilePatterns for getting started with agile
Patterns for getting started with agileAndre Simones
 

En vedette (6)

Vb migration partnerデモ資料
Vb migration partnerデモ資料Vb migration partnerデモ資料
Vb migration partnerデモ資料
 
JPAの動的振る舞い
JPAの動的振る舞いJPAの動的振る舞い
JPAの動的振る舞い
 
Aberdeen Oil & Gas Event - Cloud Adoption Framework
Aberdeen Oil & Gas Event - Cloud Adoption FrameworkAberdeen Oil & Gas Event - Cloud Adoption Framework
Aberdeen Oil & Gas Event - Cloud Adoption Framework
 
An Agile Approach to Accelerate Mass Migration
An Agile Approach to Accelerate Mass MigrationAn Agile Approach to Accelerate Mass Migration
An Agile Approach to Accelerate Mass Migration
 
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4cCDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
 
Patterns for getting started with agile
Patterns for getting started with agilePatterns for getting started with agile
Patterns for getting started with agile
 

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

これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?Takahiro YAMADA
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方Takahiro YAMADA
 
Pure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjpPure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjpToshiaki Maki
 
RealmとApp Extensionのガイダンス/Realm meetup vol.6
RealmとApp Extensionのガイダンス/Realm meetup vol.6RealmとApp Extensionのガイダンス/Realm meetup vol.6
RealmとApp Extensionのガイダンス/Realm meetup vol.6Yuta Hoshino
 
JJUC CCC 2013 Fall 基調講演「Javaと未来のこととCCC]
JJUC CCC 2013 Fall 基調講演「Javaと未来のこととCCC]JJUC CCC 2013 Fall 基調講演「Javaと未来のこととCCC]
JJUC CCC 2013 Fall 基調講演「Javaと未来のこととCCC]Yusuke Suzuki
 
クラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukuiクラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukuiYusuke Suzuki
 
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...Yusuke Suzuki
 
Introduction of JRuby Kaigi 2010
Introduction of JRuby Kaigi 2010Introduction of JRuby Kaigi 2010
Introduction of JRuby Kaigi 2010Koichiro Ohba
 
What is java_se_7
What is java_se_7What is java_se_7
What is java_se_7TakumiIINO
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpYuji Kubota
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugYuji Kubota
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発Kota Mizushima
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJavaTakashi Ito
 
EclipseCon NA2016 report
EclipseCon NA2016 reportEclipseCon NA2016 report
EclipseCon NA2016 reportAkira Tanaka
 
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarconSeasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarconKazuhiro Sera
 
OpenStack APAC Report
OpenStack APAC ReportOpenStack APAC Report
OpenStack APAC ReportSatoshi Konno
 

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

これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方
 
Pure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjpPure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjp
 
RealmとApp Extensionのガイダンス/Realm meetup vol.6
RealmとApp Extensionのガイダンス/Realm meetup vol.6RealmとApp Extensionのガイダンス/Realm meetup vol.6
RealmとApp Extensionのガイダンス/Realm meetup vol.6
 
JJUC CCC 2013 Fall 基調講演「Javaと未来のこととCCC]
JJUC CCC 2013 Fall 基調講演「Javaと未来のこととCCC]JJUC CCC 2013 Fall 基調講演「Javaと未来のこととCCC]
JJUC CCC 2013 Fall 基調講演「Javaと未来のこととCCC]
 
クラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukuiクラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukui
 
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
 
OpenStack Now!
OpenStack Now!OpenStack Now!
OpenStack Now!
 
Introduction of JRuby Kaigi 2010
Introduction of JRuby Kaigi 2010Introduction of JRuby Kaigi 2010
Introduction of JRuby Kaigi 2010
 
What is java_se_7
What is java_se_7What is java_se_7
What is java_se_7
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
 
Spring.project
Spring.projectSpring.project
Spring.project
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
 
JDK:新しいリリースモデル解説 @ 岡山・広島
JDK:新しいリリースモデル解説 @ 岡山・広島JDK:新しいリリースモデル解説 @ 岡山・広島
JDK:新しいリリースモデル解説 @ 岡山・広島
 
EclipseCon NA2016 report
EclipseCon NA2016 reportEclipseCon NA2016 report
EclipseCon NA2016 report
 
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarconSeasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
 
OpenStack APAC Report
OpenStack APAC ReportOpenStack APAC Report
OpenStack APAC Report
 
JDK: 新しいリリースモデル解説
JDK: 新しいリリースモデル解説JDK: 新しいリリースモデル解説
JDK: 新しいリリースモデル解説
 

Plus de Yusuke Suzuki

アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチアーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチYusuke Suzuki
 
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023Yusuke Suzuki
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022Yusuke Suzuki
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021Yusuke Suzuki
 
エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020Yusuke Suzuki
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかYusuke Suzuki
 
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏Yusuke Suzuki
 
エンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからエンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからYusuke Suzuki
 

Plus de Yusuke Suzuki (8)

アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチアーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
 
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021
 
エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
 
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
 
エンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからエンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれから
 

Dernier

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Dernier (9)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

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