Mais conteúdo relacionado
Semelhante a オープンソースソフトウェア開発におけるコミュニティ活動の課題分析とその解決方法の提案 (20)
Mais de Takashi Natsume (7)
オープンソースソフトウェア開発におけるコミュニティ活動の課題分析とその解決方法の提案
- 1. Copyright©2015 NTT corp. All Rights Reserved.
B-003
オープンソースソフトウェア開発における
コミュニティ活動の課題分析とその解決方法の提案
2015年9月16日(水)
日本電信電話株式会社
ソフトウェアイノベーションセンタ
夏目貴史、市原裕史
市川俊一、坂井博
FIT 2015(第14回 情報科学技術フォーラム)
5Aセッション:ソフトウェア開発
- 2. 2Copyright©2015 NTT corp. All Rights Reserved.
1. 背景
2. OpenStackのコミュニティ活動(新機能提案)と
その実績
3. 新機能提案の成功要因の分析
4. 新機能提案の課題分析
5. コミュニティ活動(新機能提案)の改善提案
6. まとめ
アジェンダ
- 3. 3Copyright©2015 NTT corp. All Rights Reserved.
• 効果的な投資
• 他社(他者)が開発した機能を利用し、自分たちが必要な部分に開発を集
中することができる
• ビジネスパートナとのコラボレーションの可能性の拡大
• OSSを共通部分として利用し、着脱(組合せ)可能なアーキテクチャなど
により他社と協業できる
• 維持コストの低減
• メンテナンスをコミュニティに任せることができる
背景
クラウド・コンピューティング・サービス(IaaS、PaaS)を構築するための
OSSであるOpenStack(※)を利用したシステムの開発に取り組んでいる
オープンソースソフトウェア(OSS)活用およびコミュニティ参加の利点
OSSを利用したシステムの開発への取り組み
※: OpenStack - Open Source Cloud Computing Software -
https://www.openstack.org/
- 4. 4Copyright©2015 NTT corp. All Rights Reserved.
OpenStackのコミュニティ活動(新機能提案)
Blueprint&spec(※)
ソースコード
開発者
Core
Reviewer
①新機能
提案
②レビュー&
承認
③ソースコード
提出
④レビュー&
承認
⑤自動化
されたテストソースコード・リポジトリ
⑥マージ
※: spec: 新機能の仕様書
OpenStackは複数のプロジェクト
(コンポーネント)から構成され、
プロジェクトにより新機能提案フローの
細かな点は異なります。
OpenStackにおいて利用したい機能が存在しない場合はコミュニティに提案して実装する。
- 6. 6Copyright©2015 NTT corp. All Rights Reserved.
• Blueprint
• 提出: 37件
• 2013年9月から2015年5月
• 自部署および協力会社が提出したもの
• 状況(結果)
• 完了: 10件
• 未完了(保留を含む): 22件
• 活動中(※): 5件
コミュニティ活動の実績(新機能提案)
※: 2015年5月現在活動中であったもの
これらの成功要因の分析と
実装に至らなかった要因(課題)の分析を実施した
- 9. 9Copyright©2015 NTT corp. All Rights Reserved.
• 他社の活動
• 長期的な戦略
• 他社に先んじた提案を行ない、プロジェクトの
ロードマップへの適合を行なう
• コミュニティでの議論
• 他社提案と自社提案のメリット/デメリットを
明確にして議論を実施する
• 他社提案の実装の催促・促進
• 場合によっては自分たちへの担当変更依頼も行
なう
コミュニティ活動(新機能提案)の改善提案 その1
- 10. 10Copyright©2015 NTT corp. All Rights Reserved.
• ユースケース
• ユースケースの汎用性の確保
• 特定の業種に関するユースケースであれば,そ
の業種の企業(例えば通信業界)と連携し、ユ
ースケースが当てはまる範囲を広げる
• メリットの明確化
• 実装しやすいプロジェクト(コンポーネント)
で先行して実装することにより有用性を提示す
る
• メリットを明確にした上でコミュニティで議論
する
• プロジェクトのロードマップ
• ロードマップに入れる活動を実施する
コミュニティ活動(新機能提案)の改善提案 その2
- 11. 11Copyright©2015 NTT corp. All Rights Reserved.
• 実装
• 実装計画
• 実装順序を提示する
• 場合によってはコードのクリーンアップやリフ
ァクタリングから開始する
• 実装範囲
• 実装範囲を適切に設定する
• 場合によっては複数回の修正で機能実装を実行
する
コミュニティ活動(新機能提案)の改善提案 その3
- 12. 12Copyright©2015 NTT corp. All Rights Reserved.
• 実装(続き…)
• 影響の確認と極小化
• デフォルトの挙動への影響を回避する
• 他の機能への影響を極小化する
• できる限り少ないコード修正量とする
• デメリットは生じないかの確認を行なう
(メリット/デメリットの明確化)
• ユーザの使いやすさへの影響を確認する
• 実装案の検討
• 複数の実装案の比較を行なう
• APIの追加の必要性を確認する
コミュニティ活動(新機能提案)の改善提案 その4
- 14. 14Copyright©2015 NTT corp. All Rights Reserved.
• OSSコミュニティへの新機能提案の成功要因/課題
• 他社の活動、ユースケース、実装に関するものが主要な要因
• OSSコミュニティへの新機能提案の改善方法
• 長期的な戦略、プロジェクトのロードマップ
• 他社提案への働き掛け
• メリット/デメリットを明確にしたコミュニティでの議論、複
数の実装案の比較
• ユースケースの汎用性の確保
• 影響の確認と極小化(修正量、デフォルトの挙動、セキュリテ
ィ、ユーザビリティ、他の機能)
• 実装計画の提示と実装範囲の適切な設定
• 今後に向けて
• 今回の提案方法が有効であることの評価
• バグ修正の活動の課題分析と解決方法の提案および評価
• 他のOSSへの適用と有効性の評価
まとめ