গিটহাব প্রকল্পে একাধিক লাইসেন্স ঘোষণা করা


28

কয়েক বছর ধরে, আমি অনলাইনে ভাগ করা জিনিসগুলিতে লাইসেন্স লাগানোর দুর্দান্ত অনুরাগী হয়েছি যাতে অন্যেরা যাতে বলা জিনিসগুলিকে কীভাবে ব্যবহার করতে পারে এবং কীভাবে তা পুনরায় ব্যবহার করতে পারে তা নির্ধারণ করা সহজ করে দেয়। গিটহাব তার ব্যবহারকারীদের লপেন্সির মাধ্যমে লিসেনসি ফাইল যুক্ত করতে মৃদুভাবে 'ধাক্কা' দেওয়া শুরু করার আগে, কোডের মাধ্যমে কীভাবে সেরা এটি করা যায় তা আমি সত্যিই জানতাম না - বিশেষ করে কোডটি গিটহাবের উপর প্রকাশ্যে ভাগ করা! - তবে আমি তখন থেকে লিসেনসি ফাইলগুলির ভাল ব্যবহার করার চেষ্টা করেছি।

আমি এখন এমন পরিস্থিতিতে রয়েছি যেখানে আমি কিছু অন্যান্য লোকের সাথে একটি ছোট প্রকল্পে কাজ করেছি, যার বেশ কয়েকটি লাইসেন্সের প্রয়োজন (তৃতীয় পক্ষের কোড এবং লাইব্রেরিগুলির পাশাপাশি নন-কোড ফাইলগুলির কারণে) requires আমার অংশীদাররা বরং 'slিলে .ালা' হিসাবে বিষয়টি সম্পর্কে আলোচনা করার সময় - প্রস্তাবিত হয়েছিল আমি 'কোডটি অনলাইনে যেমন রাখি তেমন কেউই পাত্তা দেবে না' -, আমি বরং এটি সঠিকভাবে করব। সমস্যাটি হ'ল: আমি জানি না যে একজনের কীভাবে গিটহাবের বিভিন্ন (বিভিন্ন) লাইসেন্সের কথা উল্লেখ করা উচিত।

আমি গিটহাবের উপর বেশ কয়েকটি ভিন্ন সমাধান দেখেছি , এ কারণেই যদি আমার সামান্য ভিন্ন প্রশ্নের উত্তরটি প্রামাণিক হয় তবে বিচার করা আমার পক্ষে কঠিন । নিম্নলিখিতগুলির মধ্যে কোনটি আমি জানতে চাই - এটি যদি হয় - তবে সবচেয়ে সাধারণ, বা যদি অন্য কোনও হয়, তবে এটি করার অতিরিক্ত উপায়।

  1. একটি একক লিসেনসি ফাইল তৈরি করুন এবং সেখানে সমস্ত বিভিন্ন লাইসেন্সের বিবরণ দিন। ( প্রশ্নসমূহ : সেগুলি কি কোনও নির্দিষ্ট ক্রমে রাখা উচিত? আরও ভাল পর্যালোচনা করার জন্য আমি কী ভিতরে থাকা সমস্ত লাইসেন্সের নাম উল্লেখ করে ফাইলটি শুরু করব)?
  2. তৈরি করুন লাইসেন্স প্রতি এক লাইসেন্স ফাইলের ব্যবহার করা হয় এবং এগুলির নাম LICENSE.md, LICENSE.LibNameA.md, LICENSE.AssetsB.mdইত্যাদি সংযুক্ত উত্তরে প্রস্তাবিত। ( প্রশ্ন : নামকরণ প্রকল্পের নামের উপর ভিত্তি করে হবে? লাইসেন্সের নাম নয়? যদি আমি স্ব-অবদানমূলক উপাদানের জন্য একাধিক লাইসেন্স ব্যবহার করি, তবে আমি কী তাদের সমস্তকে 'মূল' তে উল্লেখ করব LICENSE.md? যদি না হয় তবে আমি কী করব?)
  3. দুটি লিসেনসি ফাইল তৈরি করুন : একটি 'মূল' বিষয়বস্তুর জন্য লাইসেন্সের তালিকা তৈরি করা , অর্থাত্ সমস্ত কোড / সম্পদ নিজেই তৈরি করেছেন; সমস্ত তৃতীয় পক্ষের উপকরণগুলির জন্য একটি। ( উপরের মত প্রশ্নগুলি : এখানে কি কোনও নির্দিষ্ট নামকরণের স্কিম ব্যবহার করা হবে এবং তৃতীয় পক্ষের উপকরণগুলির তালিকাতে কোনটি অর্ডার করবে?)

সবশেষে, আমি যদি তাদের লাইসেন্স এপিআই সম্পর্কিত বিভিন্ন গিটহাবের ব্যাখ্যা এবং প্রকল্পগুলি সঠিকভাবে বুঝতে পারি তবে কোনও রেপো লাইসেন্স নির্ধারণের সময় কেবলমাত্র 'মূল' লিসিক্স ফাইলটি বিবেচনা করা হবে (যদিও আমি বুঝতে পারি না যে কোন লাইসেন্সটি নেওয়া হবে) যদি বেশ কয়েকটি উল্লেখ করা থাকে)।


2
সুতরাং একটি README এবং এক বা একাধিক লিসেনসি ফাইল রয়েছে। এটি রকেট বিজ্ঞান নয়।
রবার্ট হার্ভে

4
লিঙ্কযুক্ত পৃষ্ঠা সম্পর্কে: লাইসেন্সের ফাইলগুলির বিতরণের সাথে এর কোনও যোগসূত্র নেই, এটি গিটহাবের লাইসেন্সস এপিআইয়ের সাথে সম্পর্কিত যা কোনও রেপুর লাইসেন্সে ফিরে / নির্ধারণ করে / প্রতিবেদন করে। যেহেতু আমি গিটহাবের উপর বিশেষত লিসেনসি ফাইলগুলির লাইসেন্সিং / ব্যবহার সম্পর্কে জিজ্ঞাসা করছিলাম, সাধারণভাবে ওপেন সোর্স বা গিট নয়, ওপেন সোর্স প্রকল্পটি যেভাবে সেখানে লাইসেন্স দেওয়ার জন্য চিত্রিত করা হয়েছে তাও প্রাসঙ্গিক। 'এটি রকেট বিজ্ঞান নয়' বিশেষভাবে সহায়ক নয়, বিটিডাব্লু।, এসএসপি। আমার গিটহাব-কেন্দ্রিক প্রশ্নের প্রসঙ্গে নয়।
কে

2
আমি প্রস্তাব দিতে পারি যে আপনার README এর লাইসেন্সিংয়ের একটি বিভাগ রয়েছে, কেবলমাত্র এটি উল্লেখ করে যে একাধিক লাইসেন্স রয়েছে এবং প্রতিটি লাইসেন্সের জন্য অবহিত করা হচ্ছে, এটিতে থাকা লাইসেন্সের ফাইলটির নাম কী?
এরিক tদ

3
@ মিম্বিস আমি এটি সম্পর্কে অবগত এবং আমার প্রশ্নটি কী ছিল তা মোটেও তা নয়। আমি 'মানুষের জন্য যে কোনও উপায়ে সর্বাধিক অর্থপূর্ণ হয়' (অন: গিটহাব) সম্পর্কিত একটি উত্তর চেয়েছিলাম।
কে

3
@ মিমিবিস: "কোনও সংকলক এটি পড়বে না" - বিষয়টি হ'ল কঠোরভাবে বলা, এটি গিথুবের পক্ষে সত্য নয়। গিথুব সংগ্রহস্থলের সামগ্রীগুলিতে প্রয়োগ "" লাইসেন্স নির্ধারণ করতে একটি স্বয়ংক্রিয় সরঞ্জাম ব্যবহার করে। এরপরে নির্ধারিত লাইসেন্সের নামটি সংগ্রহস্থলের শিরোনাম বারে প্রদর্শিত হবে এবং সেই সাথে আরও কিছু সাধারণ তথ্য যা দর্শকদের প্রকল্পের প্রাথমিক ধারণা প্রদান করে (যেমন: অবদানকারী এবং প্রকাশের সংখ্যা)।
বা ম্যাপার

উত্তর:


15

আপনি যে লাইসেন্সগুলি চান তা অন্তর্ভুক্ত করতে আপনি যে কোনও প্রক্রিয়া ব্যবহার করতে পারেন, যতক্ষণ না এটি আপনার প্রকল্পের কোনও দর্শকের কাছে স্পষ্ট হয়ে যায় যে প্রকল্পের কোন অংশের জন্য লাইসেন্সটি প্রযোজ্য।

আমার পছন্দ হবে:

  • প্রতিটি তৃতীয় পক্ষের লাইব্রেরি রাখুন যা আপনি তার নিজস্ব ডিরেক্টরিতে ব্যবহার করেন। এই ডিরেক্টরিতে লাইসেন্স এবং রিডমি ফাইলগুলি সহ গ্রন্থাগারের বিতরণের অংশ এমন সমস্ত ফাইল থাকা উচিত ।
  • আপনার নিজের লাইসেন্স ফাইলে কেবল আপনার নিজের কোডের লাইসেন্সটি পড়ুন
  • আপনার প্রকল্পের রিডম ফাইলে আপনি কোন তৃতীয় পক্ষের লাইব্রেরি ব্যবহার করবেন এবং প্রতিটি লাইব্রেরির অধীনে কোন লাইসেন্সটি বিতরণ করা হয়েছে তা উল্লেখ করুন। সম্পূর্ণ লাইসেন্সের বিশদ জন্য, লাইব্রেরির ডিরেক্টরিতে লাইসেন্স ফাইলটি পড়ুন।

1
এই দৃশ্যে ডুয়াল লাইসেন্স দেওয়ার ক্ষেত্রে আপনি কীভাবে আপনার নিজের লিসেনসি ফাইলটি পরিচালনা করবেন? অর্থ্যাৎ আপনি যদি প্রকল্পের বিভিন্ন অংশের (কোড বনাম মিডিয়া ফাইল) বিভিন্ন লাইসেন্স ব্যবহার করেন বা আপনি যদি দুটি (বা আরও) বিভিন্ন সফ্টওয়্যার লাইসেন্সের আওতায় আপনার কোড বিতরণ করতে চান? README- এ অতিরিক্ত তথ্য রাখার বিষয়টি অনেকটা অর্থবোধ করে এবং আমি এটিও করতাম তবে আমি গিটহাবের লিসেনসি ফাইলগুলি কীভাবে মোকাবেলা করতে আগ্রহী তা সম্পর্কে বিশেষ আগ্রহী (যা আমার দৃষ্টিতে দর্শকদের / দর্শকদের উত্সাহ দেওয়ার জন্য উত্সাহিত হয়) প্রকল্পটি একটি দ্রুত ওভারভিউ)।
কে

1
যদি আমার নিজস্ব কোডের (অংশগুলি) দ্বৈত-লাইসেন্সযুক্ত হয়, তবে আমি প্রকল্পের জন্য দুটি (বা আরও) লাইসেন্স ফাইল যুক্ত করব, প্রতিটি লাইসেন্সের জন্য একটি, এবং এটি রেডিমে ফাইলে পরিষ্কার করে দেব যে কোন ক্ষেত্রে লাইসেন্সটি প্রযোজ্য।
বার্ট ভ্যান ইনজেন শেেনা

1
বার্ট, আপনি কীভাবে এটি ভাগ করে নেওয়ার জন্য ধন্যবাদ - এটি আমার কাছে দেওয়া কিছু মন্তব্যের চেয়ে অনেক বেশি সহায়ক। :) আমি ইতিমধ্যে এটি সম্পর্কে গিটহাবের সাথে যোগাযোগ করেছি এবং যদি কিছু থেকে আসে তবে এই প্রশ্নটি এই মুহূর্তে উন্মুক্ত করে দেব।
কে

2
আপনি যখন গিথুবের কাছ থেকে উত্তর পেয়েছেন, দয়া করে এই প্রশ্নের স্ব-উত্তর হিসাবে সেই তথ্যটি পোস্ট করুন।
বার্ট ভ্যান ইনজেন শেেনা

1
এটি অবশ্যই ঠিক আছে যদি তাদের সাথে ঠিক থাকে তবে অন্যের জন্যও এটি জানতে আগ্রহী হতে পারে!
কে

12

এসপিডিএক্স স্রষ্টাদের উপস্থাপনায় ( স্লাইড 12 ) এটি খুব স্পষ্ট:

এর উপাদানসমূহ LICENSE:

Apache-2.0 OR GPL-2.0-or-later

আপনি তখন দুটি অতিরিক্ত LICENSE ফাইল যুক্ত করতে পারেন: LICENSE.Apache-2.0এবং LICENSE.GPL-2.0-or-later

সমস্ত ক্ষেত্রে, README.mdএএ এসপিডিএক্স লাইসেন্স সনাক্তকারী থাকতে হবে :

SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later

আপনি এটি এর মতো করতে পারেন:

## License

This work is dual-licensed under Apache 2.0 and GPL 2.0 (or any later version).
You can choose between one of them if you use this work.

`SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later`

এটি নোট করুন Apache-2.0 OR GPL-2.0-or-laterএবং Apache-2.0 AND GPL-2.0-or-laterএকটি বড় পার্থক্য করে। পূর্ববর্তীটির অর্থ হল যে ব্যবহারকারী উভয়ের মধ্যে চয়ন করতে পারে (যা নিয়মিত ক্ষেত্রে!) এবং দ্বিতীয়টি বোঝায় যে ব্যবহারকারীর উভয় লাইসেন্স মেনে চলতে হবে । উইকিপিডিয়ায় মাল্টি লাইসেন্সিংও দেখুন ।

নোট করুন যে আমি এখানে নতুন ( 2017-12-28 হিসাবে ) এসপিডিএক্স লাইসেন্স তালিকা 3.0 ব্যবহার করছি। 2017 এর সংস্করণগুলি GPL-2.0জিপিএল ২.০ এর জন্য সনাক্তকারী, তবে এটি "জিপিএল ২.০ কেবল" বা "জিপিএল ২.০ বা কোনও পরবর্তী সংস্করণ" কিনা তা পরিষ্কার নয়


4

আমি অবশেষে আমার প্রশ্ন ব্যাপারে সরাসরি GitHub সমর্থনে যোগাযোগ করেনি এবং তারা বলেছিল এটা তাদের মূল্যউদ্ধৃতি ঠিকঠাক লেগেছে আমি যদি পরিষ্কার করেছেন তাদের উত্তর শুধুমাত্র প্রস্তাবনা, যেমন বোঝানো হয়েছে না পরামর্শসমূহ।

আমাদের টিমের কাছে এই মুহুর্তে অফার দেওয়ার জন্য কোনও বিশেষ সুপারিশ নেই, তবে আমাদের কাছে ভাগ করে নেওয়ার মতো আরও কিছু থাকলে আমরা আপনাকে জিজ্ঞাসা করে আপডেট করতে এবং তা আপডেট করব!

তাদের আসল উত্তরের অফারটি দেওয়া ছিল:

একটি পরামর্শ হ'ল আপনার কোডের সংখ্যাগরিষ্ঠের জন্য একটি LICENSE ফাইল থাকা এবং আপনার README ফাইলে বাকী তৃতীয় পক্ষের সামগ্রীর জন্য লাইসেন্সের পাঠ্য যুক্ত করা।

আর কোনও উপায় হ'ল প্রতিটি পাথের নিজস্ব LICENSE ফাইল রাখা যখন তা বোধগম্য হয়। সুতরাং, উদাহরণস্বরূপ, যদি আপনার সংগ্রহস্থলের নীচের পথ থাকে: libs / awesome-lib-v2 / আপনার কাছে libs / awesome-lib-v2 / LICENSE থাকতে পারে।

পরবর্তী ক্ষেত্রে, আপনি উল্লেখ করতে চাইতে পারেন README ফাইল এবং / অথবা আপনার মূলের মধ্যে LICENSE ফাইলে।

আপনি আপনার সংগ্রহস্থলের গোড়ায় কেবলমাত্র একটি LISENSE ফাইল ব্যবহার করে বিবেচনা করতে পারেন এবং কোনও তৃতীয় পক্ষের উপাদান, কোড, এবং সিটিটির জন্য সাব-বিভাগগুলি যুক্ত করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.