Go 言語は BSD オープンソース ライセンスを採用しています。 BSDオープンソースライセンスは、ユーザーが自由に使用したり、ソースコードを改変したり、改変したコードをオープンソースまたはプロプライエタリソフトウェアとして再公開したりすることができる、非常に自由なライセンスです。 BSD コードではコードの共有が奨励されていますが、コード作成者の著作権は尊重される必要があります。
このチュートリアルの動作環境: Windows 10 システム、GO 1.11.2、Dell G3 コンピューター。
Go 言語のオープンソース プロトコルとは何ですか?
Go 言語は Bell Labs から提供され、Limbo 言語から開発されました。 Limbo は、小型コンピュータ上で分散アプリケーションを開発するために使用されます。モジュール式プログラミング、コンパイル時および実行時の強力な型検出、インプロセス型付き通信チャネル、アトミック ガベージ コレクション、および単純な抽象データ型をサポートしています。その目的は次のとおりです。ハードウェア保護のないミニコンピューターでは。 Go と Limbo は同じグループによって開発され、同じ優れた機能を備えています。 Go は 2007 年に Google で誕生しました。Google は自由時間の 20% を実験的プロジェクトの開発に使用することをサポートしており、2009 年に登場しました。 Go 言語はオープンソースであり、BSD ライセンスを採用しています。
BSD オープンソース契約は、ユーザーに大きな自由を与える契約です。自由に使用したり、ソース コードを変更したり、変更したコードをオープン ソースまたはプロプライエタリ ソフトウェアとして再リリースしたりすることができます。 BSD プロトコルを使用するコードを公開する場合、または BSD プロトコル コードに基づいて独自の製品の二次開発を行う場合は、次の 3 つの条件を満たす必要があります。ソース コードが含まれる場合、ソース コードには元のコードの BSD ライセンスが含まれている必要があります。
バイナリ クラス ライブラリ/ソフトウェアのみを再配布する場合は、クラス ライブラリ/ソフトウェアのドキュメントおよび著作権宣言内の元のコードに BSD プロトコルを含める必要があります。
オープンソース コードの作成者/組織の名前、および元の製品の名前をマーケティング目的で使用しないでください。
BSD コードではコードの共有が推奨されていますが、コード作成者の著作権は尊重される必要があります。 BSD は、ユーザーがコードを変更して再配布できるほか、BSD コードを使用または BSD コード上で開発した商用ソフトウェアをリリースおよび販売できるため、商用統合に適したプロトコルです。多くの企業は、オープンソース製品を選択する際に BSD プロトコルを好みます。これは、これらのサードパーティ コードを完全に制御でき、必要に応じて変更または再開発できるためです。
拡張情報: 5 つのオープンソース プロトコルの比較 (BSD、Apache、GPL、LGPL、MIT)
BSD オープン ソース プロトコル (オリジナル) BSD ライセンス、FreeBSD ライセンス、オリジナル BSD ライセンス)
BSD オープンソース契約は、ユーザーに大きな自由を与える契約です。基本的にユーザーは「やりたいことを何でも」自由に使用したり、ソースコードを改変したり、改変したコードをオープンソースやプロプライエタリソフトウェアとして再公開したりすることができます。 ただし、「やりたいことをやる」という前提 BSD プロトコルを使用したコードを公開したり、BSD プロトコルのコードをベースにした自社製品の二次開発を行う場合は、次の 3 つの条件を満たす必要があります。
再リリースされた製品にソース コードが含まれている場合は、元のコードの BSD プロトコルをソース コードに含める必要があります。バイナリのクラス ライブラリ/ソフトウェアのみを再配布する場合は、元のコードの BSD ライセンスをクラス ライブラリ/ソフトウェアのドキュメントと著作権宣言に含める必要があります。オープンソース コードの作成者/組織の名前、または元の製品の名前をマーケティング目的で使用しないでください。
BSD コードではコードの共有が推奨されていますが、コード作成者の著作権は尊重される必要があります。 BSD は、ユーザーがコードを変更および再配布できるほか、BSD コードを使用または BSD コード上で開発した商用ソフトウェアをリリースおよび販売できるため、商用統合に適したプロトコルです。多くの企業は、オープンソース製品を選択する際に BSD プロトコルを好みます。これは、これらのサードパーティ コードを完全に制御でき、必要に応じて変更または再開発できるためです。
Apache ライセンスApache ライセンスは、有名な非営利のオープンソース組織である Apache によって採用されているプロトコルです。この契約は BSD に似ており、コードの共有を奨励し、元の作成者の著作権を尊重し、コードの変更と再配布 (オープン ソースまたは商用ソフトウェアとして) も許可します。満たす必要がある条件は BSD と同様です: コードのユーザーに Apache ライセンスを与える必要があります。コードを変更する場合は、変更したファイルにその旨を記載する必要があります。拡張コード (ソース コードから派生した変更およびコード) には、元のコードに含める必要がある、元の作成者によって指定された契約、商標、特許明細書、その他の指示が含まれている必要があります。再リリースされた製品に通知ファイルが含まれている場合は、Apache ライセンスを通知ファイルに含める必要があります。独自のライセンスを通知に追加できますが、それが Apache ライセンスの変更であるように見えることはできません。
Apache ライセンスは、商用アプリケーションにも適したライセンスです。ユーザーは、必要に応じてニーズに合わせてコードを変更し、オープンソースまたは商用製品として公開/販売することもできます。
GPL(GNU一般公衆利用許諾契約書)私たちがよく知っている Linux は GPL を採用しています。 GPL 契約は、コードの再利用を奨励する BSD や Apache ライセンスなどのライセンスとは大きく異なります。 GPL の出発点は、コードのオープンソース/自由使用、および参照/修正/派生コードのオープンソース/自由使用ですが、修正および派生したコードをクローズドソースの商用としてリリースおよび販売することは許可されていません。ソフトウェア。これが、商用企業の Linux や、個人、組織、商用ソフトウェア会社が開発した Linux 上のさまざまなフリー ソフトウェアを含む、あらゆる種類のフリー Linux を使用できる理由です。
GPL 契約の主な内容は、GPL 契約に基づく製品がソフトウェアで使用される (「使用」とは、クラス ライブラリの参照、変更されたコード、または派生コードを指します) 限り、ソフトウェア製品は次のことを行う必要があります。また、GPL 契約も採用しており、どちらもオープンソースで無料である必要があります。これを「感染力」といいます。 GPLライセンス製品を単体製品として使用しても問題なく、無料というメリットも享受できます。
GPL では、GPL クラス ライブラリを使用するソフトウェア製品には GPL プロトコルを使用することが厳密に要求されているため、GPL プロトコルを使用するオープン ソース コード、商用ソフトウェア、またはコードの機密性要件がある部門は統合には適していません。 /クラスライブラリとして採用し、二次開発の基礎となります。
その他、再配布時に GPL 契約を伴う必要があるなどの詳細は、BSD/Apache などと同様です。
LGPL (GNU Lesser General Public License)
LGPL は、主にクラス ライブラリで使用するために設計された GPL のオープン ソース ライセンスです。 GPL とは異なり、GPL クラス ライブラリを使用/変更/派生するソフトウェアには GPL ライセンスを採用する必要があります。 LGPL を使用すると、オープン ソースの商用ソフトウェアのコードを必要とせずに、商用ソフトウェアがクラス ライブラリ参照 (リンク) を通じて LGPL クラス ライブラリを使用できるようになります。これにより、LGPLライセンスを使用したオープンソースコードを商用ソフトウェアからクラスライブラリとして参照し、公開・販売できるようになります。
ただし、LGPL 契約のコードまたは派生コードを変更する場合、すべての変更コード、変更部分を含む追加コード、および派生コードは LGPL 契約を採用する必要があります。したがって、LGPL プロトコルのオープン ソース コードは、商用ソフトウェアがサードパーティのクラス ライブラリとして参照するのに非常に適していますが、LGPL プロトコル コードを二次開発の基礎として使用することを希望する商用ソフトウェアには適していません。改変と派生。
GPL/LGPL は両方とも、オリジナルの作成者の知的財産権を保護し、誰もがオープン ソース コードを使用して同様の製品をコピーおよび開発することを防止します
MIT(MIT)
MIT は BSD と同じ広範なライセンスです。作者は、他の制限なしに著作権を保持することだけを望んでいます。言い換えれば、配布物としてリリースするかどうかにかかわらず、配布物には元の使用許諾契約の記述を含める必要があります。バイナリ まだソース コードとして公開されています。
推奨学習:Golang チュートリアル
以上がGo言語のオープンソースプロトコルとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。