Trang này đề cập đến 2 nhiệm vụ quan trọng của người đóng góp: ký thoả thuận cấp phép cho người đóng góp và đảm bảo sử dụng chính xác tiêu đề cấp phép trong mã của bạn.
Ký thoả thuận cấp phép dành cho người đóng góp
Tất cả cộng tác viên cá nhân (những người chỉ đóng góp ý tưởng, mã hoặc tài liệu thay mặt cho chính mình) cho Dự án nguồn mở Android (AOSP) đều phải hoàn tất, ký tên và gửi Thoả thuận cấp phép cho cộng tác viên cá nhân. Bạn có thể thực hiện thoả thuận này trực tuyến thông qua công cụ đánh giá mã. Thoả thuận này xác định các điều khoản để đóng góp tài sản trí tuệ cho AOSP. Giấy phép này nhằm bảo vệ bạn với tư cách là người đóng góp cũng như bảo vệ dự án; giấy phép này không thay đổi quyền của bạn trong việc sử dụng nội dung đóng góp của riêng bạn cho bất kỳ mục đích nào khác.
Thoả thuận cấp phép dành cho cộng tác viên là pháp nhân dành cho những công ty (hoặc pháp nhân khác) có nhân viên làm việc trên AOSP. Phiên bản thoả thuận này cho phép một tập đoàn uỷ quyền cho nội dung đóng góp do nhân viên được chỉ định của tập đoàn gửi và cấp giấy phép bản quyền và bằng sáng chế.
Google dựa vào thoả thuận cấp phép cộng tác viên mà Apache Software Foundation sử dụng. Bạn có thể xem thoả thuận này trên trang web của Apache.
Thêm tiêu đề giấy phép
Dự án nguồn mở Android (AOSP) sử dụng một số giấy phép nguồn mở được phê duyệt theo sáng kiến 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 sẽ cố gắng tuân thủ giấy phép ưu tiên, nhưng có thể có những tình huống ngoại lệ. Khi đó, chúng tôi sẽ xử lý theo từng trường hợp. Ví dụ: các bản vá hạt nhân Linux thuộc giấy phép GPLv2 có các ngoại lệ hệ thống. Bạn có thể xem các bản vá này trên Kho lưu trữ hạt nhân Linux.
Đối với phần mềm không phải là phần mềm hạt nhân (userspace), 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 mang đến sự tự do và lựa chọn. Mục đích của Android là thúc đẩy tính cởi mở trong thế giới di động và Google không thể dự đoán hoặc chỉ định tất cả các trường hợp sử dụng phần mềm của chúng tôi. Vì vậy, mặc dù khuyến khích mọi người tạo ra các thiết bị mở và có thể sửa đổi, nhưng Google không cho rằng mình có quyền bắt buộc họ làm như vậy. Việc sử dụng các thư viện LGPL có thể gây ra hạn chế. Sau đây là một số mối lo 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; một đề nghị bằng văn bản cho nguồn; hoặc liên kết thư viện được cấp phép theo LGPL một cách linh hoạt 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 thường được phân phối dưới dạng một hình ảnh hệ thống tĩnh, vì vậy, việc tuân thủ các yêu cầu này sẽ 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ó có thể thay thế một thư viện trên bộ nhớ flash chỉ đọc.
LGPL yêu cầu cho phép khách hàng sửa đổi và thiết kế đảo ngược để gỡ lỗi những sửa đổi đó. Hầu hết các nhà sản xuất thiết bị đều không muốn bị ràng buộc bởi những điều khoản này.
Trước đây, các thư viện LGPL là nguồn gốc của nhiều vấn đề về việc tuân thủ đối với các nhà sản xuất thiết bị và nhà phát triển ứng dụng hạ nguồn. Việc hướng dẫn 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à các 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à chỉ trích LGPL hoặc các giấy phép khác. Google trân trọng tất cả các giấy phép nguồn mở và miễn phí, đồng thời tôn trọng lựa chọn ưu tiên về giấy phép của người khác. Google đã quyết định rằng Apache 2.0 là lựa chọn phù hợp nhất với 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ó.
Làm theo các phương pháp hay nhất về bản quyền và giấy phép
Hãy làm theo các phương pháp hay nhất sau đây đối với tiêu đề bản quyền và giấy phép:
Đừ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 có 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 đó từ 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à tiêu đề giấy phép sau, trừ phi dự án mà bạn đang đóng góp có một 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.