Tiêu đề và thoả thuận cấp phép cho cộng tác viên

Trang này trình bày hai nhiệm vụ quan trọng dành cho người đóng góp: ký giấy phép cộng tác viên và đảm bảo sử dụng đúng tiêu đề cấp phép trong mã của mình.

Ký thoả thuận cấp phép cho cộng tác viên

Tất cả cá nhân đóng góp (những người chỉ đóng góp thay mặt cho chính họ) ý tưởng, mã hoặc tài liệu cho Dự án nguồn mở Android (AOSP) đều phải hoàn tất, ký và gửi Thoả thuận cấp phép cho cá nhân đóng góp. Bạn có thể ký kết thoả thuận này trực tuyến thông qua công cụ xem xét mã. Thoả thuận này xác định các điều khoản để đóng góp tài sản trí tuệ vào AOSP. Giấy phép này dùng để bảo vệ bạn trong tư cách là người đóng góp cũng như bảo vệ dự án; điều đó không thay đổi quyền sử dụng của bạn khoản đóng góp cho bất kỳ mục đích nào khác.

Thoả thuận cấp phép cộng tác viên doanh nghiệp dành cho một công ty (hoặc pháp nhân khác) có nhân viên làm việc trên AOSP (Dự án nguồn mở Android). Phiên bản này của thoả thuận cho phép công ty uỷ quyền các khoản đóng góp do nhân viên được chỉ định của Google gửi và cấp bản quyền và bằng sáng chế giấy phép.

Google căn cứ vào thoả thuận cấp phép cộng tác viên dựa trên những thoả thuận được sử dụng trong Nền tảng phần mềm Apache. Đây là nền tảng có thể trên trang Trang web Apache.

Thêm tiêu đề giấy phép

Dự án nguồn mở Android (AOSP) sử dụng một số dự án nguồn mở đã phê duyệt giấy phép nguồn mở cho phần mềm của chúng tôi.

Giấy phép Apache, Phiên bản 2.0 (Apache 2.0) là giấy phép ưu tiên cho AOSP và phần lớn phần mềm Android được cấp phép theo Apache 2.0. Mặc dù dự án cố gắng tuân thủ giấy phép ưu tiên, nhưng có những ngoại lệ được xử lý theo từng trường hợp cơ sở. Ví dụ: bản vá nhân hệ điều hành của Linux nằm trong giấy phép GPLv2 có các ngoại lệ của hệ thống. Bạn có thể tìm thấy các ngoại lệ này trên trang Kho lưu trữ Linux Kernel.

Đối với phần mềm không phải hạt nhân (không phải không gian người dùng), Google ưu tiên Apache 2.0 (và các giấy phép tương tự như BSD và MIT) hơn các giấy phép khác như GNU Lesser General Public License (LGPL). Dưới đây là lý do:

  • Android là về sự tự do và lựa chọn. Mục đích của Android là thúc đẩy tính mở trong thế giới di động và Google không thể dự đoán hoặc chỉ định tất cả các cách sử dụng phần mềm của chúng tôi. Vì vậy, mặc dù Google khuyến khích mọi người hãy cởi mở và thiết bị có thể sửa đổi, chúng tôi không cho rằng mình không buộc phải thực hiện điều đó. Sử dụng Thư viện LGPL có thể bị hạn chế. Dưới đây là một số mối quan ngại cụ thể của chúng tôi:

    • Nói một cách đơn giản, LGPL yêu cầu chuyển nguồn đến ứng dụng; a văn bản đề nghị cung cấp nguồn; hoặc liên kết thư viện LGPL-ed một cách linh động và cho phép người dùng nâng cấp hoặc thay thế thư viện theo cách thủ công. Phần mềm Android là thường được gửi dưới dạng hình ảnh hệ thống tĩnh, vì vậy việc tuân thủ hạn chế các thiết kế của nhà sản xuất thiết bị. Ví dụ: người dùng khó thay thế thư viện trên bộ nhớ flash chỉ có thể đọc.

    • LGPL yêu cầu cho phép sửa đổi khách hàng và áp dụng kỹ thuật đảo ngược để gỡ lỗi các sửa đổi đó. Hầu hết nhà sản xuất thiết bị không muốn bị ràng buộc bởi các điều khoản này.

    • Trong lịch sử, thư viện LGPL là nguồn tuân thủ vấn đề đối với các nhà sản xuất thiết bị và nhà phát triển ứng dụng xuôi dòng. Việc đào tạo kỹ sư về những vấn đề này rất khó khăn và tốn thời gian. Điều quan trọng đối với sự thành công của Android là nhà sản xuất thiết bị có thể dễ dàng tuân thủ các giấy phép.

Những mối lo ngại này không phải là sự chỉ trích đối với LGPL hay các giấy phép khác. Google rất trân trọng tất cả giấy phép nguồn mở và miễn phí, đồng thời tôn trọng người khác tùy chọn giấy phép. Google đã quyết định rằng Apache 2.0 là lựa chọn phù hợp nhất cho các mục tiêu của chúng tôi.

Khi gửi mã để đưa vào AOSP, bạn phải đảm bảo sử dụng đúng tiêu đề giấy phép. Các phần sau đây giải thích cách xử lý tiêu đề giấy phép cho các tệp mới và mã hiện có.

Hãy làm theo các phương pháp hay nhất sau đây về bản quyền và tiêu đề giấy phép:

  • Không sửa đổi bản quyền hiện có. Ví dụ: nếu muốn đóng góp một tệp cho AOSP chứa mã bắt nguồn từ một tệp có thông báo bản quyền riêng, bạn phải giữ lại thông báo bản quyền đó trong tệp gốc.

  • Nếu bạn thêm một tệp nguồn hoàn toàn mới, hãy sử dụng bản quyền AOSP mặc định và theo tiêu đề giấy phép, trừ khi dự án bạn đang đóng góp có giấy phép khác được xác định trước:

    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.