Progcamp internet 100801
-
Upload
hiro-yoshioka -
Category
Documents
-
view
1.531 -
download
2
Transcript of Progcamp internet 100801
2
お題
● 自己紹介
● セキュリティ&プログラミングキャンプ2010
● インターネットが変えた社会〜オープンソースソフトウェア〜
3
プロフィール
1958年9月4日生まれ、慶応義塾大学大学院工学部修了
日本ディジタルイクイップメント、日本オラクルを経てミラクル・リナックスを2000年に創業。取締役、最高技術責任者(CTO)。2009年8月より楽天株式会社所属、技術理事
セキュリティ&プログラミングキャンプ、プログラミングコース主査
カーネル読書会主宰
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
カーネル読書会
● LinuxやOSSに関する技術的な話題を扱う勉強会。
− 10年間、100回続いている− 第100回、Linusさんや世界中のカーネルハッカーも参加してくれた。うれしい。
http://itpro.nikkeibp.co.jp/article/NEWS/20091023/339312/
6
セキュリティ&プログラミングキャンプ2010
● プログラミングの楽しさを伝えたい、共有したい
● (わたしの野望)プログラミングが好きな人といっぱい出会う事。そのような人を増やす事。
● 世界最高の講師を準備した。http://jibun.atmarkit.co.jp/lstudent/special/camp2009/01.html
● インターネットが変えた社会− オープンソースという考え方
7
プログラミングキャンプ宣言
● ソフトウェアは人が創る。人がすべてだ。
● このキャンプで、プログラムを創ることの
− 楽しさ
− 達成感
− 難しさを共有したい
● オープンソース開発者の卵を育てたい
8
このキャンプ卒業生のイメージ
● 使う人というより作る人
● 既存のオープンソースなども、どんどん利用して、改善、改良する人
● コミュニティに積極的に参加する人
● ソフトウェアによって社会をよくする人
9
インターネットが変えた社会
• オープンソースソフトウェア
10
オープンソースについて
• オープンソースソフトウェア(OSS)という、ソフトウェアの作り方について
11
質問
• プログラムを書いたことがある人?
• 複数の人とプログラムを作ったことがある人?
• 1万行を越えるプログラムを作ったことがある人?
• 10万行を越えるプログラムを作ったことがある人?
• オープンソースソフトウェアの開発に参加したことがある人?
• オープンソースソフトウェアの開発に参加したい人?
12
オープンソースという考え方
• オープンソースって?
• クローズドソースソフトウェア(多くの商用ソフト)の作り方とどう違うのだろう。
• 何が優れているのだろう。
13
オープンソースソフトウェア
● ソースコードを公開して、自由に実行、変更、再配布を可能にしたもの。
● ソースコード:人間がプログラミング言語などを用いて記述したもの。
− そのままではコンピュータは実行できないので、通常、コンパイラと呼ばれるソフトウェアで直接実行できる形式に変換して実行されるか、インタプリタと呼ばれるソフトウェアで字面を解釈し実行される。
14
オープンソースソフトウェア
● 企業の作った商用ソフトウェアではなく、楽しいからと作ったソフトウェアがどんどん普及していった。
● インターネットを動かしているソフトウェアの多く(ほとんど)はオープンソースソフトウェアだ。(Linux, BIND, Apache, sendmail, MySQL, Perl, Ruby, ...)
● 世界中のボランティアが改良、開発をしている。
● そんなことが信じられるか?
15
オープンソースソフトウェア
● 90年代になってインターネットが普及した。● 低額で自由に情報交換ができるようになった。
● ソフトウェアをインターネットで公開したら、世界中の人たちがよってたかって利用して、時には改良しはじめた。
● 公開して自由に利用、変更、改良、配布できるようにしたソフトウェアをオープンソースソフトウェアと呼ぶことにした。(1998年2月)
16
インターネットが全てを変えた
● 大規模ソフトウェアをチームで作る場合、昔は同じ場所に集まってみんなで開発していた。(企業)
− 一つの場所にあつまらないとコミュニケーションのコストが高い。
● ところがインターネットがあれば、同じ場所に集まる必要性が少なくなった。
− メールでプログラムをやりとりできる。
− 広域分散ソフトウェア開発
● 一つのところに全員集まらなくてもいい。
17
商用ソフトウェア
● 70年代、米国IBM社がソフトウェアとハードウェアとを別々に売るようになった。
● 商用ソフトウェアがビジネスとして成立。
● 商用ソフトウェア(商品)なので通常は有償。ソースコードの利用も自由ではない。例:米国Microsoft社のWindows(ソースコードは自由に変更、再配布などできない)
18
フリーソフトウェア
● 商用ソフトウェアがある一方、自由(フリー)に利用できるものがある。
● ソフトウェアは自由に利用できるべきだと考えている人がいる。
● リチャード・ストールマンさん(米国)は、フリーソフトウェアをいっぱい作っている中心的な人。
● 80年代から積極的に活動をしている。
19
オープンソースソフトウェア
● プロジェクトリーダとか、開発スケジュールとか、開発予算とか、企業があるわけではない。
● 世界中のボランティアがよってたかって開発に参加している。
● 誰もコントロールできない。● 混沌の世界から開発されている。
● バザール(市場、お祭騒ぎ)のようなソフトウェアの開発方式。
● エリック・レイモンドさん「伽藍(大聖堂)とバザール」、1997年
20
バザールのような開発方式● ウィキペディア:世界中の人がボランティアで百科事典の項目を書いている。
● オープンソースソフトウェア:世界中の人がボランティアがソフトウェアを書いている。
● コミュニティ:地球規模のコミュニティで開発されている。
21
バザールのような開発方式
● 金銭的な報酬はない。(企業に勤めている人は給与を貰っているけど)
− お金儲けをするために開発しているわけではない??
● ボランティア:自主的にある活動に従事する人のこと。(誰かに命令されてやるのではない)
● 組織ではなく個人がベース
● コンセンサスをベースに開発
● 信頼と尊敬
22
コミュニティによる開発
● 見たことも会ったこともないない人たちが協力している。国籍も性別も肌の色も年齢も組織も関係ない。様々な改良を世界中から受け入れる。
● どんどん改良されていく。
● Linux
− 800万行以上の大規模なソフトウェア。
− 最新版の改良には800名以上の人が参加した。
− 延べ数千人の人が改良に加わっている。
23
なんでコミュニティに参加するのだろう
● インターネットの謎● …楽しいから、愛、尊敬、● カネ● 一人でできないことをみんなでやれるから● …多様な動機、人それぞれ、● 誰にも強制されない。自主的に参加している● 10人いれば10の理由がある
24
コミュニティに参加する企業
● なぜ企業はコミュニティに参加するのだろう
− ハードウェアを売るため
− サービスを提供するため
− ディストリビューションを売るため
− 開発コストを削減できる
− …
− 営利企業は基本的には自社の利益になるから、コ−ミュニティに参加する。(利益=売上 費用)
25
プログラミングキャンプの講師
● オープンソースの中の人たち(世界のトップクラスの人たちを集めましたbyプログラミングコース主査)
− Rubyの中の人
− Linuxの中の人
− OSの中の人
● 講義や休み時間になんでオープンソースにハマったのか聞いてみよう。
26
わたしの場合
● この話長いよ〜
− 10年以上前、Oracleというデータベースの会社にいた。その時、Netscape社がブラウザのソースコード(Mozilla) …を公開した
27
技術はみんなのものだ
● 技術は会社に独占されるべきではなく、みんなのものだ。それが社会を豊かにし進歩させるという考え方。
− 技術の公開を奨励する例:特許
− 著作権。
● オープンソースソフトウェアは、みんなのものにしたら進化、進歩したという例だ。
28
バザールモデル
● 多くの人の知恵の結集。● 善意を信用している。● インターネットを利用することによって地球規模の協力が可能になった。
● 地球規模のバザール(市場)だ。● オープンソースソフトウェアを使ったり、改良したり、作ったりしたら参加できる。
● 世界中の人と協力して何かを成し遂げる。● 一人ではなしとげないことを世界中の人と作り上げる
29
バザールモデル
● コミュニティの人たちとソフトウェアを作る。楽しいし、わくわくする。
● ソフトウェアによって世界をよい方へ変えることができる。
● 誰でも、参加できる。もちろん君達も。● 参加資格は、情熱。● ちょっとした勇気と、行動力。
30
まとめ
● オープンソースの開発について
● バザールモデルについて紹介した
31
最後に
● ソフトウェアを作るのは楽しい● 世界中の人たちと協力して作るのはもっと楽しい
● 世界規模のソフトウェア開発コミュニティがある
● 君たちも参加できる● 21世紀のソフトウェアを作るのは君たちだ● どう?
32
●Q&A− オープンソースにふれたきっかけ
− どのオープンソースプロジェクトに参加したらいいのでしょう
− どの勉強会に参加すればいいのでしょう
− はじめてのコンピュータは