2009-12-30 13 views
50

Tôi có một sự hiểu biết khá tốt về các giấy phép PMNM cá nhân, nhưng tôi luôn gặp khó khăn khi tôi muốn sử dụng mã theo các giấy phép khác nhau. BSD so với Ms-PL, Apache 2 so với GPLv3, v.v.Có biểu đồ nào trong đó Giấy phép OSS tương thích không?

Có một số loại "biểu đồ giao phối" liệt kê những giấy phép nào tương thích với giấy phép nào không?

+0

[Đây là trang web] (https://www.tldrlegal.com/) có chức năng liên quan. – Abbafei

+6

Bên cạnh thực tế rằng đây là một câu hỏi/câu trả lời hữu ích (trái ngược với nhiều câu hỏi trong SO) và do đó không nên đóng 4 năm sau khi được hỏi !!!! nó có thể được di chuyển đến http://opensource.stackexchange.com/ ít nhất. – dashesy

Trả lời

43

Tổ chức phần mềm miễn phí duy trì một số list of licenses, được phân loại là tương thích GPL, GPL không tương thích và không miễn phí. Điều này có thể giúp trả lời câu hỏi phổ biến nhất, đó là liệu giấy phép có tương thích với GPL hay không. Vì không có nhiều giấy phép phần mềm tự do khác yêu cầu toàn bộ tác phẩm được phân phối theo cùng giấy phép như GPL, các vấn đề tương thích thường thấp hơn giữa các giấy phép khác miễn là mã nằm trong các thư viện hoặc tệp nguồn riêng biệt.

Theo như Ms-PL, bạn có thể sử dụng danh sách FSF để xác định khả năng tương thích cho điều đó. Ms-PL là một giấy phép copyleft yếu (rất yếu) (Ms-RL hơi mạnh hơn, nhưng vẫn được phân loại là copyleft yếu). Điều này có nghĩa là mã được phân phối dưới nó phải nằm dưới nó, do đó làm cho GPL không tương thích, nhưng bạn thường có thể liên kết nó với mã theo giấy phép copyleft yếu hoặc cho phép, miễn là bạn tuân theo các điều khoản của từng giấy phép và mã được cấp phép riêng cư trú trong các thư viện riêng biệt. Các giấy phép duy nhất có khả năng không tương thích với các giấy phép copyleft mạnh, như GPL và AGPL. (Từ chối trách nhiệm tiêu chuẩn: Tôi không phải là luật sư và đây không phải là tư vấn pháp lý. Nếu bạn cần tư vấn pháp lý, bạn nên nói chuyện với một luật sư đủ điều kiện).

Đối với một bộ giấy phép giới hạn hơn, bạn có thể kiểm tra điều này Free-Libre/Open Source Software (FLOSS) License Slide bởi David Wheeler (được sao chép bên dưới). Các mũi tên chỉ ra rằng hai giấy phép có thể được kết hợp và công việc kết hợp có thể được coi là có giấy phép ở cuối mũi tên, có thể với một số hạn chế bổ sung được lấy từ giấy phép khi bắt đầu mũi tên.

License compatibility chart

đoạn sau đây là một rant chung về chủ đề này, liên quan nhưng không có liên quan trực tiếp đến câu hỏi của bạn

Khó khăn của việc xác định khả năng tương thích giấy phép, và đơn giản trong việc tìm hiểu các chi nhánh của cấp phép khác nhau các điều khoản, là lý do tại sao sự gia tăng giấy phép là một điều xấu. Vui lòng, hãy thử sử dụng giấy phép phổ biến, được hiểu rõ, chẳng hạn như giấy phép GPL, LGPL, BSD 2 hoặc 3 khoản, MIT/X consortium hoặc cống hiến miền công cộng, nếu có thể. Dù bạn làm gì, đừng phát minh ra giấy phép của riêng bạn. Nếu bạn phải, hãy sử dụng giấy phép phổ biến cho dự án mà bạn đang đóng góp, để duy trì tính tương thích với phần còn lại của mã trong dự án đó. Nếu bạn tuân theo các quy tắc này, bạn sẽ giúp giảm bớt sự nhầm lẫn và cải thiện khả năng tương thích giấy phép.

+0

Tôi đồng ý với câu trả lời cuối cùng đó, mặc dù đối với tôi, tôi đang tìm kiếm các giấy phép tương thích Ms-PL. Tôi tìm cách GPL quá hạn chế, do đó, nó thêm về BSD/Apache/Ms-PL/Ms-RL/MPL/LGPL ... –

+0

theo biểu đồ đó APL 2.0 không tương thích với lgpl v2? điều đó có vẻ mâu thuẫn với tôi. – Alex

+0

Những trang web này có định nghĩa chuẩn về công việc "phái sinh" không? Công việc của tôi có phải là phái sinh nếu tôi chỉ tiêu thụ một nhị phân không thay đổi? Nếu tôi sử dụng thư viện OSS để giao tiếp thuần túy, hãy nói giao thức Modbus trong một trình cắm thêm, ứng dụng điều khiển của tôi có trở thành phái sinh ngay cả khi sự nhấn mạnh của nó nằm trong một miền hoàn toàn khác với thư viện truyền thông không? – Tormod

2

Trả lời nhận xét của bạn về việc quan tâm đến giấy phép tương thích với Ms-PL:

Hầu hết giấy phép đều tương thích với giấy phép đó. Đặt cược tốt nhất của bạn là truy cập Wikipedia và nhập tên giấy phép. Nó tương thích với Ms-PL nếu nó được liệt kê là không có copyleft, vì Ms-PL yêu cầu tất cả các dẫn xuất mã nguồn được phát hành dưới Ms-PL.

Đó là cách tôi thực hiện nghiên cứu của mình. ;)