Tại sao jQuery được phát hành theo MIT mà không phải LGPL?


18

Tại sao jQuery được phát hành theo MIT mà không phải LGPL?

Lợi ích của việc sử dụng MIT so với LGPL cho một khung là gì?


12
Tại sao nó nên được phát hành theo LGPL?

1
Người ta có thể lập luận rằng các giấy phép MIT / BSD không buộc các nhà phát triển trả lại cho cộng đồng nguồn mở, trong khi LGPL buộc bất kỳ sửa đổi nào phải là nguồn mở. Tuy nhiên, như Mason Wheeler đã đề cập, nếu ý tưởng là truyền bá nó càng nhiều càng tốt với các quy tắc ít hơn, tôi có thể hiểu được lập luận.
corgrath

Câu hỏi nên là "Tại sao jQuery lại phát hành theo MIT mà không phải là Muff ?"
Pacerier

Câu trả lời:


16

LGPL là "truyền nhiễm", có nghĩa là nếu bạn sử dụng nó, bạn cũng có nguy cơ phải (L) GPL công việc của chính bạn. GPL (và, tùy thuộc vào hoàn cảnh, LGPL cũng vậy) thực tế loại trừ việc sử dụng trong một dự án nguồn đóng.

Câu hỏi thực sự nên được diễn đạt theo cách khác: Tại sao sản phẩm X được cấp phép theo (L) GPL chứ không phải MIT / Apache / BSD / Mozilla? Thứ hai là, IMO, gần với tinh thần của phần mềm "miễn phí" hơn so với gia đình GPL (xét cho cùng, bạn không thể ép buộc tự do đối với mọi người).


6
+1, GPL và ở mức độ thấp hơn LGPL là một vị trí chính trị cũng như giấy phép.
Jeremy

4
Nó chỉ "lây nhiễm" nếu bạn muốn bán phần mềm, chỉ cần sử dụng nó là ổn, và, nếu bạn đang phân phối miễn phí thì GPL cũng ổn. Ngoài ra, nghĩa vụ sử dụng giấy phép GPL bị giới hạn ở mã GPL mà bạn sửa đổi. Chỉ cần sử dụng nó sẽ đặt bạn dưới bất kỳ nghĩa vụ nào.
James Anderson

6
Giấy phép @Jeremy không GPL có vị trí chính trị riêng. chỉ vì bạn phớt lờ chính trị không có nghĩa là nó không ở đó.
Rudolf Olah

3
Câu đầu tiên không rõ ràng. Với phần mềm LGPL , nếu bạn "sử dụng" như sửa đổi và phân phối lại , thì có, bạn phải cấp phép cho các sửa đổi của mình theo LGPL. Nếu bạn "sử dụng nó" như trong thư viện LGPL chưa sửa đổi trong mã của bạn, bạn không phải cấp phép cho mã LGPL của mình , nhưng bạn phải nói rõ rằng nó có chứa mã LGPL. Với GPL bạn làm phải sử dụng giấy phép GPL, trong cả hai trường hợp.
ness101

3
Ngoài ra, GPL không "ép buộc tự do đối với mọi người" hơn bất kỳ dự luật tự do ngôn luận nào buộc mọi người phải nói những gì trong tâm trí họ. Bạn luôn có thể viết mã của riêng bạn làm điều tương tự và phát hành nó theo bất kỳ giấy phép nào bạn chọn.
ness101

26

Trong một bản tóm tắt rất nhanh:

  • GPL: nếu bạn sử dụng mã của tôi trong mã của bạn, bạn phải phân phối mã của mình như tôi làm cho mã của tôi;

  • LGPL: nếu bạn sửa đổi mã của tôi, bạn phải phân phối các sửa đổi của mình. Bạn có thể bao gồm mã LGPL chưa sửa đổi trong mã độc quyền trong các điều kiện nhất định.

  • MIT: làm những gì bạn muốn với mã của tôi ngoại trừ giả vờ rằng mã đó là của bạn

Sau đó, có các bản in đẹp có thể gây nhầm lẫn về vấn đề và các mục tiêu chính trị của FSF - nhưng một số sử dụng GPL (L) mà không chia sẻ chúng.


4
LGPL còn nhiều điều hơn thế. Điều đó thực sự gần với mô tả một dòng về MPL. LGPL cũng có những hạn chế về loại liên kết nào bạn có thể và không thể thực hiện và "liên kết" là một khái niệm không rõ ràng khi nói đến các ngôn ngữ script như JavaScript.
Mason Wheeler

5

Chà, điều hiển nhiên là nó là một giấy phép dễ dãi hơn. Nó cho phép thư viện được sử dụng rộng rãi hơn, không bị giới hạn đối với các tác phẩm phái sinh mà GPL (L) mang theo. Khi mục tiêu là có nhiều người sử dụng thư viện của bạn và không cố gắng buộc các nhà phát triển tuân thủ một ý thức hệ nhất định, đó có thể là một điều hữu ích.


1

LGPL cung cấp nhiều lợi ích hơn cho người tạo phần mềm, trong khi MIT cung cấp nhiều lợi ích hơn cho người dùng phần mềm.

Nếu bạn muốn mọi người vui vẻ gói phần mềm của bạn với phần mềm của họ, hãy chọn giấy phép MIT. Nếu bạn muốn phần mềm của mình được gói riêng và không bao giờ được tích hợp chặt chẽ với bất kỳ gói nào đang sử dụng, hãy sử dụng LGPL.

LGPL ít hạn chế hơn GPL. Nếu bạn viết một phần mở rộng cho một chương trình được bảo hiểm bởi LGPL, bạn KHÔNG PHẢI LIÊN QUAN ĐẾN NGUỒN. Nếu bạn thay đổi chương trình riêng của mình , bạn phải phát hành các thay đổi. Với GPL, bạn cần giải phóng nguồn cho các tiện ích mở rộng. Với giấy phép MIT, bạn chỉ cần xác nhận rằng bạn đang sử dụng mã trong ứng dụng của mình.


4
LGPL nhằm mục đích mang lại lợi ích cho người dùng - không phải người dùng mã LGPL'd mà là người dùng mã được viết bởi người dùng mã LGPL'd. Lý do là người dùng thứ hai này sẽ có mã nguồn của các sửa đổi của người dùng đầu tiên, bởi vì LGPL yêu cầu nó phải có sẵn.
Tom Anderson

1
@tom: Cả GPL và LGPL đều tập trung vào việc đưa mã trở lại cộng đồng OSS, trong khi giấy phép Apache, BSD và MIT có nhiều hơn về việc cung cấp mã miễn phí cho các sản phẩm thương mại.
Satanicpuppy

1
Đó là một cách khác để nói điều tương tự. Nhưng Stallman và FSF luôn luôn tranh cãi về GPL về quyền tự do của người dùng - họ nói về bốn quyền tự do mà người dùng phần mềm GPL thích. Mục tiêu là tự do của cá nhân, không phải là sức khỏe của cộng đồng.
Tom Anderson
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.