Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

オープンソース・ソフトウェアとコミュニティについて

95 views

Published on

アイクラフトで2019/4/10に開催した新人研修向け資料です。

Published in: Software
  • Be the first to comment

  • Be the first to like this

オープンソース・ソフトウェアとコミュニティについて

  1. 1. 榎 真治 (enoki@icraft.jp) in アイクラフト新人研修 2019-04-10 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 Unported License. オープンソース・ソフトウェアとコミュニティについて -LibreOffice を始めとして -
  2. 2. 自己紹介:榎真治 ● フリーランスで、アイクラフトと一緒にLibreOfficeな どのサポートビジネスを提供 ● LibreOffice日本語チームメンバー(2011-) ● The Document Foundationメンバー(2014-)
  3. 3. このセッションのゴール ● オープンソースソフトウェアとは何かが分かる ● オープンソースを参加/活用するためのとっかかりを得 る
  4. 4. オープンソース・ソフトウェアはどんなもの? ● Linux ● LibreOffice ● Nextcloud ● ....
  5. 5. 他にどんなソフトウェアがオープンソース? ● 知っているものはありますか?
  6. 6. Linuxディストリビューション ● 様々なオープンソースを便利に使えるようにパッケー ジ化したもの ● 各自のオープンソースは、まったく別に開発されてい ることが多い ● 利用者は何も考えずに便利につかえる https://ja.wikipedia.org/wiki/Linuxディストリビューション
  7. 7. Linuxディストリビューションもいろいろ ● Debian系 – Debian – Ubuntu ● Red Hat系 – Red Hat Enterprise Linux (RHEL) – Fedora ディストリビューションの系譜
  8. 8. GithubでGPLで検索したら... もちろん、 GPL 以外のオープンソースも多いです
  9. 9. クラウド/コンテナの世界でもOSS ● ホットなエリアの1つ。変化も激しい ● ここでもオープンソースが中心 ● 最近はKubernetesブーム
  10. 10. CNCF Cloud Native Interactive Landscape
  11. 11. AIやブロックチェーンの世界もOSS ● ブロックチェーンはオープンソースの世界 ● AIもオープンソースのエコシステムによって支えられ ている部分もあるらしい
  12. 12. で、オープンソースって何? ● ソースコードが公開されていたらオープンソース? ● 言ったもん勝ち? ● →オープンソースの定義がある
  13. 13. オープンソースの定義 ● Debianのフリーソフトウェアガイドラインを元に策 定 ● Open Source Initiativeという団体が管理 ● 10項目からなる https://opensource.jp/osd/osd-japanese.html
  14. 14. オープンソースの定義:抜粋 ● 再頒布の自由:ソフトウェアを自由に配布できること ● ソースコード:ソースコードが入手可能なこと ● 派生ソフトウェア:派生ソフトを作ることやそれを再 配布できること ● 個人やグループに対する差別の禁止 ● など10項目
  15. 15. 歴史を振り返る1:Unixの歴史 ● 1969 年から AT&T のベル研究所で開発 – 当時は大型マシン全盛 – 比較的小型のミニコン PDP-7 向けに開発。様々なマシンへ移植 – 自由にコピーが出回り、様々な派生が生まれた – カリフォルニア大学バークレー校の BSD ● 広く普及 – TCP/IPがアメリカ政府の支援で実装され、インターネットの初 期には中心的な役割を果たした
  16. 16. https://upload.wikimedia.org/wikipedia/commons/7/77/Unix_history-simple.svg
  17. 17. 歴史を振り返る2:フリーソフトウェア運動 ● ソフトウェアが価値を持ち始め、ソフトウェアを自由にコ ピーしたり、改良して配布する文化が危機に ● リチャード・ストールマン – 著作権を逆手にとって、ライセンスで自由を担保する作戦 – 1983 年 GNU プロジェクトを開始 – 自由な UNIX 互換 OS の開発に着手 – フリーソフトウェアの定義(4つの自由)
  18. 18. 歴史を振り返る3:オープンソースの誕生 ● 1998 年、 Netscape がソースコードを公開してオー プンソースへ(後の Firefox ) ● Internet Explorer にシェア争いで壊滅的打撃をうけ ていたため、起死回生の策として採用された ● その際に、フリーソフトウェア・コミュニティの一部 メンバによって、ブランド戦略としてオープンソース という言葉と定義が生み出された
  19. 19. オープンソースコミュニティ ● オープンソースを開発するコミュニティ ● オープンソースのユーザ同士の情報共有コミュニティ ● 開発とユーザのコミュニティが一体になっていること も多い
  20. 20. コミュニティとは? ● 日本語では共同体 ● 地域的な共同体を指すことも多かった ● PTA 、自治会などもコミュニティ ● 会社であっても、コミュニティ的な部分も
  21. 21. オープンソースの開発コミュニティ ● OSS を開発するために集まったもの ● 開発は 1 人からスタートすることも多いが、 コミュニティを形成して、開発規模や利用を広げる ● 通常インターネット上で活動する
  22. 22. フィードバックループを早くする 使う 不具合など 課題の発見 課題の修正
  23. 23. クレイ・シャーキーのTEDでのビデオ ● 「組織というシステムと協力というシステム」 ● 協調モデルで運営
  24. 24. 開発スタイル ● プロジェクト、コミュニティによって開発スタイルも異 なる ● Linux Kernel:自律分散モデル – これを支えるためにLinusはGitを開発した ● LibreOffice:集中と分散モデル – gitを使った中央リポジトリ、誰でもコミットはでき る
  25. 25. 伽藍とバザール ● Eric S. Raymondによる開発モデルについての論文 ● FSF(リチャード・ストールマン)などの伽藍モデル とLinuxなどのバザールモデルの比較 https://cruel.org/freeware/cathedral.html
  26. 26. エコシステムの例 開発コミュニティ サポートベンダ ユーザ組織 ユーザコミュニティ サポート サービス サポート費用 開発に参加 / フィードバック 情報提供や質問 回答 / 他のユーザのノウハウ
  27. 27. LibreOfficeでの 不具合修正の流れ 開発者 (誰でも OK ) 修正プログラムを開発 ベテラン開発者 ソースコードレビュー ソースコード管理 git リポジトリ 修正プログラムを投げる 修正プログラムを見る 取り込むか、 コメントを返す ユーザ 不具合に遭遇 不具合 データベース Bugzilla 自動ビルド システム ダウンロードして 利用 Web サイト 報告する 修正したい不具合を 見つける
  28. 28. 自律的な組織として ● モチベーション3.0 ● ティール組織 ● とか流行りですが....
  29. 29. 31 OSSのビジネスモデル例 KA 主要活動 VP 価値提案 CR 顧客との 関係 CS 顧客 セグメント C$ コスト構造 R$ 収益の流れ KR リソース CH チャネル KP パートナー 便利な OSS を 安心安定して使える 法人ユーザー 営業 Web 信頼関係 サポート コミュニティで 活躍する開発者 人件費 ベンダロックイン 脱却 コスト低減 ( 場合による ) OSS コミュニティ サポート 開発 / QA パッチの開発 コンサルティング / トレーニング 販売パートナー
  30. 30. 32 The Document Foundation のモデル KA 主要活動 VP 価値提案 CR 顧客との 関係 CS 顧客 セグメント C$ コスト構造 R$ 収益の流れ KR リソース CH チャネル KP パートナー 自由なオフィス スイートを使える ユーザー Web から ダウンロード 開発基盤の維持 サーバインフラ サーバー費用 人件費 スポンサーの年会費 / 寄付 デジタルデバイド の解消 開発に参加できる 母語の文化をサポート できる 世界中の貢献者 無料で配布マーケティング ソフトウェア提供 サポートベンダ 相互サポート やフィードバック ML やフォーラム
  31. 31. コミュニティに貢献する ● 自分の使うソフトが改善される ● 自分自身の学びになる – 技術的なことだけでなく、仕事のやり方でも – 情報源にいるので、どんどん詳しくなる ● 誰かの役に立てる ● 信用になる – OSS での実績は公開されているので、転職時にも使える – 会社としての信用も蓄積される(ただし信用は主に人につく)
  32. 32. 開発での貢献 ● 不具合を修正する ● 欲しい機能を開発する ● テストコードを書いて品質を安定させる ● 効率的・効果的に開発出来るよう、インフラを整える
  33. 33. 非開発者の貢献できる点も多い ● ドキュメントを書く(使い方など) ● 周りのユーザーを助ける(フォーラム、ML、身の回 り) ● 翻訳に参加する(UI/Help, 様々なドキュメント) ● 不具合を報告する/修正を確認する
  34. 34. オープンソースイベントの紹介 ● オープンソースカンファレンス – 日本各地で開催される様々なOSSコミュニティと企業が 集まる場 – アイクラフトも大阪と京都は出展している ● 関西オープンフォーラム – ボランティアベースで毎年秋に大阪で開催。ここも出展 ● 様々な勉強会、カンファレンス
  35. 35. 東京で初のLibreOffice Asia Conference ● 日時:2019/05/25(土)-26(日) ● 場所:サイボウズ株式会社東京オフィス ● 毎年LibreOffice kaigiとして日本のカンファレンスして いるが、今回は初めてAsiaCon ● 台湾、韓国、インド、インドネシア、アルバニアあたり から参加想定 ● https://conf.libreoffice.jp/ ●
  36. 36. まとめ ● オープンソースはますます様々な分野でイノベーショ ンを支える存在になってきている ● オープンソースソフトウェアとは、オープンソースラ イセンスを適用されたソフトウェアのこと ● オープンソースの定義がある ● オープンソースコミュニティのやり方は参考にできる

×