WantedlyではOSSへの支援をはじめました【前編】- 事業成長を支えるOSSに支援する
Photo by Pacto Visual on Unsplash
はじめに
こんにちは、Orgnization Development Squadの髙橋です。
このたび、Wantedlyは「Wantedly OSS スポンサー制度」を整備し、OSSプロジェクトや開発者に対して支援を行う仕組みを整えました。本記事では、「Wantedly OSS スポンサー制度」の概要と、実際のスポンサー活動について前後編に分けてご紹介します。
なぜWantedlyがOSSの支援を行うのか
ITに携わっている方はご存知のとおり、現在のITシステムはWantedlyに限らず、多くのOSSに支えられています。一方で、提供されているOSSのほとんどは直接的な収益の機会を持っておらず、多くは開発者のボランティアに頼っているという側面があります。このような状況において、利便性を享受している企業側がOSS開発に対して積極的に支援し持続性をサポートするのは当然であると言えるでしょう。
また、有志によって開発・メンテナンスされているOSSを積極的に支援することは、Wantedlyのミッションである「シゴトでココロオドルひとをふやす」こととも合致しています。Wantedlyが積極的にOSSのスポンサーとなることで、日本のテックカンパニー全体がOSSに代表されるエンジニア文化に寄与する、その一翼を担うことができると考えています。
2種類のスポンサー制度
今回、WantedlyがOSSスポンサーとなるにあたり「Wantedlyらしい支援」といった観点から2種類の社内制度を整備しております。
WOS (Wantedly OSS Sponsor - 本記事にて説明する内容)
Wantedly OSS スポンサーは「Wantedlyの事業成長を支えているOSSに対して、OSSの持続発展性に寄与するために行う支援」と位置づけ、Wantedlyがシステムに採用しており事業継続に不可欠であるとされるOSSに対して、継続的な活動を支援することを目的としています。
WOCS (Wantedly OSS Community Sponsor)
こちらはWantedly色の強い制度となっており、「OSSコミュニティー全般の活性化の観点から、Wantedlyの直接的な事業貢献の関係になくとも、有用と思われるOSSに対して行う支援」と位置づけ、Wantedlyに所属する社員エンジニアが自らが支援対象を選択し、OSSに対するコミュニティ活動の一貫として支援を行うことを目的としています。
こちらの制度については別記事にてご説明させていただきます。
支援規模は、WOS・WOCS合わせて今期およそ$12,000を想定しております。
スポンサー対象OSSの選定方法
Wantedlyの開発組織は「Spotifyモデル」を採用しています。
今回スポンサー対象の選定には、専門領域毎にプロダクト横断で組織されているChapterのリーダーがそれぞれの技術領域から候補を出し、Architecture Squadのメンバーが中心となって選定しました。
Wantedlyの開発チームの構造についてはWantedly Engineering Handbookの説明をご覧ください。
WOS (Wantedly OSS Sponsor) 支援対象
WOS では、以下の8プロジェクトに対して支援することといたしました。
The Guild (GraphQL Code Generator / Envelop等のOSS提供元)
WantedlyのプロダクトではGraphQLを用いたBFFの導入を行っています。The GuildはGraphQL関連のOSSを多数手がけており、その中でもGraphQL Code GeneratorはWantedlyのWebフロントエンドアーキテクチャv4において GraphQL スキーマ・ドキュメントから型等を生成するのに利用しております。またGraphQLのプラグインシステムであるEnvelopは、将来的に全モバイルアプリ・Web フロントエンドから呼び出す GraphQL Gatewayにおいて、GraphQL Engine の実装に利用することを想定しております。
参考リンク: フロントエンドに型の秩序を与えるGraphQLとTypeScript
React Hook Form
React Hook Formは フォームのバリデーションを簡単に扱うことができるライブラリです。Wantedly の重要機能のフォームの状態管理に使用しています。
SWC
SWCはJavaScriptのコードを変換するツール (トランスパイラ) です。同じ用途のツールとしてBabelがよく知られていますが、BabelがJavaScriptで書かれているのに対してSWCはRustで書かれているためより高速に動作します。
参考リンク:
BabelプラグインをRust (SWC) に移植して、JavaScriptのコンパイルを爆速にする 〜基本編〜
BabelプラグインをRust (SWC) に移植して、JavaScriptのコンパイルを爆速にする 〜プラグイン作成編〜
SWCの設定ファイルをコミットできないのが間接的にVimのせいだった話
detekt
detektはKotlin用の静的コード分析ツールです。WantedlyではAndroidプラットフォームのアプリケーション開発、及びKotlin Multiplatformの実装において利用しています。
参考リンク: Wantedly VisitにおけるKotlin Multiplatformの導入と実装
Redux
ReduxはJavaScriptを用いたフロントエンド開発において、UIの状態管理を行うためのフレームワークです。2022年時点では状態管理フレームワークの利用においては様々な選択肢がありますが、現時点のWantedlyの事業継続には無くてなならないOSSです。
(支援は主要コントリビューターであるTim Dorr氏, Mark Erikson氏に行いました)
webpack
webpackはHTML、JavaScript、CSS、SVGや画像などのWebサイトを構成するファイルを1つにまとめるモジュールバンドラーです。WantedlyのWebフロントエンドアーキテクチャv2,v3において利用されています。
参考リンク: 2つのWebpack buildを1つに統合した話
Kingfisher
KingfisherはSwiftで利用できる画像キャッシュライブラリです。iOSアプリの開発者は馴染み深いライブラリではないでしょうか。
gem_rbs_collection
gem_rbs_collection は GemのRBS(Ruby 3.0 で導入された型記述言語)を管理するリポジトリとなります。
(支援は主要コントリビューターであるMasataka Pocke Kuwabara氏, Yuki Kurihara氏に行いました)
参考リンク: Ruby の型チェッカーの比較
おわりに
Wantedlyが新たに開始した「Wantedly OSS スポンサー制度」のうち、WOS(Wantedly OSS Sponsor)について、ご紹介いたしました。「Wantedly OSS スポンサー制度」のもう一つの制度であるWOCS(Wantedly OSS Community Sponsor)については WantedlyではOSSへの支援をはじめました【後編】- 社員が選ぶOSSに支援 にてご紹介いたします。
OSSやOSSコミュニティはソフトウェアエンジニアにとって非常に重要な文化の一つであり、また企業活動に欠かせない要素の一つでもあります。
Wanatedlyは、Wantedly自身のミッションである「シゴトでココロオドルひとをふやす」-仕事に夢中になって成果を上げ、成長実感を得続ける人をふやす-ことを通して、引き続きOSSコミュニティの発展に貢献を続けてまいります。
We are hiring!
実は、今回の制度設計から支援プロジェクトの選定までは、筆者が中途入社して1ヶ月という僅かな期間で行ったものです。このような取り組みが短期間で整備できるのはWantedlyのエンジニアリング文化の賜物です。
この意思決定の速さ、推進力の中で、最高のサービスを一緒に作り上げてみませんか?
Wantedlyではエンジニア職、デザイナー職、ビジネス職など、様々なポジションで仲間を募集しています。Wantedly.comをぜひ覗いてみてください。