Tôi đã thực hiện một số dự án nguồn mở và tôi dự định sẽ làm nhiều hơn trong tương lai. Cho đến nay, tôi đã phát hành tất cả mã của mình theo GPL, nhưng tôi đã đọc một vài bài viết cho rằng GPL quá hạn chế đối với bất kỳ mã nào được sử dụng trong môi trường công ty. Điều này, được cho là, làm giảm đóng góp.
Đây là những gì tôi muốn thực hiện:
Đối với các ứng dụng đầy đủ :
- không sử dụng cho mục đích thương mại ngoại trừ hỗ trợ bán cho ứng dụng (nghĩa là không thể bán ứng dụng, nhưng mọi thứ xung quanh đều có thể)
Đối với thư viện (thành phần, plugin, ...):
- có thể được đưa vào các dự án thương mại mà không cần sửa đổi
- mọi sửa đổi thư viện / thành phần phải được mở nguồn (đóng góp lại) - phần còn lại của dự án, thương mại hay không, không bị ảnh hưởng
Đối với các ứng dụng, GPL vẫn có vẻ là sự lựa chọn hợp lý. Đối với các thư viện, sự hiểu biết sơ khai về giấy phép của tôi khiến tôi nghĩ rằng LGPL là một kết hợp tốt, nhưng, tôi không chắc chắn. Tôi đã xem giấy phép MIT và điều đó dường như quá dễ dãi.
Hầu hết thời gian, tôi muốn mọi người sử dụng mã của mình ở bất cứ đâu họ muốn, miễn là mọi cải tiến đều được đóng góp lại.
Điều này đưa tôi đến (các) câu hỏi của tôi: LGPL có phải là lựa chọn hợp lý cho các thư viện, thành phần, plugin nguồn mở không? Có một lựa chọn tốt hơn? GPL là một lựa chọn tốt cho các ứng dụng của tôi hay có điều gì tốt hơn?
Cập nhật:
Đối với những người quan tâm đến quyết định cuối cùng của tôi, tôi đã quyết định phát hành thư viện của mình theo chương trình đa giấy phép, MPL, LGPL và GPL. Điều này cho phép hầu như tất cả mọi người sử dụng mã của tôi mà không có nghĩa vụ, trừ khi họ sửa đổi nó theo MPL, trong trường hợp đó nó sẽ phải được đóng góp lại.
Điều này có nghĩa là mã có thể được sử dụng bởi cả FSF và phần mềm độc quyền, nhưng việc khai thác thương mại "xấu" bị ngăn chặn (hoặc vì vậy tôi muốn nghĩ).