これらには、
- ソフトウェアの再配布
- ソースコードの可用性
- ライセンスの配布
- ライセンスプロパティ
- 反差別
ライセンス
異なるライセンスにより、プログラマーは様々な条件を付けてソフトウェアを変更することができます。 OSIは、オープンソースソフトウェアの定義に準拠したライセンスを承認します。 Black Duckナレッジベースに基づく最も一般的なライセンスの5つは次のとおりです。
- MITライセンス
- GNU General Public License(GPL)2.0
- Apache License 2.0
- GNU一般公衆利用許諾(GPL)3.0
- BSD License 2.0(3節、新規または改訂版)
ソースコードを変更すると、OSSの1つの要件は、変更した内容とメソッドを含めることです。 コードの変更後に作成されたソフトウェアは、無料で入手できる場合とされない場合があります。
オープンソースと商用ソフトウェアの違い
商業的に入手可能なソフトウェアまたはプロプライエタリなソフトウェアは、そのソフトウェアが他人の知的財産であるため、そのソースコードにアクセスすることはできません。
その結果、ユーザーはしばしばそれを支払う。
一方、OSSは協力的な取り組みであり、ソフトウェアの開発や変更を支援してくれたすべての人が共有する知的財産です。
オープンソースソフトウェア対 フリーソフトウェア
普遍的な信念とは対照的に、どちらもプログラムのコスト、またはその欠如には焦点を当てていません。
オープンソースは、ソースコードと配布の無償の利用を可能にします。 同様に、フリーソフトウェアはコードの変更を含みますが、ユーザーがソフトウェアで好きなことをするのを楽しむ自由を強調します。 フリーソフトウェア財団は、ソフトウェアが完全に無料と見なされるための4つの条件を概説しています。
さらに、このソフトウェアはフリーウェアとして分類することもできます。 つまり、ユーザーは無料でソフトウェアをダウンロードできますが、ソースコードを変更することはできません。
オープンソースソフトウェアの利点
コストは原動力ですが、OSSにはいくつかの利点があります。
- ソースコードを渡し、テストし、修正したときの高品質な結果。
- これはプログラマーにとって貴重な学習機会です 。 彼らは今日利用可能な最も人気のあるプログラムにスキルを習得し、適用することができます。
- バグが特定されてすぐに修正されるため、オープンソースソフトウェアはプロプライエタリなソフトウェアよりも安全性が高いと多くの人が考えています。
- オープンソースソフトウェアはパブリックドメインなので、利用できなくなる可能性はほとんどありません。 これは、プロジェクト期間中、これらのツールに依存する長期的なプロジェクトにとって重要です。
- ほとんどのソフトウェアは無料です。 ただし、サブスクリプションやサポート料金など、後でコストが発生する可能性があります。
人気のある種類のオープンソースソフトウェア
オープンソース技術はインターネットの多くを確立するのに役立ちました。 さらに、私が毎日使っているプログラムの多くは、オープンソース技術に基づいています。 たとえば、Android OSとAppleのOS Xは、それぞれカーネルとUnix / BSDのオープンソース技術に基づいています。
その他の一般的なオープンソースソフトウェアは次のとおりです。
- MozillaのFirefox Webブラウザ
- Thunderbirdメールクライアント
- PHPスクリプト言語
- Python プログラミング言語
- Apache HTTP Webサーバー
- データベースシステム
オープンソースと開発者
OSSプロジェクトはスキルを向上させ、現場での接続を構築するコラボレーションの機会です。 開発者は、オープンソース開発の標準ツールに堪能でなければなりません。
- コミュニケーションツール - 電子メール、リアルタイムメッセージング、フォーラム、およびWikiは、開発者がソリューションを見つけたり、アイデアを跳ね返ったりするのに役立ちます。
- 分散リビジョン管理システム - 異なる地理的ロケーションの複数の開発者がデータとファイルを変更する場合、これらのシステムは異なるバージョンと更新を管理します。
- バグトラッカーとタスクリスト - 大規模プロジェクトで問題を監視し、修正を追跡できるようにします。
- テストとデバッグツール - システムインテグレーション中にテストを自動化し、他のプログラムをデバッグします。
結論
何千ものオープンソースプロジェクトがプロプライエタリなソフトウェアの代替品です。 ソフトウェア開発におけるキャリア構築の道筋として、OSSプロジェクトに取り組む。 さらに、プログラマは、世界最大のソフトウェアプログラムに取り組むことで、スキルを向上させることができます。 Facebook、Google、LinkedInはOpen Sourceとしてソフトウェアをリリースするので、開発者は知識を共有し、ソリューションを革新し、安定した機能的な製品に貢献することができます。