32
1 セキュリティ&プログラミング キャンプ2010 8/12/2010 吉岡弘隆 mailto:[email protected] http://d.hatena.ne.jp/hyoshiok/

Progcamp internet 100801

Embed Size (px)

Citation preview

Page 1: Progcamp internet 100801

1

セキュリティ&プログラミングキャンプ2010

8/12/2010

吉岡弘隆mailto:[email protected]

http://d.hatena.ne.jp/hyoshiok/

Page 2: Progcamp internet 100801

2

お題

● 自己紹介

● セキュリティ&プログラミングキャンプ2010

● インターネットが変えた社会〜オープンソースソフトウェア〜

Page 3: Progcamp internet 100801

3

プロフィール

1958年9月4日生まれ、慶応義塾大学大学院工学部修了

日本ディジタルイクイップメント、日本オラクルを経てミラクル・リナックスを2000年に創業。取締役、最高技術責任者(CTO)。2009年8月より楽天株式会社所属、技術理事

セキュリティ&プログラミングキャンプ、プログラミングコース主査

カーネル読書会主宰

2008年経済産業省商務情報政策局長表彰、楽天テクノロジーアワード金賞

Page 4: Progcamp internet 100801

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

Page 5: Progcamp internet 100801

カーネル読書会

● LinuxやOSSに関する技術的な話題を扱う勉強会。

− 10年間、100回続いている− 第100回、Linusさんや世界中のカーネルハッカーも参加してくれた。うれしい。

http://itpro.nikkeibp.co.jp/article/NEWS/20091023/339312/

Page 6: Progcamp internet 100801

6

セキュリティ&プログラミングキャンプ2010

● プログラミングの楽しさを伝えたい、共有したい

● (わたしの野望)プログラミングが好きな人といっぱい出会う事。そのような人を増やす事。

● 世界最高の講師を準備した。http://jibun.atmarkit.co.jp/lstudent/special/camp2009/01.html

● インターネットが変えた社会− オープンソースという考え方

Page 7: Progcamp internet 100801

7

プログラミングキャンプ宣言

● ソフトウェアは人が創る。人がすべてだ。

● このキャンプで、プログラムを創ることの

− 楽しさ

− 達成感

− 難しさを共有したい

● オープンソース開発者の卵を育てたい

Page 8: Progcamp internet 100801

8

このキャンプ卒業生のイメージ

● 使う人というより作る人

● 既存のオープンソースなども、どんどん利用して、改善、改良する人

● コミュニティに積極的に参加する人

● ソフトウェアによって社会をよくする人

Page 9: Progcamp internet 100801

9

インターネットが変えた社会

• オープンソースソフトウェア

Page 10: Progcamp internet 100801

10

オープンソースについて

• オープンソースソフトウェア(OSS)という、ソフトウェアの作り方について

Page 11: Progcamp internet 100801

11

質問

• プログラムを書いたことがある人?

• 複数の人とプログラムを作ったことがある人?

• 1万行を越えるプログラムを作ったことがある人?

• 10万行を越えるプログラムを作ったことがある人?

• オープンソースソフトウェアの開発に参加したことがある人?

• オープンソースソフトウェアの開発に参加したい人?

Page 12: Progcamp internet 100801

12

オープンソースという考え方

• オープンソースって?

• クローズドソースソフトウェア(多くの商用ソフト)の作り方とどう違うのだろう。

• 何が優れているのだろう。

Page 13: Progcamp internet 100801

13

オープンソースソフトウェア

● ソースコードを公開して、自由に実行、変更、再配布を可能にしたもの。

● ソースコード:人間がプログラミング言語などを用いて記述したもの。

− そのままではコンピュータは実行できないので、通常、コンパイラと呼ばれるソフトウェアで直接実行できる形式に変換して実行されるか、インタプリタと呼ばれるソフトウェアで字面を解釈し実行される。

Page 14: Progcamp internet 100801

14

オープンソースソフトウェア

● 企業の作った商用ソフトウェアではなく、楽しいからと作ったソフトウェアがどんどん普及していった。

● インターネットを動かしているソフトウェアの多く(ほとんど)はオープンソースソフトウェアだ。(Linux, BIND, Apache, sendmail, MySQL, Perl, Ruby, ...)

● 世界中のボランティアが改良、開発をしている。

● そんなことが信じられるか?

Page 15: Progcamp internet 100801

15

オープンソースソフトウェア

● 90年代になってインターネットが普及した。● 低額で自由に情報交換ができるようになった。

● ソフトウェアをインターネットで公開したら、世界中の人たちがよってたかって利用して、時には改良しはじめた。

● 公開して自由に利用、変更、改良、配布できるようにしたソフトウェアをオープンソースソフトウェアと呼ぶことにした。(1998年2月)

Page 16: Progcamp internet 100801

16

インターネットが全てを変えた

● 大規模ソフトウェアをチームで作る場合、昔は同じ場所に集まってみんなで開発していた。(企業)

− 一つの場所にあつまらないとコミュニケーションのコストが高い。

● ところがインターネットがあれば、同じ場所に集まる必要性が少なくなった。

− メールでプログラムをやりとりできる。

− 広域分散ソフトウェア開発

● 一つのところに全員集まらなくてもいい。

Page 17: Progcamp internet 100801

17

商用ソフトウェア

● 70年代、米国IBM社がソフトウェアとハードウェアとを別々に売るようになった。

● 商用ソフトウェアがビジネスとして成立。

● 商用ソフトウェア(商品)なので通常は有償。ソースコードの利用も自由ではない。例:米国Microsoft社のWindows(ソースコードは自由に変更、再配布などできない)

Page 18: Progcamp internet 100801

18

フリーソフトウェア

● 商用ソフトウェアがある一方、自由(フリー)に利用できるものがある。

● ソフトウェアは自由に利用できるべきだと考えている人がいる。

● リチャード・ストールマンさん(米国)は、フリーソフトウェアをいっぱい作っている中心的な人。

● 80年代から積極的に活動をしている。

Page 19: Progcamp internet 100801

19

オープンソースソフトウェア

● プロジェクトリーダとか、開発スケジュールとか、開発予算とか、企業があるわけではない。

● 世界中のボランティアがよってたかって開発に参加している。

● 誰もコントロールできない。● 混沌の世界から開発されている。

● バザール(市場、お祭騒ぎ)のようなソフトウェアの開発方式。

● エリック・レイモンドさん「伽藍(大聖堂)とバザール」、1997年

Page 20: Progcamp internet 100801

20

バザールのような開発方式● ウィキペディア:世界中の人がボランティアで百科事典の項目を書いている。

● オープンソースソフトウェア:世界中の人がボランティアがソフトウェアを書いている。

● コミュニティ:地球規模のコミュニティで開発されている。

Page 21: Progcamp internet 100801

21

バザールのような開発方式

● 金銭的な報酬はない。(企業に勤めている人は給与を貰っているけど)

− お金儲けをするために開発しているわけではない??

● ボランティア:自主的にある活動に従事する人のこと。(誰かに命令されてやるのではない)

● 組織ではなく個人がベース

● コンセンサスをベースに開発

● 信頼と尊敬

Page 22: Progcamp internet 100801

22

コミュニティによる開発

● 見たことも会ったこともないない人たちが協力している。国籍も性別も肌の色も年齢も組織も関係ない。様々な改良を世界中から受け入れる。

● どんどん改良されていく。

● Linux

− 800万行以上の大規模なソフトウェア。

− 最新版の改良には800名以上の人が参加した。

− 延べ数千人の人が改良に加わっている。

Page 23: Progcamp internet 100801

23

なんでコミュニティに参加するのだろう

● インターネットの謎● …楽しいから、愛、尊敬、● カネ● 一人でできないことをみんなでやれるから● …多様な動機、人それぞれ、● 誰にも強制されない。自主的に参加している● 10人いれば10の理由がある

Page 24: Progcamp internet 100801

24

コミュニティに参加する企業

● なぜ企業はコミュニティに参加するのだろう

− ハードウェアを売るため

− サービスを提供するため

− ディストリビューションを売るため

− 開発コストを削減できる

− …

− 営利企業は基本的には自社の利益になるから、コ−ミュニティに参加する。(利益=売上 費用)

Page 25: Progcamp internet 100801

25

プログラミングキャンプの講師

● オープンソースの中の人たち(世界のトップクラスの人たちを集めましたbyプログラミングコース主査)

− Rubyの中の人

− Linuxの中の人

− OSの中の人

● 講義や休み時間になんでオープンソースにハマったのか聞いてみよう。

Page 26: Progcamp internet 100801

26

わたしの場合

● この話長いよ〜

− 10年以上前、Oracleというデータベースの会社にいた。その時、Netscape社がブラウザのソースコード(Mozilla) …を公開した

Page 27: Progcamp internet 100801

27

技術はみんなのものだ

● 技術は会社に独占されるべきではなく、みんなのものだ。それが社会を豊かにし進歩させるという考え方。

− 技術の公開を奨励する例:特許

− 著作権。

● オープンソースソフトウェアは、みんなのものにしたら進化、進歩したという例だ。

Page 28: Progcamp internet 100801

28

バザールモデル

● 多くの人の知恵の結集。● 善意を信用している。● インターネットを利用することによって地球規模の協力が可能になった。

● 地球規模のバザール(市場)だ。● オープンソースソフトウェアを使ったり、改良したり、作ったりしたら参加できる。

● 世界中の人と協力して何かを成し遂げる。● 一人ではなしとげないことを世界中の人と作り上げる

Page 29: Progcamp internet 100801

29

バザールモデル

● コミュニティの人たちとソフトウェアを作る。楽しいし、わくわくする。

● ソフトウェアによって世界をよい方へ変えることができる。

● 誰でも、参加できる。もちろん君達も。● 参加資格は、情熱。● ちょっとした勇気と、行動力。

Page 30: Progcamp internet 100801

30

まとめ

● オープンソースの開発について

● バザールモデルについて紹介した

Page 31: Progcamp internet 100801

31

最後に

● ソフトウェアを作るのは楽しい● 世界中の人たちと協力して作るのはもっと楽しい

● 世界規模のソフトウェア開発コミュニティがある

● 君たちも参加できる● 21世紀のソフトウェアを作るのは君たちだ● どう?

Page 32: Progcamp internet 100801

32

●Q&A− オープンソースにふれたきっかけ

− どのオープンソースプロジェクトに参加したらいいのでしょう

− どの勉強会に参加すればいいのでしょう

− はじめてのコンピュータは