Làm thế nào để bao gồm một thư viện apache với mã nguồn mở của tôi?


9

Tôi có mã nguồn mở này với giấy phép MIT sử dụng thư viện được cấp phép Apache 2.0.

Tôi muốn bao gồm điều này trong dự án của tôi, vì vậy nó có thể được xây dựng ngay lập tức.

Trong điểm 4 của giấy phép đó giải thích cách phân phối lại:

đoạn trích:

4 . Phân phối lại . Bạn có thể sao chép và phân phối các bản sao của Tác phẩm hoặc Tác phẩm phái sinh trong bất kỳ phương tiện nào, có hoặc không có sửa đổi, và ở dạng Nguồn hoặc Đối tượng, miễn là bạn đáp ứng các điều kiện sau:

Bạn phải cung cấp cho bất kỳ người nhận nào khác của Tác phẩm hoặc Tác phẩm phái sinh một bản sao của Giấy phép này; và

Bạn phải khiến bất kỳ tệp sửa đổi nào mang thông báo nổi bật cho biết Bạn đã thay đổi các tệp; và

Bạn phải giữ lại, ở dạng Nguồn của bất kỳ Tác phẩm phái sinh nào mà bạn phân phối, tất cả các thông báo về bản quyền, bằng sáng chế, nhãn hiệu và thuộc tính từ dạng Nguồn của Tác phẩm, ngoại trừ các thông báo không liên quan đến bất kỳ phần nào của Tác phẩm phái sinh; và

Nếu Tác phẩm bao gồm tệp văn bản "THÔNG BÁO" như một phần phân phối của nó, thì mọi Tác phẩm phái sinh mà bạn phân phối phải bao gồm một bản sao có thể đọc được của các thông báo thuộc tính có trong tệp THÔNG BÁO đó, ngoại trừ các thông báo không liên quan đến bất kỳ phần nào của Tác phẩm phái sinh, tại ít nhất một trong các vị trí sau: trong tệp văn bản THÔNG BÁO được phân phối như một phần của Tác phẩm phái sinh; trong biểu mẫu Nguồn hoặc tài liệu, nếu được cung cấp cùng với Tác phẩm phái sinh; hoặc, trong một màn hình được tạo bởi Công cụ phái sinh, nếu và bất cứ nơi nào thông báo của bên thứ ba như vậy thường xuất hiện. Nội dung của tệp THÔNG BÁO chỉ dành cho mục đích thông tin và không sửa đổi Giấy phép. Bạn có thể thêm các thông báo thuộc tính của riêng bạn trong Tác phẩm phái sinh mà bạn phân phối, cùng với hoặc dưới dạng phụ lục cho văn bản THÔNG BÁO từ Tác phẩm, miễn là các thông báo ghi nhận bổ sung đó không thể được hiểu là sửa đổi Giấy phép. Bạn có thể thêm tuyên bố bản quyền của riêng bạn vào các sửa đổi của bạn và có thể cung cấp các điều khoản và điều kiện cấp phép bổ sung hoặc khác nhau để sử dụng, sao chép hoặc phân phối các sửa đổi của bạn hoặc cho bất kỳ Tác phẩm phái sinh nào như vậy, cung cấp việc sử dụng, sao chép và phân phối của bạn Công việc khác tuân thủ các điều kiện được nêu trong Giấy phép này.

Tôi không tạo ra một tác phẩm phái sinh (tôi dự định cung cấp nó như hiện tại).

Tôi không có tệp THÔNG BÁO, chỉ là tệp LICENSE.txt của riêng tôi.

Câu hỏi: Tôi nên đặt thứ gì đó dọc theo dòng: "Dự án này sử dụng thư viện Xyz được phân phối theo Apache 2.0 ..."? Đề nghị gì?

Tôi có nên cung cấp tệp giấy phép Apache không? Hoặc sẽ là đủ nếu tôi chỉ nói "Tìm giấy phép trực tuyến tại đây ... "

Tôi hy vọng ai đó đã làm điều này trong quá khứ có thể làm sáng tỏ vấn đề.

Câu trả lời:


3

Câu hỏi: Tôi nên đặt thứ gì đó dọc theo dòng: "Dự án này sử dụng thư viện Xyz được phân phối theo Apache2.0 ..."? Đề nghị gì?

Giấy phép này ngụ ý rằng bạn nên bao gồm một số loại tệp THÔNG BÁO trong phân phối phần mềm của bạn. Tôi khuyên bạn nên làm điều đó.

Tôi có nên cung cấp các tập tin giấy phép apache quá? Hoặc sẽ là đủ nếu tôi chỉ nói "Tìm giấy phép trực tuyến tại đây ... http://www.apache.org/licenses/LICENSE-2.0.html "

Bạn được giấy phép yêu cầu rõ ràng để cung cấp một bản sao của giấy phép.


Nếu bạn thấy các yêu cầu Apache đã nêu hoặc ngụ ý bị phản đối, hãy nói chuyện với một luật sư có kinh nghiệm về các vấn đề IP phần mềm ... trước khi bạn quyết định bỏ qua chúng.


8

Tôi đã không làm điều này trong quá khứ, nhưng phân đoạn được trích dẫn của bạn làm cho nó rất đơn giản những gì cần thiết. Cụ thể, chỉ có dòng sau có liên quan đến bạn: "Bạn phải cung cấp cho bất kỳ người nhận nào khác của Tác phẩm hoặc Tác phẩm phái sinh một bản sao của Giấy phép này;"

Điều này có nghĩa là bạn phải bao gồm chính tệp giấy phép, không chỉ là một liên kết.

Đối với câu hỏi khác của bạn, đoạn trích giấy phép không yêu cầu bạn gọi rõ ràng việc sử dụng thư viện, nhưng thông tin đó sẽ hữu ích nhất trong README.txt hoặc Dependencies.txt.


5

Bạn cũng phải cung cấp một bản sao của Giấy phép Apache Phiên bản 2.0 (APLv2). Nó nói như vậy trong trích dẫn: "Bạn phải cung cấp cho bất kỳ người nhận Tác phẩm hoặc Tác phẩm phái sinh nào khác một bản sao của Giấy phép này".

Không có sự ghi nhận nào khác ngoài điều đó là bắt buộc. Vì vậy, việc đặt "dự án này sử dụng thư viện Xyz được phân phối theo Apache 2.0" ở đâu đó là không cần thiết. Mã nguồn (Công việc) và giấy phép nói cho chính họ trong vấn đề này.

Tất nhiên, đó là nghi thức tốt để bao gồm một thuộc tính như thế. Nó đi đâu phụ thuộc vào loại phần mềm bạn đang làm.

Điều đó nói rằng, có vẻ như bạn đang thực hiện một tác phẩm phái sinh - bạn đang xây dựng một hệ nhị phân với phần mềm được cấp phép APLv2. Đó là một công việc phái sinh. (Thật ra không rõ câu hỏi của bạn cho dù bạn có phân phối nhị phân hay không.) Nếu đó là trường hợp, bạn phải xử lý tệp THÔNG BÁO một cách thích hợp. Bạn nói rằng bạn không có tệp THÔNG BÁO, nhưng phần mềm APLv2 có tệp THÔNG BÁO không? Nếu có, thì bạn phải có một số phương pháp hiển thị các thông báo trong đó với phần mềm (nhị phân) của bạn.


liên quan đến "công việc phái sinh" ... không rõ liệu OP có tạo ra một công việc phái sinh hay không. NHƯNG, "xây dựng nhị phân với phần mềm được cấp phép APLv2" không ngụ ý một công việc phái sinh. Giấy phép nói cụ thể "Tác phẩm phái sinh sẽ không bao gồm các tác phẩm có thể tách rời hoặc chỉ liên kết (hoặc liên kết theo tên) với các giao diện của Tác phẩm và Tác phẩm phái sinh."
Andy Dennie
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.