ข้อตกลงใบอนุญาตและส่วนหัวของผู้ร่วมให้ข้อมูล

หน้านี้ครอบคลุมงานที่สำคัญสองงานของผู้สนับสนุน: การลงนามในข้อตกลงใบอนุญาตของผู้สนับสนุน และการรับรองการใช้ส่วนหัวของใบอนุญาตที่ถูกต้องในโค้ดของคุณ

ลงนามในข้อตกลงใบอนุญาตผู้มีส่วนร่วม

ผู้มีส่วนร่วมทุกคน (ผู้ที่มีส่วนร่วมในนามของตนเองเท่านั้น) ของแนวคิด โค้ด หรือเอกสารประกอบสำหรับ Android Open Source Project (AOSP) จะต้องกรอก ลงนาม และส่ง ข้อตกลงสิทธิ์การใช้งานสำหรับผู้ร่วมให้ข้อมูลรายบุคคล คุณสามารถดำเนินการข้อตกลงนี้ทางออนไลน์ผ่าน เครื่องมือตรวจสอบโค้ด ข้อตกลงดังกล่าวกำหนดเงื่อนไขในการบริจาคทรัพย์สินทางปัญญาให้กับ AOSP ใบอนุญาตนี้มีไว้เพื่อการคุ้มครองคุณในฐานะผู้สนับสนุนตลอดจนการคุ้มครองโครงการ จะไม่เปลี่ยนสิทธิ์ของคุณในการใช้ผลงานของคุณเองเพื่อวัตถุประสงค์อื่นใด

Corporate Contributor License Agreement มีให้สำหรับบริษัท (หรือนิติบุคคลอื่นๆ) ที่มีพนักงานทำงานใน AOSP ข้อตกลงเวอร์ชันนี้อนุญาตให้บริษัทอนุมัติผลงานที่ส่งโดยพนักงานที่ได้รับมอบหมาย และให้ใบอนุญาตด้านลิขสิทธิ์และสิทธิบัตร

Google ยึดตามข้อตกลงใบอนุญาตของผู้ร่วมให้ข้อมูลซึ่งใช้โดย Apache Software Foundation ซึ่งสามารถพบได้บน เว็บไซต์ Apache

รวมส่วนหัวใบอนุญาต

โครงการ Android Open Source (AOSP) ใช้ ความคิดริเริ่มโอเพ่นซอร์ส บางส่วนที่ได้รับอนุมัติใบอนุญาตโอเพ่นซอร์สสำหรับซอฟต์แวร์ของเรา

Apache License เวอร์ชัน 2.0 (Apache 2.0) เป็นใบอนุญาตที่ต้องการสำหรับ AOSP และซอฟต์แวร์ Android ส่วนใหญ่ได้รับใบอนุญาตจาก Apache 2.0 แม้ว่าโครงการจะพยายามปฏิบัติตามใบอนุญาตที่ต้องการ แต่ก็มีข้อยกเว้นซึ่งจะได้รับการจัดการเป็นกรณีไป ตัวอย่างเช่น แพตช์เคอร์เนล Linux อยู่ภายใต้ลิขสิทธิ์ GPLv2 โดยมีข้อยกเว้นของระบบ ซึ่งสามารถพบได้ใน The Linux Kernel Archives

สำหรับซอฟต์แวร์พื้นที่ผู้ใช้ (ไม่ใช่เคอร์เนล) Google ต้องการ Apache 2.0 (และใบอนุญาตที่คล้ายกัน เช่น BSD และ MIT) มากกว่าใบอนุญาตอื่นๆ เช่น GNU Lesser General Public License (LGPL) นี่คือเหตุผล:

  • Android เป็นเรื่องเกี่ยวกับอิสรภาพและทางเลือก วัตถุประสงค์ของ Android คือการส่งเสริมการเปิดกว้างในโลกมือถือ และ Google ไม่สามารถคาดเดาหรือกำหนดการใช้งานซอฟต์แวร์ของเราทั้งหมดได้ ดังนั้น แม้ว่า Google จะสนับสนุนให้ทุกคนสร้างอุปกรณ์แบบเปิดและปรับเปลี่ยนได้ แต่เราไม่คิดว่านี่คือที่ของเราที่จะบังคับให้พวกเขาทำเช่นนั้น การใช้ไลบรารี LGPL อาจมีข้อจำกัด ข้อกังวลเฉพาะของเรามีดังนี้:

    • กล่าวอย่างง่าย LGPL กำหนดให้มีการจัดส่งแหล่งที่มาไปยังแอปพลิเคชัน ข้อเสนอที่เป็นลายลักษณ์อักษรสำหรับแหล่งที่มา หรือการเชื่อมโยงไลบรารี LGPL-ed แบบไดนามิกและอนุญาตให้ผู้ใช้อัปเกรดหรือเปลี่ยนไลบรารีด้วยตนเอง โดยทั่วไปซอฟต์แวร์ 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.