Tìm giấy phép phù hợp chỉ để hỗ trợ cộng đồng nguồn mở. GPLv3 quá nghiêm ngặt, LGPLv3 quá dễ dãi

Jan 03 2021

Tôi đã tạo một thư viện nguồn mở ( https://github.com/pitschr/knx-link) được thiết kế để sử dụng bởi các dự án nguồn mở khác; không phải bởi người dùng cuối. Hiện tại nó được cấp phép là GPLv3.

Mục tiêu chính của tôi là mọi dự án sử dụng thư viện của tôi phải có nguồn mở . Đối với cá nhân tôi, không có vấn đề gì nếu dự án khác sử dụng thư viện của tôi được cấp phép trên ví dụ: Apache-2.0 hoặc MIT miễn là dự án được người dùng cuối sử dụng có nguồn mở trên ví dụ GitHub.

Dựa trên các giấy phép khác nhau, tôi thấy rằng:

  • LGPLv3 sẽ không phải là lựa chọn phù hợp vì nó cho phép được liên kết bởi một phần mềm độc quyền
  • GPLv3 có vẻ quá nghiêm ngặt đối với tôi, vì nó buộc các phần mềm khác cũng cần được cấp phép như GPLv3. Hơn nữa, GPLv3 không cho phép sử dụng bởi một dự án được cấp phép theo Apache-2.0 / MIT
  • Giấy phép Apache-2.0MIT dường như không phải là lựa chọn cho tôi vì chúng có thể được sử dụng trực tiếp bởi phần mềm độc quyền

Tôi không thể tìm thấy giấy phép phù hợp với mục đích của mình. Một lần nữa, hoàn toàn ổn khi sử dụng thư viện của tôi miễn là bản thân dự án / phần mềm của người dùng cuối là nguồn mở mà không bắt buộc rằng nó cũng cần được cấp phép theo GPLv3 ? Mục tiêu chính của tôi là chỉ hỗ trợ cộng đồng mã nguồn mở!

Tôi có một mình với ý tưởng? Cách tốt nhất để đạt được là gì? Giấy phép nào sẽ phù hợp nhất cho tôi?

Cảm ơn bạn, Christoph (người hơi bối rối)

Trả lời

4 planetmaker Jan 03 2021 at 16:46

Có hai điều cơ bản khác nhau về giấy phép nguồn mở:

a) những công ty dễ dãi như MIT, Apache, v.v. - nói một cách đại khái - không quan tâm điều gì sẽ xảy ra với các nguồn của họ miễn là các khoản tín dụng được duy trì và truyền đạt.

b) Và có giấy phép nguồn mở nghiêm ngặt hơn, giấy phép sao chép, muốn đảm bảo rằng bất kỳ công cụ phái sinh nào cũng vẫn là nguồn mở, đáng chú ý nhất là giấy phép GPL.

Giấy phép thường được chọn bởi các tác giả (ban đầu) vì một lý do mà họ muốn giấy phép đầu tiên hoặc giấy phép sau.

Vì một giấy phép như bạn tìm kiếm có thể được tạo ra, nhưng phục vụ cho mục đích sử dụng ít: Một dự án được cấp phép dễ dàng sẽ không muốn sử dụng một giấy phép chỉ có thể được sử dụng trong các dự án mã nguồn mở; giấy phép của nó đã được chọn đặc biệt để có thể sử dụng độc quyền.

Một dự án đã có giấy phép bản sao cũng không cần giấy phép như vậy - nó cũng có thể sử dụng GPL để đảm bảo rằng: là nguồn mở và luôn là nguồn mở.

Do đó, thậm chí có thể lập luận rằng một giấy phép chỉ có thể được sử dụng trong một dự án nguồn mở đã tồn tại: GPL. Hầu hết các giấy phép nguồn mở đều tương thích với GPL theo nghĩa là chúng có thể được sử dụng trong một dự án được cấp phép GPL (chỉ cần thay đổi giấy phép thành GPL cho phần mềm dẫn xuất / kết hợp - ngay cả khi tồn tại những ngoại lệ đáng chú ý như không tương thích với Apache hoặc MPL ).

3 JNic Jan 08 2021 at 06:48

Giả sử ai đó sử dụng dự án của bạn (được cấp phép theo giấy phép tùy chỉnh của bạn) trong một ứng dụng được MIT cấp phép. Vì giấy phép MIT rõ ràng cho phép phần mềm được phân phối nguồn đóng, nên giấy phép tùy chỉnh của bạn sẽ không hiệu quả và không có ý nghĩa.

Nếu bạn không muốn thư viện của mình được sử dụng trong phần mềm độc quyền, thì lựa chọn tốt nhất sẽ là GNU GPL.

Có các giấy phép tương thích với GNU GPL. Phần mềm được cấp phép GNU GPL có thể chứa mã theo bất kỳ giấy phép tương thích nào.