− 第16回 −
オープンソースを使ったシステム外注の注意点
オープンソースを使うことが珍しくなくってくると同時に、そのようなシステムを外注することも増えてきている。しかし従来の商用製品を使った開発と違い、オープンソースを使ったシステムを開発する際には注意しなければならない点がある。それはライセンスだ。
いままでは何かを開発する場合に必要なライセンスといえば、OSを除けば開発ツールと実行時に必要なランタイムライブラリライセンスの2つだった。そしてでき上がったプログラムに関する著作権や使用権は作者にあり、その配布に関するすべてをコントロールすることができた。その理由のひとつは、ベンダーから提供されているライブラリなどを除けば、基本的にすべてを自ら作成しなければならないという点にある。
またその作成を外注した場合、一般的な業務委託契約において著作権は発注側に帰属することがほとんどだ。そのなかにはソースコードの守秘義務も含まれている場合が多い。外注側がその開発を通じて得たノウハウやソースコードの一部を他の開発と共有することは珍しくない。そしてその共有がコストの低減をはかるベースにもなっている。
いっぽう、オープンソースをベースとした開発の場合は前述のOS、開発ツール、ランタイムライブラリのいずれに関しても無料で使うことができる。ところができ上がったシステムやソフトのライセンスは既存の開発と同様に考えることはできない。その理由はソースが公開されているがゆえに、それを修正(カスタマイズやハック、パッチという)することで自社に必要な機能を実現できることが多いからだ。バイナリしかなければ自らつくらなくてはいけないものが、修正だけで済めば早くて安くできることも多い。これはオープンソースを使う理由のひとつにもなっている。
ところがその修正を行なう元のモジュールやライブラリがどのようなライセンス形態で配布されているかを理解しないと、開発を委託した後でトラブルになる可能性がある。もしモジュールやライブラリがGPL(GNU General Public License)で配布されていた場合、でき上がったものの公開をするとそのソースコードまで公開を迫られるということだ。また利用するソフトによっては自らライブラリを一から作成した場合でも、同様のライセンスでの公開を要求される可能性があるだけでなく、作成者(外注先)に公開する権利が発生する場合もある。
もし、自社で作成するシステムが非常に革新的で、そのアドバンテージを自社内にとどめておきたいと考えている場合、外注先がそのライブラリや機能を公開してしまっては問題があると考える企業は少なくないはずだ。そのような場合に備え、オープンソースを使う場合はどのようなライセンス体系のソフトやライブラリを使うべきかをきちんと理解しておく必要がある。
(中島由弘,2005年1月17日公開)
ワンクリックサーベイ









