Menemukan lisensi yang tepat untuk mendukung komunitas open source saja. GPLv3 terlalu ketat, LGPLv3 terlalu permisif

Jan 03 2021

Saya telah membuat perpustakaan sumber terbuka ( https://github.com/pitschr/knx-link) yang dirancang untuk digunakan oleh proyek sumber terbuka lainnya; bukan oleh pengguna akhir. Saat ini dilisensikan sebagai GPLv3.

Tujuan utama saya adalah bahwa setiap proyek yang menggunakan perpustakaan saya harus bersumber terbuka . Bagi saya pribadi, tidak masalah jika proyek lain yang menggunakan perpustakaan saya memiliki lisensi misalnya Apache-2.0 atau MIT selama proyek yang digunakan oleh pengguna akhir bersumber terbuka misalnya di GitHub.

Berdasarkan lisensi yang berbeda, saya melihat bahwa:

  • LGPLv3 bukanlah pilihan yang tepat karena memungkinkan untuk dihubungkan dengan perangkat lunak berpemilik
  • GPLv3 tampaknya terlalu ketat bagi saya, karena mengharuskan perangkat lunak lain juga perlu dilisensikan sebagai GPLv3. Selain itu, GPLv3 tidak mengizinkan untuk digunakan oleh proyek yang berlisensi di bawah Apache-2.0 / MIT
  • Lisensi Apache-2.0 dan MIT tampaknya bukan pilihan bagi saya karena dapat digunakan oleh perangkat lunak berpemilik secara langsung

Saya tidak dapat menemukan lisensi yang tepat untuk tujuan saya. Sekali lagi, tidak masalah untuk menggunakan perpustakaan saya selama proyek / perangkat lunak pengguna akhir itu sendiri adalah open source tanpa memaksakan bahwa ia perlu dilisensikan di bawah GPLv3 juga ? Tujuan utama saya adalah mendukung komunitas open source saja!

Apakah saya sendirian dengan gagasan itu? Apa cara terbaik untuk mencapainya? Lisensi mana yang paling cocok untuk saya?

Terima kasih, Christoph (yang agak bingung)

Jawaban

4 planetmaker Jan 03 2021 at 16:46

Ada dua pandangan yang berbeda secara fundamental tentang lisensi open source:

a) yang permisif seperti MIT, Apache dll yang - secara kasar - tidak peduli apa yang terjadi pada sumber mereka selama kredit dipertahankan dan dikomunikasikan.

b) Dan ada lisensi open source yang lebih ketat, lisensi copy-left, yang ingin memastikan bahwa turunan apa pun tetap juga open source, terutama lisensi GPL.

Lisensi biasanya dipilih oleh penulis (awal) karena alasan dia menginginkan yang pertama atau yang terakhir.

Lisensi yang Anda cari mungkin dibuat, tetapi hanya sedikit berguna: Proyek dengan lisensi permisif tidak ingin menggunakan lisensi yang hanya dapat digunakan dalam proyek sumber terbuka; lisensinya dipilih secara khusus sehingga penggunaan kepemilikan dimungkinkan.

Sebuah proyek yang sudah memiliki lisensi copy-left juga tidak memerlukan lisensi seperti itu - bisa juga menggunakan GPL yang memastikan bahwa: jadilah open source dan tetap open source.

Dengan demikian, bahkan dapat dikatakan bahwa lisensi yang hanya dapat digunakan dalam proyek open source sudah ada: GPL. Sebagian besar lisensi open source kompatibel dengan GPL dalam arti bahwa lisensi tersebut dapat digunakan dalam proyek berlisensi GPL (cukup dengan mengubah lisensi menjadi GPL untuk perangkat lunak turunan / gabungan - meskipun terdapat pengecualian penting seperti ketidakcocokan dengan Apache atau MPL ).

3 JNic Jan 08 2021 at 06:48

Katakanlah seseorang menggunakan proyek Anda (dilisensikan di bawah lisensi khusus Anda) dalam aplikasi berlisensi MIT. Karena lisensi MIT secara eksplisit mengizinkan perangkat lunak untuk didistribusikan dalam sumber tertutup, lisensi khusus Anda tidak akan efektif dan tidak masuk akal.

Jika Anda tidak ingin perpustakaan Anda digunakan dalam perangkat lunak berpemilik, maka pilihan terbaik adalah GNU GPL.

Ada lisensi yang kompatibel dengan GNU GPL. Perangkat lunak berlisensi GNU GPL dapat berisi kode di bawah lisensi apa pun yang kompatibel.