Lisensi MIT kompatibel dengan GPL. Apakah lisensi GPL kompatibel dengan MIT? yaitu, saya dapat menyertakan kode berlisensi MIT dalam produk berlisensi GPL, tetapi dapatkah saya menyertakan kode berlisensi GPL dalam produk berlisensi MIT?
Bagi saya, perbedaan utama antara lisensi MIT dan GPL adalah bahwa MIT tidak memerlukan modifikasi menjadi sumber terbuka sedangkan GPL memerlukannya. Apakah itu benar? Apakah GPL lebih ketat daripada lisensi MIT?
Jawaban:
Benar - secara umum. Anda tidak harus membuat perubahan Anda menjadi open source jika Anda menggunakan GPL. Anda dapat memodifikasinya dan menggunakannya untuk tujuan Anda sendiri selama Anda tidak mendistribusikannya. TAPI ... jika Anda DO mendistribusikannya, maka seluruh proyek Anda yang menggunakan kode GPL juga menjadi GPL secara otomatis. Artinya, itu harus bersumber terbuka, dan penerima mendapatkan semua hak yang sama dengan Anda - artinya, mereka dapat membalikkan dan mendistribusikannya, memodifikasinya, menjualnya, dll. Dan itu akan termasuk kode kepemilikan Anda yang kemudian tidak akan ada lagi menjadi hak milik - itu menjadi open source.
Perbedaannya dengan MIT adalah bahwa meskipun Anda benar-benar mendistribusikan kode kepemilikan Anda yang menggunakan kode berlisensi MIT, Anda tidak harus membuat kode tersebut menjadi open source. Anda dapat mendistribusikannya sebagai aplikasi tertutup tempat kode dienkripsi atau dalam bentuk biner. Menyertakan kode berlisensi MIT dapat dienkripsi, selama kode tersebut membawa pemberitahuan lisensi MIT.
Ya, sangat.
sumber
Kamu bisa. GPL adalah perangkat lunak gratis seperti halnya MIT, kedua lisensi tersebut tidak membatasi Anda untuk menyatukan kode karena "menyertakan" selalu dua arah.
Dalam hak cipta untuk sebuah karya gabungan (yaitu dua atau lebih karya membentuk satu karya), tidak ada bedanya jika satu karya "lebih besar" dari yang lain atau tidak.
Jadi, jika Anda menyertakan kode berlisensi GPL dalam produk berlisensi MIT, Anda juga akan menyertakan produk berlisensi MIT dalam kode berlisensi GPL.
Sebagai opini kedua, OSI mencantumkan kriteria berikut (lebih detail) untuk kedua lisensi (MIT dan GPL):
Keduanya memungkinkan terciptanya karya gabungan, yang selama ini Anda minta.
Jika penggabungan kedua karya tersebut dianggap turunan, maka hal ini juga tidak dibatasi oleh kedua lisensi tersebut.
Dan kedua lisensi tersebut tidak membatasi untuk mendistribusikan perangkat lunak.
GPL tidak mengharuskan Anda untuk melepaskan modifikasi Anda hanya karena Anda yang membuatnya. Itu tidak tepat.
Anda dapat mencampur ini dengan distribusi perangkat lunak di bawah GPL yang tidak Anda tanyakan secara langsung.
Beginilah cara saya memahaminya:
Sejauh jumlah distribusi, Anda harus meletakkan seluruh paket di bawah GPL. Kode MIT di dalam paket akan tetap tersedia di bawah MIT sedangkan GPL berlaku untuk paket secara keseluruhan jika tidak dibatasi oleh hak yang lebih tinggi.
"Restrictive" atau "more restrictive" / "less restriktif" sangat bergantung pada sudut pandang. Untuk pengguna perangkat lunak, MIT mungkin menghasilkan perangkat lunak yang lebih terbatas daripada yang tersedia di bawah GPL bahkan beberapa menyebut GPL lebih ketat saat ini. Pengguna tersebut secara spesifik akan menyebut MIT lebih restriktif. Ini hanya subjektif untuk mengatakannya dan orang yang berbeda akan memberi Anda jawaban yang berbeda untuk itu.
Karena membicarakan pembatasan lisensi yang berbeda hanya subjektif, Anda harus memikirkan tentang apa yang ingin Anda capai:
Selama Anda adalah penulisnya, Andalah yang dapat memutuskan.
Jadi orang yang paling membatasi adalah penulisnya, terlepas dari lisensi mana yang dipilih siapa pun;)
sumber
Anda benar bahwa GPL lebih ketat daripada lisensi MIT.
Anda tidak dapat memasukkan kode GPL dalam produk berlisensi MIT. Jika Anda mendistribusikan karya gabungan yang menggabungkan kode GPL dan MIT (kecuali dalam beberapa situasi tertentu, misalnya 'agregasi belaka'), distribusi tersebut harus sesuai dengan GPL.
Anda dapat menyertakan kode berlisensi MIT dalam produk GPL. Seluruh pekerjaan gabungan harus didistribusikan dengan cara yang sesuai dengan GPL. Jika Anda telah membuat perubahan pada bagian MIT kode, Anda akan diminta untuk mempublikasikan sumber untuk perubahan tersebut jika Anda mendistribusikan aplikasi yang berisi kode GPL dan MIT.
Jika Anda adalah pemilik hak cipta kode GPL, tentu saja Anda dapat memilih untuk melepaskan kode tersebut di bawah lisensi MIT sebagai gantinya - dalam hal ini itu adalah kode Anda dan Anda dapat menerbitkannya di bawah lisensi sebanyak yang Anda inginkan.
sumber
IANAL tapi seperti yang saya lihat ....
Meskipun Anda dapat menggabungkan kode GPL dan MIT, GPL tersebut tainting. Artinya paket secara keseluruhan mendapat batasan GPL. Karena itu lebih ketat, Anda tidak dapat lagi menggunakannya dalam perangkat lunak komersial (atau lebih tepatnya sumber tertutup). Yang juga berarti jika Anda memiliki proyek MIT / BSD / ASL Anda tidak ingin menambahkan dependensi ke kode GPL.
Menambahkan dependensi GPL tidak mengubah lisensi kode Anda tetapi akan membatasi apa yang dapat dilakukan orang dengan artefak proyek Anda. Ini juga mengapa ASF tidak mengizinkan dependensi ke kode GPL untuk project mereka.
http://www.apache.org/licenses/GPL-compatibility.html
sumber