2010-01-06 29 views
17

Sự hiểu biết của tôi là với LGPL, tôi có thể liên kết và sử dụng thư viện LGPL để sử dụng thương mại, miễn là tôi không sao chép mã?Tôi có thể sử dụng hợp pháp javascript của LGPL trong một trang web thương mại như thế nào?

Điều đó có ý nghĩa đối với các chương trình bạn biên dịch thành nhị phân, nhưng về JavaScript thì sao?

Tôi muốn sử dụng plugin Greybox cho JQuery trong trang web thương mại của mình nhưng không biết cách thực hiện một cách hợp pháp vì đó là LGPL.

+4

Tôi bỏ phiếu để đóng câu hỏi này là chủ đề không chính vì đó là về cấp phép hoặc các vấn đề pháp lý, chứ không phải lập trình hoặc phát triển phần mềm. [Xem tại đây] (http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964) để biết chi tiết và [trợ giúp] để biết thêm. – JasonMArcher

Trả lời

15

Các LGPL về cơ bản yêu cầu (đọc full licenseFAQ để biết chi tiết):

  1. Bạn đề cập rằng nó được cấp phép theo LGPL, có sự tham khảo đầy đủ giấy phép.
  2. Bạn phân phối mã và bất kỳ thay đổi nào đối với mã theo các điều khoản của LGPL. Bạn phải phát hành mã nguồn ở dạng ưa thích của nó (không được rút gọn hoặc làm xáo trộn), bao gồm bất kỳ thay đổi nào bạn thực hiện cho nó.
  3. Điều đó được liên kết động vào ứng dụng của bạn theo cách mà người dùng có thể thay thế bằng phiên bản của riêng họ nếu họ muốn.

(đây là một tổng quan rất ngắn gọn về các yêu cầu, như là họ sẽ áp dụng cho tình hình của bạn, như tôi đã nói, xem giấy phép và FAQ để biết thêm chi tiết)

Tuân thủ (1), xem "Phụ lục: một quy ước để phát hành các chương trình JavaScript miễn phí" trong bài viết The JavaScript Trap cho một quy ước được đề xuất về cách đề cập và liên kết đến giấy phép của một chương trình JavaScript.

Để tuân thủ (2), bạn chỉ có thể phân phát mã như vậy. Nếu bạn cần giảm thiểu mã vì lý do hiệu suất, bạn nên bao gồm liên kết trong nhận xét về phiên bản chưa được rút gọn của mã.

Để tuân thủ (3) trong JavaScript, miễn là bạn giữ mã trong một tệp tập lệnh riêng biệt và không hợp nhất nó vào một tệp với mã của bạn, bạn sẽ ổn. Bất cứ ai muốn thay thế nó có thể sử dụng Greasemonkey hoặc UserJS để làm như vậy.

7

Bạn có thể sử dụng và phân phối thư viện LGPL trên trang web của mình và sử dụng chúng kết hợp với mã thương mại. Hạn chế lớn duy nhất là bạn phải giữ cho nguồn mở của thư viện, bao gồm bất kỳ sửa đổi nào bạn thực hiện cho nó và cho phép người dùng của bạn lấy thông tin nguồn, giấy phép và bản quyền cho thư viện.

Bạn không phải phân phối mã thương mại của mình theo LGPL.

Điều này khác với GPL, nơi bạn cũng sẽ phải phân phối mã của mình theo GPL.

9

đoạn LGPL 5

Một chương trình mà không chứa hàm của bất kỳ phần nào của các thư viện, nhưng là thiết kế để làm việc với Thư viện bởi được biên soạn hoặc liên kết với nó, là gọi là " công việc sử dụng Thư viện ". Công việc như vậy, trong sự cô lập, không phải là một tác phẩm phái sinh của Thư viện và do đó, nằm ngoài phạm vi của Giấy phép này.

Vì vậy, bạn có thể sử dụng nó tự do Nếu bạn không thay đổi. (Ở đây có nghĩa là không có đau đầu :))

+0

Điều gì có nghĩa là "phái sinh" ở đây, ví dụ nếu tôi đang sử dụng tệp jar có LGPL và tôi đang gọi hàm của nó vào mã của tôi, mã của tôi có nằm trong giấy phép LGPL không? –

+0

Nếu bạn nhận được mã nguồn của bình và sửa đổi nó, đó sẽ là một tác phẩm phái sinh. – JCasso

Các vấn đề liên quan