ossコミッタの生活とその必要性

49
Copyright©2017 NTT corp. All Rights Reserved. OSS コココココココココココココ NTT ココココココココココココココココ ココココココココココ ココ ココ

Upload: hirofumi-ichihara

Post on 07-Feb-2017

1.835 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: OSSコミッタの生活とその必要性

Copyright©2017 NTT corp. All Rights Reserved.

OSS コミッタの生活とその必要性

NTT ソフトウェアイノベーションセンタ第三推進プロジェクト

市原 裕史

Page 2: OSSコミッタの生活とその必要性

2Copyright©2017 NTT corp. All Rights Reserved.

市原 裕史

• 所属• NTT SIC 第三推進プロジェクト

• 年次• 5 年目

• OpenStack Developer• Neutron Core Reviewer 、その他プロジェクトへの貢献

• 技術 : SDN/NFV 中心• Cloudn ClosedNW タイプの開発• Linuxcon で DPDK の性能の発表• Neutron への機能提案

自己紹介

Page 3: OSSコミッタの生活とその必要性

3Copyright©2017 NTT corp. All Rights Reserved.

• Cloud Operating System• 競合として CloudStack や(今はなき ? ) Eucalyptus

• マルチハイパーバイザサポート• KVM, QEMU, Xen, VMware, Hyper-V, LXC などをサポート

• 様々な SDN アプライアンス、ストレージアプライアンスが OpenStack に対応

OpenStack 概要

出典 : http://www.openstack.org/software/

Page 4: OSSコミッタの生活とその必要性

4Copyright©2017 NTT corp. All Rights Reserved.

3,716,027 Lines

https://www.openhub.net/p/openstack/analyses/latest/languages_summary

Page 5: OSSコミッタの生活とその必要性

5Copyright©2017 NTT corp. All Rights Reserved.

OPEN

https://www.openstack.org/videos/barcelona-2016/openstack-for-the-work-that-matters-1

Page 6: OSSコミッタの生活とその必要性

6Copyright©2017 NTT corp. All Rights Reserved.

• 最新版 Newton リリース実績• レビュー人数 2386 人• パッチ数 2715

OSS 開発コミュニティ規模

http://stackalytics.com/?release=newton

Page 7: OSSコミッタの生活とその必要性

7Copyright©2017 NTT corp. All Rights Reserved.

他 OSS プロジェクト比較

https://octoverse.github.com

Mitaka 、 Newton リリース (1 年間 ) のレ

ビュー、コミット、バグ報告、新機能提案で集計

( コメント抜き )

5940

Page 8: OSSコミッタの生活とその必要性

8Copyright©2017 NTT corp. All Rights Reserved.

1. コミュニティ活動がなぜ必要か?2. なぜ Core Reviewer ( OSS コミッタ)になる必

要があるのか?3. Core Reviewer の仕事って何?4. Core Reviewer にどうやればなれるのか?5. 業務で Core Reviewer のお仕事をする際の壁は?6. Core Reviewer の生活はどんな感じ?

本日の内容

Page 9: OSSコミッタの生活とその必要性

9Copyright©2017 NTT corp. All Rights Reserved.

コミュニティ活動がなぜ必要か?

Page 10: OSSコミッタの生活とその必要性

10Copyright©2017 NTT corp. All Rights Reserved.

OpenStack 独自改良版

Cinder GlanceNeutronNovaKeystone

独自パッチ

独自パッチ 独自パッチ

独自パッチ

独自パッチ

独自パッチ

コミュニティファースト開発へのシフト

OpenStack コミュニティ版

Cinder GlanceNeutronNovaKeystone

一部は外部で管理

一部はコミュニティに提供

外部機能 外部機能 外部機能 外部機能

Page 11: OSSコミッタの生活とその必要性

NOVACompute

SWIFTObject Storage

NEUTRONNetworking

GLANCEImage

IRONICBare-Metal Provisioning

SAHARAData Processing

CONGRESSGovernance Service

CEILOMETERTelemetry

TROVEDatabase

MISTRALWorkflow Service

HORIZONDashboard

MURANOApplication Catalog

OpenStack Projects

BIG TENT

CORE SERVICESHEATOrchestration

MAGNUMContainer Service

KEYSTONEIdentity

CINDERBlock Storage

Copyright©2017 NTT corp. All Rights Reserved.

Page 12: OSSコミッタの生活とその必要性

NOVACompute

KEYSTONEIdentity

SWIFTObjectStorage

NEUTRONNetworking

IRONICBare-MetalProvisioning

HEATOrchestration

SAHARAData Processing

CONGRESSGovernance Service

MAGNUMContainer Service

CEILOMETERTelemetry

TROVEDatabase

MISTRALWorkflow Service

HORIZONDashboard

MURANOApplication Catalog

OpenStack Projects

BIG TENT

CORE SERVICES

- KVM 版ライブマイグレーション

- IPv6 サポート- 複数 NIC サポート- マルチベンダプラグインサポート- 仮想ルータの Static Route 設定- L3 Agent/DHCP Agent の

複数ノード対応- ノード追加時のサービス閉塞機能- Availability Zone 対応- Resource Tagging 機能

- Glance と Cinder 間のイメージ転送機能

- ライセンス情報付イメージ DL 制御

- Global Cluster 改良- Erasure Code 機能のプラグイン I/F- S3 互換 API M/W ( Swift3) 機能拡

充- Slogging 機能拡充- Swift 向け Tempest の改良- Swift の堅牢性計算ツール

- 利用可能な仮想資源にネットワークゲートウェイを追加するための拡張

- Hadoop 連携の機能拡充

- 全データソースへのPolicy Enforcement 対応

- 非 JSON 形式のデータソース情報の対応

- Push 型のデータソースドライバ対応

NTT の貢献領域

- Taskflow 実装- Sheepdog 接続プラグイ

CINDERBlock Storage

GLANCEImage

- Log Request ID mappingCross Project

- シグナル送付よる設定再読み込み機能- 複数ファイルシステム対応ストア

- 性能向上のためのデータモデル改善

Copyright©2017 NTT corp. All Rights Reserved.

Page 13: OSSコミッタの生活とその必要性

13Copyright©2017 NTT corp. All Rights Reserved.

• コミュニティ版のコードと全く同じものを使うプロダクトファーストからコミュニティファーストへ

• 純粋に OSS への貢献活動を増やし、コミュニティの一員となることを目指す露崎の Swift コアメンバー入り、室井の Congressコアメンバー入り、市原の Neutron コアメンバー入り

• デベロッパとしてだけではなくオペレータとしても参加Ops Meetup へ参加、サミットのスポンサー枠獲得、OpenStack User Award 受賞

現在のコミュニティ活動

Superuser Awards 2015OpenStack Summit Tokyo

Page 14: OSSコミッタの生活とその必要性

14Copyright©2017 NTT corp. All Rights Reserved.

コミュニティファーストなサービスを提供するためのコミュニティ活動

Q. コミュニティ活動がなぜ必要か?

Page 15: OSSコミッタの生活とその必要性

15Copyright©2017 NTT corp. All Rights Reserved.

なぜ Core Reviewerになる必要があるのか?

Page 16: OSSコミッタの生活とその必要性

16Copyright©2017 NTT corp. All Rights Reserved.

よくある例 開発者失踪

開発者 A

機能 A が必要!この機能を入れ

て欲しい!Core Reviewer

うん、良さそうOK!

〜時は流れて〜

開発者 B

機能 A よりも機能 B のほうがもっと良い

Core Reviewer

うーん、違いがよくわからない

開発者 C

機能 A は重大なバグがある!

このバグ修正は機能 A 自体を壊すことになるかも…

開発者 A はどこへ行ったんだ…?

Page 17: OSSコミッタの生活とその必要性

17Copyright©2017 NTT corp. All Rights Reserved.

よくある例 こいつ誰?

開発者 Z

新機能提案したい!

Core Reviewer

誰?初心者?

この機能も提案!

どんどんパッチ投げ

るよ!

すごくネイティブな部分に触るパッチだけど副作用考慮してるのか?

そもそもこのプロジェクトのこと本当に理解してる?

別の Core Reviewer

新機能提案するわ

LGTM!

Page 18: OSSコミッタの生活とその必要性

18Copyright©2017 NTT corp. All Rights Reserved.

よくある例 プロジェクト過疎

Core Reviewer

新しい API を作るぜ!

開発者

賛成!

利用者

賛成!

〜時は流れて〜

Core Reviewer?開発者

意見を投げても返信がない…

利用者

全然進まないからプロプラでパッチ書いて運用始

めたさよなら

パッチへのレビューが全くない…

Page 19: OSSコミッタの生活とその必要性

19Copyright©2017 NTT corp. All Rights Reserved.

よくある例 プロジェクト過疎

Core Reviewer

新しい API を作るぜ!

開発者

賛成!

開発者

賛成!

〜さらに時は流れて〜

Core Reviewer?開発者 ?

利用者 ?

そして、誰もいなくなった

Page 20: OSSコミッタの生活とその必要性

20Copyright©2017 NTT corp. All Rights Reserved.

Neutron Advanced Services 軌跡

VPN

ロードバランサ

ファイアウォール

Neutron

2013

neutron-vpnaasneutron-fwaas

neutron-lbaas

2015

2017

neutron-vpnaasneutron-fwaas

v2

Octavia

Page 21: OSSコミッタの生活とその必要性

21Copyright©2017 NTT corp. All Rights Reserved.

Neutron Advanced Services 軌跡

VPN

ロードバランサ

ファイアウォール

Neuron

2013

neutron-vpnaasneutron-fwaas

neutron-lbaas

2015

2017

neutron-vpnaasneutron-fwaas

v2

Octavia

Dev-ML: http://lists.openstack.org/pipermail/openstack-dev/2016-November/107384.htmlneutron-vpnaas core: https://review.openstack.org/#/admin/groups/502,members

Page 22: OSSコミッタの生活とその必要性

22Copyright©2017 NTT corp. All Rights Reserved.

コミュニティの信頼を得るため&プロジェクト自体の成長を止めないため

Q. なぜ Core Reviewer になる必要があるのか?

Page 23: OSSコミッタの生活とその必要性

23Copyright©2017 NTT corp. All Rights Reserved.

Core Reviewer の仕事って何?

Page 24: OSSコミッタの生活とその必要性

24Copyright©2017 NTT corp. All Rights Reserved.

コミュニティ活動例 パッチ投稿

開発者 利用者

バグ報告新機能提案 Launchpa

d

開発者

担当者決定

Gerritパッチ・ spec の提案

Core Reviewer

レビュー

Github

ソースコードへの取り込み

開発者 利用者

開発者 利用者承認

コメント

利用者

ソースコードを取得して利用

報告・提案フェーズ

開発フェーズ

利用フェーズ

進捗管理

Page 25: OSSコミッタの生活とその必要性

25Copyright©2017 NTT corp. All Rights Reserved.

コミュニティ活動例 ML

Page 26: OSSコミッタの生活とその必要性

26Copyright©2017 NTT corp. All Rights Reserved.

コミュニティ活動例 IRC channel

http://eavesdrop.openstack.org/irclogs/%23openstack-neutron/%23openstack-neutron.2015-06-22.log.html

Page 27: OSSコミッタの生活とその必要性

27Copyright©2017 NTT corp. All Rights Reserved.

コミュニティ活動例 Meeting

ミーティング開始の hi 合戦

要望は積極的に伝える

Page 28: OSSコミッタの生活とその必要性

28Copyright©2017 NTT corp. All Rights Reserved.

コミュニティ活動例 Launchpad

Page 29: OSSコミッタの生活とその必要性

29Copyright©2017 NTT corp. All Rights Reserved.

コミュニティ活動例 Gerrit

Page 30: OSSコミッタの生活とその必要性

30Copyright©2017 NTT corp. All Rights Reserved.

その他の仕事

プロジェクトの運営に関わる大きなトピックの議論

プロジェクト内のチームをリードコミュニティの CI の監視と修正

Page 31: OSSコミッタの生活とその必要性

31Copyright©2017 NTT corp. All Rights Reserved.

プロジェクトを成長させ、維持する仕事

Q. Core Reviewer のお仕事って何?

Page 32: OSSコミッタの生活とその必要性

32Copyright©2017 NTT corp. All Rights Reserved.

Core Reviewer にどうやればなれるのか?

Page 33: OSSコミッタの生活とその必要性

33Copyright©2017 NTT corp. All Rights Reserved.

0 20 40 60 80 100

120

140

160

180

200

220

240

260

280

300

320

340

360

0

200

400

600

800

1000

1200

XXX

何のグラフでしょう?

days

Page 34: OSSコミッタの生活とその必要性

34Copyright©2017 NTT corp. All Rights Reserved.

0 20 40 60 80 100

120

140

160

180

200

220

240

260

280

300

320

340

360

0

200

400

600

800

1000

1200

レビュー数

年間レビュー数推移

days

Page 35: OSSコミッタの生活とその必要性

35Copyright©2017 NTT corp. All Rights Reserved.

• パッチレビュー 1087件 / 年•修正パッチ提案数 56件 / 年• 新機能提供 4件 / 年• その他のボランティア

• バグのトリアージ• IRC や ML への質問の回答• Meetup幹事

Neutron Core Reviewer の指標

Neutron Tokyo Meetup の様子

Neutron レビュー数ランキング (16/04/18)

Page 36: OSSコミッタの生活とその必要性

36Copyright©2017 NTT corp. All Rights Reserved.

• 自分が Core Reviewer になったつもりでレビューする

• 自分が見落としたらバグがプロジェクトに混入してしまうという意識を持つ

• 自分が +1 したパッチが新たなバグを生んでしまったら、自分の責任として、そのバグの修正やレビューも行う

• 他のプロジェクトへの影響まで考慮してレビューする• -1 を付けたパッチの投稿者から激しい反論があっても日和ら

ない。 -1 を付けたまま、自分の意見をきっちりと伝える

•量よりも質を重視

パッチのレビュー

・・・

・・・

・・・

レビュー数に対するプラス

の割合

Page 37: OSSコミッタの生活とその必要性

37Copyright©2017 NTT corp. All Rights Reserved.

•会社のユースケースやコーナーケースではなくコミュニティにとって重要なバグパッチや新機能を提案する

• Core からのレビューは待つのではなく催促する

パッチ投稿&新機能提案

Neutronコーナーケース

会社のユースケース

コミュニティユースケース

ど真ん中を狙え

Core Reviewer開発者

ping on IRCping on ML

ping on Gerritping with face to face

Page 38: OSSコミッタの生活とその必要性

38Copyright©2017 NTT corp. All Rights Reserved.

良質なレビュー&重要なパッチの投稿&ボランティア

Q. Core Reviewer にどうやればなれるのか?

Page 39: OSSコミッタの生活とその必要性

39Copyright©2017 NTT corp. All Rights Reserved.

業務でCore Reviewer のお仕事をする際の壁?

Page 40: OSSコミッタの生活とその必要性

40Copyright©2017 NTT corp. All Rights Reserved.

• Core Reviewer への道は長く険しい道程• いつ・誰が Core Reviewer になれるのか基準はない• 会社として必要としている物よりもプロジェクトとして必要と

している物を優先しなければいけない

上司の説得

コミュニティ活動の必要性や細かい進捗報告が重要

上司

優秀なエンジニアの稼働をすべて取られるのはきつい

コミュニティ活動がうまくいってるのかよくわからな

い 本当にCore Reviewer

を目指す必要ある?

Page 41: OSSコミッタの生活とその必要性

41Copyright©2017 NTT corp. All Rights Reserved.

上司の説得道具

コミュニティ活動の必要性

細かい進捗報告が重要

半期単位 週単位

計画書

Page 42: OSSコミッタの生活とその必要性

42Copyright©2017 NTT corp. All Rights Reserved.

上司の説得道具

コミュニティ活動の必要性

細かい進捗報告が重要

半期単位 週単位

計画書

Page 43: OSSコミッタの生活とその必要性

43Copyright©2017 NTT corp. All Rights Reserved.

業務時間と OSS 活動時間

日本の業務時間

裁量労働

在宅勤務

深夜勤務

Page 44: OSSコミッタの生活とその必要性

44Copyright©2017 NTT corp. All Rights Reserved.

上司の説得と進捗報告&柔軟な勤務制度の活用

Q. 業務で Core Reviewer のお仕事をする際の壁?

Page 45: OSSコミッタの生活とその必要性

45Copyright©2017 NTT corp. All Rights Reserved.

Core Reviewer の生活はどんな感じ?

Page 46: OSSコミッタの生活とその必要性

46Copyright©2017 NTT corp. All Rights Reserved.

業務として OSS へコミット

90%

10%

業務割合

OSS 活動 一般業務

80%

10%

10%

OSS 活動割合

レビュー パッチ作成 その他

OSS 活動のほとんどはパッチのレビュー

Page 47: OSSコミッタの生活とその必要性

47Copyright©2017 NTT corp. All Rights Reserved.

月曜日 火曜日 水曜日 木曜日 金曜日

在宅勤務と MTG 最小化

在宅勤務 在宅勤務

MTG

MTG

Page 48: OSSコミッタの生活とその必要性

48Copyright©2017 NTT corp. All Rights Reserved.

作業環境

家の様子

会社デスクの様子

Page 49: OSSコミッタの生活とその必要性

49Copyright©2017 NTT corp. All Rights Reserved.

業務の 90% は OSS 活動&自分に最適な環境で作業

Q. Core Reviewer の生活どんな感じ?