Làm thế nào là javascript phía máy khách được bao phủ bởi GPL?


29

Nếu tôi đã sử dụng thư viện Javascript được cấp phép GPL trong một ứng dụng web, thì tôi có phải cung cấp mã nguồn của toàn bộ trang web cho bất kỳ ai đã tải xuống và thực thi lib lib không?


5
Đây là một câu hỏi rất thú vị. Thông thường, các ứng dụng web không được GPL bao trả vì bạn không phân phối mã (đó là lý do AGPL tồn tại). Tuy nhiên, trong trường hợp mã chạy trên trình duyệt, bạn là loại phân phối mã. Nếu đó là sự thật, bản chất của GPL ngụ ý rằng toàn bộ ứng dụng web của bạn phải được phát hành theo GPL.
Scott Whitlock

5
@ David - câu hỏi là liệu các lực lượng GPL bạn để giải phóng phần còn lại của ứng dụng web của bạn (như các công cụ phía máy chủ) là tốt. Bạn đã sử dụng thư viện Javascript để tạo một tác phẩm phái sinh. GPL sẽ áp dụng cho toàn bộ kết quả.
Scott Whitlock

1
@David nếu rõ ràng, tôi sẽ không hỏi: p
Armand

1
@ Alison, ah OK, xin lỗi, tôi đã hiểu sai câu hỏi đầy đủ rồi. Không, phía máy chủ sẽ không phải GPLed. Miễn là các comms giữa máy khách và máy chủ là một số định dạng không giống như một lời gọi chức năng ở cấp độ máy, như XML, bạn không có gì phải lo lắng. Chỉ đơn giản là phục vụ mã GPL, có thể là HTML hoặc JS, không làm cho mã phía máy chủ phân phối hoặc giao tiếp với nó theo định dạng không gọi từ xa, một công việc phái sinh.
David

1
Richard Stallman, tác giả của GPL, về vấn đề: gnu.org/philatics/javascript-trap.html
Honza Pokorny

Câu trả lời:


5

Bạn sẽ phải cung cấp JavaScript của thư viện đó và JavaScript của ứng dụng truy cập API của thư viện đó (và bất kỳ thư viện nào khác mà ứng dụng truy cập, cũng cần phải có giấy phép tương thích GPL).

Hãy nhớ rằng, bạn cần cung cấp JavaScript có thể đọc được của con người, không phải là phiên bản tước khoảng trắng như thường được đưa vào sản xuất.

HTML gọi JavaScript đã có sẵn rõ ràng, nó thực sự không được tính là "liên kết" với JavaScript đó và tính khả dụng của nó có nghĩa là mọi người khó có thể lo lắng về nó.


3
Tôi không nghĩ liên kết là kích hoạt duy nhất. Chẳng hạn, nếu chương trình của bạn phụ thuộc vào một ứng dụng trợ giúp khác theo cách mà ứng dụng của bạn không thể hoạt động mà không có thư viện khác, thì với mục đích của GPL, đó là tất cả một ứng dụng. Tôi nghĩ trong trường hợp này, tôi khuyên bạn nên tham khảo ý kiến ​​một luật sư.
Scott Whitlock

nó phải là con người có thể đọc được? Hấp dẫn. Tôi sẽ hỏi điều này như một câu hỏi riêng biệt.
Armand

Nó phải được thay đổi, cả trong GPL V2 và V3. OK, đó có thể không phải là điều tương tự, tôi giả sử con người có thể ghi được == con người có thể đọc được.
David

1
Được đăng dưới dạng một câu hỏi riêng biệt tại đây: lập trình
viên.stackexchange.com/

@ScottWhitlock Đối với các mục đích của pháp luật, nó chỉ quan trọng nếu cái này là một dẫn xuất của cái khác từ góc độ bản quyền, không phải là cái này có thể hoạt động mà không có cái khác. Nếu luật bản quyền không áp dụng, GPL (là giấy phép, không phải hợp đồng, vì vậy chỉ có thể cấp quyền và không mang chúng đi) không có hiệu lực. Sẽ rất khó để chỉ ra máy chủ và máy khách nào trong một ứng dụng web thông thường là dẫn xuất của cái kia, nếu có. Tôi muốn nói rằng nhiều khả năng máy khách là dẫn xuất của máy chủ, vì hầu hết các nhà phát triển thường viết máy chủ sau đó là máy khách, nhưng đó là một chặng đường dài từ thống nhất.
Jules
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.