Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OSSコミュニティ活動の幻想と現実

 OSSコミュニティ活動の幻想と現実

As a part of AGL OSPO-EG activities, I published a slide deck explaining the misconception and reality of Open Source Contribution. There are 2 versions, English and Japanese currently, and translation contribution is appreciated.

Editable PowerPoint files are available at:
https://lf-automotivelinux.atlassian.net/wiki/spaces/OSPO/pages/397082627/Publications#OSS-Contribution---Illusion-and-Reality

Avatar for thatsdone

thatsdone

June 25, 2025
Tweet

More Decks by thatsdone

Other Decks in Technology

Transcript

  1. 2 OSSコントリビューションの具体的な紹介 「OSSコミュニティ活動」「コントリビューション」のいろいろ 「え?これでよいの?」と思える程度でも、立派な「コントリビューション」と言えます。 1. 実際使ってみる【初級】 2. 不明点、新しい動作実績、機能追加要望等をMLやForumで質問/報告する 【初級】 •

    「テストに協力する」という意味もある • 「機能追加要望」は「ユースケースの紹介」という意味もある 3. イベントで発表する【中級~上級】 • レベル感/内容は、ユースケースの紹介、新機能の提案、構造の説明...等さまざま 4. 不具合を見つけたらバグレポートする【初級~中級】 • 事象の報告だけなら【初級】、解析までできれば【中級】 5. 不具合を自分で修正してbug fix patch を投稿する【中級~上級】 6. 自分の研究開発成果を新規公開する/新機能を実装してcontributeする【上級】 7. 開発者コミュニティに参加する【だいぶ上級】 8. 投稿されたパッチのreview を担当する (いわゆる core dev) 【かなり上級】 9. 開発者コミュニティ運営に参加する【かなり上級】 10. 特定のプロジェクトのリーダーを務める【かなり上級+】 11. コミュニティ全体の運営に参加する【超上級】 • Technical Committee等、全体の運営にかかわる決断を行う場への代表者。
  2. 3 「コントリビューション」の誤解と幻想 「OSSコミュニティ活動」「コントリビューション」のいろいろ 「え?これでよいの?」と思える程度でも、立派な「コントリビューション」と言えます。 1. 実際使ってみる【初級】 2. 不明点、新しい動作実績、機能追加要望等をMLやForumで質問/報告する 【初級】 •

    「テストに協力する」という意味もある • 「機能追加要望」は「ユースケースの紹介」という意味もある 3. イベントで発表する【中級~上級】 • レベル感/内容は、ユースケースの紹介、新機能の提案、構造の説明...等さまざま 4. 不具合を見つけたらバグレポートする【初級~中級】 • 事象の報告だけなら【初級】、解析までできれば【中級】 5. 不具合を自分で修正してbug fix patch を投稿する【中級~上級】 6. 自分の研究開発成果を新規公開する/新機能を実装してcontributeする【上級】 7. 開発者コミュニティに参加する【だいぶ上級】 8. 投稿されたパッチのreview を担当する (いわゆる core dev) 【かなり上級】 9. 開発者コミュニティ運営に参加する【かなり上級】 10. 特定のプロジェクトのリーダーを務める【かなり上級+】 11. コミュニティ全体の運営に参加する【超上級】 • Technical Committee等、全体の運営にかかわる決断を行う場への代表者。 「コントリビューション」=「新規公開」と考える人が多いように見受けられますが、こ れはほんの一部です。(=誤解&幻想) 新規公開はインパクトも大きいですが、最初からこれだけ目指すのは 「事前検証等をせずにいきなり商用開発にかかるのとあまり変わらない」 のでおすすめしません。
  3. 4 OSSコミュニティ活動の現実 「OSSコミュニティ活動」「コントリビューション」のいろいろ 「え?これでよいの?」と思える程度でも、立派な「コントリビューション」と言えます。 1. 実際使ってみる【初級】 2. 不明点、新しい動作実績、機能追加要望等をMLやForumで質問/報告する 【初級】 •

    「テストに協力する」という意味もある • 「機能追加要望」は「ユースケースの紹介」という意味もある 3. イベントで発表する【中級~上級】 • レベル感/内容は、ユースケースの紹介、新機能の提案、構造の説明...等さまざま 4. 不具合を見つけたらバグレポートする【初級~中級】 • 事象の報告だけなら【初級】、解析までできれば【中級】 5. 不具合を自分で修正してbug fix patch を投稿する【中級~上級】 6. 自分の研究開発成果を新規公開する/新機能を実装してcontributeする【上級】 7. 開発者コミュニティに参加する【だいぶ上級】 8. 投稿されたパッチのreview を担当する (いわゆる core dev) 【かなり上級】 9. 開発者コミュニティ運営に参加する【かなり上級】 10. 特定のプロジェクトのリーダーを務める【かなり上級+】 11. コミュニティ全体の運営に参加する【超上級】 • Technical Committee等、全体の運営にかかわる決断を行う場への代表者。 これらも「コミュニティ」に対する立派な「コントリビューション」です。 しかも、自社にメリットもあります。
  4. 6 留意しておくべきことがら  会社員として  機密情報を混入させない 技術的な一般論に落とし込んで報告/共有する  (広い意味での)コミュニティの一員として 

    「提案」を持ちこむにあたってのTPOに従う 「新規機能の追加」や「既存機能の仕様変更」の場合、「ユースケース (メリット、必要性等)」「仕様、設計の妥当性」を丁寧に説明する いきなり説明もなしに修正(PR)を送り付けるのはむしろマイナス  類似/関連分野のコミュニティとの関係考慮 「完全に新規ツールの公開」の場合、「仲間づくり」が重要  「ライセンス」「利用許諾条件」に注意する 通常は各社の法務・知財担当部門がドキュメントを作っています
  5. 7 留意しておくべきことがら  ソフトウェア技術者として  Git (ツール)やGitHub等の開発プラットフォーム関連 ログやコメントは英語で書く – 日本語等のローカル言語は多言語対応部分に限定すべき

    commit logの整理(PRを出す前に) – 複数の趣旨の修正をまとめて大きなcommitにしない » 小さめの修正ならissueに対応して1 commitくらいが妥当 – typoの修正等、中間作業状態のcommitは1つにまとめる commit logには充分な説明を書く – Issueへのリンク等 プロジェクトごとの権利表示の流儀に従う – 例:DCO(Developer’s Certificate of Origin)のため Signed-off-by: をつける » https://developercertificate.org/ » https://gt-h6k.jp/git-dco/ [ja]  …