Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

インターネットを支えるオープンソースの基礎について理解しよう

323 visualizaciones

Publicado el

https://power-covid19.connpass.com/event/186727/

Publicado en: Ingeniería
  • Sé el primero en comentar

インターネットを支えるオープンソースの基礎について理解しよう

  1. 1. インターネットを支えるオープンソースの基礎に ついて 理解しよう 宮原 徹(@tmiyahar) Open Source People Network
  2. 2. ospn.jp 自己紹介 宮原 徹 • 1972年生まれ。中央大学法学部法律学科卒 • 1994年、日本オラクルに入社。製品マーケティング に従事 • 2001年に独立起業し、エンジニア教育を行う(株) びぎねっとを設立 • 2004年9月に第1回の「オープンソースカンファレン ス」(OSC)を開催後、現在まで16年186回開催 – OSPN(Open Source People Network)はOSCを 開催するOSSメタ・コミュニティ • https://ja.wikipedia.org/wiki/宮原徹 2
  3. 3. ospn.jp なんとなくWikipediaに出ています 3
  4. 4. ospn.jp 今日のアジェンダ • オープンソースソフトウェアについて • コミュニティについて • OSSの最近の事例:OSSとAIについて 事前におことわり • 時間が限られているので要点を絞っています – 端折っていることが多々あります – 重要な関連事項は課題として挙げています • 厳密な正確さよりも理解しやすさを優先しています – 正確性の観点から原典に当たることは重要です 4
  5. 5. ospn.jp オープンソースソフトウェア 5
  6. 6. ospn.jp 最近話題になったオープンソースソフトウェア 「東京都 新型コロナウイルス感染症対策サイト」 – https://stopcovid19.metro.tokyo.lg.jp/ • アプリのソースコードが公開されている – https://github.com/tokyo-metropolitan- gov/covid19 – 修正要求などもGitHubで管理 • 様々な自治体で同様のサイトが開設 – MITライセンスでOSSとして公開 – GitHubからソースコードを取得して独自サイト開 設可能 6
  7. 7. ospn.jp 東京都 新型コロナウイルス感染症対策サイト 7
  8. 8. ospn.jp GitHubに公開されているソースコード 8
  9. 9. ospn.jp オープンソースソフトウェア(OSS)とは • 詳細な定義はOSI(Open Source Initiative)が定義 – 「The Open Source Definition」 – https://opensource.org/osd • ソースコードの公開 • 利用の自由 • 改変の自由 • 再配布の自由 • 無保証 • 著作権表示の保持 9 どのOSSにも共通する事項
  10. 10. ospn.jp OSSのライセンスの例 • GNU GPL(General Public License) – OSSムーブメントに繋がった「フリーソフトウェア」 のライセンス – AndroidのベースでもあるLinuxで採用されている • 修正BSD – 改変内容を公開しないでも良い – iOS/iPad OSのベースはBSD • MIT – 他のライセンスより制限が緩いので人気がある • 「コピーレフト」という思想 – https://www.gnu.org/licenses/copyleft.ja.html 10
  11. 11. ospn.jp コピーレフトとは(抜粋) • コピーレフト(Copyleft)とは、プログラム(もしくはそ の他の著作物)を自由(自由の意味において。「無償」 ではなく)とし、加えてそのプログラムの改変ないし 拡張されたバージョンもすべて自由であることを要 求するための、一般的な手法の一つです。 • プログラムにコピーレフトを適用するには、わたし たちは、まずそれに著作権を主張し、その上で配布 条項を加えます。それは、配布条項が変更されない 限り、プログラムのコード、もしくはそれから派生 したプログラムに対して、使用、改変、および再配 布をする権利をすべての人に与えるという法律手段 です。これによって、コードと自由は法律上、分離 できないものになります。 11 出典:https://www.gnu.org/licenses/copyleft.ja.html
  12. 12. ospn.jp 「東京都 新型コロナウイルス感染症対策サイト」を例に • MITライセンスで公開 – 自由に使える • 各自治体で独自のサイトを公開 – https://github.com/tokyo-metropolitan- gov/covid19/blob/development/FORKED_SITES .md • 課題はIssueに挙げられる • コード修正提案はPull Requestに挙げられる 12
  13. 13. ospn.jp GitHubに公開されているソースコード 13
  14. 14. ospn.jp OSSについて気になった人のために • 身近なOSS – スマートフォンやタブレット – デジタル家電 • ソースコードとは? – ソースコードとバイナリ – コンパイルとインタプリタ – GitHubのようなソースコード共有サービスの役割 • OSSとビジネス – OSSを販売してもいいの? – OSSをWebサービスで利用すると? 14
  15. 15. ospn.jp コミュニティ 15
  16. 16. ospn.jp コミュニティとは • ある条件や目的で形成された人の集まり 例)地域コミュニティ • ある地域に居住する住民が形成するコミュニティ • 自治会、子供会など、形態や目的は多岐に渡る • OSSコミュニティは特定のOSSの開発や情報共有を目 的に集まった人の集まり 16
  17. 17. ospn.jp OSSコミュニティの果たす役割 • ソフトウェアの開発 – ボランティアと職業プログラマー • フィードバック – バグレポートや修正提案 – 機能拡張リクエスト • 情報発信・情報共有 – WebサイトやWikiなどによる情報発信 – メーリングリスト、Slackなどによる情報共有 – 様々なイベント(勉強会)の開催 17
  18. 18. ospn.jp なぜOSSはコミュニティが形成されるのか • 協調(コラボレーション)モデル – 一般的なビジネスの貨幣価値交換モデルではない – 参加者がそれぞれ可能な範囲で貢献する – 支払われるのは敬意(リスペクト) • 情報が集積されることでコミュニティの価値が高まる – 知見・経験の蓄積が相乗効果を起こす – 情報が多い、人気のあるOSSが生き残る • 参加者が増えるとコミュニティに入らない(入れない) 人も増えてくる – コミュニケーションや意思決定の適正サイズ – OSSの成果へのフリーライド(ただ乗り)問題 18
  19. 19. ospn.jp コミュニティについて気になった人のために • コミュニティはボランティアか – コミュニティ活動は無償か – 「OSSとビジネス」の課題と絡めて • コミュニティの意思決定 – 企業が自社製品をOSS化する意味 – OSSは誰のもの? • オープンソースカンファレンスへの参加 – 現在、Zoom&YouTube Liveで開催中 – 次回はOSCオンライン京都(8/28-29) – 詳細はWebで(ospn.jp) 19
  20. 20. ospn.jp OSSとAI OSSの最近の事例 20
  21. 21. ospn.jp AI・機械学習のための代表的なソフトウェア • TensorFlow – Googleが開発 – Apache License 2.0 • Keras – Googleのエンジニアが開発 – MIT License • PyTorch – Facebookが開発 – 修正BSDライセンス • すべてOSSとして開発されている 21
  22. 22. ospn.jp なぜ最新の技術がOSS化されるのか • ソフトウェア販売モデルの崩壊 – 従来はマイクロソフトなどが得意としたモデル – 技術の進歩が早すぎて製品化できない • コミュニティを形成したい – 協調モデルで開発を加速し、利用者を増やす – オープンとクローズドのメリット/デメリット • 最終的に得たいものは何か – ソフトウェア(そのもの)の価値とは? – サービス中心型のビジネスモデルへの変革 22
  23. 23. ospn.jp その他のオープン○○ • オープンデータ – 公共データを中心に幅広く利活用 – 市民目線でのシビックテックによるサービス開発 • オープンハードウェア – 3Dプリンタの活用 – Raspberry PiなどIoTデバイスのコモディティ化 • クリエイティブコモンズ – 文章や音楽などのオープン化 23
  24. 24. ospn.jp まとめ • コンピューターとネットワークが普及する中、利活 用の促進に「オープン○○」が重要 • オープンを促進する担い手がコミュニティ • AIや機械学習分野など先進分野ではオープンが当然 となっている 24

×