View
5.290
Download
1
Embed Size (px)
DESCRIPTION
Internet and Opensource at Security and Programming camp 2011 by Hiro Yoshioka
Citation preview
1
セキュリティ&プログラミングキャンプ2011
8/10/2011
吉岡弘隆mailto:[email protected]
http://d.hatena.ne.jp/hyoshiok/twitter @hyoshiok
2
お題
● 自己紹介● セキュリティ&プログラミングキャンプ2011● インターネットが変えた社会〜オープンソースソフトウェア〜
3
プロフィール
1958年9月4日生まれ、慶応義塾大学大学院工学部修了
日本ディジタルイクイップメント、日本オラクルを経てミラクル・リナックスを2000年に創業。取締役、最高技術責任者(CTO)。2009年8月より楽天株式会社所属、技術理事
セキュリティ&プログラミングキャンプ、プログラミングコース主査
U-20プログラミングコンテスト委員
カーネル読書会主宰、勉強会勉強会
2008年経済産業省商務情報政策局長表彰、楽天テクノロジーアワード金賞
4
ブログ、日記
● 未来のいつか/hyoshiokの日記http://d.hatena.ne.jp/hyoshiok/
● mailto:[email protected]● http://twitter.com/hyoshiok● DEBUG HACKS
− 吉岡弘隆、大和一洋、大岩尚宏、安部東洋、吉田俊輔 著
− 2009年04月 発行
− 424ページ
− 定価3,360円
− ISBN978-4-87311-404-0
5
● 情報処理2011, vol. 52, No.4.5
● 全国技術系勉強会マップ● ~技術者のライブセッションに参加しよう~
●http://d.hatena.ne.jp/hyoshiok/20110227#p1●
●デブサミで『ハッカー中心の企業文化を日本で根付かせる』という講演をしてきた
カーネル読書会
● LinuxやOSSに関する技術的な話題を扱う勉強会。
− 10年間、100回続いている− 第100回、Linusさんや世界中のカーネルハッカーも参加してくれた。うれしい。
http://itpro.nikkeibp.co.jp/article/NEWS/20091023/339312/
7
セキュリティ&プログラミングキャンプ2011
● プログラミングの楽しさを伝えたい、共有したい
● (わたしの野望)プログラミングが好きな人といっぱい出会う事。そのような人を増やす事。
● 世界最高の講師を準備した。 http://jibun.atmarkit.co.jp/lstudent/special/camp2009/01.html
● インターネットが変えた社会− オープンソースという考え方
8
プログラミングコース宣言
● ソフトウェアは人が創る。人がすべてだ。● このキャンプで、プログラムを創ることの
− 楽しさ
− 達成感
− 難しさを共有したい
● オープンソース開発者の卵を育てたい
9
このキャンプ卒業生のイメージ
● 使う人というより作る人● 既存のオープンソースなども、どんどん利用して、改善、改良する人
● コミュニティに積極的に参加する人● ソフトウェアによって社会をよくする人● ハッカーマインドを持っている人
10
ハッカーマインド• ハッカーって
– コンピュータ技術に精通した人(辞書的な定義)
– ちょっとした技巧(ハック)を操る人
– 社会を変えた人
– (なんでもかんでもハッカー?)
11
インターネットが変えた社会
• オープンソースソフトウェア
12
オープンソースについて
• オープンソースソフトウェア(OSS)という、ソフトウェアの作り方について
13
質問
• プログラムを書いたことがある人?• 複数の人とプログラムを作ったことがある人?
• 1万行を越えるプログラムを作ったことがある人?
• 10万行を越えるプログラムを作ったことがある人?
• オープンソースソフトウェアの開発に参加したことがある人?
• オープンソースソフトウェアの開発に参加したい人?
14
オープンソースという考え方
• オープンソースって?• クローズドソースソフトウェア(多くの商用ソフト)の作り方とどう違うのだろう。
• 何が優れているのだろう。
15
オープンソースソフトウェア
● ソースコードを公開して、自由に実行、変更、再配布を可能にしたもの。
● ソースコード:人間がプログラミング言語などを用いて記述したもの。
− そのままではコンピュータは実行できないので、通常、コンパイラと呼ばれるソフトウェアで直接実行できる形式に変換して実行されるか、インタプリタと呼ばれるソフトウェアで字面を解釈し実行される。
16
オープンソースソフトウェア
● 企業の作った商用ソフトウェアではなく、楽しいからと作ったソフトウェアがどんどん普及していった。
● インターネットを動かしているソフトウェアの多く(ほとんど)はオープンソースソフトウェアだ。(Linux, BIND, Apache, sendmail, MySQL, Perl, Ruby, ...)
● 世界中のボランティアが改良、開発をしている。
● そんなことが信じられるか?
17
オープンソースソフトウェア
● 90年代になってインターネットが普及した。● 低額で自由に情報交換ができるようになった。● ソフトウェアをインターネットで公開したら、世界中の人たちがよってたかって利用して、時には改良しはじめた。
● 公開して自由に利用、変更、改良、配布できるようにしたソフトウェアをオープンソースソフトウェアと呼ぶことにした。(1998年2月)
18
インターネットが全てを変えた
● 大規模ソフトウェアをチームで作る場合、昔は同じ場所に集まってみんなで開発していた。(企業)
− 一つの場所にあつまらないとコミュニケーションのコストが高い。
● ところがインターネットがあれば、同じ場所に集まる必要性が少なくなった。
− メールでプログラムをやりとりできる。
− 広域分散ソフトウェア開発● 一つのところに全員集まらなくてもいい。
19
商用ソフトウェア
● 70年代、米国IBM社がソフトウェアとハードウェアとを別々に売るようになった。
● 商用ソフトウェアがビジネスとして成立。● 商用ソフトウェア(商品)なので通常は有償。ソースコードの利用も自由ではない。例:米国Microsoft社のWindows(ソースコードは自由に変更、再配布などできない)
20
フリーソフトウェア
● 商用ソフトウェアがある一方、自由(フリー)に利用できるものがある。
● ソフトウェアは自由に利用できるべきだと考えている人がいる。
● リチャード・ストールマンさん(米国)は、フリーソフトウェアをいっぱい作っている中心的な人。
● 80年代から積極的に活動をしている。
21
ハッカー倫理
• スティーブン・レビー「 ハッカーズ 」で次のように記している。ISBN978-4875931003
• コンピュータへのアクセス、加えて、何であれ、世界の機能の仕方について教えてくれるものへのアクセスは無制限かつ全面的でなければならない。実地体験の要求を決して拒んではならない。
• すべての情報は自由に利用できなければならない。• 権威を信用するな--反中央集権を進めよう。• ハッカーは、学歴、年齢、人種、地位のような、まやかしの基
準ではなく、そのハッキングによって判断されなければならない。
• 芸術や美をコンピュータで作り出すことは可能である。• コンピュータは人生をよいほうに変えうる。• 60年代〜70年代の民族誌
22
共通の価値観
• コンピュータによって社会をよくする
• 管理より自由、反権威的
• ラフなコンセンサスと動くコード
• 許可を求めるな、謝罪せよ
23
オープンソースソフトウェア
● プロジェクトリーダとか、開発スケジュールとか、開発予算とか、企業があるわけではない。
● 世界中のボランティアがよってたかって開発に参加している。
● 誰もコントロールできない。● 混沌の世界から開発されている。● バザール(市場、お祭騒ぎ)のようなソフトウェアの開発方式。
● エリック・レイモンドさん「伽藍(大聖堂)とバザール」、1997年
24
バザールのような開発方式● ウィキペディア:世界中の人がボランティアで百科事典の項目を書いている。
● オープンソースソフトウェア:世界中の人がボランティアがソフトウェアを書いている。
● コミュニティ:地球規模のコミュニティで開発されている。
25
バザールのような開発方式
● 金銭的な報酬はない。(企業に勤めている人は給与を貰っているけど)
− お金儲けをするために開発しているわけではない??
● ボランティア:自主的にある活動に従事する人のこと。(誰かに命令されてやるのではない)
● 組織ではなく個人がベース● コンセンサスをベースに開発● 信頼と尊敬
26
コミュニティによる開発
● 見たことも会ったこともないない人たちが協力している。国籍も性別も肌の色も年齢も組織も関係ない。様々な改良を世界中から受け入れる。
● どんどん改良されていく。
● Linux
− 1000万行以上の大規模なソフトウェア。
− 最新版の改良には800名以上の人が参加した。
− 延べ数千人の人が改良に加わっている。
27
なんでコミュニティに参加するのだろう
● インターネットの謎● 楽しいから、愛、尊敬、…● カネ● 一人でできないことをみんなでやれるから● 多様な動機、人それぞれ、…● 誰にも強制されない。自主的に参加している● 10人いれば10の理由がある
28
コミュニティに参加する企業
● なぜ企業はコミュニティに参加するのだろう
− ハードウェアを売るため
− サービスを提供するため
− ディストリビューションを売るため
− 開発コストを削減できる
− …
− 営利企業は基本的には自社の利益になるから、コミュニティに参加する。(利益=売上−費用)
29
プログラミングコースの人たち
● オープンソースの中の人たち(世界のトップクラスの人たちを集めましたbyプログラミングコース主査)
− Rubyの中の人
− Linuxの中の人
− OSの中の人
● 講義や休み時間になんでオープンソースにハマったのか聞いてみよう。
30
わたしの場合
● この話長いよ〜
− 10年以上前、Oracleというデータベースの会社にいた。その時、Netscape社がブラウザのソースコード(Mozilla)を公開した…
31
技術はみんなのものだ
● 技術は会社に独占されるべきではなく、みんなのものだ。それが社会を豊かにし進歩させるという考え方。公開させるために一定期間独占。
− 技術の公開を奨励する例:特許
− 著作権。
● オープンソースソフトウェアは、みんなのものにしたら進化、進歩したという例だ。
32
バザールモデル
● 多くの人の知恵の結集。● 善意を信用している。● インターネットを利用することによって地球規模の協力が可能になった。
● 地球規模のバザール(市場)だ。● オープンソースソフトウェアを使ったり、改良したり、作ったりしたら参加できる。
● 世界中の人と協力して何かを成し遂げる。● 一人ではなしとげないことを世界中の人と作り上げる
33
バザールモデル
● コミュニティの人たちとソフトウェアを作る。楽しいし、わくわくする。
● ソフトウェアによって世界をよい方へ変えることができる。
● 誰でも、参加できる。もちろん君達も。● 参加資格は、情熱。● ちょっとした勇気と、行動力。
34
まとめ
● オープンソースの開発について● バザールモデルについて紹介した
35
最後に
● ソフトウェアを作るのは楽しい● 世界中の人たちと協力して作るのはもっと楽しい
● 世界規模のソフトウェア開発コミュニティがある
● 君たちも参加できる● 21世紀のソフトウェアを作るのは君たちだ● どう?
36
● 参考文献● オープンソースソフトウェアの育て方、Karl
Fogel著、2009年7月、高木正弘、高岡芳成訳、ISBN978-4-87311-412-5
● アート・オブ・コミュニティ――「貢献したい気持ち」を繋げて成果を導くには、Jono Bacon著、渋川よしき訳、2011年05月ISBN978-4-87311-495-8
● 伽藍とバザール、Eric S. Raymond著、山形浩生訳 http://cruel.org/freeware/cathedral.html
37
●Q&A− オープンソースにふれたきっかけ
− どのオープンソースプロジェクトに参加したらいいのでしょう
− どの勉強会に参加すればいいのでしょう
− はじめてのコンピュータは