सबसे पहले, मानक अस्वीकरण: IANAL लेकिन एक यादृच्छिक अजनबी।
मैं हाल ही में एक एजीपीएल एप्लिकेशन (*) की पैकेजिंग कर रहा हूं । यह jQuery, MIT, BSD (और कुछ अन्य) लाइसेंस के तहत वितरित तृतीय पक्ष पुस्तकालयों का उपयोग करता है। यहां बताया गया है कि मैं कैसे आगे बढ़ा हूं।
जब मैंने इसे डिजाइन किया तो मेरे मुख्य उद्देश्य थे: आज्ञाकारी होना और निष्पक्ष होना । जबकि पहले वाले को पर्याप्त होना चाहिए, दूसरा यह सुनिश्चित करता है कि जो कोई भी मुझे 100% सही नहीं होने के लिए मुकदमा करने की कोशिश करता है उसे मानना होगा कि मैंने अच्छे विश्वास के साथ काम किया है।
1) सोर्स फाइल्स: मेरी सभी फाइल्स में AGPL हैडर है। सभी 3 पार्टी फ़ाइलों को छोड़ दिया जाता है (ज्यादातर) अनमॉडिफाइड, और इसलिए उनके स्वयं के लाइसेंस हेडर शामिल होते हैं।
2) LICENSE.txt, पैकेज की जड़ में, AGPL लाइसेंस पाठ सम्मिलित है (जैसा कि "आपके नए कार्यक्रमों में ये शर्तें कैसे लागू करें" अनुभाग में बताया गया है)।
3) एक माध्यमिक लाइसेंस फ़ाइल, जिसे मैंने LICENSE-3RD-PARTY.txt नाम दिया है, पैकेज के रूट पर भी स्थित है, जिसमें सभी लाइसेंसों की शब्दशः प्रतियां शामिल हैं। प्रत्येक लाइसेंस के लिए, एक हेडर बताता है कि यह कौन सा लाइसेंस है, और यह किस हिस्से पर लागू होता है। मैं यहां कॉपीराइट धारकों का नाम भी शामिल करता हूं - मैं उन्हें कहीं और फिर से उपयोग करता हूं इसलिए यह प्रयास के लायक है।
-----------------------------------------------------------------------------
The MIT License (MIT)
applies to:
- AJAX Upload, Copyright (c) Andrew Valums
- jQuery hashchange event, Copyright (c) 2010 "Cowboy" Ben Alman
- jquery.hotkeys, Copyright (c) 2010 John Resig
-----------------------------------------------------------------------------
Permission is hereby granted, free of charge [...]
4) README.txt, रूट पर, यह भी बताता है कि सॉफ्टवेयर AGPL है (LICENSE.txt देखें) और तीसरे पक्ष के पुस्तकालयों का उपयोग करता है जो अपनी शर्तों के तहत वितरित किए जाते हैं (LICENSE-3RD-PARTY.txt देखें)
5) ऑन-लाइन प्रलेखन में, मेरे पास एक लाइसेंस पृष्ठ है जो रीडमी से जानकारी को दोहराता है: मेरा सॉफ्टवेयर एजीपीएल है, और यह 3 पार्टी घटकों का उपयोग करता है जो बीएसडी / एमआईटी / [...] हैं। मैंने इस पृष्ठ को साफ रखने और अधिक पठनीय बनाने का निर्णय लिया है, इसलिए केवल लाइसेंस का नाम प्रदान किया गया है, जिसमें पूर्ण पाठ के लिए लिंक और कॉपीराइट धारकों के नाम के साथ उनकी अपनी वेबसाइट का लिंक है।
jQuery
Copyright 2013 jQuery Foundation and other contributors
http://jquery.com
MIT License
Data Driven Documents (D3)
Copyright (c) 2013, Michael Bostock <-- link to personal website, if any
http://d3js.org <-- link to software website
BSD-like license <-- link to license full text
[...]
6) ऑन-लाइन प्रलेखन में, मेरे पास एक क्रेडिट पृष्ठ है, जहां मैं प्रत्यक्ष और अप्रत्यक्ष मुख्य योगदानकर्ताओं की सूची देता हूं। उदाहरण के लिए मैंने PostgreSQL समूह का उल्लेख किया है, हालाँकि PostgreSQL डाउनलोड में शामिल नहीं है, लेकिन आपको सॉफ़्टवेयर चलाने के लिए इसकी आवश्यकता है। यह उन सभी पावतियों को रखने के लिए एक अच्छी जगह होगी जो या तो आवश्यक हैं या तीसरे पक्ष के उपकरण / पुस्तकालय / आदि के लेखकों द्वारा वांछित हैं।
7) सॉफ्टवेयर के अंदर, लाइसेंस और कॉपीराइट धारकों के साथ पुस्तकालयों की सूची, के बारे में संवाद बॉक्स में दोहराया जाता है ।
स्रोत कोड और फ़ाइल लेआउट को शामिल करने के बारे में अपने विशिष्ट प्रश्नों को संबोधित करने के लिए:
इसे आम तौर पर केवल 3 पार्टी पैकेज के पूर्ण स्रोत कोड से लिंक करने के लिए स्वीकार किया जाता है। सुनिश्चित करने के लिए प्रत्येक विशिष्ट लाइसेंस से परामर्श करें, लेकिन लिंक प्रदान करने वाला IMHO पर्याप्त होना चाहिए। उदाहरण के लिए, यदि आप किसी पुस्तकालय के लघु संस्करण का उपयोग करते हैं, तो आप मानक डाउनलोड के लिए लिंक प्रदान कर सकते हैं और ठीक हो सकते हैं।
जब तक तृतीय पक्ष घटक स्पष्ट रूप से मांग नहीं करता है कि वितरण फ़ाइल लेआउट को समान रखते हैं, आप अपनी इच्छानुसार चीजों को फिर से व्यवस्थित कर सकते हैं। कल्पना करें कि आप वेब लाइब्रेरी का उपयोग करते हैं, प्रत्येक में css / और js / निर्देशिका है, आप उन्हें एक साथ एक ही lib / निर्देशिका में मर्ज कर सकते हैं, जिसमें विलय css / और js / शामिल हैं, या यहां तक कि उन्हें आपके स्रोत ट्री के चारों ओर बिखेर सकते हैं - आपकी पसंद।
और एक अंतिम नोट के रूप में, मैं स्वागत टिप्पणीकर्ताओं जो एक हाथ और कहा कि "आप क्या कर रहे हैं लहर से होगा और अधिक इस और / या" आप भी क्या करना चाहिए गलत " है कि "।
(*) यह स्पैम लिंकिंग करने का इरादा नहीं है, लेकिन सिर्फ "कृपया उदाहरण प्रदान करें" सवाल का हिस्सा है। अगर यह नियमों के विरुद्ध है तो इस लिंक को खाली करने के लिए स्वतंत्र महसूस करें।