AGPL - những gì bạn có thể làm và những gì bạn không thể


188

AGPL là một giấy phép khá mới có nghĩa là đi qua các mạng GPL. Tuy nhiên, không phải là một luật sư và thực sự chưa đọc toàn bộ giấy phép, tôi không thể hiểu chính xác những gì bạn có thể làm một cách tự do và những gì không phải với AGPL.

Sự không chắc chắn của tôi được cung cấp bởi bài đăng này về MongoDB (là AGPL) và thậm chí nhiều hơn bởi các bình luận bên dưới.

Nếu chúng tôi theo dõi các nhận xét thì hóa ra bạn có thể sử dụng các thư viện AGPL với phần mềm phía máy chủ thương mại, nguồn đóng, miễn là bạn không sửa đổi thư viện. Có phải vậy không? Hoặc bạn phải phân phối toàn bộ ứng dụng của mình khi bạn sử dụng thư viện được cấp phép AGPL?

Trường hợp với MongoDB là nó sử dụng giấy phép Apache cho mã máy khách, điều này đặt ra một câu hỏi khác. Điều gì xảy ra nếu bạn sử dụng phần mềm AGPL, nhưng triển khai nó như một ứng dụng khác mà ứng dụng thương mại nguồn đóng của bạn? Ví dụ: lấy iText - đây là thư viện AGPL:

  • nếu bạn sử dụng nó và sửa đổi nó, bạn có phải mở nguồn toàn bộ ứng dụng của mình không hoặc bạn phải phân phối lại các thay đổi trong iText?
  • nếu bạn sử dụng nó và không sửa đổi nó, bạn có phải mở nguồn toàn bộ ứng dụng của mình không?
  • Nếu bạn bọc iText trong một ứng dụng khác mà bạn bắt đầu như một quy trình riêng biệt, nhưng sử dụng nó từ ứng dụng chính của bạn, bạn có nên mở mọi thứ hay chỉ là ứng dụng trình bao bọc? (Ứng dụng trình bao bọc sẽ là API dựa trên HTTP sẽ lấy các tệp pdf và sẽ trả về kết quả sử dụng iText dưới dạng JSON). Điều này có thể được sử dụng để phá vỡ giấy phép AGPL?

Lưu ý: Câu hỏi là về AGPLv3


1
Xem thêm câu trả lời liên quan này: opensource.stackexchange.com/questions/5003/ trên
Philippe Ombredanne

Câu trả lời:


40

AGPL dựa trên GPL, không phải LGPL. Nó không chứa bất kỳ trường hợp ngoại lệ liên kết nào và bất kỳ công việc nào sử dụng mã AGPL (được liên kết hoặc nói cách khác, được sửa đổi hay không) cũng phải được cấp phép và phân phối AGPL.

Sử dụng các quy trình riêng biệt có thể phá vỡ GPL (A), nhưng đây là nền tảng âm u. Nếu ứng dụng cuối của bạn phụ thuộc vào quy trình bên ngoài, như vậy nó sẽ không hoạt động đúng nếu không có nó, thì nó sẽ được coi là một công việc xuất phát của phần mềm AGPL.

Trong hầu hết các trường hợp mọi người sử dụng các ứng dụng GPL riêng biệt trong các chương trình nguồn đóng, họ cung cấp GPL hoạt động như một phần mở rộng tùy chọn hoặc phần phụ thay thế cho một số đoạn mã khác, v.v.

Công việc GPL (A) không thể được phân phối cùng với ứng dụng cuối cùng ngay cả dưới dạng một ứng dụng riêng biệt (ví dụ: đặt chúng vào cùng một kho lưu trữ hoặc kho lưu trữ), mặc dù việc cung cấp hướng dẫn về nơi tìm GPL hoạt động và cách sử dụng nó với ứng dụng của bạn.


9
Mặc dù những gì bạn nói là đúng, sự khác biệt duy nhất giữa GPL và AGPL là yêu cầu cung cấp mã nếu nó được sử dụng tương tác qua mạng. Tuy nhiên, điều khoản quy định điều này quy định rằng nó chỉ áp dụng cho "Phiên bản sửa đổi" của tác phẩm và "phiên bản sửa đổi" được định nghĩa là bất kỳ việc sử dụng nào yêu cầu bản quyền. Chỉ chạy phiên bản chưa sửa đổi sẽ không tạo ra "phiên bản sửa đổi", vì bản quyền chỉ bao gồm phân phối.
Erik Funkenbusch

8
1. "liên kết hoặc cách khác" là sai. 2. "nó sẽ được coi là một tác phẩm phái sinh" là sai 3. Tôi nghĩ "Trong hầu hết các trường hợp" là sai. 4. "Công việc GPL (A) không thể được phân phối cùng với ứng dụng cuối cùng ngay cả khi một ứng dụng riêng biệt" là hoàn toàn sai, ví dụ Debian phân phối mọi thứ với tất cả các loại giấy phép khác nhau, không phải tất cả đều tương thích với GPL. Hệ thống độc quyền cũng có thể làm điều này. Hãy xem phần 3 của trang này, bắt đầu từ "Câu hỏi đã phát sinh": ghostscript.com/doc/civerse/Commprod.htmlm Đừng đọc phần còn lại, nó đang cố lừa bạn mua nó.
Sam Watkins

Debian thực sự có 3 kho riêng biệt do cấp phép. mainbao gồm các gói DFSG -compliant, không dựa vào phần mềm bên ngoài khu vực này để hoạt động. Đây là các gói duy nhất được coi là một phần của bản phân phối Debian . contribcác gói chứa phần mềm DFSG -compliant, nhưng có các phụ thuộc không có trong chính (có thể được đóng gói cho Debian không miễn phí). non-freechứa phần mềm không tuân thủ DFSG .
Kevin Brey

Re: "không thể được phân phối cùng" - bạn có thể chỉ ra sự hỗ trợ cung cấp giấy phép cụ thể không? Tôi hoàn toàn hiểu lý do tại sao bạn không muốn gửi mã được cấp phép AGPL trong một sản phẩm tiêu dùng, nhưng đó là một tình huống khá hẹp.
Charles Duffy

1
Giống như ... wat ... vì vậy bây giờ tất cả những điện thoại Android có nhân Linux của họ là bất hợp pháp ...
Antti Haapala

10

AGPL giống như GPL; do đó, nếu ứng dụng của bạn đang sử dụng mã AGPL, nó phải được cấp phép AGPL.

Những gì AGPL làm trên GPL là định nghĩa lại của người dùng. Đối với các chương trình GPL đang chạy trên máy chủ của bạn, bạn là người dùng, đối với AGPL, người dùng thực sự của ứng dụng là người dùng trang web hoặc dịch vụ của bạn. Do đó, bạn đang phân phối ứng dụng nếu ai đó không phải là bạn đang sử dụng nó. Và điều đó tất nhiên bao hàm tất cả các yêu cầu GPL tiêu chuẩn.

Đối với Mongo, tôi cho rằng các ứng dụng sử dụng nó không sử dụng mã, chỉ một số API không được cấp phép AGPL.


nói chung, tôi cũng không sử dụng mã iText - Tôi đang sử dụng API của nó, đó là API java nhị phân chứ không phải API JSON trong trường hợp Mongo.
Bozho

@Bozho Và API đó thuộc giấy phép nào?
Let_Me_Be

2
Các trình điều khiển DB @Bozho Mongo đều được cấp phép theo giấy phép Apache (Tôi đang trích dẫn trang web mà bạn đã liên kết).
Let_Me_Be

2
tốt, đó là tinh ranh - chúng ta làm gì với API và khách hàng API là gì. Btw bạn có thể trả lời ba câu hỏi viên đạn ở trên không?
Bozho

2
Không có câu hỏi rằng một tác phẩm sử dụng mã AGPL'd được cấp phép theo AGPL (Ngoại trừ mã GPLv3 được phép xen kẽ mà không có các điều khoản AGPL áp dụng cho mã GPLv3). Vấn đề xuất phát từ định nghĩa về việc sử dụng Mạng, chỉ đề cập đến "Phiên bản sửa đổi" và định nghĩa "Phiên bản sửa đổi" trong định nghĩa có nghĩa là nó chỉ áp dụng cho nội dung yêu cầu bản quyền (nghĩa là phân phối). Vì vậy, nó vẫn còn khá âm u.
Erik Funkenbusch
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.