এই পৃষ্ঠায় অবদানকারীদের দুটি গুরুত্বপূর্ণ কাজ সম্পর্কে আলোচনা করা হয়েছে: অবদানকারী লাইসেন্স চুক্তিতে স্বাক্ষর করা এবং আপনার কোডে লাইসেন্সিং হেডারগুলির সঠিক ব্যবহার নিশ্চিত করা।
অবদানকারী লাইসেন্স চুক্তিতে স্বাক্ষর করুন
অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP)-এ ধারণা, কোড বা ডকুমেন্টেশন প্রদানকারী সকল স্বতন্ত্র অবদানকারীকে (যারা শুধুমাত্র নিজের পক্ষ থেকে অবদান রাখেন) একটি স্বতন্ত্র অবদানকারী লাইসেন্স চুক্তি (Individual Contributor License Agreement ) পূরণ, স্বাক্ষর এবং জমা দিতে হবে। আপনি কোড রিভিউ টুলের মাধ্যমে অনলাইনে এই চুক্তিটি সম্পাদন করতে পারেন। এই চুক্তিটি AOSP-তে মেধাস্বত্ব প্রদানের শর্তাবলী নির্ধারণ করে। এই লাইসেন্সটি একজন অবদানকারী হিসেবে আপনার সুরক্ষার পাশাপাশি প্রকল্পটির সুরক্ষার জন্যও; এটি অন্য কোনো উদ্দেশ্যে আপনার নিজের অবদান ব্যবহার করার অধিকারকে পরিবর্তন করে না।
কর্পোরেট কন্ট্রিবিউটর লাইসেন্স অ্যাগ্রিমেন্টটি এমন কোনো কর্পোরেশন (বা অন্য কোনো সত্তা)-এর জন্য উপলব্ধ, যাদের কর্মীরা AOSP-তে কর্মরত আছেন। এই চুক্তির সংস্করণটি একটি কর্পোরেশনকে তার মনোনীত কর্মীদের দ্বারা জমা দেওয়া কন্ট্রিবিউশন অনুমোদন করতে এবং কপিরাইট ও পেটেন্ট লাইসেন্স প্রদান করার ক্ষমতা দেয়।
গুগল তাদের অবদানকারী লাইসেন্স চুক্তিগুলো অ্যাপাচি সফটওয়্যার ফাউন্ডেশন কর্তৃক ব্যবহৃত চুক্তির উপর ভিত্তি করে তৈরি করে, যা অ্যাপাচি ওয়েবসাইটে পাওয়া যায়।
লাইসেন্স হেডার অন্তর্ভুক্ত করুন
অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP) আমাদের সফটওয়্যারের জন্য কয়েকটি ওপেন সোর্স উদ্যোগ অনুমোদিত ওপেন সোর্স লাইসেন্স ব্যবহার করে।
অ্যাপাচি লাইসেন্স, সংস্করণ ২.০ (অ্যাপাচি ২.০) হলো AOSP-এর জন্য পছন্দের লাইসেন্স, এবং বেশিরভাগ অ্যান্ড্রয়েড সফটওয়্যার অ্যাপাচি ২.০ লাইসেন্সের অধীনে রয়েছে। যদিও প্রকল্পটি পছন্দের লাইসেন্সটি মেনে চলার চেষ্টা করে, তবুও এর কিছু ব্যতিক্রম রয়েছে, যা ক্ষেত্রবিশেষে বিবেচনা করা হয়। উদাহরণস্বরূপ, লিনাক্স কার্নেল প্যাচগুলো সিস্টেম ব্যতিক্রমসহ GPLv2 লাইসেন্সের অধীনে রয়েছে, যা লিনাক্স কার্নেল আর্কাইভস- এ পাওয়া যাবে।
ইউজারস্পেস (নন-কার্নেল) সফটওয়্যারের জন্য, গুগল গ্নু লেসার জেনারেল পাবলিক লাইসেন্স (LGPL)-এর মতো অন্যান্য লাইসেন্সের চেয়ে অ্যাপাচি ২.০ (এবং বিএসডি ও এমআইটি-এর মতো অনুরূপ লাইসেন্স)-কে বেশি পছন্দ করে। এর কারণ নিচে দেওয়া হলো:
অ্যান্ড্রয়েড মানেই স্বাধীনতা এবং পছন্দ। অ্যান্ড্রয়েডের উদ্দেশ্য হলো মোবাইল জগতে উন্মুক্ততাকে উৎসাহিত করা, এবং গুগল আমাদের সফটওয়্যারের সমস্ত ব্যবহার সম্পর্কে ভবিষ্যদ্বাণী করতে বা নির্দেশ দিতে পারে না। তাই, গুগল যদিও সবাইকে উন্মুক্ত এবং পরিবর্তনযোগ্য ডিভাইস তৈরি করতে উৎসাহিত করে, আমরা মনে করি না যে তাদেরকে তা করতে বাধ্য করা আমাদের কাজ। এলজিপিএল (LGPL) লাইব্রেরি ব্যবহার করা সীমাবদ্ধতা তৈরি করতে পারে। এখানে আমাদের কিছু নির্দিষ্ট উদ্বেগ তুলে ধরা হলো:
সহজ কথায় বলতে গেলে, LGPL-এর জন্য অ্যাপ্লিকেশনে সোর্স কোড সরবরাহ করা, সোর্স কোডের জন্য লিখিত প্রস্তাব দেওয়া, অথবা LGPL-লাইসেন্সপ্রাপ্ত লাইব্রেরিটি ডাইনামিকভাবে লিঙ্ক করা এবং ব্যবহারকারীদেরকে ম্যানুয়ালি লাইব্রেরিটি আপগ্রেড বা প্রতিস্থাপন করার সুযোগ দেওয়া প্রয়োজন। অ্যান্ড্রয়েড সফটওয়্যার সাধারণত একটি স্ট্যাটিক সিস্টেম ইমেজ হিসেবে সরবরাহ করা হয়, তাই এই শর্তগুলো মেনে চলার কারণে ডিভাইস প্রস্তুতকারকদের ডিজাইন সীমাবদ্ধ হয়ে পড়ে। উদাহরণস্বরূপ, রিড-অনলি ফ্ল্যাশ স্টোরেজে থাকা কোনো লাইব্রেরি ব্যবহারকারীর পক্ষে প্রতিস্থাপন করা কঠিন।
এলজিপিএল (LGPL) অনুযায়ী, গ্রাহকের দ্বারা পরিবর্তন এবং সেই পরিবর্তনের ত্রুটি নির্ণয়ের জন্য রিভার্স ইঞ্জিনিয়ারিংয়ের অনুমতি থাকতে হবে। বেশিরভাগ ডিভাইস নির্মাতা এই শর্তাবলী দ্বারা আবদ্ধ থাকতে চান না।
ঐতিহাসিকভাবে, এলজিপিএল (LGPL) লাইব্রেরিগুলো ডাউনস্ট্রিম ডিভাইস নির্মাতা এবং অ্যাপ ডেভেলপারদের জন্য অনেক কমপ্লায়েন্স সমস্যার উৎস হয়ে দাঁড়িয়েছে। এই বিষয়গুলো সম্পর্কে ইঞ্জিনিয়ারদের বোঝানো কঠিন এবং সময়সাপেক্ষ। অ্যান্ড্রয়েডের সাফল্যের জন্য এটা অত্যন্ত গুরুত্বপূর্ণ যে ডিভাইস নির্মাতারা যেন সহজেই লাইসেন্সগুলো মেনে চলতে পারে।
এই উদ্বেগগুলো এলজিপিএল (LGPL) বা অন্যান্য লাইসেন্সের সমালোচনা নয়। গুগল সকল ফ্রি ও ওপেন সোর্স লাইসেন্সকে সাধুবাদ জানায় এবং অন্যদের লাইসেন্স সংক্রান্ত পছন্দকে সম্মান করে। গুগল সিদ্ধান্ত নিয়েছে যে, আমাদের লক্ষ্যগুলোর জন্য অ্যাপাচি ২.০ (Apache 2.0) সবচেয়ে উপযুক্ত।
AOSP-তে অন্তর্ভুক্ত করার জন্য কোড জমা দেওয়ার সময়, আপনাকে অবশ্যই লাইসেন্স হেডারের সঠিক ব্যবহার নিশ্চিত করতে হবে। নিম্নলিখিত বিভাগগুলিতে নতুন ফাইল এবং বিদ্যমান কোডের জন্য লাইসেন্স হেডার কীভাবে পরিচালনা করতে হয় তা ব্যাখ্যা করা হয়েছে।
লাইসেন্স এবং কপিরাইট সংক্রান্ত সর্বোত্তম অনুশীলন অনুসরণ করুন
কপিরাইট এবং লাইসেন্স হেডারের জন্য এই সর্বোত্তম অনুশীলনগুলি অনুসরণ করুন:
বিদ্যমান কোনো কপিরাইট পরিবর্তন করবেন না। উদাহরণস্বরূপ, আপনি যদি AOSP-তে এমন একটি ফাইল অবদান রাখতে চান, যার কোডটি নিজস্ব কপিরাইট বিজ্ঞপ্তিযুক্ত কোনো ফাইল থেকে নেওয়া হয়েছে, তবে আপনাকে অবশ্যই মূল ফাইল থেকে সেই কপিরাইট বিজ্ঞপ্তিটি বজায় রাখতে হবে।
আপনি যদি সম্পূর্ণ নতুন কোনো সোর্স ফাইল যোগ করেন, তাহলে ডিফল্ট AOSP কপিরাইট এবং নিম্নলিখিত লাইসেন্স হেডারটি ব্যবহার করুন, যদি না আপনি যে প্রজেক্টে অবদান রাখছেন সেটির কোনো ভিন্ন পূর্বনির্ধারিত লাইসেন্স থাকে:
Copyright (C) yyyy The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.