Saya membuat aplikasi internal untuk perusahaan tempat saya dikontrak. Kami ingin menggunakan perpustakaan berlisensi GPLv2 dalam aplikasi ini. Beberapa poin
- Aplikasi ini akan digunakan dalam batas-batas perusahaan dan tidak pernah tersedia untuk penggunaan umum. Ini hanya untuk penggunaan internal perusahaan.
- Itu tidak akan pernah dijual, selamanya !! . Jadi tidak akan ada uang yang dihasilkan langsung dari penjualan kode. Itu bukan produk.
- Ada dua bentuk penggunaan aplikasi
- Bentuk aslinya adalah exe berbasis konsol (yang menggunakan perpustakaan GPL); dan
- Penggunaan melalui antarmuka web yang memanggil executable.
- Kode sumber akan tetap menjadi sumber tertutup (hanya digunakan oleh perusahaan), dan pantas
Saya telah melalui banyak pertanyaan pada SO tentang ini ( satu ditutup sebagai off-topic dan yang lainnya tidak ditandai dari Programmer ), tetapi saya telah mengalami kesulitan dalam memahami apakah interpretasi saya terhadap lisensi itu benar.
Berdasarkan pemahaman saya sejauh ini, saya diizinkan untuk menggunakan perpustakaan ini tanpa kekhawatiran. Saya tidak mengubah kode sumber atau mendistribusikan aplikasi atau membuat aplikasi tersedia untuk umum. Aplikasi tidak akan dijual dan tidak akan didistribusikan kepada siapa pun di luar perusahaan (Namun akan tersedia di fasilitas DR di luar perusahaan kami). Saya sangat mungkin menggunakan binari versi yang dirilis dan tidak mengkompilasi ulang dari sumber.
Pertanyaan berikut dari FAQ GNU tampaknya mendukung pemikiran saya.
Apakah GPL mengharuskan kode sumber versi modifikasi diposkan ke publik?
GPL tidak mengharuskan Anda untuk merilis versi modifikasi Anda, atau bagian apa pun darinya. Anda bebas membuat modifikasi dan menggunakannya secara pribadi, tanpa pernah melepaskannya. Ini berlaku untuk organisasi (termasuk perusahaan) juga; suatu organisasi dapat membuat versi yang dimodifikasi dan menggunakannya secara internal tanpa pernah melepaskannya di luar organisasi.
Tetapi jika Anda merilis versi yang dimodifikasi untuk umum dalam beberapa cara, GPL mengharuskan Anda untuk membuat kode sumber yang dimodifikasi tersedia untuk pengguna program, di bawah GPL.
Dengan demikian, GPL memberikan izin untuk merilis program yang dimodifikasi dengan cara tertentu, dan tidak dengan cara lain; tetapi keputusan apakah akan melepaskannya terserah Anda.
Apakah perpustakaan berlisensi GPLv2 dapat digunakan dalam aplikasi intranet internal perusahaan?
Jawaban:
GPL, dalam semua variannya, adalah lisensi redistribusi . Ini sama sekali tidak berlaku sama sekali jika Anda tidak mendistribusikan ulang kode. Ini mungkin berlaku di masa depan jika, suatu hari, Anda memutuskan untuk membuat produk dari aplikasi Anda, tetapi tidak sekarang.
sumber
Saya pikir Anda telah mengutip jawabannya, jadi Anda memilikinya.
Pengetahuan saya tentang GPL adalah bahwa untuk apa yang ingin Anda lakukan, Anda tidak punya masalah.
sumber
Jawabannya di sini bergantung pada definisi hukum distribusi .
Jika memberikan program kepada karyawan Anda untuk menjalankan mendistribusikannya, maka persyaratan GPL berlaku, dan Anda harus memberi karyawan sumber yang menerima program juga.
Jika memberikan salinan program kepada karyawan Anda bukan distribusi, maka Anda tidak memiliki persyaratan, karena Anda belum membagikannya.
FAQ yang Anda kutip memberi tahu Anda bahwa Anda tidak harus membuat kode Anda tersedia untuk umum . (Yaitu, untuk sembarang orang di jalan.)
Perhatikan bahwa jelas di bawah GPLv2 bahwa layanan web tidak dianggap sebagai distribusi. Hanya aplikasi konsol yang membingungkan.
Saya sarankan Anda mendapatkan nasihat hukum dari pengacara perusahaan Anda.
sumber
Ya, Anda dapat TETAPI mempertimbangkan kerja sama dengan subkontraktor, perusahaan mitra, dan sejenisnya. Ini telah menggigit banyak admin di bagian belakang, karena "hanya untuk in-house" menjadi "dibagi di antara mitra" kemudian "produk untuk dijual". Maka bagian GPL perlu ditulis ulang dari awal atau Anda melepaskan sumber ke Intranet Anda.
sumber
LGPL versi 2 memungkinkan Anda untuk mendistribusikan kembali sumber dan biner.
Anda bahkan bisa menjualnya.
Satu-satunya batasan nyata adalah sebagai berikut:
Jika Anda memodifikasi perpustakaan dan mendistribusikannya, maka Anda harus merilis perubahan yang Anda buat ke perpustakaan secara publik. Baca poin 2 dari LGPL.
Jika Anda tidak memodifikasinya, Anda tidak benar-benar memiliki masalah.
sumber
Saya tidak berpikir itu akan menjadi masalah. Aplikasi web menggunakan kode GPL tetapi tidak tersedia dalam bentuk kode sumber untuk pengguna adalah salah satu masalah yang GPLv3 ubah dibandingkan dengan GPLv2, menutup "celah" itu. Ini sepertinya pertanyaan yang sama.
Bergantung pada untuk apa perpustakaan itu sebenarnya, cara lain yang jelas untuk menghindari seluruh masalah adalah dengan membuat pembungkus yang sangat sederhana di sekitar perpustakaan. Jika pustaka adalah GPL, maka pembungkus mungkin akan berakhir perlu GPL, tetapi jika antarmuka dipisahkan dengan jelas, maka lisensi kode pembungkus tidak boleh (saya hampir mengatakan tidak akan, tetapi berkonsultasi dengan hukum yang terlatih dengan baik) praktisi) memiliki dampak pada persyaratan lisensi aplikasi utama.
sumber
Penting untuk diingat dalam semua saran "programmer-to-programmer" ini bahwa tidak ada nasihat hukum. Seperti yang dijelaskan oleh utas ini, ada ruang untuk interpretasi dengan GPL.
Anda harus mempertimbangkan biaya mengekspos organisasi Anda ke tindakan hukum jika Anda melanggar GPL vs mendapatkan opini hukum yang bagus dan sehat . Ada ide bagus di utas ini, tetapi saya tidak akan membuat keputusan atas input ini sendirian.
-
Sebagai contoh, ini adalah kerutan: Bagaimana jika kode GPL adalah JavaScript?
Ketika pengguna mengakses situs web dengan kode JavaScript GPL, secara teknis "kode sumber" (dalam hal ini file JS) "didistribusikan" kepada pengguna akhir. Apakah itu berarti seluruh situs web Anda perlu GPL? Ada seluruh perdebatan tentang itu juga.
Walaupun saya benci membayar pengacara sama halnya dengan pekerja keras berikutnya, mengingat risikonya, ini adalah satu bidang yang umumnya lebih baik untuk tidak bergantung pada saran Internet (kecuali untuk saran ini, tentu saja).
sumber
Seperti yang dikatakan poster sebelumnya, lisensi GPL hanya berlaku jika Anda merilis aplikasi Anda, jika tetap hanya untuk penggunaan internal, maka tidak ada masalah. Namun, ada baiknya mempertimbangkan implikasinya, jika hal ini pernah berubah.
Pemahaman dasar saya tentang lisensi adalah bahwa ia memungkinkan Anda untuk mengubah kode sumber, kemudian menjual aplikasi yang dihasilkan jika Anda mau, tetapi dengan syarat bahwa Anda membuat kode sumber tersedia untuk siapa saja yang bertanya, termasuk setiap perubahan yang Anda buat untuk itu.
Dalam kasus pustaka yang dikompilasi, kode GPL terpisah dari basis kode utama Anda, dan oleh karena itu hanya kode sumber untuk pustaka yang dikompilasi yang harus dirilis - bukan basis kode Anda yang lain.
Di mana perpustakaan tidak dikompilasi - yaitu dalam aplikasi PHP, saya percaya pemisahan masih ada. Katakan misalnya aplikasi Anda menggunakan pustaka sumber terbuka untuk menghasilkan PDF - modifikasi apa pun pada kode penghasil PDF akan dicakup oleh lisensi dan perangkat tambahan apa pun harus dirilis, namun kode apa pun dalam aplikasi Anda yang menggunakan pustaka ini tidak perlu dirilis .
Harap perhatikan bahwa ini berubah dengan GPL v3 di mana kode Anda harus bersumber terbuka jika Anda menautkan ke pustaka sumber terbuka ...
sumber
Saya tidak yakin apakah boleh melarang karyawan untuk mendistribusikan kembali aplikasi itu, karena aplikasi itu sendiri juga GPL. Jadi apa yang Anda pikir mungkin "aplikasi internal" mungkin berpotensi (secara hukum?) Bocor bersama dengan kode sumber.
sumber