Tôi có thể đưa mã được cấp phép GPL vào một sản phẩm được cấp phép của MIT không?
Bạn có thể. GPL là phần mềm miễn phí cũng như MIT, cả hai giấy phép đều không hạn chế bạn mang mã lại với nhau trong đó "bao gồm" luôn là hai chiều.
Về quyền tác giả đối với một tác phẩm kết hợp (có nghĩa là hai hoặc nhiều tác phẩm tạo thành một tác phẩm cùng nhau), sẽ không có gì khác biệt nếu một tác phẩm "lớn" hơn tác phẩm kia hay không.
Vì vậy, nếu bạn bao gồm mã được cấp phép GPL trong một sản phẩm được cấp phép của MIT, bạn sẽ đồng thời đưa sản phẩm được cấp phép của MIT vào mã được cấp phép GPL.
Theo ý kiến thứ hai, OSI đã liệt kê các tiêu chí sau (chi tiết hơn) cho cả hai giấy phép (MIT và GPL):
- Phân phối lại miễn phí
- Mã nguồn
- Tác phẩm có nguồn gốc
- Tính toàn vẹn của mã nguồn của tác giả
- Không phân biệt đối xử với người hoặc nhóm
- Không phân biệt đối xử đối với các lĩnh vực nỗ lực
- Phân phối Giấy phép
- Giấy phép không được cụ thể cho một sản phẩm
- Giấy phép không được hạn chế phần mềm khác
- Giấy phép phải là công nghệ trung lập
Cả hai đều cho phép tạo ra các tác phẩm kết hợp, đó là những gì bạn đang yêu cầu.
Nếu việc kết hợp hai tác phẩm được coi là một sản phẩm phái sinh, thì điều này cũng không bị hạn chế bởi cả hai giấy phép.
Và cả hai giấy phép không hạn chế phân phối phần mềm.
Đối với tôi, có vẻ như sự khác biệt chính giữa giấy phép MIT và GPL là MIT không yêu cầu các sửa đổi phải có nguồn mở trong khi GPL thì có.
GPL không yêu cầu bạn tiết lộ các sửa đổi chỉ vì bạn đã thực hiện chúng. Điều đó không chính xác.
Bạn có thể kết hợp điều này với việc phân phối phần mềm theo GPL mà không phải là những gì bạn đã hỏi trực tiếp.
Điều đó có chính xác không - GPL có hạn chế hơn giấy phép MIT không?
Đây là cách tôi hiểu nó:
Đối với số lượng phân phối, bạn cần đặt toàn bộ gói hàng theo GPL. Mã MIT bên trong gói sẽ vẫn có sẵn theo MIT trong khi GPL áp dụng cho toàn bộ gói nếu không bị giới hạn bởi các quyền cao hơn.
"Hạn chế" hay "hạn chế hơn" / "ít hạn chế hơn" phụ thuộc rất nhiều vào quan điểm. Đối với người dùng phần mềm, MIT có thể dẫn đến phần mềm bị hạn chế hơn phần mềm có sẵn theo GPL, thậm chí một số người còn gọi GPL ngày nay hạn chế hơn. Người dùng cụ thể đó sẽ gọi MIT hạn chế hơn. Chỉ là chủ quan khi nói như vậy và những người khác nhau sẽ cho bạn những câu trả lời khác nhau về điều đó.
Vì chỉ là chủ quan khi nói về các hạn chế của các giấy phép khác nhau, thay vào đó, bạn nên suy nghĩ về những gì bạn muốn đạt được:
- Nếu bạn muốn hạn chế việc sử dụng các sửa đổi của mình, thì MIT có thể hạn chế hơn GPL để phân phối và đó có thể là thứ bạn đang tìm kiếm.
- Trong trường hợp bạn muốn đảm bảo rằng quyền tự do của phần mềm của bạn không bị hạn chế nhiều bởi những người dùng mà bạn phân phối nó, thì bạn có thể muốn phát hành theo GPL thay vì MIT.
Miễn là bạn là tác giả, bạn là người có thể quyết định.
Vì vậy, người bị hạn chế nhất từ trước đến nay là tác giả, bất kể ai đang chọn giấy phép nào;)