クラスメソッドによる2024年OSS支援(5件)を紹介します
「そろそろOSS支援の季節がやってまいりましたね!」
「今年は全社で候補を募ろうぜ」
2023年に実施していたクラスメソッドによるOSS支援ですが、2024年の今年も5つのOSSに対して支援を実施させていただきました。このブログでは、支援先の選定過程や選定理由などをご報告いたします!
2023年(去年)のOSS支援内容
2023年も同じような時期に、クラスメソッドとしてOSS支援を実施しております。詳細はこちらをご参考ください。
そもそもなぜクラスメソッドはOSSを支援するのか?
(この内容は去年と変わらずですが、大事なことなので再掲しています)
そもそも、なぜクラスメソッドがOSSを支援するのか、その理由を説明します。この草案は、奥が作成し、今回の取組の発起人にもなってくれました。この場を借りて感謝の意を表明します。いつもありがとう!
OSSエコシステムの維持
1番大きな理由です。普段私たちは膨大な量のOSSに支えられています。そしてそのおかげでプロダクトを成長させられています。仮想DOMライブラリがない、UIライブラリがない、フォームライブラリがない世界を想像できるでしょうか?
私たちがOSSで受けた恩恵は還元するのが自然です。なのでOSSという素晴らしい仕組みとライブラリの開発が持続できることと技術的な発展のために支援をおこないます。
働き方の多様性への支援
オープンソースで金銭を得る で記述があるようにOSS開発への関わり方は開発自体を趣味としていたり、コミュニティとの関わり自体を主として金銭の受け取りを行わない人もいます。
その一方でOSS開発で金銭を受け取れることで、金銭的理由が原因でOSS活動を行えない人へ少しでも平等なコントリビュートの機会を儲けることができます。これにより異なる人生の歩み方をしている人でもコントリビュートが可能になること、またOSSへのコントリビュートを仕事として生計を立てることの助力になります。
OSSエコシステムの中での多様性、そしてさまざまな働き方を実現するために支援をおこないます。
新しいクラスメソッドの形
クラスメソッドはクラスメソッドのカルチャーを通じてクラスメソッド社員の行動指針や価値観を表現しています。その中でも触れられている、「ダイバーシティ」「プロフェッショナル」「感謝」を実際の行動として示すことで、DevelopersIOを通じて行っている情報発信のみにとどまらず、技術者への還元も実現することができれば良いと考えています。
共感できる仲間と働く
OSSへの支援、社会貢献に対して積極的な人と働きたいため、この取組を続けることがそのきっかけになると考えています。
2024年の支援先選定方法
2024年は2023年と少し支援先の選定方法を変更しています。2023年は受託開発を主な業務としているCX事業本部のメンバー中心に、支援先を選定しました。ただ、上のOSS支援理由に記載しているとおり、この取り組みはクラスメソッド全社としての取り組みであり、また、受託開発以外の業務においてもOSSの利用は広く根付いているため、今回は支援先の選定プロセスに全社を巻き込む形で実施しています。
1. 全社より支援先の候補を募る
最初の支援先を広く集めるため、Slackの全社アナウンスチャンネルで、支援先OSSの候補をその理由とともに募集しました。一人複数書いた人もあり、このタイミングでで38の支援先が候補として集まりました。
2. 記入者の中から選定委員を選出
記入者の中から、以下の基準を元にハマコーの独断と偏見で選定委員を選出。
- コメントでOSS支援についての理由を熱く語ってくれているか?
- OSS支援の趣旨に共感してくれていそうかどうか?
- 選定員の所属部門に偏りがないか?
全社施策ということも有り幅広い部署の意見を募りたかったため、所属部門の偏りを気にしながら、推しOSSへの記入コメントがアツい6人の選定委員を選出。候補先一覧から自分で連絡をとり、選定員に口説いていきました。結果的には、ある程度バランス良い選出ができたんじゃないかなと思ってます。
3. スポンサードを受け付けているOSSの絞り込み
全てのOSSがスポンサード窓口を設定しているわけでは有りません。基本的にはGitHubにスポンサード設定がされているか、支援する方法がそもそもあるかどうかを個別に判断し、支援が可能なOSSを絞り込みます。
具体的な支援方法は下でも紹介しますが、GitHub スポンサーか、Open Collectiveを利用しています。
4. 各選定委員による事前の候補選定
各選定委員に、5個を目安に支援先の候補選定とコメント記入をお願いしました。支援候補とするものについては、各委員の主観が満載でもよいのでできるだけ詳細なコメントを記入するように依頼したことで、それぞれの支援先についてのアツいコメントが集まりました。同じ支援先でも、支援理由に異なる側面があったりなど業務との関わりの中で推しポイントが異なっていたのも興味深かったです。
5. 選定委員のミーティングで最終支援先を決定
各自の記入結果を下に、選定委員のミーティングで最終支援先を決めました。もちろん、各委員の支援先投票数も参考にはしましたが、数だけではなく、各自のコメントやディスカッションの中で、一つ一つのOSSを選定させていただきました。判断に迷ったときには、最終的に選定委員長的な立場であるハマコーのほうで決定させていただいてます。
支援方法
支援方法は大きく分けて下の2つ。
GitHub スポンサー
元々GitHubの機能としてもっているスポンサー機能。リポジトリやOrganizationsに対してスポンサー設定がされている場合は、クレジットカードや請求書を利用したスポンサードが可能です。
GitHub スポンサーについて - GitHub Docs
Open Collective
GitHubリポジトリによっては、スポンサードをOpen Collective経由で募っている場合も結構あります。
Raise and spend money with full transparency. - Open Collective
Open Collective は、草の根グループのための法律・財務に関するツールボックス。あなたのコミュニティの資金調達・法的受益・財務管理のためのプラットフォームです
クラスメソッドがOpen Collective経由でスポンサードしている一覧はこのように確認できます。
Classmethod, inc. - Open Collective
2024年の支援先5つ
というわけで、支援先として決定した5つのOSSと選定コメントの紹介です。
moto
AWSサービスのモックライブラリ。
- CX事業本部やサービス開発室など、Pythonを使う案件のユニットテストでよく利用されている
- 昨年の支援先であるlocalstackも内部的にはmotoに依存しており、非Python案件であっても間接的にmotoにお世話になっている案件は非常に多い
- motoはlocalstackと異なり組織的な運営体制が弱くメンテナ個人への依存度が高い。メンテナの経済状況が悪化すると運営が立ち行かなくなるリスクが高いので、経済面でサポートしたい
ecspresso
Amazon ECSのデプロイツール。
- ECSにおけるデプロイツールとして広く利用されている
- @fujiwara さんはたくさんのAWS系OSSを作成しているので、個人をサポートしたい
- クラスメソッドの業務における活用範囲の広さを鑑み、是非支援したい
ecspressoについては、こちらで改めて紹介させていただいております。
codemirror
ウェブ用のコードエディタコンポーネント。
- Zennで利用しているエディタライブラリ。Zenn上で快適なMarkdownエディタを提供するのになくてはならない存在
- エディタライブラリとして、ZennやDeveloperesIOの新エディタでも利用されている
- クラスメソッドの業務に対するシナジーの高さがあり、アウトプットを標榜するクラスメソッドがやることの意義に沿っている
- ドイツ人のOSS専任メンテナーが個人で開発しているため、是非支援したい
vite
次世代フロントエンドツール。
- 全社のイベントサイト、LP等は全てこれでつくられている
- フレームワークなしのReactでファーストチョイスであり、Remixなどのフレームワークで採用されており、Storybookなどのツールチェインでも内部的に利用されておりフロントエンドエンジニアとして開発をするに当たって必須に近いツール
viteについては、作者であるEvan You(@yyx990803)さんにスポンサードしています。
doma2
Doma 2はJava 8+用のデータベース・アクセス・フレームワーク。
- 日本人個人によるOSS。このタイミングで是非支援したい
- Prismatixなどのクラスメソッドが運営しているサービスでも深く利用しており、なくてはならない存在
OSS支援先の選定過程で社内でいろんなコミュニケーションができた
今回、選定委員長として全社でOSSの支援先を選定に関わることで、クラスメソッドのエンジニアがどのような想いでOSSに関わっているか、どのように活用しているのかを広く知ることができました。もともとのOSS支援の理由は上に書いた通り 「OSSエコシステムの維持」 ですが、その選定プロセスで、支援先候補の一覧を全社で共有したり社内のそういった事情を聞いたり選定委員同士がコミュニケーションを取ることで、エンジニア同士のコミュニケーションにもなるという副次的な効果もあったのかなと思ってます。
今回のブログが、今後企業としてOSS支援をされようとする会社に少しでも参考になれば幸いです。
それでは、今日はこのへんで。濱田孝治(ハマコー)(@hamako9999)でした。