Saya berencana untuk mengembangkan perangkat lunak komersial menggunakan perangkat lunak LGPL.
Dalam perangkat lunak LGPL yang saya gunakan beberapa fungsi di kelas tidak sepenuhnya diimplementasikan. Saya ingin memodifikasi kode LGPL sehingga fungsi kelas dan tidak diimplementasikan dibuat terlihat di luar dll dengan menambahkan dllexport infront kelas dan dengan menambahkan kata kunci virtual infront fungsi.
Kemudian saya berencana untuk mengimplementasikan fungsi-fungsi itu dalam perangkat lunak berpemilik saya. Saya siap untuk mendistribusikan kode LGPL yang dimodifikasi tetapi bukan perangkat lunak berpemilik yang mengimplementasikan fungsi seperti yang saya inginkan.
Apakah itu melanggar syarat dan ketentuan LGPL?
Jawaban:
Ini adalah pertanyaan yang kompleks, tetapi saya percaya bahwa apa yang Anda usulkan tidak diizinkan.
Anda menyarankan menambahkan kait ke perpustakaan untuk memudahkan Anda membuat sub-kelas perpustakaan dan setidaknya, setidaknya. untuk memotong semangat LGPL.
Masalahnya adalah, jika Anda mensubkelas kelas yang tunduk pada lisensi LGPL dalam kode Anda sendiri, maka pekerjaan Anda menjadi karya berdasarkan pustaka , bukan karya yang menggunakan pustaka yang berarti bahwa kode Anda merupakan turunan dari pekerjaan yang dicakup dalam bagian 2 ( LGPL v2.1 ) daripada yang dicakup dalam bagian 6 ( LGPL v2.1 ). Yaitu menjadi tunduk pada LGPL !
Saya pikir Stephen Colebourne memberikan ringkasan yang bagus tentang javalobby.
Saya bukan penggemar berat bicara kasar dengan saran pengacara Anda , tetapi dalam hal ini saya pikir akan sangat layak untuk melakukannya jika Anda berencana untuk melanjutkan ini, jika tidak, Anda mungkin akan mendapatkan surat jahat dari Perangkat Lunak Bebas Tim hukum yayasan .
Sebagai alternatif, Anda dapat menanyakan FSF secara langsung. Dari halaman kontak mereka :
Kebetulan, dalam pertanyaan terkait Refleksi dan LGPL , gbjbaanb menjawab dengan perspektif LGPL 3.0 .
sumber
Standar Saya bukan penafian pengacara.
LGPL memerlukan modifikasi pada kode sumber perpustakaan untuk didistribusikan kepada siapa saja yang menggunakan kode Anda. Itu tidak mengharuskan kode Anda, yang menggunakan perpustakaan, bersumber terbuka dan dirilis di bawah lisensi yang sama.
Wikipedia untuk deskripsi LGPL yang lebih terperinci, tetapi non-pengacara, termasuk bagian tentang warisan kelas .
sumber
"Saya ingin memodifikasi kode LGPL ..." ini mengatakan cukup bahwa Anda harus melepaskan salah satu dari kode yang dimodifikasi itu. Kemudian memperluas apakah memperluas atau tidak kode yang dimodifikasi adalah karya turunan untuk diperdebatkan dan jika demikian menjadi tunduk pada LGPL.
Apa yang tampaknya Anda coba lakukan adalah menghindari LGPL, yang dalam hal ini dengan teknik ini Anda tidak bisa.
Tetapi jika apa yang Anda coba lakukan adalah menghindari LGPL saya akan menghubungi FSF seperti yang direkomendasikan oleh Mark Booth .
sumber
work based on
karena mereka membuat perubahan pada LGPL untuk mengekspos kode pribadi yang sebelumnya.Tebakan saya: (tapi IANAL) Anda harus merilis sebagai sumber terbuka pustaka yang dimodifikasi sebagai kode LGPL dan kemudian menjatuhkannya dalam program komersial. Itu akan berhasil. Secara efektif Anda akan berakhir memiliki garpu sumber terbuka perpustakaan di sekitar dan kemudian Anda akan menjual ujung depan untuk itu.
Tetapi seperti yang banyak orang katakan, tanyakan pada FSF : ini adalah skenario patologis yang menarik yang Anda miliki di sana; mereka mungkin bertanya-tanya sebanyak yang Anda lakukan apakah itu berlaku atau tidak. (atau paling tidak cukup repot mempublikasikan entri FAQ tentang topik tersebut)
sumber
https://www.gnu.org/licenses/lgpl-java.html
Singkatnya, tidak ada masalah dengan warisan selama Anda tidak mengubah kode perpustakaan itu sendiri, tetapi bahkan jika Anda mengubahnya, Anda diharuskan untuk melepaskan hanya kode yang dimodifikasi perpustakaan, bukan kode aplikasi Anda.
sumber