メモ:ソフトウェアのライセンス

2009-08-22

記事の中で挙げられているライセンスの種類

OSSにするのかどうか

出来合いのOSSプロジェクトに参加することで、ゼロから開発するよりも早く開発できて開発費も削減できる。この意味では損はしない。得である。

問題は自分の作ったソースを公開するか、しないか

  • 公開する=GPL
  • 公開しない=BSD

BSD的な話

独自拡張の部分は、開発コストの関係で、バージョンアップに追随するのが難しかった

メンテナンスコストも含めて考えると、BSD的な独自部分を公開しないという方法は中期的にはコスト高?

GPLな話

  • 独自技術を隠蔽することが難しい
  • 自社で開発した部分をコミュニティに公開してメインラインにマージしておけば、メインラインがどんどんバージョンアップして行っても、ほとんどコストゼロで機能拡張に追随できる。これは開発コストを激減する

tomoyoがマージされるまでに中の人たちが頑張ったのを読んだが、それはそれで大変な気もする。

一方で独自追加部分が競合他社にも無償で利用される。それを懸念するむきもある。フリーライドされるという懸念である。フリーライドされたからといいって、自社開発コストが増えるかというと、そうではなくて、他社製品が売れて、自社の製品の売上が下がる可能性がある。自由市場経済である以上それはしょうがない。

# そうなんだよね。それが最初に気になる。
# それじゃあ、他社との差はどうやってつけるのかな

しかし、仮に競合がその機能をさらに拡張したとしたら、その機能も公開しなければならないので、その機能についての開発費は削減できる。プラスマイナスゼロである。

# 途中でBSDライセンスに逃げる(?)ことってできるのだろうか。
# だとしたら、どれだけ相手のカードを出せるか、みたいだなあ

最初にその機能を作った組織には影響力やノウハウの蓄積というアドバンテージがあるので若干プラスという感じである。

# 綱渡りな印象を受ける
BSD的な開発では、独自追加部分のオリジナリティとその後開発を続けていく体力が必要

BSDと比較してGPLは、独自技術を隠蔽しにくいので、技術革新がどんどん蓄積され、無駄な重複開発がなくなり、コミュニティ全体としての生産性が極めて高い。

# 誰にとって得なのだろうか。
Linuxカーネルだとコミュニティは相当広いわけだけど。
# 重複開発が無駄であるのは、同じコミュニティにいる場合。
# 他社と同じコミュニティに属すると考えて、業界のレベルを上げていく、
# とか考えるのは幸せすぎるよなあ。

企業の行動原理は、利益の追求

# であるものだし。
# 他社の得が自社の損(他社製品が売れて自社製品の売り上げが下がる)でなければいいのだけれど、そんなことはない。


(飛躍)
## コミュニティの広さが自社の広さと同じくらいであればあるだけ
## 隠蔽の程度は小さい(???)けど、
## その分、開発者は狭くなる(?)。
## でも、GPLという体は守ってるのでライセンス違反ではない。
## そういうことではないのかしら?
## んじゃプロプライエタリBSD的でいいかも?

一方、プロプライエタリな開発を行っている企業がOSSにした件とその理由

例えばマイクロソフトが自社の製品をオープンソースにすると、売上が伸びるか、あるいは経費が減るかというと、どちらもそうとは言えないので、マイクロソフトが自社製品をオープンソース化することは考えられない。先日マイクロソフトHyper-V向けのLinuxドライバをGPLで公開したことが話題になったが、Linuxドライバを公開する事が自社のHyper-Vの魅力を増し、売上向上を期待して公開したということであろう。

大手ハードウェアベンダーがLinux開発に貢献するのは、例えば自社のハードウェアの売上を伸ばしたい、あるいは独自OS開発のコスト負担には耐えられないので、OSS(Opensource Software)プロジェクトに参加することで経費を削減したいなどの思惑があるのだろう。

プロプライエタリにするのではなく、OSSにすると得られる利点を見出した

ライセンスはLinuxの場合、GPLにならざるおえない。公開するかしないか、どのようなライセンスを選ぶかは技術的な問題というよりも経営的な判断である。

# つまりは、どっちのほうが儲かるか


OpenSUSEのnon-OSSレポジトリにあった(バイナリで配布している;多分ソースは公開していない)のを考えると、
LinuxでのドライバがGPLでなければならない、という意味ではないみたい
# どういう意味?