Internet and Opensource at Security and Programming camp 2011

5,374 views

Published on

Internet and Opensource at Security and Programming camp 2011 by Hiro Yoshioka

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,374
On SlideShare
0
From Embeds
0
Number of Embeds
3,750
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Internet and Opensource at Security and Programming camp 2011

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

×