Thỏa thuận cấp phép và tiêu đề của người đóng góp

Trang này đề cập đến hai nhiệm vụ quan trọng của cộng tác viên: ký thỏa thuận cấp 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 bạn.

Ký thỏa thuận cấp phép cộng tác viên

Tất cả những người đóng góp cá nhân (những người chỉ thay mặt họ đóng góp) ý tưởng, mã hoặc tài liệu cho Dự án mã nguồn mở Android (AOSP) đều phải hoàn thành, ký và gửi Thỏa thuận cấp phép dành cho người đóng góp cá nhân . Bạn có thể thực hiện thỏa thuận này trực tuyến thông qua công cụ đánh giá mã . Thỏa thuận 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 mục đích bảo vệ bạn với tư cách là người đóng góp cũng như bảo vệ dự án; nó không thay đổi quyền sử dụng đóng góp của chính bạn cho bất kỳ mục đích nào khác.

Thỏa thuận cấp phép cộng tác viên doanh nghiệp có sẵn cho một công ty (hoặc tổ chức khác) có nhân viên làm việc trên AOSP. Phiên bản thỏa thuận này cho phép một công ty ủy quyền các đóng góp do nhân viên được chỉ định của mình gửi và cấp giấy phép bản quyền và bằng sáng chế.

Google căn cứ vào các thỏa thuận cấp phép cộng tác viên của họ dựa trên những thỏa thuận được sử dụng bởi Apache Software Foundation , có thể tìm thấy trên trang web Apache .

Bao gồm tiêu đề giấy phép

Dự án mã nguồn mở Android (AOSP) sử dụng một số giấy phép nguồn mở đã được sáng kiến ​​nguồn mở phê duyệt 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 với Apache 2.0. Mặc dù dự án cố gắng tuân thủ giấy phép ưu tiên nhưng vẫn có những trường hợp ngoại lệ được xử lý theo từng trường hợp cụ thể. Ví dụ: các bản vá nhân Linux tuân theo giấy phép GPLv2 với các ngoại lệ hệ thống, có thể tìm thấy trên Kho lưu trữ hạt nhân Linux .

Đối với phần mềm không gian người dùng (không phải nhân), 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ư Giấy phép Công cộng GNU Ít hơn (LGPL). Đây là lý do tại sao:

  • Android là về sự tự do và sự 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 ra lệnh cho tất 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 tạo ra các thiết bị mở và có thể sửa đổi nhưng chúng tôi không nghĩ mình có quyền buộc họ phải làm như vậy. Việc sử dụng thư viện LGPL có thể bị hạn chế. Dưới đây là một số mối quan tâm 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 tới ứng dụng; một đề nghị bằng văn bản cho nguồn; hoặc liên kết động thư viện LGPL-ed 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 cung cấp dưới dạng 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ế 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ộ lưu trữ flash chỉ đọc.

    • LGPL yêu cầu sự cho phép sửa đổi của khách hàng và kỹ thuật đả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.

    • Trong lịch sử, các thư viện LGPL là nguồn gốc của nhiều vấn đề về 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 ở cấp dưới. Đào tạo các kỹ sư về những vấn đề này là khó khăn và tốn thời gian. Điều quan trọng đối với 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 lo ngại này không phải là sự chỉ trích LGPL hoặc các giấy phép khác. Google đánh giá cao tất cả các giấy phép nguồn mở và miễn phí, đồng thời tôn trọng các tùy chọn giấy phép của người khác. Google đã quyết định rằng Apache 2.0 là phù hợp nhất cho mục tiêu của chúng tôi.

Khi gửi mã để được đư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 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 bạn muốn đóng góp một tệp cho AOSP chứa mã có nguồn gốc 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ừ khi dự án bạn đang đóng góp có giấy phép được xác định trước khá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.