セキュリティ&プログラミング キャンプ 2009 8/12/2009 吉岡弘隆 mailto:hyoshiok@gmail.com http://d.hatena.ne.jp/hyoshiok/
お題 自己紹介 セキュリティ&プログラミングキャンプ2009 インターネットが変えた社会 〜オープンソースソフトウェア〜
プロフィール 1958 年 9 月 4 日生まれ、東京出身、慶応義塾大学大学院工学部卒 日本ディジタルイクイップメント、日本オラクルを経て、ミラクル・リナックスを 2000 年に創業。ミラクル・リナックス取締役、最高技術責任者( CTO )を経て、シニアエキスパートを歴任、独立行政法人情報処理推進機構、楽天株式会社所属 セキュリティ&プログラミングキャンプ、プログラミングコース主査 カーネル読書会主宰、 DEBUG HACKS 著者 2008 年経済産業省商務情報政策局長表彰、楽天テクノロジーアワード金賞
ブログ、日記 未来のいつか /hyoshiok の日記 http://d.hatena.ne.jp/hyoshiok/ ユメのチカラ http://blog.miraclelinux.com/yume/ mailto:hyoshiok@gmail.com http://twitter.com/hyoshiok DEBUG HACKS 吉岡弘隆、大和一洋、大岩尚宏、安部東洋、吉田俊輔 著 2009 年 04 月 発行 424 ページ 定価 3,360 円 ISBN978-4-87311-404-0
セキュリティ&プログラミング キャンプ 2009 プログラミングの楽しさを伝えたい、共有したい (わたしの野望)プログラミングが好きな人といっぱい出会う事。そのような人を増やす事。 世界最高の講師を準備した。  http://jibun.atmarkit.co.jp/lstudent/special/camp2009/01.html インターネットが変えた社会 オープンソースという考え方
プログラミングキャンプ宣言 ソフトウェアは人が創る。人がすべてだ。 このキャンプで、プログラムを創ることの 楽しさ 達成感 難しさ を共有したい オープンソース開発者の卵を育てたい
インターネットが変えた社会 オープンソースソフトウェア
オープンソースについて オープンソースソフトウェア(OSS)という、ソフトウェアの作り方について
質問 プログラムを書いたことがある人? 複数の人とプログラムを作ったことがある人? 1万行を越えるプログラムを作ったことがある人? 10万行を越えるプログラムを作ったことがある人? オープンソースソフトウェアの開発に参加したことがある人? オープンソースソフトウェアの開発に参加したい人?
オープンソースという考え方 オープンソースって? クローズドソースソフトウェア(多くの商用ソフト)の作り方とどう違うのだろう。 何が優れているのだろう。
オープンソースソフトウェア ソースコードを公開して、自由に実行、変更、再配布を可能にしたもの。 ソースコード:人間がプログラミング言語などを用いて記述したもの。 そのままではコンピュータは実行できないので、通常、コンパイラと呼ばれるソフトウェアで直接実行できる形式に変換して実行されるか、インタプリタと呼ばれるソフトウェアで字面を解釈し実行される。
オープンソースソフトウェア 企業の作った商用ソフトウェアではなく、楽しいからと作ったソフトウェアがどんどん普及していった。 インターネットを動かしているソフトウェアの多く(ほとんど)はオープンソースソフトウェアだ。 (Linux, BIND, Apache, sendmail, MySQL, Perl, Ruby, ...) 世界中のボランティアが改良、開発をしている。 そんなことが信じられるか?
オープンソースソフトウェア 90 年代になってインターネットが普及した。 低額で自由に情報交換ができるようになった。 ソフトウェアをインターネットで公開したら、世界中の人たちがよってたかって利用して、時には改良しはじめた。 公開して自由に利用、変更、改良、配布できるようにしたソフトウェアをオープンソースソフトウェアと呼ぶことにした。 ( 1998年 2 月 )
インターネットが全てを変えた 大規模ソフトウェアをチームで作る場合、昔は同じ場所に集まってみんなで開発していた。(企業) 一つの場所にあつまらないとコミュニケーションのコストが高い。 ところがインターネットがあれば、同じ場所に集まる必要性が少なくなった。 メールでプログラムをやりとりできる。 広域分散ソフトウェア開発 一つのところに全員集まらなくてもいい。
商用ソフトウェア 70 年代、米国 IBM 社 がソフトウェアとハードウェアとを別々に売るようになった。 商用ソフトウェアがビジネスとして成立。 商用ソフトウェア(商品)なので通常は有償。ソースコードの利用も自由ではない。 例:米国 Microsoft 社の Windows (ソースコードは自由に変更、再配布などできない)
フリーソフトウェア 商用ソフトウェアがある一方、自由(フリー)に利用できるものがある。 ソフトウェアは自由に利用できるべきだと考えている人がいる。 リチャード・ストールマンさん(米国)は、フリーソフトウェアをいっぱい作っている中心的な人。 80 年代から積極的に活動をしている。
オープンソースソフトウェア プロジェクトリーダとか、開発スケジュールとか、開発予算とか、企業があるわけではない。 世界中のボランティアがよってたかって開発に参加している。 誰もコントロールできない。 混沌の世界から開発されている。 バザール(市場、お祭騒ぎ)のようなソフトウェアの開発方式。 エリック・レイモンドさん「伽藍(大聖堂)とバザール」、 1997 年
バザールのような開発方式 ウィキペディア:世界中の人がボランティアで百科事典の項目を書いている。 オープンソースソフトウェア:世界中の人がボランティアがソフトウェアを書いている。 コミュニティ:地球規模のコミュニティで開発されている。
バザールのような開発方式 金銭的な報酬はない。(企業に勤めている人は給与を貰っているけど) お金儲けをするために開発しているわけではない?? ボランティア:自主的にある活動に従事する人のこと。(誰かに命令されてやるのではない) 組織ではなく個人がベース コンセンサスをベースに開発 信頼と尊敬
コミュニティによる開発 見たことも会ったこともないない人たちが協力している。国籍も性別も肌の色も年齢も組織も関係ない。様々な改良を世界中から受け入れる。 どんどん改良されていく。 Linux 800 万行以上の大規模なソフトウェア。 最新版の改良には 800 名以上の人が参加した。 延べ数千人の人が改良に加わっている。
なんでコミュニティに参加するのだろう インターネットの謎 楽しいから、愛、尊敬、… カネ 一人でできないことをみんなでやれるから 多様な動機、人それぞれ、… 誰にも強制されない。自主的に参加している 10 人いれば 10 の理由がある
コミュニティに参加する企業 なぜ企業はコミュニティに参加するのだろう ハードウェアを売るため サービスを提供するため ディストリビューションを売るため 開発コストを削減できる … 営利企業は基本的には自社の利益になるから、コミュニティに参加する。(利益=売上−費用)
プログラミングキャンプの講師 オープンソースの中の人たち(世界のトップクラスの人たちを集めましたbyプログラミングコース主査) Rubyの中の人 Linuxの中の人 OSの中の人 講義や休み時間になんでオープンソースにハマったのか聞いてみよう。
わたしの場合 この話長いよ〜 10年以上前、Oracleというデータベースの会社にいた。その時、Netscape社がブラウザのソースコード(Mozilla)を公開した…
技術はみんなのものだ 技術は会社に独占されるべきではなく、みんなのものだ。それが社会を豊かにし進歩させるという考え方。 技術の公開を奨励する例:特許 著作権。 オープンソースソフトウェアは、みんなのものにしたら進化、進歩したという例だ。
バザールモデル 多くの人の知恵の結集。 善意を信用している。 インターネットを利用することによって地球規模の協力が可能になった。 地球規模のバザール(市場、お祭り騒ぎ)だ。 オープンソースソフトウェアを使ったり、改良したり、作ったりしたら参加できる。 世界中の人と協力して何かを成し遂げる。 一人ではなしとげないことを世界中の人と作り上げる
バザールモデル コミュニティの人たちとソフトウェアを作る。楽しいし、わくわくする。 ソフトウェアによって世界をよい方へ変えることができる。 誰でも、参加できる。もちろん君達も。 参加資格は、情熱。 ちょっとした勇気と、行動力。
まとめ オープンソースの開発について バザールモデルについて紹介した
最後に ソフトウェアを作るのは楽しい 世界中の人たちと協力して作るのはもっと楽しい 世界規模のソフトウェア開発コミュニティがある 君たちも参加できる 21 世紀のソフトウェアを作るのは君たちだ どう?
Q&A オープンソースにふれたきっかけ どのオープンソースプロジェクトに参加したらいいのでしょう どの勉強会に参加すればいいのでしょう はじめてのコンピュータは

Programming camp 共通科目オープンソース