Saya telah melakukan beberapa proyek open source, dan saya berencana untuk melakukan lebih banyak di masa depan. Sejauh ini, saya telah merilis semua kode saya di bawah GPL, tetapi saya telah membaca beberapa artikel yang mengklaim GPL terlalu ketat untuk kode apa pun untuk digunakan dalam lingkungan perusahaan. Ini, konon, mengurangi kontribusi.
Inilah yang ingin saya capai:
Untuk aplikasi lengkap :
- tidak ada penggunaan komersial dengan pengecualian dukungan penjualan untuk aplikasi (yaitu aplikasi tidak dapat dijual, tetapi segala sesuatu di sekitarnya dapat)
Untuk perpustakaan (komponen, plugin, ...):
- dapat dimasukkan ke dalam proyek komersial tanpa modifikasi
- setiap modifikasi perpustakaan / komponen harus bersumber terbuka (berkontribusi kembali) - sisa proyek, komersial atau tidak, tidak terpengaruh
Untuk aplikasi, GPL sepertinya masih pilihan yang logis. Untuk perpustakaan, pemahaman primitif saya tentang lisensi membuat saya berpikir bahwa LGPL adalah pasangan yang baik, tapi, saya tidak yakin. Saya telah melihat lisensi MIT, dan itu tampaknya terlalu permisif.
Sebagian besar waktu, saya ingin orang menggunakan kode saya di mana saja mereka mau, selama ada perbaikan yang disumbangkan kembali.
Ini membawa saya ke pertanyaan saya: apakah LGPL merupakan pilihan logis untuk pustaka sumber terbuka, komponen, plugin, dll? Apakah ada alternatif yang lebih baik? Apakah GPL pilihan yang baik untuk aplikasi saya atau ada sesuatu yang lebih baik?
Memperbarui:
Bagi mereka yang tertarik dengan keputusan akhir saya, saya telah memutuskan untuk merilis perpustakaan saya di bawah skema multi-lisensi, MPL, LGPL dan GPL. Ini memungkinkan setiap orang untuk menggunakan kode saya tanpa kewajiban, kecuali mereka memodifikasinya di bawah MPL, dalam hal ini harus dikembalikan.
Ini berarti kode dapat digunakan oleh FSF dan perangkat lunak berpemilik, tetapi eksploitasi komersial "buruk" dicegah (atau jadi saya ingin berpikir).
sumber
Jawaban:
Bagi saya sepertinya GPL dan LGPL adalah apa yang Anda inginkan untuk proyek Anda.
sumber
Berhati-hatilah bahwa GPL tidak melarang penjualan aplikasi, dan melarang ini akan membuat lisensi Anda tidak bebas, seperti yang diamati oleh Huperniketes. Satu-satunya hal yang dipastikan GPL adalah perusahaan yang menjual perangkat lunak itu juga harus menyediakan basis kode secara gratis. Tetapi mereka tidak harus menyediakan paket perangkat lunak apa adanya secara gratis. Itu perbedaan yang cukup besar, karena kode sumber suatu perangkat lunak bukanlah produk yang siap digunakan.
sumber
Jika Anda ingin mencegah penggunaan komersial perangkat lunak Anda, GPL tidak akan memotongnya. GPL cenderung dihindari oleh perusahaan komersial dalam produk yang mereka jual karena persyaratan untuk mendistribusikan kembali sumber yang dimodifikasi, tetapi mereka bebas untuk menggunakan perangkat lunak GPL secara internal. Itu tidak berarti bisnis tidak diatur untuk menjual perangkat lunak GPL, atau membangun perangkat keras di sekitar perangkat lunak GPL (LinkSys, misalnya), tetapi sebagian besar bisnis lebih memilih untuk tidak membagikan produk mereka dengan pesaing.
Saya tidak tahu apakah lisensi Creative Commons Atribusi Non-Komersial Tanpa Derivatif adalah apa yang Anda inginkan (satu-satunya batasan yang Anda sebutkan adalah penggunaan komersial ), tetapi jika tidak, Anda mungkin perlu memiliki lisensi yang disiapkan untuk Anda oleh seorang pengacara yang berisi bahasa yang memberikan hak yang Anda inginkan untuk dimiliki oleh pemegang lisensi.
Juga, begitu Anda mulai memasukkan pembatasan seperti penggunaan non-komersial dan non-modifikasi , Anda mungkin tidak lagi memenuhi kriteria untuk lisensi open source seperti yang didefinisikan oleh Open Source Initiative . Situs mereka juga mencantumkan lisensi OSS lain yang disetujui . Mungkin sudah ada satu yang cocok dengan tujuan Anda.
Dan mendefinisikan tujuan Anda secara memadai akan menjadi kunci sebelum memilih hak dan batasan yang Anda tempatkan pada pengguna perangkat lunak Anda. Apakah popularitas lebih penting daripada kemampuan modifikasi atau distribusi atau penggunaan atau ...? Pikirkan tujuan Anda dalam mengeluarkan kode untuk memulai, dan dengan semangat apa Anda melakukan itu atau ketentuan yang Anda berikan akses mungkin memiliki efek sebaliknya.
sumber
Jika yang Anda pedulikan adalah memastikan kode Anda tetap bebas, mendapatkan perbaikan kembali, dan memastikan siapa pun dapat menggunakannya, maka MPL adalah lisensi yang tepat untuk Anda. Ini gratis untuk digunakan dalam produk apa pun, termasuk perangkat lunak komersial, tanpa batasan aneh, penghubung misterius seperti yang dikenakan LGPL. Itu mengharuskan siapa pun yang menggunakan kode Anda dan memodifikasinya merilis perubahan di bawah MPL, tetapi tidak menyentuh atau membatasi salah satu dari sisa kode dalam proyek.
sumber
Jika Anda menulis semua kode Anda (yaitu, jika Anda memiliki kode Anda), Anda juga dapat melisensikannya dua kali lipat : mempublikasikan kode Anda dalam misalnya GPLv3 dan menawarkan untuk menjualnya (dengan lisensi lain) kepada mereka yang ingin menggunakannya dengan tidak terlalu ketat.
(ini khususnya relevan untuk perpustakaan, karena perpustakaan GPL-ed hanya dapat digunakan pada perangkat lunak GPL).
Berhati-hatilah dengan kontribusi eksternal atau tambalan yang Anda masukkan ke dalam kode Anda (karena Anda tidak memilikinya).
sumber
Apakah Anda benar-benar dapat mengajukan MPL atau hanya GPL tergantung pada satu perbedaan kritis:
Lihat ini .
Apa artinya ini bagi Anda adalah bahwa jika Anda menggunakan komponen apa pun yang itu sendiri adalah GPL, Anda (mungkin) tidak dapat merilis kode (yang menggunakan ini) di bawah MPL; MPL akan secara salah mencoba memperbolehkan mendistribusikan kembali kode GPL di bawah MPL yang tidak patut. Ini bagus, jika dependensi Anda sesuai dengan lisensi MIT atau Apache.
Secara umum, jika Anda tidak melakukan yang lebih baik dengan memilih MPL daripada GPL saja kecuali Anda sudah menggunakan barang MPL. GPL juga akan memastikan bahwa kontribusi akan dipublikasikan juga.
Hanya ada perubahan penting yang diberikan MPL adalah perlindungan terhadap pelanggaran paten yang tidak disengaja. Seperti kata lisensi:
MPL dan GPL tidak cukup kompatibel.
Anda dapat melihat di sini: MIT vs. BSD vs. Lisensi Ganda untuk diskusi tentang implikasi lisensi ganda.
sumber
Sepertinya tidak ada yang membicarakannya, tetapi Anda mungkin mempertimbangkan lisensi Creative Commons. Mereka memiliki serangkaian lisensi (atau yang Anda sesuaikan dengan kebutuhan Anda, melihat dengan cara yang berbeda).
sumber