未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

OSS開発者と利用者、ベンダーとユーザー

OSS製品を作る側(ベンダー)、それを利用する側(ユーザー)。

ベンダー側には、その製品の開発者がいる。バザール型でソフトウェアが開発されていると、開発者は、一つの組織だけに属しているのではなく、様々な組織にいる。ベンダーの影響力は、開発に貢献する量にほぼ比例するので、主要開発者を雇用するように努力する。

ベンダーに取ってはコミュニティとの健全な関係が重要になってくる。

利用する側は、OSSを利用してウェブでサービスを提供するような利用の仕方もあるし、ハードウェアに組み込んで、その製品を売ると言う利用の仕方もある。

利用側は、必ずしもOSSの開発に関与するとは限らない。ちょっとしたバグの修正などをするとしても、大規模な機能拡張などにコミットするとは限らない。組込みの場合、ハードウェアの知財を秘匿したいなどの動機で、変更したソースコードを公開しないこともある。そのような場合はもとのOSSにフィードバックがかからないのでコミュニティから見ると、そのような利用者はOSSをフリーライド(ただ乗り)しているように映る。

企業の行動原理とコミュニティの価値観は必ずしも一致しないので場合によってはコンフリクトが発生する。

企業は利益を追求するのが第一義なので、コミュニティの価値観と合わないことが多い。

コミュニティとしては、変更は上流に還元して欲しいけど、企業にはそれをする強いインセンティブがなかったりする。それを行う利点を理解していなかったりする。あるいは、自社の都合で筋の悪いコードをマージするように迫ったりする場合もある。一方で秘匿し、一方でごり押しをする。このような行動はコミュニティとのコンフリクトを生じさせる。

コミュニティと利用側は対立するより協調したほうが、双方にとってメリットがあることは明らかなのだが、利用側のコミュニティに対する理解が乏しいと協調する行動がとれないことが多い。

OSSを上手に利用すれば、(そのような技術力があるということが前提であるが)素早く問題を解決できるし、ベンダー製品以上に、機能開発に関与できるので、イノベーションを加速することができる。

コミュニティとの協調関係を上手に築き上げれば、コストを下げるだけではなく、競争力の強化に繋がる。

OSSの利用のステージも、1)発見、2)利用、3)参加、4)革新という進化を遂げて行く。組織として学習し、OSSを競争力強化に使うのが究極の進化系だ。多くの組織は、それを競争力を強化するための戦略としてはとらえていなくて、単なる利用にとどまっているのが実情だと思う。

追記

下記のブログなども参照のこと。
今こそ、「Free Software」に目を向けるべきだよ(おごちゃんの日記) https://www.shortplug.jp/profile/ogochan/diaries/3346

OSSはタダ乗りでもいいけどマズい(もなもなもなかのページ 後悔^H^H公開日記) http://www.monaka.org/blog/2013/12/26/oss-community-and-others/