Saya pikir LGPL adalah lisensi yang permisif, seperti MIT, BSD atau Apache. Tetapi hari ini saya membaca, bahwa hanya menghubungkan ke LGPL (perpustakaan dll) diperbolehkan dari kode sumber tertutup - selain itu, itu copyleft - jadi saya harus menerbitkan kode yang didasarkan pada program LGPL.
Saya membuat sebuah program untuk majikan saya yang didasarkan pada program LGPL, tetapi memiliki banyak modifikasi untuk itu. Tentu saja, saya tidak diizinkan untuk meletakkan kode sumber yang dimodifikasi di luar sana. Pada saat yang sama, saya harus, jika saya mendistribusikannya (kan?).
Jadi saya bertanya-tanya apakah ada solusi untuk ini, sehingga saya dapat menyimpan sumber tertutup ini (saya berharap bisa menerbitkan sumbernya) - ada saran?
Ide saya: dapatkah saya menempatkan sebagian besar fungsi aplikasi LGPL asli ke perpustakaan eksternal, menulis inti yang dapat dieksekusi dari awal, tetapi merujuk kembali ke perpustakaan untuk semua fungsi yang belum saya modifikasi?
Saat ini, semuanya ada dalam file .jar (ini Java / Swing). jika Anda berpikir ide saya secara hukum / teknis layak - berapa banyak usaha untuk memisahkan apa yang saya tulis dan apa yang asli? Saya bukan yang paling jawa java.
Jawaban:
Pertama-tama, mengambil nasihat hukum di sini (seperti dalam: internet) bukan ide yang baik.
Kedua, dan ini hanya saya yang berbicara, bukan pengacara, Anda harus sudah memikirkan itu sebelum Anda mengambil program LGPL dan mengubahnya untuk majikan Anda.
Jika lisensi itu sesuatu yang bisa Anda abaikan hanya karena Anda tidak menyukainya, tidak ada gunanya memilikinya sekarang?
Jika Anda dan / atau perusahaan Anda tidak bersedia mempublikasikan kode sumber dengan modifikasi Anda, Anda harus berhenti menggunakan kode LGPL dan menyingkirkannya.
Sekali lagi, itu hanya saya yang berbicara.
Dapatkan saran dari pengacara sungguhan.
Menanggapi pertanyaan Anda tentang menghindari lisensi dengan menambahkan kode ke DLL, saya akan menganggap itu akan bekerja dengan cara berikut.
Apa yang akan Anda lakukan adalah mengubah program asli cukup untuk membuatnya dapat memanggil fungsi di perpustakaan eksternal. Anda harus melakukannya tanpa membuat potongan kode khusus untuk kebutuhan Anda, perpustakaan, nama fungsi, dll.
Perubahan-perubahan yang Anda terbitkan, sesuai persyaratan lisensi.
Kemudian Anda membuat perpustakaan eksternal Anda sendiri dengan kode hak milik Anda sendiri dan meminta program itu untuk memuat dan menjalankannya, menggunakan modifikasi yang Anda buat itu.
Tidak mengetahui sepenuhnya lisensi LGPL, saya tidak bisa mengatakan apakah itu cukup untuk menghindari harus menerbitkan perpustakaan Anda meskipun saya curiga akan melakukannya.
Namun, sekali lagi ...
Dapatkan saran dari pengacara
sumber
Sebagian besar pustaka sumber terbuka yang diterbitkan di bawah LGPL atau lisensi yang sebanding, setidaknya yang cukup baik untuk digunakan dalam proyek Anda, dibangun menggunakan prinsip terbuka / tertutup: http://en.wikipedia.org/wiki/Open/closed_principle .
Anda harus dapat memperbaiki kode Anda sehingga aplikasi Anda ditautkan ke perpustakaan LGPL dan semua ekstensi terkandung dalam kode aplikasi tertutup Anda.
sumber
Penafian yang sama: IANAL.
Sesuatu yang belum pernah disebutkan oleh orang lain sejauh ini adalah bahwa bahkan jika Anda memisahkan kode, Anda masih harus mendistribusikan kode sumber ke bagian LGPL, atau setidaknya memberikan informasi tentang di mana mereka dapat diunduh.
Satu-satunya cara untuk menyiasatinya adalah dengan tidak mendistribusikannya sejak awal.
sumber
Saya tidak berpikir bahwa Anda memerlukan pengacara untuk memahami bahwa mencoba menghindari lisensi bukanlah hal yang baik. Akal sehat sudah cukup.
Sebagai gantinya, Anda dapat menghubungi penulis asli program LGPL dan meminta / membeli untuk lisensi yang berbeda dan kepemilikan.
Satu-satunya alternatif lain adalah melepaskan sumber atau menulis ulang sepenuhnya.
sumber
IANAL, TINLA, dll.
Ya, LGPL mengharuskan Anda menyediakan kode sumber kepada siapa pun yang menerima salinan karya, atau Anda harus mendistribusikan karya Anda dalam bentuk di mana penerima perangkat lunak dapat mengganti versi Anda dari karya LGPL dengan yang baru. Versi: kapan. Dalam kedua kasus tersebut, semua modifikasi pada bagian LGPL dari karya harus tersedia untuk semua penerima karya.
Benar. Lisensi mengamanatkan bahwa semua penerima perangkat lunak harus diberi akses ke kode sumber.
Itu mungkin merupakan karya turunan, dan Anda masih akan diminta untuk mendistribusikan semua skrip pembuatan yang menghapus program ke pustaka.
Java menambahkan sejumlah besar masalah baru ke LGPL, karena tidak jelas apa yang dimaksud dengan tautan "statis" dan "dinamis". Karena pengecualian LGPL atas GPL bergantung pada konsep itu, LGPL benar-benar setara dengan GPL dalam banyak kasus. Anda perlu berkonsultasi dengan tim hukum perusahaan untuk menjawab pertanyaan apa pun yang akan diajukan.
Saran saya adalah jika ada orang di luar perusahaan Anda yang memiliki akses ke program, memo dan mulai lagi. Jika Anda tidak dapat memenuhi persyaratan lisensi, maka Anda tidak diizinkan untuk mendistribusikannya sama sekali.
Jika program hanya akan tersedia di dalam perusahaan, maka Anda hanya perlu menyediakan sumber bagi karyawan perusahaan. Saya sarankan menambahkannya ke kontrol sumber perusahaan Anda yang ada. Ini akan memenuhi persyaratan LGPL, selama tidak ada orang di luar perusahaan yang memiliki akses.
sumber
Anda dapat menggunakan pola adaptor dan jangan menyentuh kode asli. LGPL juga memungkinkan Anda mewarisi kelas dan menimpa fungsionalitas kelasnya di proyek Anda sendiri.
sumber
Ini adalah pemahaman saya, IANAL.
Periksa teks versi LGPL yang mencakup kode yang Anda gunakan. Saya percaya bahwa persyaratannya adalah kode LGPL apa saja harus bisa swap-out-bisa - biasanya dengan menggunakan perpustakaan bersama / file jar. Jika Anda dapat memisahkan kode yang Anda gunakan yang LGPL akan menjadi perpustakaan, Anda dapat melepaskannya di bawah LGPL, sambil melepaskan aplikasi Anda di bawah lisensi apa pun yang Anda suka.
sumber
Anda tidak dapat menghindari lisensi. Bahkan jika Anda menemukan celah, itu masih tidak etis (meskipun itu pertanyaan yang berbeda untuk sebagian orang). Yang BISA Anda lakukan adalah menghubungi pembuat peranti lunak tersebut, menjelaskan situasinya, dan meminta lisensi terpisah. Jika ia bersedia memberi Anda lisensi khusus untuk suatu harga, Anda dapat membandingkannya dengan biaya penulisan ulang perangkat lunak Anda tanpa menggunakan komponen yang dimaksud. Dan cukup gunakan yang lebih murah.
sumber