OSSへの寄付のススメ ~ サイボウズのOSSへの寄付戦略

はじめに

こんにちは、OSS推進チームのsatです。本記事はサイボウズが5年間取り組んできたOSSへの寄付をする取り組みについて紹介します。具体的には寄付をする理由、どのようなポリシーで寄付額や各プロジェクトへの寄付額の配分をするのかについて共有します。

なぜ寄付をするのか

サイボウズでは様々なOSSを利用していることもあり、以前お伝えしたようにオープンソースソフトウェアポリシーというものを定めています。

blog.cybozu.io

cybozu-oss-policy.readthedocs.io

この文書の中で、次のような記述があります。

本規程の第二の目的は、当社がオープンソースコミュニティにおける良き一員であるために必要な規定を定めることである。

この「良き一員」となるためにOSSに貢献するには様々な方法があります。直接的にはバグ報告、修正、機能追加、ドキュメント追加などによって人的リソースを出して開発に参加することが考えらます。これ以外にも方法はたくさんあり、そのうちの一つが本記事のタイトルにもある、寄付です。人的リソースではなく金銭的リソースを提供する、というわけです。

OSSは無償で利用できるのですが、それは裏を返せばOSS開発者はユーザが得る利益の対価を受け取っていない場合があるということを示します。OSSといっても様々で、企業のバックアップを受けてリソースが潤沢にあるものもありますし、個人が無償で開発しているようなものもあります。後者のようなOSSは長期的に見ると安定した開発の継続は難しいでしょう。このようなOSSのユーザにとっては、対象OSSに依存していればいるほどシステムの安定運用を将来的に脅かすリスクが高まります。

OSS開発にリソースが足りないことによって発生する問題の良い例として、2014年に発生した世界中を震撼させたOpenSSLの脆弱性、Heartbleedがあります。

ja.wikipedia.org

この問題が発生した主な理由の一つにOpenSSLプロジェクトには開発リソースも人的リソースも足りていなかったということがあります。これを重く見た複数の大企業が協力してCore Infrastructure Initiative(現在の Open Source Security Foundation)を組織して、このような問題をなるべく発生しないようにという対策をとりました。

news.mynavi.jp

openssf.org

このような事例からわかるように、OSSの受益者であるユーザがリソースを提供することは非常に大事といえます。サイボウズにとっても事情は同じなので、前述のポリシーに基づいて様々なOSSに可能な限り貢献するようにしています。その貢献方法はさまざまで、開発に深く関与することもありますが、人的リソースは有限なので、それができないものについては後述するポリシーに基づいて寄付をするようにしています。

寄付額の決定方法

ひとくちに寄付をするといっても「寄付の総額」、「どのプロジェクトに寄付するか」、および「それぞれのプロジェクトへの配分」など、様々なことを決めなければいけません。本節ではサイボウズがどのようにこれらのことを決めているのかについて共有いたします。

まず最初に、これらのルールを決めるにあたって、とくに正解は存在しません。正解がないものについて最初から細かいルールを定めても機能しないだろうという考え方に基づいて、なるべくシンプルなルールにするように心がけました。また、OSS推進チームのメンバは全員が様々なチーム/プロジェクトから兼務として集まっている都合上、正解がないものにあれこれ悩んで膨大なコストをかけてるのは避けたいところです。

寄付の総額は現在は売り上げの0.05%にしています。なぜ利益ではなく売り上げなのかというと、利益が出ているかどうかにかかわらずOSSを使っていることには変わりがないので、利益よりも売り上げをベースとしました。0.05%というのも「このくらいの額なら事業継続に深刻な影響はないだろう」とエイヤで決めた額であって、複雑な計算に基づくような数値ではありません。

どのプロジェクトに寄付するかについては、OSSのユーザである社員たちから寄付先を募集した結果をもとに決めています。サイボウズが依存しているOSSは大量にありますが、ひとまずは直接のユーザである彼らが望むプロジェクトに寄付しようという考えに基づいています。寄付額は基本的に寄付先として決めたプロジェクト間で均等配分しています。2018年から現在までの寄付先は以下サイトの「寄付」節において公開されています。

tech.cybozu.io

杓子定規にこれらのルールを当てはめているわけではなく、社員が「ここにこれだけの寄付をしたい」という熱い思いを持っていた場合は、例外的に特定のプロジェクトに特定の額を寄付することもあります。

blog.cybozu.io

上述した現行のルールは穴がたくさんあることはもちろん承知していますが、まずは、とにかく「サイボウズがお世話になっているOSSに貢献する」という意思を示し、かつ、行動に移すのが重要であると考えています。また、これらのルールは永久にそのままというわけではなく、必要に応じて適宜修正していく予定です。

おわりに

本記事ではサイボウズのOSSへの寄付戦略について、なぜそうしたのかを含めて書きました。本記事がみなさまにOSSへの寄付についての重要さを認識していただく一助となるとともに、現在OSSに寄付しようとしている、あるいは寄付をしているかたがたに、何らかの参考になることを願います。また、これをきっかけにリソースが足りていないOSSの開発者が少しでも報われるようになることも願います。