2012-10-09 19 views
7

पर जाएं, मैंने पहले इसी तरह के question से पूछा है लेकिन इस बार मैं go भाषा पर ध्यान केंद्रित करना चाहता हूं। मैं wiki page of go language पढ़ रहा हूं और महसूस किया कि सारांश में एक लाइसेंस खंड है जो BSD style + Patent grant कहता है।भाषा लाइसेंस

उल्लेख किया है BSD लाइसेंस: मुझे पता है वहाँ भी है कि go जो मेरा अनुमान है कि यद्यपि वहाँ विकि पृष्ठ में यह का कोई जिक्र नहीं था GPL लाइसेंस की तरह कुछ है, जो मुझे आश्चर्य बना लिए एक gcc दृश्यपटल हूँ लिए करना:

  • संकलक
  • और/या भाषा
  • और/या मानक पुस्तकालयों

यदि ऐसे भेदभाव हैं तो?

एक व्यावहारिक जवाब स्वागत किया जाएगा (यानी मैं कैसे एक स्रोत या द्विआधारी लाइसेंस सकते हैं?) के साथ-साथ पुराने भाषाओं (C, C++, Java) यदि कोई हो को एक विपरीत के रूप में ..

+4

मैं इस प्रश्न को ऑफ-विषय के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि ** यह लाइसेंसिंग या कानूनी मुद्दों ** के बारे में है, प्रोग्रामिंग या सॉफ्टवेयर विकास नहीं। [यहां देखें] (http://meta.stackoverflow.com/a/274964/1402846) विवरण के लिए, और [सहायता/विषय] अधिक के लिए। –

उत्तर

6

गो के अधिकांश हिस्सों को three-clause BSD style license और patent grant के तहत लाइसेंस प्राप्त है। इसमें जीसी कंपाइलर्स, मानक पुस्तकालय, और अन्य संबंधित उपकरण शामिल हैं। दो उल्लेखनीय अपवाद हैं जिनके बारे में मुझे पता है:

language specification और अन्य वेबसाइट दस्तावेज क्रिएटिव कॉमन्स एट्रिब्यूशन 3.0 लाइसेंस के तहत लाइसेंस प्राप्त हैं। देखने के लिए golang.org पर किसी भी पेज के बहुत नीचे स्क्रॉल करें। (मुझे लगता है कि इसका मतलब यह है कि कुछ स्रोत कोड टिप्पणियों को एक ही तरह से लाइसेंस प्राप्त किया जाता है, जो थोड़ा अजीब लगता है।)

gccgo का फ्रंटएंड उसी बीएसडी शैली लाइसेंस का उपयोग शेष गो के रूप में करता है, हालांकि यह इसके साथ जुड़ा होना चाहिए शेष जीसीसी, यह प्रभावी रूप से जीपीएलवी 3 है। (ध्यान दें कि, जेनब के दावों के विपरीत, gccgo अन्य कंपाइलर के साथ कोई कोड साझा नहीं करता है। यह कुछ रनटाइम कोड साझा करता है।)

जीसीसी पर निर्भर जीसीजीओ फ्रंटेंड के हिस्सों को अलग करने के लिए निरंतर प्रयास चल रहे हैं ताकि कि यह अन्य गो कंपाइलर्स के लिए फ्रंटेंड के रूप में उपयोग किया जा सकता है, जैसे कि शायद एक एलएलवीएम-आधारित कंपाइलर। इस तरह के एक कंपाइलर पूरी तरह से बीएसडी शैली लाइसेंस के तहत जारी किया जा सकता है।

+0

जीएनयू सी रन-टाइम से लिंक करना जीपीएल लाइसेंसिंग आवश्यकता से आपके कोड को खोलने के लिए बाहर रखा गया है: http://stackoverflow.com/questions/10838807/license-of-runtime- पुस्तकालय- समाहित-in-gcc https://www.gnu.org/licenses/gcc-exception-3.1।एचटीएमएल मेरी पढ़ाई मुझे विश्वास दिलाती है कि आपको अपने गो कोड को स्रोत खोलने की आवश्यकता नहीं है क्योंकि आप कुछ सी लाइब्रेरी का उपयोग करते हैं जो जीएनयू सी रन-टाइम में लाता है। –

+0

मैं दावा नहीं कर रहा हूं कि जीसीसीओ का फ्रंटेंड जीपीएल है क्योंकि यह libc से जुड़ा हुआ है, लेकिन क्योंकि यह बहुत से जीसीसी से जुड़ा हुआ है, जो (जहां तक ​​मुझे पता है) एक बहिष्कार है। जीसीसी से फ्रंटएंड को अलग करने के प्रयास किए गए हैं, लेकिन मेरा मानना ​​है कि वे अपूर्ण हैं और वर्तमान में निष्क्रिय हैं। –

+0

आह, अब मैं समझता हूं कि आपका क्या मतलब है, @Evan Shaw। इससे मेरे लिए चीजों को स्पष्ट करने में भी मदद मिली: "जीसीसीओ कंपाइलर जीसीसी, व्यापक रूप से उपयोग किए जाने वाले जीएनयू कंपाइलर के लिए एक नया अग्रभाग है। हालांकि फ्रंटेंड स्वयं बीएसडी-स्टाइल लाइसेंस के तहत है, जीसीजीओ आमतौर पर जीसीसी के हिस्से के रूप में उपयोग किया जाता है और तब होता है जीएनयू जनरल पब्लिक लाइसेंस द्वारा कवर (लाइसेंस जीसीसी के हिस्से के रूप में स्वयं को शामिल करता है; इसमें जीसीसीओ द्वारा उत्पन्न कोड शामिल नहीं है " https://golang.org/doc/install/gccgo –

0

BSD लाइसेंस कंपाइलर और मानक पुस्तकालय पर लागू होता है। मुझे नहीं पता कि "भाषा स्वयं" का लाइसेंस क्या है; इसका अर्थ क्या है, भाषा का पाठ, या?

जीसीसी में आगे बढ़ना बीएसडी लाइसेंस प्राप्त है (AFAIK यह अन्य जाने कंपाइलर के साथ कोड साझा करता है), हालांकि शेष जीसीसी संकलक जीपीएलवी 3 के तहत रहता है।

संबंधित मुद्दे