หน้านี้ครอบคลุมงานสำคัญ 2 อย่างของผู้มีส่วนร่วม ได้แก่ การเซ็นสัญญาข้อตกลงการอนุญาตให้ใช้สิทธิของผู้มีส่วนร่วม และการตรวจสอบการใช้ส่วนหัวการอนุญาตให้ใช้สิทธิในโค้ดอย่างถูกต้อง
ลงนามในข้อตกลงการอนุญาตให้ใช้สิทธิของผู้มีส่วนร่วม
ผู้มีส่วนร่วมแต่ละราย (ผู้ที่มีส่วนร่วมในนามของตนเองเท่านั้น) จะต้องกรอก ลงนาม และส่งข้อตกลงการอนุญาตให้ใช้สิทธิสำหรับผู้มีส่วนร่วมแต่ละรายให้กับโปรเจ็กต์โอเพนซอร์ส Android (AOSP) คุณทำตามข้อตกลงนี้ทางออนไลน์ได้ผ่านเครื่องมือตรวจสอบโค้ด ข้อตกลงนี้กำหนดข้อกำหนดในการมีส่วนร่วมในทรัพย์สินทางปัญญากับ AOSP การอนุญาตให้ใช้สิทธินี้มีไว้เพื่อปกป้องคุณในฐานะผู้มีส่วนร่วมและเพื่อปกป้องโปรเจ็กต์ โดยไม่เปลี่ยนแปลงสิทธิ์ของคุณในการใช้ผลงานของคุณเองเพื่อวัตถุประสงค์อื่นๆ
ข้อตกลงอนุญาตให้ใช้สิทธิสำหรับผู้มีส่วนร่วมที่เป็นองค์กรมีไว้สำหรับองค์กร (หรือนิติบุคคลอื่นๆ) ที่มีพนักงานที่ทำงานใน AOSP ข้อตกลงเวอร์ชันนี้ช่วยให้บริษัทสามารถให้สิทธิ์การมีส่วนร่วมที่ส่งโดยพนักงานที่ได้รับมอบหมาย รวมถึงให้ใบอนุญาตด้านลิขสิทธิ์และสิทธิบัตร
Google กำหนดข้อตกลงใบอนุญาตผู้มีส่วนร่วมตามข้อตกลงที่ใช้โดยมูลนิธิซอฟต์แวร์ Apache ซึ่งดูได้ในเว็บไซต์ Apache
ใส่ส่วนหัวของใบอนุญาต
โครงการโอเพนซอร์ส Android (AOSP) ใช้ใบอนุญาตโอเพนซอร์สที่ผ่านการรับรองจากโครงการริเริ่มโอเพนซอร์ส 2-3 รายการสำหรับซอฟต์แวร์ของเรา
ใบอนุญาต Apache เวอร์ชัน 2.0 (Apache 2.0) เป็นใบอนุญาตที่แนะนำสำหรับ AOSP และซอฟต์แวร์ Android ส่วนใหญ่ได้รับอนุญาตภายใต้ Apache 2.0 แม้ว่าโปรเจ็กต์จะพยายามปฏิบัติตามใบอนุญาตที่ต้องการ แต่ก็มีบางกรณีที่มีข้อยกเว้น ซึ่งจะพิจารณาเป็นกรณีไป ตัวอย่างเช่น แพตช์เคอร์เนล Linux อยู่ภายใต้ใบอนุญาต GPLv2 ที่มีข้อยกเว้นของระบบ ซึ่งดูได้ที่ที่เก็บเคอร์เนล Linux
สำหรับซอฟต์แวร์พื้นที่ผู้ใช้ (ไม่ใช่เคอร์เนล) Google แนะนำให้ใช้ Apache 2.0 (และสัญญาอนุญาตที่คล้ายกัน เช่น BSD และ MIT) มากกว่าสัญญาอนุญาตอื่นๆ เช่น GNU Lesser General Public License (LGPL) เหตุผลก็คือ:
Android เน้นที่อิสระและทางเลือก วัตถุประสงค์ของ Android คือส่งเสริมความเปิดกว้างในโลกของอุปกรณ์เคลื่อนที่ และ Google ไม่สามารถคาดการณ์หรือกำหนดการใช้งานซอฟต์แวร์ของเราทั้งหมดได้ ดังนั้น แม้ว่า Google จะสนับสนุนให้ทุกคนสร้างอุปกรณ์แบบเปิดและแก้ไขได้ แต่เราก็ไม่ได้คิดว่าเรามีหน้าที่บังคับให้ทุกคนทำเช่นนั้น การใช้ไลบรารี LGPL อาจทำให้เกิดข้อจำกัด ข้อกังวลบางประการมีดังนี้
กล่าวอย่างง่ายคือ LGPL กำหนดให้ต้องส่งซอร์สโค้ดไปยังแอปพลิเคชัน ข้อเสนอที่เป็นลายลักษณ์อักษรสำหรับซอร์สโค้ด หรือลิงก์ไลบรารี LGPL แบบไดนามิกและอนุญาตให้ผู้ใช้อัปเกรดหรือแทนที่ไลบรารีด้วยตนเอง โดยปกติแล้ว ซอฟต์แวร์ Android จะจัดส่งเป็นอิมเมจระบบแบบคงที่ การปฏิบัติตามข้อกำหนดเหล่านี้จึงจำกัดการออกแบบของผู้ผลิตอุปกรณ์ ตัวอย่างเช่น ผู้ใช้จะเปลี่ยนคลังในอุปกรณ์เก็บข้อมูลแฟลชแบบอ่านอย่างเดียวได้ยาก
LGPL กำหนดให้ต้องอนุญาตให้ลูกค้าแก้ไขและวิศวกรรมย้อนกลับเพื่อแก้ไขข้อบกพร่องของการเปลี่ยนแปลงเหล่านั้น ผู้ผลิตอุปกรณ์ส่วนใหญ่ไม่ต้องการผูกมัดกับข้อกำหนดเหล่านี้
ที่ผ่านมา ไลบรารี LGPL เป็นสาเหตุของปัญหาการปฏิบัติตามข้อกำหนดจำนวนมากสำหรับผู้ผลิตอุปกรณ์และนักพัฒนาแอปที่เป็นผู้รับอนุญาต การให้ความรู้แก่วิศวกรเกี่ยวกับปัญหาเหล่านี้เป็นเรื่องยากและต้องใช้เวลา การที่ผู้ผลิตอุปกรณ์ปฏิบัติตามข้อกำหนดของใบอนุญาตได้อย่างง่ายดายเป็นสิ่งสำคัญต่อความสำเร็จของ Android
ข้อกังวลเหล่านี้ไม่ใช่การวิจารณ์ LGPL หรือใบอนุญาตอื่นๆ Google ยินดีรับใบอนุญาตโอเพนซอร์สและใบอนุญาตที่ไม่มีค่าใช้จ่ายทั้งหมด รวมถึงเคารพค่ากำหนดใบอนุญาตของผู้อื่น Google ตัดสินใจแล้วว่า 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.