Skip to main content
Japan Java User Group
[ランチ付き]
JJUG初心者のための
Java/JJUG講座
2017/11/18
#ccc_ls
Japan Java User Group
まずはじめに
• こいつの名前は?→
• Duke
– Javaのマスコット
– https://www.oracle.com/java/duke.html
– http://openjdk.java.net/projects/duke/
• BSDライセンス
– 複製・改変したものをコー
ド非公開で頒布可能
2
Japan Java User Group
アジェンダ
• なぜ、この話をするのか
• Javaを知るためのキーワード
• JJUGの話
• まとめ
3
Japan Java User Group
なぜ、この話をするのか?
4
Japan Java User Group
春のこと
– Javaのイベントでは、会場の狭さに文句を言うことは許されない
5
コミュニティ主催のイベントというみんなで作り上げるものなのに、
ベンダーに招待された「お客様」として参加してしまっているわけ
である。
<略>
Javaはユーザーも多く、エンプラな人の比率も高めで、コミュニ
ティを理解せず心無いことを言う人や理解すらしようとしない人
も多いと思う。
ただ、彼らをディスってもなんの見返りもないし、そもそも彼らの
耳には入らない。
<略>
主催者側も参加者側も、新規も古参も、みんなで仲良く
Javaを楽しめるといいね。
Japan Java User Group
つまり
• Javaのメインユーザーはエンプラ業界の
エンジニア
• やはりコミュニティに慣れていない
• JJUGがどういう団体か、CCCがどうやっ
て運用されているのか知らない
6
Japan Java User Group
というわけで
• Javaとは、どういうものなのか?
– Javaの思想や文化は?
– Javaの仕様は誰が決めているの?
• JJUGとは、どういう存在なのか?
– 誰が、何のためにやっているか?
– Oracleとの関係性は?
7
Japan Java User Group
JAVAを知るためのキーワード
8
Japan Java User Group
Sun Microsystems
• Javaの生みの親
– 1982年創業のハードウェアメーカー
• 創業16年で売上100億$に達したベンチャー企業
• UNIX OSであるSolarisが有名
• しかし、技術開発に失敗し、2000年代には後退
• 2010年にORACLEが74億$で買収
– 積極的な情報公開やオープンソースへの関わ
りで、エンジニアのファンが非常に多かった
• Solarisの基がフリーソフトウェアライセンス(後
のGPL)のBSD版UNIX
• (当時)悪の帝国マイクロソフトと戦う勇者
9
Japan Java User Group
Scott G. McNealy
• 元SUNの共同創業者、CEO/会長
– 素晴らしいビジョナリー
• The Network is the Computer
– でも、毒舌で有名
• 「マイクロソフトは人類の敵」
• 「サンは共有するが、マイクロソフトは盗む」
• 「元CEOで現CTOの連絡は、いつも船舶電話だ」
– http://www.publickey1.jp/blog/15/java20javaonejava10javaone_2015.html
10
Japan Java User Group
James Gosling
• 「Javaの父」と称される人物
– いまでもJavaOneに遊びに来る大柄なおじい
ちゃん。
– いまはAWSの人
11https://www.youtube.com/watch?v=1CsTH9S79qI
Japan Java User Group
Oracle
12
• 2010年にSunを買収
– Oracle Databaseで知られているが、いまで
は多くのERPを抱えるソフトウェア企業
– オープンなSunとは対照的な気質で知られ、
買収を残念がる技術者が多かった
• OSS関連では多くの”事件”が起きている
– Javaは維持され「 」も残った
• 一方で、顧客の声をよく聞く企業である
– Sunはビジョン優先しすぎることがある
Japan Java User Group
Java
• Java !
– Javaは1990年に社内プロジェクトとしてス
タートし、1995年に1.0を発表
• C++への複雑さを解決するために開発
• インターネットに着目した言語だった
– 特徴(完全ではないが安全な言語)
• 静的型付け(オブジェクト指向言語)
• OS非依存(仮想マシン)
• メモリ管理の自動化(ガベージコレクション)
13
Japan Java User Group
Java VM
• Write once, run everywhere
– 仮想マシンによって実行環境差異を吸収
• 今では当たり前になったが当時は画期的
– ソースコードはコンパイルされることでバイ
トコードになる
• バイトコードであれば、どんな言語でもよい
• 標準Java以外にScala、Kotlinが有名
– JRuby、Jythonなど、多言語の移植も行っている
– その他、独自言語を自分で作ることもできる
– Java VMそのものの安定性や性能が魅力
14
Japan Java User Group
仕様と実装
• Javaは標準仕様を決めて各社が実装する
– 仕様に対して、沢山の実装がある
• Java SE:OpenJDK、J9など
• Java EE: WebSphere、WebLogic、Payara、
GlassFish、Wildflyなど
– 部分的な実装としてはTomcat、Jettyなど
– 各社は標準をベースに、独自の拡張をするこ
とで差別化している
• 安定性、性能、可用性、保守性の強化
15
Japan Java User Group
JCP
• Java Community Process
– https://www.jcp.org/en/home/index
– 標準Javaの仕様を策定するプログラム
• Java仕様を決めるのはOracleじゃない
– 過去はSunを中心にベンダーだけが決定
• その後、ユーザーグループも参加可能に
– 仕様への意見は誰でも言える
16
Japan Java User Group
JCP
• 簡単なプロセス説明
– 1.JSRが提出される
• Java Specification Request(Java仕様の提案)
– 379:Java SE 9 Platform Umbrella JSR
– 376:Java Platform Module System
– 2.EG(Expert Group)の組成
– 3.ドラフトの作成と意見収集
• Early Draft Review -> Public Review ->
Proposed Final Draft
– 4.最終承認投票
– 5.仕様をリリース
17
Japan Java User Group
OpenJDK
• 現在のJava SEの参照実装
– 2006年にSunの持っていた実装をオープン
ソース化して開始
– この前後の経緯がややこしい
• そもそも、当時のJava SEは仕様が肥大化してお
り、各社個別実装が厳しくなってきた
• そこでオープンソースベースでの共同開発と、そ
のうえでの商用カスタマイズというプロセスが求
められた
• Apache HarmonyというOSS実装がはじまったた
め、それに対抗する形で公開に
18
Japan Java User Group
Apache HarmonyとAndroid
• Apache Harmonyが開始
– 2005年にIBM主導して実装を開始
• Apache License 2.0というライセンス
– 認定を要求するもSunが拒否
• Technology Compatibility Kitの提供拒否
• そのためApacheがすべてのJCP投票に拒否
• そして、Androidが採用
• (今はOpenJDKベースです)
– 結果として、OracleがGoogleを訴えることに
• Java MEのモバイル領域が侵された
19
Japan Java User Group
オープンソース
• Javaの成功はSunのオープンな文化
– たくさんのオープンソースが生まれた
– 一方で企業としてはオープンソースに苦しめ
られた。オープンソースは儲からない
• 勝者になるためにはオープンソースの戦
略的な活用
– Sunがやりきれなかったこと
– IBMはLinuxやTomcatで成功
– 現在はMicrosoftが積極的に活用中
20
Japan Java User Group
EE4J
• Eclipse Enterprise for Java
– 2017年10月からJava EEの開発プロジェクト
がEclipse主管に
• OracleはJava EEに興味を失っていた
– Java EEの開発が停滞気味でコミュニティで
も問題視されていた
– 今後の開発スピードアップに期待
21
Japan Java User Group
JJUGの話
22
Japan Java User Group
JUG
• Java User Group
– 世界中にあるJavaコミュニティの総称
• 頭に地域名を付ける(例:Japan JUG)
• 日本ではJJUG、関西、岡山、広島、女子部など
• https://community.oracle.com/community/java/jug
– あくまでも「ユーザー」の集まり
• 自主的に始めて、自主的に続けるもの
• Oracleは支援する立場で各国で関係性は異なる
• 北米では関係が薄く、アジア圏では関係が強め
23
Japan Java User Group
世界のJUG
• 有名どころはJCPにも積極的に参加
– ロンドンJUG
– SouJava(ブラジル)
• Devoxx
– https://devoxx.com/
– 2001年に始めたカンファレンス
• 主催がベルギーのJUG
– いまでは世界各国で数千人規模になった
24
Japan Java User Group
JJUG
• Japan Java User Group
– 2007年に設立
• 初代会長は丸山 不二夫さん
– ちょうどSunが落ち目に
なっていたころ
• 2006年:Java SE 6
• 2011年:Java SE 7
– 日本のJavaを盛り上げよ
う!ということでスタート
25
Japan Java User Group
JJUGの規模
• 現在
– 7194名(Doorkeeper登録数=会員数)
– CCCは1000人規模
26
0
1000
2000
3000
4000
5000
6000
7000
8000
2013/08
2013/10
2013/12
2014/02
2014/04
2014/06
2014/08
2014/10
2014/12
2015/02
2015/04
2015/06
2015/08
2015/10
2015/12
2016/02
2016/04
2016/06
2016/08
2016/10
2016/12
2017/02
2017/04
2017/06
2017/08
2017/10
Japan Java User Group
世界におけるJJUG
• 世界でも大きなJUG
– 東京という都市の強さ
– 北米は小さい
– Java Championが2名
• 認知度高め
– なぜかロゴTが人気
– イベントにも登場
• JCPなどには積極的な参
加ができていない
– 今後のテーマ
27
Japan Java User Group
JJUGの活動
• イベントの実施
– JJUG CCC(年2回)で21回目
– ナイトセミナー(毎月1回)
• 地方JUGイベントへの講師派遣
• Java関連イベント後援/協賛
• 国際会議への派遣
28
Japan Java User Group
ボランティア
• 基本的にはボランティア活動
– 普段の活動とは別に活動
– CCCの運営もすべてボランティア
29
Japan Java User Group
JJUG幹事会
• 幹事会
– JJUGの中心的なメンバー
– 月1回の幹事会
– SlackやGoogle Driveなど利用
• やっていること
– イベント企画
– Javaの発展のための寄与
– もっとJCPにも関わっていきたい
30
Japan Java User Group
お金
• 会場や設備を借りるにお金が必要
– CCC2回で800万円ぐらい
– その他、地方派遣やイベント実施費用
• すべてCCCのスポンサー費用でまかなう
– スポンサーの目的は採用とマーケティング
– コミュニティイベントを通じることでエンジ
ニアと直接コミュニケーションができる
31
Japan Java User Group
そうこそJavaコミュニティへ
• 今日、来ている時点でJJUGメンバーです
– Doorkeeperを使ったらメンバー
• さらにもう一歩!!
– JJUGで学んだことを仕事に役立てる
– JJUGで学んだことを同僚に話す
– JJUGで学んだことをSNSに書く
– JJUGのイベントに登壇する
– JJUG CCCのボランティアスタッフになる
– JJUG CCCの幹事になる
32
Japan Java User Group
まとめ
33
Japan Java User Group
Java
• Sunのオープン文化がJavaを成長させた
– Java自体がオープンソースであり、仕様決定
もオープンなプロセスになっている
– 色々あったが常にユーザーグループが流れを
作ってきた
• 企業は戦略的にオープンソースを活用しなくては
ならないし、その過程でエンジニアとの関係性を
考えて行かないと行けない
34
Japan Java User Group
JJUG
• Japan Java User Group
– 日本におけるJavaコミュニティ
– 目的はJavaエンジニアがハッピーになること
• 運営はボランティア
– 全員ボランティアでやってます
– そして、応援してくれるスポンサーがいます
35
Japan Java User Group
困ったらスタッフまで!
36