オープンソースはなぜ無料ではないのか(そして決して無料ではなかった)
オープンソース ソフトウェアは現代のコンピューティングに不可欠な部分です。私たちが毎日使用するソフトウェアの多くに関係しています。しかし、それは本当にしてはもったいないのでしょうか、また、どちらの意味でも本当に無料なのでしょうか?
オープンソースの起源
革命の余波の中で生きる
何よりもまず、オープンソース ライセンスは個人の自由に関わるものです。クローズド (独自の) ソース プログラムとは対照的に、オープン ソース プログラムでは、ソース コードを表示し、変更し、他の人に再配布できることが保証されています。
オープンソースの概念ははるか昔に遡りますが、その名前は少し最近のものです。 70 年代初頭、インターネットの創設により、ソフトウェアは Usenet や掲示板を通じて仲間間で配布されることが多くなりました。 80 年代から 90 年代にホーム コンピューティングが普及すると、既製の有料ソフトウェアからシェアウェア、フリーウェア、パブリック ドメインに至るまで、さまざまなモデルが開発されました。
90 年代後半のオープンソース運動は、商用ソフトウェアとフリー ソフトウェア運動の間に生じた溝に対処しようとしました。多くの開発者は、「無料」という用語があいまいだと考えていました。彼らは、それが企業の行動を妨げ、公共の場で共同開発されたソフトウェアの使用を妨げる可能性があることを懸念していました。
数十年が経ち、私たちは皆、オープンソース ソフトウェア (OSS) を毎日、通常は何も考えずに使用しています。あらゆる操作に使用する Linux OS、Firefox ブラウザ、または相手側の Apache Web サーバーなど、Web ページを表示するときは必ず OSS が関与しています。
オープンソース ソフトウェアのライセンスは複雑になる場合があります
大手企業でもつまずくケースもある
オープンソースライセンスは素晴らしいものです。たくさんの中から選べます!オープンソース構想には 100 を超える異なるライセンスがリストされていますが、これは諸刃の剣になる可能性があります。選択肢はたくさんありますが、特に身に覚えのないライセンスを見つけた場合は、慎重に確認する必要があります。
大まかに言えば、最も一般的なライセンスは、MIT、Apache 2.0、BSD 3-clause、および GPLv3 です。これらの主な違いは、寛容性です。MIT と Apache では、やりたいことはほとんど何でもできますが、GPL では、ライセンスされたソフトウェアと一緒にソース コードを配布する必要があります。 GPL は非常にイデオロギー的であり、GNU/Free Software Foundation 製品としてのルーツを反映しています。
実際に使用するライセンスは、選択した言語に大きく依存します。 C プログラムでは GPL が使用されることが多いですが、Java プロジェクトでは Apache が選択される傾向があり、Ruby および Python リポジトリでは MIT ライセンスが一般的です。独自のソフトウェアにライセンスを取得する場合は、GitHub の「オープン ソース ライセンスの選択」サイトが役立つリソースです。プロセスをガイドし、各ライセンスを短い箇条書きで要約します。
ソフトウェアをリリースする場合でも、単にソフトウェアを入手しようとしている場合でも、その背後にあるオープン ソース ライセンスを理解する必要があります。個人使用の場合はそれほど問題にならないかもしれませんが、他人のソフトウェアを仕事で使用したり、そのソフトウェアに加えた変更を再配布したりすると、法的問題に直面する可能性があります。ソース コードで何をしても自由だと思うかもしれませんが、必ずしもそうとは限りません。
オープンソース: ソフトウェアを無償で提供
1 ドルもかからないソフトウェアの世界
無料コインの残りの半分は無料の意味で使用されます。 OSS には自由があるため、そのプロジェクトは通常無料、つまりコストがかかりません。現在では、非常に高機能なオフィス ソフトウェア、画像管理アプリ、さらにはゲームなど、何千ものオープン ソース プロジェクトを一銭も支払うことなくダウンロードしてインストールできます。
Web ブラウザ、ワード プロセッサ、さらには本格的なオペレーティング システムが無料で提供されている現在、これは取るに足らないボーナスのように思えるかもしれません。しかし、多くの場合、積極的な広告や、オープンソースでは通常避けられるその他の制限の形で隠れたコストが発生します。
オープンソース ソフトウェアの中には、入手に費用がかからないものもありますが、サポート契約などの有償アップグレードが付属しています。保守的な考え方を持つ企業にとって、これらは多くの場合、独自の代替案と競争するために不可欠です。オープンソース プロジェクトに依存している場合は、長期的に存続する可能性を高めるために純粋に資金を寄付したいと思うかもしれません。 Patreon や GitHub Sponsors などのサービスを利用すると、開発者やユーザーもオープンソース プロジェクトをサポートできます。
オープンソース ソフトウェアの隠れたコスト
何にお金を払っているのですか?
ただし、ちょっと待ってください。すべてを OSS に切り替える前に、フリー ソフトウェアであっても常に無料であるとは限らないことを考慮してください。
ソフトウェアのコストは、パッケージ製品と引き換えに渡す 1 回限りのステッカー価格に限定されません。まず、OSS ではドキュメントが不足していることがあります。オープンソースの貢献者は、役立つ説明よりもコードを書くことに興味を持っていることが多く、ユーザーは技術的な傾向が強いため、ドキュメントが無視される可能性があります。したがって、ある程度の学習時間を考慮する必要があります。
多くのコントリビューターがいるオープンソース プロジェクトでは、頻繁に更新が行われるため、採用する前にテストする必要があります。その際、関連するソフトウェアまたはライブラリをアップグレードする必要がある場合があります。また、新しいバージョンが以前のバージョンで使用していた既存のデータと互換性があることを確認することも必要になります。
一部のソフトウェアは OSS のイデオロギーを回避しようとしており、ソフトウェアをソースから入手するよりも簡単に (たとえば、アプリ ストア経由で) 支払うことができます。特に、macOS は互換性に多少問題があり、XCode を使用してプログラムをコンパイルするにはもう少し労力が必要です。
ある程度の妥協を伴う自由
一般的に、オープンソースでは初期費用なしで自由とソフトウェアが提供されます。ただし、トレーニングやサポート、法令順守、コードのメンテナンスなど、隠れた二次的なコストが発生する可能性があります。重要な決定を下す前に、総所有コスト (TCO) を必ず考慮してください。
このテーマについてさらに詳しく知りたい方は以下をご覧ください