
ケビン・マのイラスト
「オープンソースのFacebookプロジェクトについて知っていますか?」
この質問は、Facebookのオープンソースプログラムの元ディレクターであるJames Pearceのエンジニアによって尋ねられました。 彼は彼らが会社に来た理由を研究しました。 O'Reillyのオープンソースコンベンションでの彼のプレゼンテーションによると、Facebookエンジニアの3分の2が入社前にこのプログラムを知っており、 半数は「Facebookで働くという決定にプラスの影響を与えた」と述べました。
Facebookは一人ではありません。 会社の規模に関係なく、オープンソースは最高のエンジニアを引き付ける最良の方法の1つです。 私たちは、歴史を通じてAngelListで30の主要なアメリカのテクノロジースタートアップを(欠員の申請数で)分析し、その半数以上がオープンソースプロジェクトをホストしていることがわかりました。

オープンソースを適切に使用してエンジニアを引き付けることは、完全な芸術です。 GitHubでリポジトリを公開するだけでは十分ではありません。 採用のメリットを得るには、マーケティング担当者として各オープンソースプロジェクトにアプローチする必要があります。
1.読み取り可能なコードを書く
コードを開くポイントは、開発者がそれを研究し、おそらく貢献することです。 これを行うには、コードをできるだけ明確に記述する必要があります。 意味:
- 可能な限り単純なリファクタリングの可能性
- 名前、インデントなどのスタイル規則に従います。
- 個人情報を環境変数に置き換える
- 個々のフラグメントにコメントする
Reactで(Trelloスタイルの)ドラッグアンドドロップインターフェイスを作成するためのreact-beautiful-dndツールは、よく書かれたオープンソースソフトウェアの良い例です。
プロジェクト構造はモジュール式であり、コードは明確であり、慎重にコメント化されています。

ソースを開くときは、読者がコードベースの残りの部分をまったく見ないように各ファイルにアプローチします。 上記の例は簡単なエクスポートを示していますが、コメントは各関数を説明し、コード内では一貫したスタイルと値を正確に反映するプロパティ名を話します。
その結果、リポジトリにはGitHubに10,000以上の星があり、多数の参加者からのコミットがあります。 結論は簡単です。サードパーティの開発者がコードを理解しやすいほど、貢献しやすくなります。
2.効果的なドキュメントを書く
ドキュメントは広告ブックレットです。 プロジェクトに参加する価値があることをエンジニアに一目で納得させる必要があります。 これを行うには、次のものが必要です。
- プロジェクトの価値を定式化する
- 寄稿者に質問がないように、すべての側面とプロセスを説明する
- 技術仕様、依存関係、およびライセンスを一覧表示する
- 特殊なケースの参考資料への簡単なアクセスを提供する
「特定のクエリポイントに近いポイントを空間で検索する」ライブラリであるSpotifyのAnnoy (Oh Yeahに最も近い)プロジェクトは、非常に優れたドキュメントの例です。 READMEファイルは、ライブラリー、環境のセットアップ方法を示し、コード例を含み、依存関係をリストし、ソフトウェアのロジックを掘り下げます。
また、Annoyの速度を他の最も近い近隣のライブラリと比較します。

1ページのドキュメントで、開発者がこのプロジェクトに参加するかどうかを決定するために必要なすべての情報を提供します。
3.リポジトリを製品として宣伝する
2018年には、GitHubで毎日82,000以上のリポジトリが公開されました。 他の何百万人ものプロジェクトをハイライトするには、努力と戦略が必要です。 これは、実際の製品の発売とそれほど変わりません。 新しいリポジトリを昇格させるには、次のオプションを検討してください。
- 人気サイト:Hacker News、Reddit、Tech Ladder
- 関連コミュニティ:Product Hunt、Gitter、Dev.to
- すでに視聴者がいるチャンネル:メーリングリスト、ソーシャルネットワークなど
あなたは創造的であり、他のマーケティング戦術を適用できます。 たとえば、 Hack4Impactチーム(他の非営利組織向けのソフトウェアを作成する非営利組織)は、学生が新しいライブラリを使用できるように、地元の大学でトレーニングワークショップを実施しました。 そのため、リポジトリはすぐにフォークとスターになりました。
企業が狭い専門分野の開発者に興味がある場合、プロモーションはさらに重要です。 スタートアップWallaroo Labsは 、顧客が大規模なデータアプリケーションを展開するのに役立ち、Ponyと呼ばれるかなり奇妙な言語のコードベースを持っています。 過去2年間にコード全体を開いたとき、同社は積極的にリポジトリを宣伝し、ブログで記事を書き、インタビューを配布し、会議でPonyでコードベース全体を構築する方法について話しました。
Wallaroo開発ディレクターのSean Allen氏は、キャンペーンは効果的であると述べました。「私たちにインタビューした人の多くは、ポニーのために働きたいと思っていた人たちです。アクセス。」
リポジトリが製品であり、エンジニアがターゲットユーザーであることを想像してください。
最高のエンジニアがオープンソースを支持する理由
Artsyのテクニカルディレクター、ダニエルドゥブロブキンは次のように述べています。 彼は、「個人の技術ブランドは、個々の開発者にとって非常に重要になっている」と説明しています。 今日のエンジニアは、スキルを隠すのではなく、オープンに自分のスキルを実証したいと考えています。 彼らはオープンソフトウェアを使用したいと考えています。
このため、Dubrovkinは開発チームがデフォルトでオープンソースを使用することを決定しました。このような標準的なアプローチを放棄するために、エンジニアはこのコードを公開しないビジネス上の理由を明確に説明する必要があります。 その結果、現在、Artsyのほとんどの資料はパブリックドメインになっています( 採用資料でも)。 「最高の企業は、独自のパーソナルブランドを構築したい個々の開発者の希望に従ってビジネス要件を変更しています」と彼は言いました。
Dubrovkinの採用部門は、Artsyのエンジニアがマーケティングの利点として、コードを名前で公開する必要があるという事実を利用しており、この利点は会社だけに当てはまるわけではありません。
「賢い人は他の賢い人と話すのが大好きです」とGitHubの共同設立者であるTom Preston-Werner は書いています。 -スマートな開発者は、スマートなコードを扱うことが大好きです。 質の高いソースを発見することで、才能を惹きつけます。」