Saya mencari lisensi sumber terbuka untuk perpustakaan yang ingin saya terbitkan. Idealnya, seseorang harus diizinkan untuk menggunakan perpustakaan ini dalam aplikasi gratis atau komersial tanpa membayar saya biaya, tetapi jika ada karya turunan dari perpustakaan dibuat (setiap perbaikan perpustakaan misalnya), itu harus tersedia untuk semua orang di bawah lisensi yang sama.
Dengan kata lain, saya ingin menerapkan etika berikut: "Anda mendapat manfaat dari karya ini secara gratis, dan jika Anda meningkatkannya, saya juga bisa mendapat manfaat dari peningkatan Anda secara gratis". Ini adalah jenis lisensi copyleft yang saya cari.
Lisensi MIT terlihat seperti solusi yang mungkin, tetapi tidak jelas bagi saya apakah karya turunan dari kode yang dicakup oleh lisensi ini HARUS tersedia secara PUBLIK untuk semua orang. Adakah yang bisa mengklarifikasi / mengkonfirmasi hal ini? Jika ada lisensi open source lain yang lebih sesuai untuk kebutuhan saya, saya juga tertarik. Terima kasih.
sumber
Jawaban:
Lisensi MIT tidak mengharuskan karya turunan bersumber terbuka. Anda mencari GPL .
sumber
Jawaban singkat
Kombinasi dari Eclipse Public License dan LGPL memastikan apa yang Anda inginkan: Modifikasi kode Anda harus tersedia, tetapi menggunakan kode dalam produk yang lebih besar tidak memaksa produk yang lebih besar dilisensikan ulang. Kombinasi ini diperlukan untuk memungkinkan kode digunakan dalam proyek GPL dan non-GPL.
Ini adalah cara yang telah dilakukan proyek-proyek seperti JGraphT. Mereka melepaskan proyek mereka di bawah EPL dan LGPL. Motivasi dan prosedur dijelaskan dalam wiki mereka .
Jawaban panjang
Saya pikir, Lisensi Publik Mozilla ( MPL ) atau Eclipse Public License ( EPL ) adalah lisensi yang Anda cari, karena "jika ada karya turunan dari perpustakaan dibuat (setiap perbaikan perpustakaan misalnya), itu [IS ] tersedia untuk semua orang di bawah lisensi yang sama. "
MPL dan lisensi EPL adalah antara GPL dan MIT.
MIT memungkinkan pengguna untuk melakukan segalanya dengannya, termasuk modifikasi, penjualan, dan tidak mengembalikan kode yang dimodifikasi kepada komunitas.
GPL memaksa pengguna untuk memberikan semua kode kepada komunitas, bahkan jika perpustakaan Anda hanya 1% dari keseluruhan produk.
LGPL memaksa pengguna untuk memberikan modifikasi bagian LGPL dari kode.
MPL dan EPL mirip dengan LGPL: Ini juga memaksa pengguna untuk membuat sumber yang dimodifikasi tersedia. "Sumber yang dimodifikasi" hanya mencakup bagian dari kode yang dicakup MPL- / EPL. Itu berarti, pengguna dapat membangun produk baru dari perpustakaan Anda. Jika dia melakukan modifikasi bagian MPL- / EPL, dia harus menerbitkannya. Hal-hal baru menurutnya tidak perlu dipublikasikan.
Saya merasa MPL / EPL lebih pas, karena LGPL secara eksplisit berbicara tentang "perpustakaan" dan MPL hanya berbicara tentang "Perangkat Lunak Tertutup" (yang merupakan ruang lingkup yang lebih luas).
Namun, memilih EPL menyebabkan masalah dengan menyisir perangkat lunak dengan perangkat lunak GPL: EPL tidak kompatibel dengan GPL . Ini tidak terjadi jika Anda hanya menggunakan MPL .
Jika Anda ingin memastikan bahwa kode Anda dapat digunakan dalam proyek GPL dan non-GPL, lisensikan ganda kode di bawah LGPL dan EPL seperti dijelaskan dalam jawaban singkat.
Contohnya
qooxdoo. Mereka berencana "untuk menyederhanakan dan memodernisasi istilah lisensi qooxdoo" dan dengan demikian mereka beralih dari lisensi ganda ke MIT.sumber