コントリビュータープログラムの統一と成長プラン
ゴール
GitLab の成長に伴い、より広範な GitLab コミュニティを巻き込み、認識するために、いくつかのチームがさまざまなプログラムやイニシアチブを開発してきました。これには GitLab Heroes、Core team、MVP、Contributors などのプログラムが含まれます。GitLab の成功に欠かせないより広範なコミュニティのコントリビューションをより適切に認識する単一の統一されたコントリビュータープログラムを作るために、これらすべてのプログラムの側面を組み合わせることを提案します。
GitLab の Developer Relations チームの一部としてコントリビュータープログラムを統合することで、要件、認識、インセンティブ、報酬を整合させ、コミュニティプログラムにより一貫した戦略的なアプローチを取る機会が生まれました。これにより、GitLab のコントリビューターやエバンジェリストのよりダイナミックでエンゲージメントの高いコミュニティを育成できるようになります。そのために、私たちは次のことを計画しています:
- 既存のイニシアチブを、明確な要件と特典を備えた単一のコントリビュータープログラムに統合する
- チームが開発した新しい achievements 機能(https://gitlab.com/groups/gitlab-org/-/epics/9429)を活用して、コミュニティ認識を確保する(目標の一つは、少なくとも 150 人のコントリビューターに achievements を授与すること)
- プロダクト/エンジニアリングと連携して、コミュニティの主要メンバーとのエンゲージメントへのプログラム的アプローチを推進する
既存のイニシアチブを明確な要件と特典を備えた単一のプログラムに統合する作業の、次のフェーズを提案します:
- 非コードコントリビューションを含むアクティビティ価値を測定するための一貫した方法を確立する
- メンバーの GitLab に対する価値(プロダクトマーケティングを含む)に基づく報酬およびインセンティブプランを決定する
- より広範なコミュニティの多様性とインクルージョンを向上させる
- 認識のギャップに対処する
- 公開ミートアップを成長させる
- 過去の価値ではなく、最近のコントリビューションを促進することで、繰り返しコントリビュートする人を増やす
現在の状況
Developer Relations は現在、5 つのプログラムの監督を担当しており、それぞれに独自のゴール、コントリビューターがそのゴールを達成するよう奨励する手段、ゴール達成のための認識と報酬の形があります。
| プログラム名 | ゴール | 特典と報酬 | ハンドブックページ |
|---|---|---|---|
| Heroes | 講演、デモ、トーク、ブログ執筆などによって GitLab を伝道する | GitLab イベントへの招待、Ultimate ライセンス、スワッグ | https://handbook.gitlab.com/handbook/marketing/developer-relations/evangelist-program/#gitlab-heroes |
| Meetup Organizers | ミートアップオーガナイザーをサポートし、GitLab を伝道し、GitLab Heroes が話す場を持てるようにする | ミートアップ費用、スワッグ | https://handbook.gitlab.com/handbook/marketing/developer-relations/evangelist-program/#meetups |
| Code Contributors Hackathon、MVP、1st MR Merged コードコントリビューター | デュアルフライホイールを加速するため、当社の会社戦略で説明されているコードコントリビューターの数をサポート・成長させる | スワッグ | https://handbook.gitlab.com/handbook/marketing/developer-relations/engineering/ |
| Leading Organizations | GitLab Leading Organization プログラムは、当社の最も活発なコントリビューターである組織や個人を認識・奨励することで、このミッションをサポートする | 100K ARR 超の組織向けコンサルタントコントリビューター、レビュー時間の SLO、法的アドバイス、達成証明書 | https://handbook.gitlab.com/handbook/marketing/developer-relations/leading-organizations/ |
| Core Team | コアチームのミッションは、より広範な GitLab コミュニティのスチュワードとして機能し、GitLab がそのミッションと価値観に沿って生きることを支援することである | 限定的な Slack アクセス、gitlab-org での Developer ロール、チームページへの掲載、Ultimate ライセンス、JetBrains ライセンス、GitLab イベント参加スポンサーシップ、スワッグ | https://about.gitlab.com/community/core-team/ |
ギャップ
現在のプログラム構成では、コミュニティメンバーが非コードコントリビューションを認識・報酬を受けるための明確で予測可能な経路が提供されていません。そのようなコントリビューションには、次のようなものがあります:
- コードレビュー
- 既存のマージリクエストでのコラボレーション
- ソーシャルメディアでの GitLab の伝道
- フォーラムモデレーションの支援
- イベントでのボランティア
- バグのトリアージとより広いコミュニティ(GitLab チームメンバーを含む)への対応・連携
- Issue のレビュー
- 古い Issue の検証
このようなコントリビューションを認識することは、バランスの取れたエンゲージメントの高いコミュニティを構築するために重要です。Klint Finley が述べているように:
非コードコントリビューターを称え、感謝することも極めて重要です。これは現在のコントリビューターのモチベーション維持に役立つだけでなく、新しいコントリビューターを引き付けるのにも役立ちます。
これらのコントリビューションを促進することは、より回復力があり革新的なプロジェクトとコミュニティを構築するためにも重要です。John E. Picozzi が書いているように:
例えば、マーケティング担当者は開発者とは異なる経験や視点を持つでしょう。すべての取り組みは何らかの形でオープンソースを前進させます。だからこそ、非コードコントリビューションは不可欠なのです。
率直に言って、これらの活動がなければ、私たちは活気あるコミュニティを持つことができません。しかし現在、コミュニティ活動を測定し、その活動をスコア化し、単一のソースから追跡する明確な方法がありません。
もう 1 つの重要なギャップは、コントリビューターコミュニティ内に明示的なダイバーシティ・インクルージョンインセンティブが欠けていることです。私たちはコミュニティの多様性を高め、過小評価されているグループからトップコントリビューターを引き付け維持し、安全でインクルーシブなコミュニティを促進するためのアイデアを実験し開発する必要があります。
フェーズ 1: 非コードを含むアクティビティ価値を測定するための一貫した方法を確立する
私たちは、コードコントリビュータープログラム、GitLab Heroes、Meetups などの精神を維持しながら、それらに関する独自のプロセスを排除し、それらを単一のプログラムに統合することを目指します。さらに、非コードコントリビューションを認識するためのサポートを追加します。
これらのアクティビティをどう測定するか?
- マージリクエスト
- 作成者
- コメント
- Git コミット
- レビュー
- Issue
- 作成者
- コメント
戦術: コンテストと賞
コンテストは、アウトリーチをスケールしコントリビューションの量を増やす方法として使用されます。賞は、コントリビューションの認識される価値を高めるために使用されます。
賞: Contributors of the month
- MVP プログラムを置き換える
- あらゆるアクティビティを含み、現在の MVP と同様の方法で選出される
- 正当な理由があれば 1 人以上を表彰することも可能で、単一のコントリビューターに限定されない
- 過去に GitLab Hero の活動とみなしていたものを明示的に含めることができる(コードコントリビューターだけでなく)
コンテスト: Hackathon
- 四半期に 1 回
コンテスト: Backlog Cleansweep
- 既存のバックログ Issue のトリアージと検証に焦点を当てる
コントリビューションポイント
- スコープ: https://gitlab.com/gitlab-com、https://gitlab.com/gitlab-org、https://gitlab.com/gitlab-community、https://gitlab.com/components
- 価値: このイテレーションでは、マージされたコードコントリビューションが他のアクティビティよりも重く扱われ、行動に対するバイアスを促し、イノベーションを加速する
- 頻度: ソーシャルメディアでの注目やその他の重要なアクティビティなど、追加の認識に値すると思う人には、毎月追加のクレジットを割り当てることができる
- Merge request created: 20
- Commit merged: 20
- Merge request merged: 60(リンクされた Issue がある場合は 30 ボーナスポイント追加)
- Issue created: 5
- Issue/merge request comment: 1
コントリビューターレベル
注: ポイント、レベル、ステータスは変更される可能性があります。
| コントリビューターレベル | 要件 | 特典と報酬 |
|---|---|---|
| Level 1 | 25 コントリビューションポイント | プロフィールへの achievement、Contributor Success ストアの 5 クレジット |
| Level 2 | 500 コントリビューションポイント | プロフィールへの achievement、Contributor Success ストアの 50 クレジット |
| Level 3 | 2500 コントリビューションポイント | プロフィールへの achievement、Contributor Success ストアの 150 クレジット |
| Level 4 | 7500+ コントリビューションポイント | プロフィールへの achievement、Contributor Success ストアの 300 クレジット、個人使用のための GitLab Ultimate ライセンス 1 つ |
| Core | 承認後(選挙プロセス) | プロフィールへの achievement、Contributor Success ストアの 300 クレジット、個人使用のための GitLab Ultimate ライセンス 1 つ、Slack アクセス(NDA への署名が必要)、GitLab プロジェクトの Developer 権限 |
| コントリビューター achievements | 要件 | 特典と報酬 |
|---|---|---|
| Contributor of the month (MVP) | GitLab チームメンバーによる選出 | プロフィールへの achievement、Contributor Success ストアの 150 クレジット |
| Contributor of the quarter (MVP) | GitLab チームメンバーによる選出 | プロフィールへの achievement、Contributor Success ストアの 150 クレジット |
| Hackathon 1st place | Hackathon での 1 位 | プロフィールへの achievement、Contributor Success ストアの 200 クレジット |
| Hackathon 2nd place | Hackathon での 2 位 | プロフィールへの achievement、Contributor Success ストアの 150 クレジット |
| Hackathon 3rd place | Hackathon での 3 位 | プロフィールへの achievement、Contributor Success ストアの 100 クレジット |
| Hackathon participant | 少なくとも 1 つの Hackathon マージリクエストがマージされる | Contributor Success ストアの 50 クレジット |
| Bugsmash 1st place | Bugsmash での 1 位 | プロフィールへの achievement、Contributor Success ストアの 150 クレジット |
| Bugsmash 2nd place | Bugsmash での 2 位 | プロフィールへの achievement、Contributor Success ストアの 100 クレジット |
| Bugsmash participant | 少なくとも 1 つのバグを叩く | Contributor Success ストアの 50 クレジット |
アクティビティ別の例
コミュニティメンバーが、自分の地域で他のボランティアとミートアップを組織することを決定し、この行動を追跡する Issue を作成する。
- 各スピーカーは 1 ポイントを獲得
- 各オーガナイザーは 1 ポイントを獲得
MR がマージされた開発者
- Issue がクローズ
- その Issue にコメントしたか、割り当てられたすべての参加者に Issue がクレジットされ、各参加者に 1 ポイントがクレジットされる
- マージリクエストがマージ
- その Issue にコメントしたか、割り当てられたすべてのコンテンツ参加者にマージされたマージリクエストがクレジットされる
- すべてのコード参加者にマージされたマージリクエストがクレジットされ、各参加者に 5 コントリビューションポイントがクレジットされる
- Issue がクローズ
コミュニティメンバーがバグを検証
- Issue が
Issue Validation::<FY*Q*>としてラベル付けされる- Issue にコメントして、何を検証したかを説明し、ラベル適用をリクエストした参加者に検証がクレジットされる
- Issue が
ブログ記事の執筆
- ブログ記事への参照と共に Issue が作成・クローズ
- その Issue にコメントしたか、割り当てられたすべての参加者に Issue がクレジットされ、各参加者に 1 ポイントがクレジットされる
- マージリクエストがマージ
- その Issue にコメントしたか、割り当てられたすべてのコンテンツ参加者にマージされたマージリクエストがクレジットされ、各参加者に 2 コントリビューションポイントがクレジットされる
- すべてのコード参加者にマージされたマージリクエストがクレジットされ、各参加者に 5 コントリビューションポイントがクレジットされる
- ブログ記事への参照と共に Issue が作成・クローズ
コントリビュートする組織を認識する
組織のコントリビューションは、GitLab ユーザープロフィールで設定された組織別にグループ化されたユーザーコントリビューションの合計として計算されます。
フェーズ 2: メンバーの GitLab に対する価値(プロダクトマーケティングを含む)に基づく報酬とインセンティブ
総合的なコミュニティを見るとき、私たちは GitLab.com で発生するコントリビューションと組み合わせて、口コミを広げ、私たちの目的を促進する人々(旧 GitLab Heroes と Meetups プログラム)を称えたいと思います。オフラインとオンラインのコントリビューションを単一のプログラムに統合することは難しいですが必要です。
「MVP」やその他の表彰式と同様に、私たちは月単位でコミュニティ参加で並外れた働きをしたより広範なコミュニティメンバーを選出します。これは大規模イベントのスピーカーから、フォーラムでのモデレーター、その他の活動まで含まれます。GitLab を肯定的に語り、伝道する人で、リーチが大きい個人は、表彰され認識されるべきです。これは(旧)GitLab Heroes プログラムに匹敵するものです。時間の経過とともに、可能な場合は自動化を目指すべきです。
このデータをレビューするポータルは Common Room です。レビューされる可能性のあるアクティビティには、次のようなものがあります(ただしこれらに限定されません):
- フォーラムアクティビティ
- Discord アクティビティ
- Twitter アクティビティ
- その他のチャンネル
例
- ユーザーが GitLab について広範にツイートし、2000 人のフォロワーがいる
- 手動レビューの後、GitLab はこのユーザーに 10 コントリビューションポイントを授与した
フェーズ 3: ドラフト - より広範なコミュニティの多様性とインクルージョンを向上させる
このフェーズの繊細な性質を考慮し、私たちは https://gitlab.com/gitlab-org/community-relations/contributor-success/team-task/-/issues/248 で複数の角度からこれらのアイデアに関するフィードバックを求めています
フェーズ 4: 認識のギャップに対処する
賞: Organization of the month
- contributor of the month に追加
- スワッグが付与される
- その組織に紐付くすべてのユーザーのアクティビティを含み、組み合わせる
- GitLab に公にコントリビュートする GitLab パートナーや顧客をハイライトする
賞: “The Sid Sijbrandij award” - 年次
- 限られた数人だけが保持できる非常に特別なタイトル。GitLab の価値観を守りつつ、並外れた働きをすることに重点を置いている
- Sid に 5 人のコントリビューターと彼らが達成したものの短いリストが提示される
- 受賞者は、Sid からのユニークなメッセージ、ソーシャルメッセージ、スワッグ、および賞像を受け取る
フェーズ 5: ドラフト - 公開ミートアップを成長させる
20 人を超える参加者がいる公開イベントを開催するか、GitLab に関するイベントで講演するより広範なコミュニティメンバーは、自分の場所にスワッグを送ってもらうことをリクエストできます。事前にパッケージをコンパイルし、現在スワッグを発送するのと同じ自動化された方法(クーポン)でこれらを発送します。過去にはこれは手動の対応が必要で、かなり遅かったです。これを合理化し、公開集会のための 2 段階の階層を提供することで、これらのリクエストの処理時間を大幅に節約できるはずです。
- Tier 20(0-20 人) - 250 ドル相当
- Tier 40(20 人以上) - 500 ドル相当
このフェーズは、ミートアップが依然としてグラスルーツ運動を成長させる好ましい方法であるかを、さらに議論し検証する必要があります。
フェーズ 6: ドラフト - 最近のコントリビューションを促進することで、繰り返しコントリビュートする人を増やす
コントリビューターがポイントを蓄積し始めると、過去の価値ではなく、アクティブで最近の行動を報奨する必要があります。ユーザープロフィール上で、過去 3 つの完全な月に関連する人物の現在のスコアを見ることができるべきです。総合的な履歴を表示する別のセクションも存在するべきです。
オープンな質問または更なるイテレーション
- このポイントシステムを使用し、組織がユーザーを組み合わせてより簡単に「レベルアップ」できるようにする
- 公開組織ランキングを導入し始めることができる。https://www.drupalcontributions.org/ と同様に、ユーザーと組織のリーダーボードを構築できる
- 私たちはそれを実行することがブロックされており、進めるためには https://gitlab.com/gitlab-org/gitlab/-/issues/368130 を解決する必要がある
- コントリビューターへの組織サポートを認識することは重要
- コントリビュートするパートナーを認識し始めるべき
- これらのパートナーや顧客に特典を提供する
- Honora Duncan と話したところ、彼女はそのような可能性に非常に興奮していた
- https://www.drupal.org/drupal-services の例(コントリビューションカウントが公に表示される)と同様に、より多くコントリビュートする人を優遇すべき
- システムは、特定の月に特定のプロジェクトに有利になるように調整でき、AI 実験、Terraform、GitLab CLI などの特定の領域に焦点を移し、コントリビューションを自動的にスライス・ダイスし、これらの領域により多くのまたはより少ない報酬を渡すことができる
- 「コードコントリビューション」と「非コードコントリビューション」の比率を 1:2 にしたいか?
- 過去に他のものに対してコードコントリビューションを常に優遇し、測定してきたことを考えると、その点から始めて学ぶのが妥当だと思う
- 最初から両方を平等に設定するのはむしろリスキーで、その影響がわからない
- コードコントリビューションは定義上ポジティブで、コメントやその他のアクティビティから評価するのは難しい
