Oke, sebelum semua orang berteriak tentang pertanyaan rangkap, ya, saya sudah melihat beberapa pertanyaan seperti ini di sini. Tapi tidak ada yang menjawab pertanyaan itu.
Jika saya menautkan pustaka GPL-ed tanpa memodifikasi pustaka itu, apakah saya harus merilis kode sumber?
Menurut pertanyaan ini , jawabannya adalah ya!
Tetapi jawaban ini tidak memuaskan bagi saya. Jawabannya pada dasarnya mengatakan bahwa saya tidak dapat menggunakan kode GPL dengan cara apa pun tanpa membuat kode saya open source.
Tetapi jika sebelumnya benar maka itu akan menunjukkan bahwa tidak ada orang atau organisasi yang bisa merilis perangkat lunak berpemilik di Linux. Yang pasti salah. Hanya karena agar aplikasi apa pun dapat melakukan sesuatu yang berguna, membuka file, menulis ke konsol, membuat koneksi TCP, aplikasi tersebut harus ditautkan ke libc
GPL-ed.
Jadi pertanyaan saya adalah ini: Jika GPL menyatakan, seperti semua jawaban sebelumnya di situs mengatakan, bahwa suatu program yang menautkan ke program GPL lain haruslah GPL itu sendiri, bagaimana mungkin membuat / melepaskan / menjual aplikasi kepemilikan apa pun sama sekali yang berjalan di Linux? Karena seperti yang saya jelaskan di atas aplikasi itu harus suka kode GPL hanya untuk berjalan di Linux.
Contoh yang lebih praktis katakanlah saya menautkan ke perpustakaan bersama yang GPL-ed dalam aplikasi non-GPL, akankah itu memaksa aplikasi non-GPL menjadi GPL-ed? Lebih khusus lagi jika saya menggunakan pustaka GPL tanpa mengubahnya, dan kemudian mendistribusikan pustaka itu sebagai .so
atau .dll
, akankah itu mengharuskan aplikasi saya menjadi open source?
Jawaban:
Jika Anda menautkan ke GPL lib maka Anda telah membuat karya turunan dan kode Anda harus GPL - ini berbeda dengan kode L GPL yang secara khusus memungkinkan penautan dinamis dari kode berlisensi berbeda. Pustaka sistem termasuk libc, semuanya LGPL.
Ada juga pengecualian khusus untuk header kernel Linux dan libgcc (perpustakaan secara implisit dipanggil oleh kompiler).
sumber
Dalam kasus umum, Anda benar karena Anda tidak dapat menautkan ke perpustakaan GPL, mendistribusikan kode Anda, dan kemudian tidak merilis kode Anda sebagai GPL.
Namun, ada System Library Exception yang merupakan cara orang terhubung dengan Linux libs dan masih merilis produk mereka di bawah lisensi non-GPL.
Pengecualian lain adalah ketika kedua lisensi tersebut kompatibel satu sama lain. Lihatlah halaman lisensi FSF yang kompatibel untuk bacaan lebih lanjut.
Akhirnya, penulis lib GPL dapat membuat pengecualian khusus, seperti untuk penggunaan non-komersial atau hobi.
Sayangnya, ada terlalu banyak potensi untuk memiliki aturan yang keras dan cepat. Tanpa lebih spesifik dalam pertanyaan Anda, jawaban Anda adalah "mungkin tidak bisa, tetapi mungkin Anda bisa."
sumber
Jawaban singkatnya adalah tidak ada yang benar-benar tahu. (Diskusi ini tentang GPL bukan LGPL.)
GPL memiliki bahasa yang tidak jelas tentang "Karya Derivatif", yang ditafsirkan oleh orang yang berbeda dengan cara yang berbeda. Konsensus tampaknya melanggar tautan statis, tetapi panggilan melalui interupsi sistem (misalnya ke Kernel Linux) tidak. Yang terakhir ini didasarkan terutama pada kenyataan bahwa perusahaan-perusahaan seperti Oracle mengirim di Linux dan belum dituntut - tidak jelas dalam lisensi.
Tautan dinamis tidak jelas, mungkin 70/30 mengatakan itu melanggar. Memanggil program menggunakan panggilan pipa atau prosedur jarak jauh, mungkin 30/70 tidak melanggar, meskipun ini pada dasarnya hal yang sama. Memanggil melalui COM, atau menggunakan Java Jar, sama sekali tidak jelas.
Pada dasarnya, jika ada keraguan, dan Anda tidak menyukai pengacara, maka menjauhlah dari GPL.
sumber