Heim Backend-Entwicklung Golang Was ist das Open-Source-Protokoll der Go-Sprache?

Was ist das Open-Source-Protokoll der Go-Sprache?

Jun 07, 2021 pm 02:20 PM
go语言 开源协议

Die Go-Sprache übernimmt die BSD-Open-Source-Lizenz. Das BSD-Open-Source-Protokoll ist ein Protokoll, das Benutzern viel Freiheit bietet. Sie können es frei verwenden, den Quellcode ändern und den geänderten Code als Open-Source- oder proprietäre Software erneut veröffentlichen. BSD-Code fördert die gemeinsame Nutzung von Code, aber das Urheberrecht des Codeautors muss respektiert werden.

Was ist das Open-Source-Protokoll der Go-Sprache?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, GO 1.11.2, Dell G3-Computer.

Was ist das Open-Source-Protokoll der Go-Sprache?

Go-Sprache stammt von Bell Labs und wurde aus einer Limbo-Sprache entwickelt. Limbo wird zur Entwicklung verteilter Anwendungen auf kleinen Computern verwendet. Es unterstützt modulare Programmierung, starke Typerkennung zur Kompilierungszeit und Laufzeit, In-Process-basierte auf typisierten Kommunikationskanälen, atomare Garbage Collection und einfache abstrakte Datentypen auch auf Minicomputern ohne Hardwareschutz sicher. Go und Limbo wurden von derselben Gruppe von Leuten entwickelt und verfügen über die gleichen hervorragenden Funktionen. Go wurde 2007 bei Google geboren. Google unterstützt die Nutzung von 20 % der Freizeit für die Entwicklung experimenteller Projekte und kam 2009 auf den Markt. Go-Sprache ist Open Source und übernimmt die BSD-Lizenz.

Das BSD-Open-Source-Protokoll ist ein Protokoll, das Benutzern viel Freiheit bietet. Sie können es frei verwenden, den Quellcode ändern und den geänderten Code als Open Source oder proprietäre Software erneut veröffentlichen. Wenn Sie Code veröffentlichen, der das BSD-Protokoll verwendet, oder Ihr eigenes Produkt basierend auf dem BSD-Protokollcode entwickeln, müssen Sie drei Bedingungen erfüllen:

  • Wenn das erneut veröffentlichte Produkt Quellcode enthält, dann ist der Quellcode das BSD-Protokoll im Originalcode enthalten sein.

  • Wenn Sie nur binäre Klassenbibliotheken/Software weiterverbreiten, müssen Sie das BSD-Protokoll in den Originalcode in der Dokumentation und Urheberrechtserklärung der Klassenbibliothek/Software aufnehmen.

  • Sie dürfen den Namen des Autors/der Organisation des Open-Source-Codes und den Namen des Originalprodukts nicht für Marketingzwecke verwenden.

BSD-Code fördert die gemeinsame Nutzung von Code, aber das Urheberrecht des Codeautors muss respektiert werden. BSD ist ein Protokoll, das für die kommerzielle Integration geeignet ist, da es Benutzern die Änderung und Weiterverbreitung von Code ermöglicht und außerdem die Veröffentlichung und den Verkauf kommerzieller Software unter Verwendung oder Entwicklung von BSD-Code ermöglicht. Viele Unternehmen bevorzugen bei der Auswahl von Open-Source-Produkten das BSD-Protokoll, da sie diese Codes von Drittanbietern vollständig kontrollieren und bei Bedarf ändern oder neu entwickeln können.

Erweiterte Informationen: Vergleich von fünf Open-Source-Protokollen (BSD, Apache, GPL, LGPL, MIT)

BSD-Open-Source-Protokoll (Original-BSD-Lizenz, FreeBSD-Lizenz, Original-BSD-Lizenz)

BSD-Open-Source Protokoll ist ein Protokoll, das Benutzern viel Freiheit bietet. Grundsätzlich können Benutzer „tun, was sie wollen“ und es frei verwenden, den Quellcode ändern oder den geänderten Code als Open Source oder proprietäre Software erneut veröffentlichen.

Aber die Prämisse „Machen Sie, was Sie wollen“ Wenn Sie Code veröffentlichen, der das BSD-Protokoll verwendet, oder Ihre eigenen Produkte basierend auf dem BSD-Protokollcode entwickeln, müssen Sie drei Bedingungen erfüllen:

Wenn das erneut veröffentlichte Produkt enthält Quellcode: Das BSD-Protokoll im Originalcode muss im Quellcode enthalten sein. Wenn nur eine binäre Klassenbibliothek/Software weitergegeben wird, muss die BSD-Lizenz im Originalcode in der Dokumentation und der Urheberrechtserklärung der Klassenbibliothek/Software enthalten sein. Verwenden Sie den Namen des Autors/der Organisation des Open-Source-Codes oder den Namen des Originalprodukts nicht für Marketingzwecke.

BSD-Code fördert die gemeinsame Nutzung von Code, aber das Urheberrecht des Codeautors muss respektiert werden. BSD ist ein Protokoll, das für die kommerzielle Integration geeignet ist, da es Benutzern die Änderung und Weiterverbreitung von Code ermöglicht und außerdem die Veröffentlichung und den Verkauf kommerzieller Software unter Verwendung oder Entwicklung von BSD-Code ermöglicht. Viele Unternehmen bevorzugen bei der Auswahl von Open-Source-Produkten das BSD-Protokoll, da sie diese Codes von Drittanbietern vollständig kontrollieren und bei Bedarf ändern oder neu entwickeln können.

Apache-Lizenz

Apache-Lizenz ist ein Protokoll, das von Apache, einer bekannten gemeinnützigen Open-Source-Organisation, übernommen wurde. Diese Vereinbarung ähnelt BSD. Sie fördert auch die gemeinsame Nutzung von Code und respektiert das Urheberrecht des ursprünglichen Autors. Sie ermöglicht auch die Änderung und Weiterverbreitung von Code (als Open Source oder kommerzielle Software). Die zu erfüllenden Bedingungen sind ähnlich wie bei BSD:

Sie müssen dem Benutzer des Codes eine Apache-Lizenz geben. Wenn Sie den Code ändern, muss dies in der geänderten Datei angegeben werden. Erweiterter Code (Änderungen und vom Quellcode abgeleiteter Code) muss die vom ursprünglichen Autor festgelegten Vereinbarungen, Marken, Patenterklärungen und anderen Anweisungen enthalten, die in den Originalcode aufgenommen werden müssen. Wenn das neu veröffentlichte Produkt eine Hinweisdatei enthält, muss die Apache-Lizenz in der Hinweisdatei enthalten sein. Sie können der Mitteilung Ihre eigene Lizenz hinzufügen, es darf jedoch nicht den Anschein erwecken, dass es sich dabei um eine Änderung der Apache-Lizenz handelt.

Apache-Lizenz ist auch eine Lizenz, die für kommerzielle Anwendungen geeignet ist. Benutzer können den Code bei Bedarf auch an ihre Bedürfnisse anpassen und ihn als Open-Source- oder kommerzielles Produkt veröffentlichen/verkaufen.

GPL (GNU General Public License)

Das Linux, mit dem wir sehr vertraut sind, übernimmt die GPL. Die GPL-Vereinbarung unterscheidet sich stark von Lizenzen wie BSD und Apache License, die die Wiederverwendung von Code fördern. Der Ausgangspunkt der GPL ist die Open-Source-/freie Nutzung des Codes und die Open-Source-/freie Nutzung des Referenz-/Modifikations-/Derivatcodes, der modifizierte und abgeleitete Code darf jedoch nicht als kommerzieller Closed-Source-Code veröffentlicht und verkauft werden Software. Aus diesem Grund können wir alle Arten von kostenlosem Linux verwenden, einschließlich Linux von kommerziellen Unternehmen und verschiedener freier Software für Linux, die von Einzelpersonen, Organisationen und kommerziellen Softwareunternehmen entwickelt wurde.

Der Hauptinhalt der GPL-Vereinbarung besteht darin, dass das Softwareprodukt auch die GPL übernehmen muss, solange ein Produkt unter der GPL-Vereinbarung verwendet wird („Verwendung“ bezieht sich auf Klassenbibliotheksreferenzen, geänderten Code oder abgeleiteten Code) in einer Software Vereinbarung und muss Open Source und kostenlos sein. Dies nennt man „Infektiosität“. Es ist kein Problem, GPL-lizenzierte Produkte als separates Produkt zu verwenden und Sie können auch den Vorteil genießen, kostenlos zu sein.

Da die GPL strikt vorschreibt, dass Softwareprodukte, die GPL-Klassenbibliotheken verwenden, das GPL-Protokoll verwenden müssen, sind Open-Source-Code, der das GPL-Protokoll verwendet, kommerzielle Software oder Abteilungen, die Code-Vertraulichkeitsanforderungen haben, nicht für die Integration/Annahme als Klassenbibliotheken geeignet Sekundärentwicklung.

Andere Details, wie die Notwendigkeit, bei der Neuveröffentlichung die GPL-Vereinbarung beizufügen, ähneln BSD/Apache usw.

LGPL (GNU Lesser General Public License)

LGPL ist eine Open-Source-Lizenz der GPL, die hauptsächlich für Klassenbibliotheken entwickelt wurde. Im Gegensatz zur GPL, die verlangt, dass jede Software, die eine GPL-Klassenbibliothek verwendet/ändert/ableitet, eine GPL-Lizenz übernehmen muss. LGPL ermöglicht kommerzieller Software die Nutzung von LGPL-Klassenbibliotheken über Klassenbibliotheksreferenzen (Links), ohne dass der Code kommerzieller Open-Source-Software erforderlich ist. Dadurch kann Open-Source-Code, der die LGPL-Lizenz verwendet, von kommerzieller Software als Klassenbibliothek referenziert und veröffentlicht und verkauft werden.

Aber wenn Sie den Code oder Derivate der LGPL-Vereinbarung ändern, müssen alle geänderten Codes, zusätzlichen Codes, die den geänderten Teil beinhalten, und abgeleitete Codes die LGPL-Vereinbarung übernehmen. Daher ist der Open-Source-Code des LGPL-Protokolls sehr gut geeignet, um von kommerzieller Software als Klassenbibliothek eines Drittanbieters referenziert zu werden. Er eignet sich jedoch nicht für kommerzielle Software, die den LGPL-Protokollcode als Grundlage für die Sekundärentwicklung verwenden möchte Modifikation und Derivate.

GPL/LGPL schützt die geistigen Eigentumsrechte des ursprünglichen Autors und verhindert, dass jemand Open-Source-Code zum Kopieren und Entwickeln ähnlicher Produkte verwendet.

MIT (MIT)

MIT ist eine Lizenzvereinbarung, die so umfassend ist wie BSD Der Autor möchte nur das Urheberrecht behalten, ohne weitere Einschränkungen. Mit anderen Worten, Sie müssen die Erklärung der ursprünglichen Lizenzvereinbarung in Ihre Distribution aufnehmen, unabhängig davon, ob Sie sie als Binärdatei oder als Quellcode veröffentlichen

Das obige ist der detaillierte Inhalt vonWas ist das Open-Source-Protokoll der Go-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist das Problem mit Warteschlangen -Thread in Go's Crawler Colly? Was ist das Problem mit Warteschlangen -Thread in Go's Crawler Colly? Apr 02, 2025 pm 02:09 PM

Das Problem der Warteschlange Threading In Go Crawler Colly untersucht das Problem der Verwendung der Colly Crawler Library in Go -Sprache. Entwickler stoßen häufig auf Probleme mit Threads und Anfordern von Warteschlangen. � ...

Welche Bibliotheken werden für die Operationen der schwimmenden Punktzahl in Go verwendet? Welche Bibliotheken werden für die Operationen der schwimmenden Punktzahl in Go verwendet? Apr 02, 2025 pm 02:06 PM

In der Bibliothek, die für den Betrieb der Schwimmpunktnummer in der GO-Sprache verwendet wird, wird die Genauigkeit sichergestellt, wie die Genauigkeit ...

Warum hat das Drucken von Saiten mit Println und String () -Funktionen unterschiedliche Effekte? Warum hat das Drucken von Saiten mit Println und String () -Funktionen unterschiedliche Effekte? Apr 02, 2025 pm 02:03 PM

Der Unterschied zwischen Stringdruck in GO -Sprache: Der Unterschied in der Wirkung der Verwendung von Println und String () ist in Go ...

Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Apr 02, 2025 pm 04:54 PM

Das Problem der Verwendung von RETISTREAM zur Implementierung von Nachrichtenwarteschlangen in der GO -Sprache besteht darin, die Go -Sprache und Redis zu verwenden ...

Was soll ich tun, wenn die benutzerdefinierten Strukturbezeichnungen in Goland nicht angezeigt werden? Was soll ich tun, wenn die benutzerdefinierten Strukturbezeichnungen in Goland nicht angezeigt werden? Apr 02, 2025 pm 05:09 PM

Was soll ich tun, wenn die benutzerdefinierten Strukturbezeichnungen in Goland nicht angezeigt werden? Bei der Verwendung von Goland für GO -Sprachentwicklung begegnen viele Entwickler benutzerdefinierte Struktur -Tags ...

Was ist der Unterschied zwischen 'var' und 'Typ' Typenwort Definition in der GO -Sprache? Was ist der Unterschied zwischen 'var' und 'Typ' Typenwort Definition in der GO -Sprache? Apr 02, 2025 pm 12:57 PM

Zwei Möglichkeiten, Strukturen in der GO -Sprache zu definieren: Der Unterschied zwischen VAR- und Typ -Schlüsselwörtern. Bei der Definition von Strukturen sieht die Sprache oft zwei verschiedene Schreibweisen: Erstens ...

Welche Bibliotheken in GO werden von großen Unternehmen entwickelt oder von bekannten Open-Source-Projekten bereitgestellt? Welche Bibliotheken in GO werden von großen Unternehmen entwickelt oder von bekannten Open-Source-Projekten bereitgestellt? Apr 02, 2025 pm 04:12 PM

Welche Bibliotheken in GO werden von großen Unternehmen oder bekannten Open-Source-Projekten entwickelt? Bei der Programmierung in Go begegnen Entwickler häufig auf einige häufige Bedürfnisse, ...

Wie kann man in Go -Programmierung die Verbindungsressourcen zwischen MySQL und Redis korrekt verwalten? Wie kann man in Go -Programmierung die Verbindungsressourcen zwischen MySQL und Redis korrekt verwalten? Apr 02, 2025 pm 05:03 PM

Ressourcenverwaltung in Go -Programmierung: MySQL und Redis Connect und Release, um zu lernen, wie Ressourcen korrekt verwaltet werden, insbesondere mit Datenbanken und Caches ...

See all articles