日々ブログ

当サイトは、アフィリエイトプログラムにより商品をご紹介しています

【プログラミング】OSSのメリットとデメリット

OSSを使うことのメリットとデメリットを自分なりにまとめようと思います balance

OSSを使うことのメリット

まず、OSSを使うことのメリットについて記載します。

時間を節約できる

 これが一番大きなメリットです。ソフトウェアは所詮バイナリやテキストファイルの集合体に過ぎないので、無限の時間を持ってすれば誰でも作成することができます。 しかし、納期が無期限なんてお仕事はおそらく無いでしょうから、そうしたときに出来合いのOSSの利用が選択肢として挙がります。 有料でソフトウェア部品を手に入れることもできますが、個人や資金の限られたスタートアップのプロジェクトなどにとっては高額なことが多いでしょう。 また、まれにソフトウェアにまとまった金額を払うこと自体に抵抗を示す企業もあると思うので、そうした状況に置かれた方には有益なように思います。

汎用性の高い仕様を・操作感を実現できる

 先程、ソフトウェアは所詮バイナリとテキストファイルとしましたが、それが織りなす動きを完全に再現するのは至難の業です。 同じようなものを作ったとしてもやはり作成者の個性やこだわりがソフトウェアには出てしまうものです。 OSSはそうした「個性やこだわり」が介在しないように作られていることが多いです。 なぜなら「個性やこだわり」は汎用性を下げてしまうことが多く、利用者の減少につながります。 OSSの選択の基準はいくつかありますが、ひとまず汎用性の高い仕様を実現したければOSSを使うのがよいでしょう。

ソフトウェアの作り方の勉強になる

 最後は、OSSを使用することで、ソフトウェアの作り方の勉強になります。 最近のOSSgithubで公開されていることが多く、次のリリース計画、バグ報告、人数規模といった内容をだれでも見ることができます。 これは、ソフトウェア初学者にとっては宝の山では無いでしょうか。

注意事項:OSSのライセンスを守る必要がある(注意事項)

 OSS OSSを使用する際のデメリットを紹介する前に一つ注意事項を紹介したいと思います。 OSSを使用する際にはOSSライセンスを守る必要があります。 OSSのライセンスとは、OSSを使用するに当たって、使用者が守るべきお約束です。 違反するとそれ相応の賠償を求められることもあります。 ネットで公開してるんだから自由に使わせてくれたりすればいいじゃない!と思いたくなる気持ちも分かりますが、 OSSライセンスは開発者およびそのコミュニティを守るために必須のものです。 もしライセンスをというものがなければ、自分で手間暇かけて作ったソフトウェアを誰かがそのままコピーして、 最悪の場合転売されたり、逆に自分の著作物だ!と主張されかねないわけです。 多くのOSSはソフトウェアの自由な発展を願ってライセンスを定めておりますので、利用する場合はかならず守るようにしましょう。

OSSを使うことのデメリット

OSSを使用することのデメリットは、ズバリ管理コストが増大することです。 以下ではその内容を順に説明していきます。

OSSのライセンスは理解が難しい

OSSライセンスを正しく理解するのはかなり難しいです。 まず、ライセンスはかなりの長文から構成されております。参考にGPL2.0の条文のライセンスの参照先をつけておきます。

licenses.opensource.jp

どうでしょうか。かなり理解するのが難しいのでは無いでしょうか。法律に長けている人でようやくすんなり理解できるのではないでしょうか。 こちらは日本語に翻訳したものであり、本当の意味で理解するためには原文で使用されている言語(多くは)で理解しなければなりません。 また、こちらはver.2.0であり、1.0や3.0また派生系のAGPLなんてものもあります。 こうしたバージョンの異なりは、技術の進化により、古いライセンス条項ではカバーしきれない、言わば抜け穴を塞ぐために発展してきたものが多いです。 以上、OSSのライセンスを正しく理解するためには、法律を解釈する能力、言語能力、技術の流れについての幅広い知識が必要となり、かなり理解するのが難しいです。

OSSのソフトウェア構成管理が煩雑で難しい

demerit OSSのソフトウェア構成管理はかなり複雑で、非常に時間のかかる作業となります。 なぜならば、昨今のOSSOSSから作成されていることが多いためです。 その結果、使用しているOSSが使用しているOSSのライセンスについても管理する必要が出てくるわけです。 そんなの、OSSを使用しているOSSの責任でしょう!と言いたくなりますが、 人の手が これはものすごく煩雑で、OSSの検出ツールなどもありますが、ご検出なども多く最後は人の目で判断しなければなりません。 ものによっては、1万を超えるOSSから成り立っているOSSもあり、管理するだけで一苦労です。

まとめ

いかかでしたでしょうか。 OSSを使用する際のメリット・デメリットについて紹介しました。 OSSを使用することによる恩恵は非常に大きいですが、利用する際には多くの手間が必要となります。 ただし、多くのライセンスはOSSを組み込んだソフトを頒布することに対して制限をかけているので、 頒布しない個人ツールに関しては割と自由に使っても問題ないのかな(決して保証はしませんので、自己責任でお願いします)とは思います。 OSSの取り扱い方に関しては下記の書籍が大変参考になりました。 体系的に学びたい方は一度読んで見てはいかがでしょうか。 初めの1章を読むだけでも、考え方が身につきます。