প্রোটোটাইপিংয়ের জন্য আমি কী জিপিএল লাইব্রেরিগুলি সাময়িকভাবে ব্যবহার করতে পারি এবং ভবিষ্যতের কোডটি বন্ধের উত্স তৈরি করতে পারি?


23

আমি একটি সফ্টওয়্যার সিস্টেমের জন্য একটি প্রোটোটাইপ নিয়ে কাজ করছি, যা (অন্তত শুরুতে) বন্ধ উত্স হবে।

সময় সাশ্রয় করার জন্য, আমি জিপিএলভি 3 এর অধীন লাইসেন্স প্রাপ্ত একটি লাইব্রেরি (এটি স্ট্যাটিকালি লিঙ্কিং) ব্যবহার করার কথা ভাবছি , তাই আমি আমার নকশাটি দ্রুত পরীক্ষা করতে পারি। আমি যদি এই পর্যায়ে সফ্টওয়্যারটি বিতরণ করি তবে আমাকে এটির সাথে উত্স কোডও বিতরণ করতে হবে।

আমি যদি না করি তবে আমার সিস্টেমটি কাজ করে তা সন্তুষ্ট করে এবং বিতরণের আগে জিপিএল লাইব্রেরিটি আমার নিজের কোড দিয়ে প্রতিস্থাপন করে? ফলাফল কি জিপিএল দ্বারা "দূষিত" হবে?

আমার অনুভূতি আছে যে আমার গিটার ইতিহাসে জিপিএল লাইব্রেরি ধরে রাখা বা না পারলে কোনও পার্থক্য হতে পারে।


16
আমি "জিপিএল দ্বারা দূষিত" মত প্রকাশটি পছন্দ করি।
আর্সেনী মোরজেনকো

7
লাইসেন্সের ভাইরাল প্রকৃতির সাথে এটি ভাল যায় :)
লরেন্ট এস

5
আমি ভুল হলে আমাকে সংশোধন করুন, তবে আপনি গিটে কোডটি হোস্ট করার সময় একটি বদ্ধ-উত্স সিস্টেমটি মুক্তি দিতে চান? (এবং আমি অনুমান করি যে এই গিটটি অন্যের দ্বারা পঠনযোগ্য, অন্যথায় আপনি কেন ইতিহাসে জিপিএল
লাইব

3
@ ব্যবহারকারী ২28১2২74৪, আপনার একটি ব্যক্তিগত গিট সংগ্রহস্থল থাকতে পারে।
আর্টুরো টরেস সানচেজ

5
আপনি যখন এই প্রশ্নটিকে আকর্ষণীয় মনে করেন, তখন নতুন ওপেন সোর্স স্ট্যাকেক্সচেঞ্জের প্রস্তাবনায় আপনার আগ্রহীও হতে পারে
ফিলিপ

উত্তর:


20

জিপিএল লিখেছেন :

আপনি এই প্রোগ্রামের উপর ভিত্তি করে কোনও কাজ, বা ধারা 4 এর শর্তাবলীতে উত্স কোড আকারে প্রোগ্রাম থেকে এটি তৈরির পরিবর্তনগুলি সরবরাহ করতে পারেন, তবে আপনি এই শর্তগুলির সমস্ত পূরণ করেন:

সুতরাং এই শর্তটি কেবল তখনই প্রযোজ্য যদি আপনার কাজটি লাইব্রেরিতে "ভিত্তিক" হয়, যা লাইসেন্সটি নিম্নলিখিতভাবে সংজ্ঞায়িত করে:

কোনও কাজের "সংশোধন" করার অর্থ হুবহু অনুলিপি তৈরির ব্যতীত কপিরাইটের অনুমতি প্রয়োজন এমন কোনও ফ্যাশনে কাজের সমস্ত বা অংশের অনুলিপি বা অভিযোজিত। ফলস্বরূপ কাজটিকে পূর্ববর্তী কাজের "পরিবর্তিত সংস্করণ" বা পূর্ববর্তী কাজের "ভিত্তিক" কাজের বলা হয়।

এটি হ'ল, আপনার প্রোগ্রামটি লাইব্রেরির "ভিত্তিক" যদি এবং কেবলমাত্র এটি কপিরাইট আইন অনুসারে ডাইরিভেটিভ কাজ হয়। এই পদটির আইনী সংজ্ঞা এখতিয়ারের মধ্যে কিছুটা পরিবর্তিত হয় এবং সাধারণত সফ্টওয়্যারটিকে সরাসরি সম্বোধন করে না। উদাহরণস্বরূপ, মার্কিন কপিরাইট আইন লিখেছেন:

একটি "ডেরাইভেটিভ ওয়ার্ক" হ'ল এক বা একাধিক পূর্বনির্মাণের উপর ভিত্তি করে একটি কাজ, যেমন একটি অনুবাদ, বাদ্যযন্ত্র, নাটকীয়করণ, কল্পকাহিনী, গতি চিত্র সংস্করণ, শব্দ রেকর্ডিং, শিল্প প্রজনন, সংক্ষিপ্তকরণ, ঘনীভবন বা অন্য কোনও রূপ যা কোনও কাজ পুনঃনির্মাণ, রূপান্তরিত বা অভিযোজিত হতে পারে। সম্পাদকীয় সংশোধনী, টীকাগুলি, বিশদ বিবরণ বা অন্যান্য সংশোধনী সমন্বিত একটি কাজ যা সামগ্রিকভাবে লেখকের মূল কাজের প্রতিনিধিত্ব করে, এটি একটি "ডেরাইভেটিভ রচনা"।

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

যদি উত্তরটি আপনার কাছে গুরুত্বপূর্ণ হয় তবে আমি ইন্টারনেটে অপরিচিতদের জিজ্ঞাসার চেয়ে উপযুক্ত আইনি পরামর্শ নেওয়ার পরামর্শ দিই।


1
ঠিক আছে, এটি আকর্ষণীয়, আমি বুঝতে পারি নি যে একটি এপিআই ভাগ করে নেওয়া একটি উপজাত কাজ হিসাবে বিবেচিত হতে পারে।
লরেন্ট এস

এই উত্তরটি নীচে আমার উত্তরটি তৈরি করার চেষ্টা করছিলাম একই পয়েন্টটি তৈরি করে, তবে আরও পরিষ্কার উপায়ে। +1
মাইকেল শ

23

আপনি জিপিএল লাইব্রেরিতে লিঙ্ক করার সময় আপনি যতক্ষণ না কারও কাছে সফ্টওয়্যারটি প্রকাশ করবেন না ততক্ষণ আপনি নিরাপদে রয়েছেন। জিপিএল-এর ভাইরাল দিকটি কেবল যদি আপনি নিজের সফ্টওয়্যার বিতরণ করেন তবেই কিক করে।

এলজিপিএল বা এপিএল 2 বা এমআইটির মতো আপনি যদি আরও অনুমতিপ্রাপ্ত লাইসেন্স সহ একটি গ্রন্থাগারটি খুঁজে পান তবে এটি আরও ভাল হবে।


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

5
এই উত্তরটি গ্রন্থাগারের নতুন সংস্করণটি প্রয়োগ করার সময় উদ্ভূত কাজ তৈরির ঝুঁকিকে বিবেচনা করে না।
মাইকেল শ 18

4
@ টলেমি মনে রাখবেন যে আপনার গিট ইতিহাস প্রকাশিত হলে আপনি পুরানো সংস্করণ প্রকাশ করেছেন। এটি গণনা করতে বাইনারি ফর্মে থাকতে হবে না।
piojo

2
অন্যদিকে @ পিজিও, যে আপনাকে সর্বাধিক আপনাকে জিপিএল এর অধীনে সেই পুরানো সংস্করণটির লাইসেন্স দিতে বাধ্য করে (এবং এর উত্স বিতরণ করে); যদি কোনও সময়ে আপনি কোডের একক কপিরাইটের সাথে নিজেকে খুঁজে পান তবে আপনি ভবিষ্যতের সমস্ত সংস্করণকে ক্লোড-সোর্স তৈরি করতে পারেন (যদিও পুরানো সংস্করণগুলি জিপিএলের অধীনে অবিরত থাকবে)। পুরানো সংস্করণে কতগুলি মালিকানাযুক্ত জিনিস রয়েছে তার উপর নির্ভর করে আপনার সমস্যা হতে পারে বা নাও হতে পারে।
সিপাস্ট

1
যতক্ষণ লরেন্ট এস জিপিএলের পাশের অন্যান্য কোডের লেখক এবং কপিরাইটের মালিক তিনিও নিরাপদ। পরে জিপিএল 3 এর শর্তাবলীতে পুরো কাজটি প্রকাশের অনুমতি দিতে পারে এবং তার পরে অনুমতি পেতে পারে। এটি অযাচিত হতে পারে তবে ওপি স্পষ্টভাবে কোনও ক্ষেত্রেই নিরাপদ (যদি কপিরাইটের মালিকানাধীন থাকে)।
হ্যাক্রে

8

আমি মনে করি না আপনার প্রশ্নটি আসলে জিপিএল সম্পর্কে। এটি প্রোটোটাইপ সম্পর্কে এবং ভবিষ্যতে এটি বিতরণযোগ্য সফ্টওয়্যার সিস্টেমের ভিত্তি হিসাবে ব্যবহৃত হবে কিনা।

যদি আপনি একটি ছুঁড়ে ফেলে প্রোটোটাইপ তৈরি করে থাকেন এবং আপনি আপনার বিতরণযোগ্য সিস্টেমে কোনও কোড পুনরায় ব্যবহার করতে যাচ্ছেন না, তবে এগিয়ে যান এবং একটি জিপিএল লাইব্রেরি ব্যবহার করুন।

আপনি নিতে পারেন তিনটি পদ্ধতি

তবে, আপনি যদি প্রোটোটাইপটি বিকাশ করতে চলেছেন (প্রচুর পরিচালকের পক্ষে এমন কিছু!) আপনি নিতে পারেন এমন তিনটি পদ্ধতি রয়েছে:

  1. নন-কোর অংশগুলি পৃথক অ্যাপ্লিকেশনগুলিতে সরান যা আপনার মূল সাথে JSON বা একটি REST এপিআই বা অন্য কোনও আন্তঃ প্রক্রিয়া যোগাযোগের ভাষা / লাইব্রেরির মাধ্যমে যোগাযোগ করে। আপনার নন-কোর অংশগুলিও জিপিএল হতে পারে এবং আপনি সেগুলিতে যে কোনও জিপিএল লাইব্রেরি ব্যবহার করতে পারেন।
  2. আপনার কোডটি ডিজাইন করুন যাতে আপনি গ্রন্থাগারগুলিকে স্যুপ আউট করতে পারেন। এর অর্থ বাস্তবায়ন বিশদটি গোপন করে এমন একটি মুখোমুখি তৈরি করা । আপনি যখন মালিকানাধীন গ্রন্থাগার বা এমআইটি / বিএসডি লাইব্রেরিতে স্যুইচ করতে প্রস্তুত হন।
  3. জিপিএল কোডটি মোটেই ব্যবহার করবেন না।

আমি আপনাকে প্রথম পদ্ধতির সাথে যেতে পরামর্শ দিচ্ছি কারণ তারপরে আপনার কাছে ওপেন সোর্স কাজ রয়েছে যা আপনি ভবিষ্যতে আপনার পেশাদার পোর্টফোলিওর অংশ হিসাবে ব্যবহার করতে পারেন।

দ্বিতীয় পদ্ধতিরটিও ভাল কারণ আপনার যেকোন উপায়ে সিস্টেমটি ডিজাইন করা উচিত , আপনার প্রয়োজনীয় ফাংশন / শ্রেণি তৈরি করা এবং আপনার কার্যকারিতাটিতে লাইব্রেরি বা কাস্টম কোড না আসা অবধি তাদের আটকানো উচিত।


2
জিপিএল কোডটিকে অন্য কোনও প্রক্রিয়ায় রাখার অর্থ এই নয় যে এটি আর প্রোগ্রামের অংশ নয় এবং এভাবে বাকি লাইসেন্স দেওয়ার ক্ষেত্রে আর প্রাসঙ্গিক নয়। এটি যদিও তাদের যথেষ্ট ভাল আলাদা করতে সাহায্য করতে পারে।
উত্সাহক 16

1
@ উত্সাহক যদি তারা পৃথক অ্যাপ্লিকেশনগুলি পর্যাপ্ত না হয় তবে তাদের একটি পৃথক কোড বেস হিসাবে বিবেচনা করতে হবে, আপনি ঠিক বলেছেন। কিন্ডা বুটস্ট্র্যাপের সাথে টুইটার কী করে এবং ফেসবুক তার সমস্ত লাইব্রেরি দিয়ে কী করে তা পছন্দ করে। মূল স্বত্বাধিকারী কোড সহ নন-কোর ওপেন সোর্স।
রুডল্ফ ওলাহ

@ মাউস, আমি এম 1 করতে পারি না, কারণ এটি এম্বেড করা সফ্টওয়্যার। 2 আমার প্রথম চিন্তা ছিল, কিন্তু টলেমি এবং মেরিটন যা উল্লেখ করেছেন তা দেখে মনে হচ্ছে আমি ডেরিভেটিভ কাজগুলি করব, সুতরাং 3 সম্ভবত যাওয়ার উপায়।
লরেন্ট এস

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

যদি আপনি একটি ডেরাইভেটিভ কাজ তৈরি করেন এবং এটিকে ফেলে দেন তবে আপনি এখনও একটি ডেরিভেটিভ কাজ তৈরি করেছেন এবং আপনি কেবল এটির মূল কপিরাইট ধারকের অনুমতি / লাইসেন্স দিয়ে করতে পারেন। জিপিএলের সাথে আপনার কাছে সেই লাইসেন্স রয়েছে (যদি আপনি কখনই ডাইরিভেটিভ কাজটি ফেলে দেওয়ার আগে বিতরণ না করেন)। অন্যান্য লাইসেন্স সহ আপনার অনুমতি থাকতে পারে না। ক্ষতির জন্য আপনাকে মামলা করা যদিও কঠিন হতে পারে।
gnasher729

5

আপনার পদ্ধতির সাথে বিবেচনা করার জন্য আমি দুটি দিক বিবেচনা করতে পারি। প্রথমটি সোজা, আপনার প্রকল্পটি বিতরণ না করে বা (বা এটি জিপিএলভি 3 হিসাবে প্রকাশ্যে ব্যবহারের জন্য উপলব্ধ করা হয়েছে) আপনি জিপিএল এর অধীনে প্রকাশিত কোডটি ব্যবহার করছেন, আপনি কীভাবে আপনার কোড বিতরণ করতে হবে তা দেখতে অসুবিধা হয় না জিপিএল লাইসেন্সের অধীনে পুনঃ বিতরণ শর্তাদির অধীনে।

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

যদি এটি কোনও বাণিজ্যিক পণ্য হয় তবে জিপিএলভি 3 লাইসেন্সটি সাবধানতার সাথে পড়ার মাধ্যমে এই ঝুঁকিটি বিবেচনা করা উচিত এবং মূল্যায়ন করা উচিত এবং যেখানে সন্দেহ আছে সেখানে পেশাদার আইনী মতামত চেয়ে জিজ্ঞাসা করছেন।


4

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


2

আপনি যদি জিপিএল কোডটি ব্যবহার করে সংশোধনগুলিতে অ্যাক্সেস সরবরাহ করেন তবে সেগুলি সম্পূর্ণ জিপিএল হবে ' তবে আপনি চান না, কারণ এটি ক্লোসোর্স সোর্স হবে না ...

পরবর্তী কোনও অবস্থার জন্য যা আর কোনও জিপিএল কোড ব্যবহার করে না, আপনি যে কোনও সময় আগে জিপিএল-কোড ব্যবহার করেছিলেন তা কেবল অপ্রাসঙ্গিক।


2

জিপিএল কেবল বিতরণে ট্রিগার করা হয়েছে ... আপনি যদি কোনও সংশোধিত সংস্করণ বা ডেরিভেটিভ কাজ প্রকাশ না করেন তবে আপনি যা করতে চান তা করতে পারেন।

আমার অনুভূতি আছে যে আমার গিটার ইতিহাসে জিপিএল লাইব্রেরি ধরে রাখা বা না পারলে কোনও পার্থক্য হতে পারে।

আপনি যদি নিজের উত্সটি গিটহাবের মতো পাবলিক ভান্ডারে প্রকাশ করতে চান তবে হ্যাঁ, আপনার সমস্যা হতে পারে। শুধু ব্যবহার Git অপ্রাসঙ্গিক যদি এটা ব্যক্তিগত হয়।

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