DUICUO

オープンソース ソフトウェアに関する最も一般的な誤解を払拭するときが来ました。

この記事はWeChat公式アカウント「AI Discovery」(ID: AI_Discovery)から転載したものです。

オープンソースソフトウェア(OSS)は多くの人々から尊敬されており、新しいプロジェクトの開発においてOSSを利用することはよくある選択肢です。しかし、逆説的に、OSSへの関心の高まりは多くの誤解や歪曲を招いています。経験の浅いユーザーにとっては、実践的な経験によって徐々にOSSへの信頼が薄れていく可能性があります。

Debrickedは長年にわたりオープンソースソフトウェアに特化し、膨大な知識ベースを構築してきました。そこで、オープンソースソフトウェアに関するよくある誤解を払拭したいと考えています。

[[375439]]

オープンソースを使用して開発されたプロジェクトは、完全にオープンなプロジェクトです。

あらゆるソフトウェアプロジェクトは、プロジェクトのソースコード、未修正のバグに関する情報、テスト用のソースコード、ドキュメントなど、多くの要素で構成されています。プロジェクトのソースコードはその一部に過ぎず、このコードへの無料アクセスはプロジェクト全体を公開する権利を付与するものではありません。ソースコードだけでなく、その他の開発成果物も無料で公開されるべきであり、成果物がよりオープンであればあるほど、プロジェクトは貢献者にとってよりオープンであると言えます。

さらに、プロジェクト全体を通してオープンなコミュニケーションを促進するためには、コミュニティメンバー全員の間で透明性のあるプロセスが必要です。これらの対策はすべて、プロジェクトの発展とコミュニティメンバー間の生産的なコラボレーションに貢献します。そのため、コードは完全に利用可能であっても、開発プロセスは閉鎖的で不透明になる可能性があります。

オープンソース プロジェクトに基づくソフトウェアは自動的にオープンソース化されます。

オープンソースプロジェクトをベースに商用ソリューションを開発する企業は、自社製品に独自のコンポーネントを組み込むことができます。これは、クローズドな機能を追加することで、オープンソースプロジェクトに依存する企業に対して競争上の優位性を獲得できるためです。

クローズドコンポーネントは、企業が顧客に販売して利益を得ることができる製品を構成するためによく使用されます。これはオープンソースソフトウェアの自由の一部であり、ニーズに最適なオプションを自由に選択できます。

オープンソースソフトウェアは完全に無料です。

[[375440]]

画像出典: unsplash

フリーソフトウェアは、無料で使用できるため、一般的に完全に無料であると認識されています。しかし、ソフトウェア自体の価格は、その使用コストのほんの一部に過ぎません。オープンソースソフトウェアも例外ではなく、使用する前にそのライフサイクル全体を評価する必要があります。

これが、オープンソースソフトウェアの導入が収益性があるかどうかを判断する唯一の方法です。OSSの利点の一つは、導入規模が拡大しても追加ライセンスを必要としないため、実質的に限界費用がゼロであることです。

プログラム使用権(ライセンス)は必要ありません。これは商用ソフトウェアを購入する際に必要となるものです。ただし、インストールと開発にかかる時間コスト、サービスコスト(経験の浅いユーザーからのサポートリクエスト、組織がIT部門に支払う実装および技術サポート費用など)、事業の維持コストなど、その都度発生するさまざまなコストが発生します。

企業がどのオプションを使用するかは事業内容によって異なりますが、オープンソース ソリューションを実装して使用するプロジェクトは無料ではないのが実情です。

技術サポートが不足しているため、オープンソース ソリューションでビジネスを行うことはできません。

ユーザーにとって、サポートは非​​常に重要です。平均的なユーザーはオープンソースソフトウェアをサポートなしで使用できるかもしれませんが、企業は通常、技術サポートを必要とします。重要なオープンソースプロジェクトは、開発者コミュニティから積極的なサポートを受けているか、一部の企業が大企業に商用ベースでサポートを提供し、必要に応じて製品に必要な機能を追加しています。

実際、オープンソースコードは、経験豊富なユーザーが潜在的な脆弱性を発見し、セキュリティ上の欠陥をスキャンする機会が増えることを意味します。さらに、OSSコミュニティは、主にその評判を維持するために、コードの改善に積極的に取り組んでいます。

OSS は誰でもコードを書けるので品質が低いです。

OSSの中核原則は、オープンな共同開発です。これは、他の参加者が低品質なコード、脆弱性、その他の問題を隠蔽できないことを本質的に保証するものです。これらのプロジェクトに関わる人々は、自分の仕事が分析され、批判されることを受け入れる覚悟ができています。不正行為は許されず、開発者は誰も傷ついた評判を失いたくありません。

さらに、一部のコミュニティ(Linuxカーネル開発に特化したコミュニティなど)では、厳格な原則が定められています。つまり、徹底的にテストされ、欠陥のないコードのみが生のカーネルに採用されるということです。開発者が最初に低品質な変更を加えようとしたとしても、それは却下され、2度目の試みは開発者個人または資金提供会社の評判を損ないます。

[[375441]]

画像出典: unsplash

オープンソースプロジェクトは誰でもコード作成に参加できる可能性を提供していますが、重要なプロジェクトでは参入障壁が高く、十分な専門知識を持たない人がコードを受け入れることができません。ほとんどの大手IT企業(IBM、Google、Canonical、Parallelsなど)には、オープンソースプロジェクトに有給で取り組む専門家を雇用する専門部署があり、間接的に企業製品への貢献につながっています。

オープンソースプロジェクトをベースに製品を開発する企業は、利用するオープンソースプロジェクトのコード改善に非常に関心を持っていることは注目に値します。多くの場合、彼らは安全な製品の開発も望んでいます。そのため、発見された問題やOSSの脆弱性はすべて修正する必要があります。Debrickedは脆弱性を自動的に検出・修正することで、この負担を軽減します。

こうした誤解は、オープンソースソフトウェアを使い始めたばかりのユーザーや、まだ使ったことのないユーザーに多く見られます。こうした誤解を払拭する最善の方法は、オープンソースソフトウェアをもっと使い込んで、これらの問題を解決することです。さあ、さあ、旅を始めましょう!