こんにちは、Speee技術顧問のid:gfxです。 最近は社内向けにOSSポリシー*1を策定しようとしており、草案を社内に公開して推敲しているところです。
さて、先日開かれたSpeee Cafe Meetup #02のテーマがOSSだったので、最近OSS活動に関して思っていることをまとめました。
ひとことでまとめると、「プロジェクトを成功させよう、そのためにOSSを活用しよう」という話です。
この話の文脈ですが、企業としてプロジェクトを成功させるためにどうOSSを活用するにはどうしたらいいのだろうか、 OSSを開発したり利用するときの成功パターンというのは何かということをもっと議論したい、すべきではないか と考えていて、その結果をまとめたものです。
この資料では「品質向上」というのをひとつのOSS活用の成功パターンとしてとりあげていますが、まずOSSがOSSであるというだけで高品質であるとか取り組みに価値があるとかいうわけではない、という認識が必要だろうと思っています。フルスクラッチで書いた独自ソリューションはOSSだろうとクローズドだろうと品質はそれほど高くないものです。ソフトウェアは通常求められる納期と品質があり、納期を超えて品質を磨くということは、普通はしません。
では何を開発したらいいのかというと、プロダクションコードを含む既存のソフトウェアの再実装であったり、プロダクションコードの一部を切り出しであったり、ということがいいのではないでしょうかという提案です。あるコンポーネントについて十分に知見があるとき、それを再実装したり切り出して疎結合にするという作業(≒リファクタ)を経たときは、品質の向上が見込めるからです。
もちろんこれらはOSS成功パターンの一部にすぎません。他にも様々な成功パターンはあると思います。プロジェクトの成功のためにうまくOSSを活用できるようにしたいですね。