Apakah perpustakaan berlisensi GPLv2 dapat digunakan dalam aplikasi intranet internal perusahaan?

13

Saya membuat aplikasi internal untuk perusahaan tempat saya dikontrak. Kami ingin menggunakan perpustakaan berlisensi GPLv2 dalam aplikasi ini. Beberapa poin

  1. Aplikasi ini akan digunakan dalam batas-batas perusahaan dan tidak pernah tersedia untuk penggunaan umum. Ini hanya untuk penggunaan internal perusahaan.
  2. Itu tidak akan pernah dijual, selamanya !! . Jadi tidak akan ada uang yang dihasilkan langsung dari penjualan kode. Itu bukan produk.
  3. Ada dua bentuk penggunaan aplikasi
    • Bentuk aslinya adalah exe berbasis konsol (yang menggunakan perpustakaan GPL); dan
    • Penggunaan melalui antarmuka web yang memanggil executable.
  4. 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?

Ahmad
sumber
2
Ini adalah pertanyaan hukum yang harus diputuskan oleh pengacara atau konsul hukum kepala perusahaan.
hotpaw2
1
@ hotpaw2 -Anda saran pasti memiliki kelebihan & adalah panduan terbaik yang pernah bisa memberikan, itu benar-benar membingungkan saya bahwa dengan semua pengembang di dunia, pertanyaan-pertanyaan ini masih ditanyakan & masih dalam beberapa kasus masih belum jelas. Saya kira yurisdiksi lokal berlaku , tapi sungguh-sungguh, perasaan saya adalah bahwa lisensi itu sengaja tidak jelas tentang aspek-aspek tertentu. Sekarang jika pengembang yang menggunakan perangkat lunak ini belum bisa mendapatkan jawaban yang jelas, IMO mencoba menjelaskan konsep kepada pengacara dan mendapatkan interpretasi mereka terhadap lisensi adalah banyak untuk ditanyakan. Sebuah jawaban untuk pengembang oleh pengembang adalah cara untuk pergi
Ahmad
@Ahmad: Satu-satunya aspek yang saya temukan sangat tidak jelas adalah bagian-bagian yang perlu menghormati hukum hak cipta: apa itu karya turunan, apa itu distribusi, dll. Sampai kita memiliki klarifikasi hukum (di AS, itu bisa melibatkan perubahan teks) dari hukum atau putusan pengadilan yang menghasilkan kasus hukum), tidak ada yang akan tahu pasti.
David Thornley
Seperti yang Anda sebutkan bahwa ada dua bentuk penggunaan aplikasi 1) Bentuk aslinya adalah exe berbasis konsol (yang menggunakan perpustakaan GPL); dan 2) Penggunaan melalui antarmuka web yang memanggil executable. Untuk yang pertama, harap klarifikasi bahwa 'Apakah ini panggilan ke perpustakaan GPL melalui panggilan sistem atau melalui panggilan khusus'?

Jawaban:

22

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.

Kilian Foth
sumber
Selama tidak pernah didistribusikan kembali lisensi tidak berpengaruh pada Anda. Tidak ada Tentu saja, jalankan itu dengan nasihat Anda jika Anda sama sekali tidak pasti, dan pastikan bahwa mereka memahami hukum lisensi hak cipta.
Michael Trausch
2
Dengan kata lain semua orang yang memiliki biner, juga harus memiliki sumber yang sesuai sehingga mereka dapat memperbaiki bug dan membuat biner baru.
2
Jadi apakah ini berarti bahwa saya juga dapat menggunakan situs web GPLv2 di dalam perusahaan, tanpa menjual fungsionalitasnya?
Johnny_D
3

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.

dengan cepat_now
sumber
3

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.

Sean McMillan
sumber
2

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.

SF.
sumber
4
OTOH, sebagian besar impian menghasilkan uang dari alat yang dikembangkan untuk digunakan di rumah, impian para manajer hancur ketika menyadari betapa spesifiknya perusahaan dan buggy aplikasi tersebut. Lisensi selalu merupakan masalah terakhir yang saya temui, ketika skenario seperti itu terjadi.
keppla
@keppla: Ya, dan itu artinya: Gunakan, tapi waspadalah. Pertahankan batas semi-jelas antara hak milik Anda dan GPL, sehingga jika saat perubahan tiba, Anda tidak akan menemukan diri Anda terjerat dengan putus asa. "Rahasia bisnis" dipisahkan dengan lapisan abstraksi yang baik dari beberapa logika lem dari bagian GPL.
SF.
1

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.

Jaydee
sumber
0

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.

sebuah CVn
sumber
0

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).

Todd
sumber
Tidak relevan - OP bertanya tentang aplikasi yang sepenuhnya internal. Dalam hal itu, tidak ada versi GPL yang mengatakan apa-apa tentang keharusan mendistribusikan apa pun (meskipun menautkan ke perangkat lunak yang tidak kompatibel dengan GPL mungkin menjadi masalah), dan Gnu FAQ membahas bahwa kurangnya persyaratan secara langsung.
David Thornley
-1

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 ...

Gavin Coates
sumber
1
"hanya kode sumber untuk pustaka yang dikompilasi yang diperlukan untuk dirilis" - ini menggambarkan LGPL, bukan GPL. GPL bekerja dengan asumsi bahwa menautkan ke perpustakaan menjadikan aplikasi Anda sebagai karya turunan dari perpustakaan, dan karenanya, tunduk pada GPL itu sendiri.
Sean McMillan
-2

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.

zvrba
sumber
Tolong jelaskan 'karena aplikasi itu sendiri juga GPL'. Apa yang anda maksudkan? Jika ada yang ingin mengambil perpustakaan GPL saja dan mendistribusikannya, lisensi tersebut berasal dari apa yang saya mengerti sejauh ini. Aplikasi intranet (konsol n web) BUKAN untuk distribusi dan jika ada karyawan yang memutuskan untuk 'mendistribusikan kembali' aplikasi perusahaan saya cukup yakin dia tidak akan menjadi karyawan lama setelah itu ..
Ahmad
EXE berbasis konsol adalah GPL karena menggunakan pustaka GPL, dan, oleh karena itu, GPL mengharuskannya tetap didistribusikan secara bebas oleh siapa saja yang mendapatkan akses ke sana. Ya, seorang karyawan mungkin kehilangan pekerjaannya karena melakukannya, tetapi itu adalah haknya untuk mendistribusikan kembali GPL'd EXE dengan sumbernya. Padahal, aturan dan hukum lain (misalnya, rahasia dagang) mungkin berlaku. Periksa dengan pengacara apakah Anda benar-benar dapat meminta pertanggungjawaban karyawan "tidak loyal" untuk melakukan apa yang diberikan oleh GPL.
zvrba
baca kembali pertanyaannya. Mayoritas jawaban tampaknya tidak setuju dengan Anda atau apakah ada sesuatu yang kita semua lewatkan? Aplikasi (termasuk bagian GPL) TIDAK untuk distribusi / distribusi ulang, hanya akan digunakan secara internal, tidak dijual, tidak untuk publik. Pustaka GPL TIDAK akan dimodifikasi dengan cara apa pun. Anda tahu bahwa Google menggunakan versi linux kernal yang dimodifikasi hanya untuk penggunaan internal dan tidak mendistribusikan versi ini. Saya menekankan penggunaan internal saja.
Ahmad
Apakah Anda bermaksud untuk mendistribusikan aplikasi atau tidak itu tidak relevan. GPL jelas pada hal-hal berikut: siapa pun yang mendapatkan pekerjaan GPL dapat dengan bebas mendistribusikannya lebih lanjut (dan dapat meminta kode sumber). Bicaralah dengan pengacara untuk mencari tahu apa lagi yang bisa ditahan terhadap karyawan Anda jika mereka memilih untuk mendistribusikan pekerjaan GPL, karena lisensi GPL mengizinkan mereka.
zvrba
1
Aplikasi ini tidak secara otomatis GPL dengan memasukkan pustaka GPL. Namun, jika Anda ingin mendistribusikan aplikasi yang menyertakan pustaka GPL, itu harus dilisensikan di bawah lisensi yang kompatibel dengan GPL. Bagian 7 dari GPL V2 menyatakan: Jika Anda tidak dapat mendistribusikan sehingga memenuhi kewajiban Anda secara bersamaan berdasarkan Lisensi ini dan kewajiban terkait lainnya, maka sebagai konsekuensinya Anda tidak boleh mendistribusikan Program sama sekali. Jadi, jika Anda tidak memiliki izin untuk mendistribusikan kode aplikasi perusahaan Anda, Anda tidak dapat mendistribusikan aplikasi tersebut.
KeithB