|
オープンソースへの貢献を始めたばかりの人は、初心者向けのバグや問題から始めるのが最適です。しかし、バグを修正する前に、それらの問題を特定できなければなりません。オープンソースプロジェクトのメンバーとして、新規参加者がプロジェクトに貢献する方法を見つけるのを支援するためにできることはたくさんあります。 そのため、AnitaB.org オープンソースコミュニティは、初心者にとって使いやすいコミュニティの構築を最優先に考えています。私たちは、経験やスキルレベルが異なる貢献者が参加できるよう、また、その貢献がプログラミング関連のトピックに限定されないよう、包括性を重視しています。 先日、オープンソースのメンテナーのための1週間のイベント「Maintainer Week」の発足にあたり、Tideliftのイベント「Upstream 2021」でAnitaB.orgにおけるコミュニティ活動の一部を発表しました。イベントでは、私たちの戦略の3つの主要要素について説明しました。
どうやってコミュニケーションをとるのでしょうか?透明性はオープンソースにとって不可欠な要素であり、私たちはこの原則をコミュニケーション方法にも適用しています。具体的には、コミュニティミーティングはすべて公開で行われ、Zulipチャットの設定やドキュメントの提供方法にも影響を与えています。 公開会議誰でも私たちのミーティングに参加して、コミュニティに関連するトピックについて話し合うことができます。ディスカッションに参加することも、ただ聞くだけでも構いません。ミーティングの情報はコミュニティカレンダーで確認できます。これらの通話には、参加者がより安心して参加できるよう、通常ボイスチャットを使用しています。 プロジェクト中心のミーティングと、いくつかのカテゴリー別のミーティングを開催しています。これらのミーティングでは、様々な分野の人々が同じプロジェクトについて議論し、プロセスの改善に役立てています。また、オープンソースに関するあらゆる質問を誰でもできる「Ask Me Anything (AMA)」ミーティングも定期的に開催しています。 すべての会議は共有ドキュメントに記録され、要約とドキュメント リンクは Zulip プラットフォームで共有されます。 ZulipチャットオープンソースのZulipチャットプラットフォームは、コミュニティコミュニケーションの主なチャネルですが、GitHubのコメントセクションでも問題を議論したり、プルリクエスト(PR)を送信したりしています。透明性を最大限に高めるため、通常はプライベートメッセージは無効にしています。ただし、このルールにはいくつかの例外があり、管理者が稼働中のアプリケーションに関連するロジスティクスタスクのためにプライベートチャットを使用しています。このアプローチはより好評であり、パブリックチャットでの違反行為をより正確に把握できるようになります。 Zulipのチャットルームでは、会議の要点、アクションアイテム、ドキュメントなど、すべての会議の要約を共有しています。当たり前のことのように聞こえるかもしれませんが、多くのオープンソースプロジェクトが会議の議事録を提供していないことにいつも驚いています。そこでZulipは、会議に出席できなかった人にも情報を提供できるようにしています。 Zulipでは、プロジェクトのロードマップについて議論し、コミュニティからの質問や懸念に答え、様々な方法やシナリオでの貢献を積極的に奨励しています。時には、貢献者の功績を称えることもあります。例えば、テストやレビューのための最初のプルリクエストを取り上げたり、ボランティアによる素晴らしい取り組みを称賛したりします。 書類コミュニティメンバーが自分のペースと時間でコミュニティについて学べるよう、FAQなど、プロセスに関するオープンなドキュメントを維持するよう努めています。これは、お問い合わせいただく前に、私たちの活動内容や業務内容をご理解いただくためです。 プロジェクトとトピックプロジェクトと問題の管理に関しては、さまざまな方法で貢献を奨励し、初心者向けに特定の問題を作成し、プロジェクトのセットアップをシンプルにするよう努めています。 貢献できる複数の方法私たちは、ドキュメント作成、テスト、設計、アウトリーチなど、多様な貢献を必要とする課題の作成に努めています。これは、経験レベルや関心分野を問わず、誰もが貢献できるようにするためです。これはコミュニティの活性化に役立ち、メンバーが負担は少ないものの価値のあるタスクから段階的に貢献していくことができることが分かっています。 私たちが推奨する寄付の種類は次のとおりです。
初心者限定の質問一部のトピックには「初心者専用」というラベルを付けています。これらのトピックは、トピックリポジトリにまだ貢献していない方向けです。トピックにラベルを付けることで、Google Summer of Code (GSoC) の応募期間など、貢献者が急増した際に、オープンソースへの取り組みをスムーズに始めることができます。 場合によっては、貢献やプル リクエストの送信のプロセスに慣れるための「簡単な報酬」となることもあります。 シンプルなプロジェクト設定私たちは、プロジェクトにユーザーフレンドリーな設定を提供することを重視しています。最も活発なプロジェクトは設定が最も簡単であることが多いことに気づきました。馴染みのないプロジェクトへの貢献は大変な労力を要し、貢献体験の成功に大きな影響を与える可能性があることを理解しています。 私たちは、複数のオペレーティングシステムでプロジェクトを実行する方法についての説明を提供するよう努めています。以前は、Unix環境での実行に関する説明が別途記載されていたプロジェクトがあり、貢献者がWindowsでこれらのプロジェクトを実行する際に問題を抱えていることに気づきました。それ以来、Zulipでサポートを求める貢献者の混乱を避けるため、この手順を継続的に改善してきました。 貢献者からのフィードバックに基づき、最も活発なプロジェクトの一つであるmentorship-backendのreadmeを継続的に改善してきました。このプロジェクトに新しく参加した人が直面した困難の一つは、バックエンド機能からメールを送信できるようにするために、メールアカウント設定に関連する特定の環境変数を設定することでした。しかし、この機能はローカル開発では重要ではないため、メール設定をデフォルトでオプションにし、メールはユーザーに送信されるのではなく、ターミナルに表示されるようにしました。このアプローチにより、貢献者はこれらのメールを確認することができます。同様に、Postgresデータベースの追加設定を不要にするため、ローカル開発ではSQLiteデータベースをデフォルトにしました。ただし、デプロイメントバージョンではPostgresを使用します。 一部のコントリビューターが、bridge-in-tech-backend プロジェクトへのコントリビューションに困難を感じていることに気づきました。このプロジェクトは設定が複雑で、mentorship-backend プロジェクトよりもはるかに多くの手順を踏む必要があるためです。オープンソースプロジェクトでこの状況に気付いて以来、私たちはプロジェクト構造の改善策を検討してきました。 ほとんどのプロジェクトでは、ライブデモ版またはパッケージ版のアプリケーションも提供しています。これにより、コントリビューターは設定なしでプロジェクトをテストできます。これにより、開発環境に興味がない、または慣れていないコントリビューターでも、最新バージョンのアプリケーションを試用し、発見したバグを報告して貢献することができます。これらのアプリケーションへのリンクは、品質保証ガイドラインに記載されています。 オープンソースプロジェクト私たちはコミュニティ内で、Open Source Hacking (OSH) (1 か月間のプロジェクト) と Open Source Ambassadors (6 か月間のプロジェクト) という 2 つの主要なプログラムを組織しました。 オープンソースハッキング(OSH)このプログラムでは、ドキュメント、コーディング、アウトリーチ、テスト、デザイン(GoogleのCode-inコンペティションに類似)といった複数の貢献カテゴリーにわたってトピックを作成します。参加者は各カテゴリーに少なくとも1回は貢献でき、デジタル証明書を受け取ることができます。トピックには複数のカテゴリーを含めることができ、貢献はプルリクエストをマージすることなく有効です。 このプログラムでは、いくつかのプロジェクトを選定し、メンターにブレインストーミングと参加者向けのトピック作成を依頼しました。プロジェクト開始後、参加者はトピックを取得し、プロジェクトへの貢献を開始できます。メンターは、参加者のサポートと支援を提供し、貢献内容をレビューします。 このアプローチは貢献の多様性を奨励し、コーディング能力に関係なく、誰もがフレンドリーでエラーのない環境で貢献することを歓迎します。 オープンソースアンバサダーこのプログラムでは、コミュニティからアンバサダーを選出し、私たちが推進したいあらゆるタイプの貢献を網羅することを理想としています。このプログラムはこれまでに2回実施されています。 このプログラムの目的は、コミュニティの質問に答え、貢献者を支援し、指定したカテゴリを擁護することで、メンバーがプロジェクトや取り組みの管理を支援できるようにすることです。 最初のプログラムを開始した当初は、すべての応募者を受け入れました。コミュニティメンバーの関心を評価し、貢献したいと思っていても最初の一歩を踏み出すのに躊躇していた方々のために、システムを提供しました。 最初のプログラムは非常に啓発的でした。イベントには経験豊富なオープンソース貢献者やコミュニティメンバーだけでなく、経験の浅い新規参加者も参加していたため、プロジェクトの遂行には管理者による多大な事務作業が必要でした。コミュニティアンバサダーの中には、自信を持ち、次のステップに進む準備ができている人もいましたが、より多くのサポートを必要とする人もいました。2回目のプログラムでは規模を縮小し、コミュニティに既に精通していて、イニシアチブやプロジェクトを主導し、新規参加者のトレーニングを支援できる貢献者のみを受け入れることにしました。 2回目のプログラムはポジティブなフィードバックループを生み出しました。1回目のプログラムでは初めて参加したアンバサダーも、前回のプログラムでの経験を活かし、貢献することでプロジェクトをスムーズにリードすることができました。 このアプローチの変更により、管理者はアンバサダー チームのサポート、私たちの使命の普及、そしてコミュニティの新規参入者への対応の継続、そしてより多くの人々が貢献できるように指導することにさらに重点を置くことができます。 要約これらのプログラムは、オープンソースへの貢献と還元の様々な方法についての意識を高めるのに役立ちました。ボランティアの方々がプロジェクトの管理や公開ミーティングの開催を通してコミュニティの運営に貢献し、貢献者への指導に役立っていることが分かりました。 コントリビューターの皆様からは好意的な反応をいただき、初めてのコントリビューションをスムーズに進めることができましたが、まだ改善の余地は大きく残されています。コントリビューターの皆様の体験向上のため、プロジェクトの設定とコントリビューションガイドラインを継続的に改善していきます。また、組織が常に多様な課題を扱い、推進していくことを重視しています。そして、誰もが貢献できるインクルーシブな環境づくりに努めていきます。 |