Menjalankan perangkat lunak sebagai layanan menggunakan program GPL yang tidak dimodifikasi (v2 +) sebagai ketergantungan inti: haruskah kode sumber SaaS dirilis?

10

Saya merancang perangkat lunak sebagai proyek layanan yang hanya akan diakses secara online. Saya mungkin memiliki ketergantungan yang keras pada executable yang dicakup oleh GNU GPL (v2 atau yang lebih baru).

Saya mengerti bahwa kode saya, jika saya ingin mendistribusikannya, harus didistribusikan di bawah ketentuan GPL juga. Saya cukup yakin bahwa menjalankan layanan melalui jaringan tidak menyampaikan / mendistribusikan kode. Jadi, apakah saya benar dalam berpikir bahwa saya dapat menggunakan ketergantungan GPL tanpa harus mengungkapkan semua kode saya?


Supaya saya dapat memberikan contoh konkret: Katakanlah saya sedang mendesain sistem pemrosesan dokumen online, seperti Google Docs. Saya ingin dapat mengunggah pada dasarnya semua jenis file ke dalam sistem dan membuatnya dapat dikonversi ke format internal apa pun. Alih-alih mencoba mencoret konverter, saya lebih suka menggunakan program yang ada yang saya tahu yang memungkinkan untuk konversi. Program ini dapat dieksekusi dengan lisensi GNU GPL v2 (atau lebih baru). Bisakah saya memiliki perangkat lunak sebagai layanan secara legal tanpa memberikan kode sumber?

Platinum Azure
sumber
Jika itu GPLv3 atau Affero maka ya Anda lakukan. Lisensi tersebut dirancang untuk memperbaiki dan menutup lubang loop "perangkat lunak sebagai layanan".
Andrew T Finnell
Tunggu, GPLv3 juga? Saya perlu melihat itu lagi ...
Platinum Azure
Rupanya saya salah tentang GLPv3. Terkejut. linux-mag.com/id/3017
Andrew T Finnell

Jawaban:

9

Dari deskripsi yang Anda berikan, jawabannya adalah "tidak, Anda tidak perlu mengungkapkan." Anda mengandalkan output dari executable GPL atau Anda memperlakukannya sebagai suatu sistem, yang merupakan dua pengecualian untuk sifat viral dari GPL. Gali ke dalam FAQ GPL dan Anda akan menemukan jawaban Anda berdasarkan spesifikasi skenario Anda.


sumber
Hanya untuk memastikan saya mengerti dengan benar (setelah membaca pertanyaan #GPLoutput pada FAQ): Jadi misalnya, jika dapat dikatakan bahwa hak cipta suatu dokumen yang diunggah (per contoh saya) dipegang oleh penulis asli, kemudian executable sedang digunakan , output dari executable tersebut (tidak memiliki bagian dari kode program itu sendiri yang terkandung di dalamnya) mempertahankan hak cipta penulis asli, dan karena itu saya hanya menggunakannya dan output tidak secara default tercakup dalam GPL, saya tidak perlu mengungkapkan?
Platinum Azure
1
@PlatinumAzure: ya.
MSalters
2
"Tidak" benar tetapi alasan utama Anda tidak melakukannya adalah karena Anda tidak mendistribusikan pekerjaan yang dilindungi GPL (hanya membuatnya tersedia secara online). Ini adalah kualitas yang diketahui dari GPL (keduanya 2 dan 3); ada lisensi terpisah lisensi Affero GPL yang mencakup kasus aplikasi yang tersedia secara online dan tidak "didistribusikan".
Craig
bagaimana dengan pertanyaan ini di mana aplikasi GPL akan digunakan secara realtime untuk hanya menghasilkan output pada mesin pengguna? dan juga, untuk ex .: semua skrip bash diharuskan menjadi GPL?
Aquarius Power
-1

IANAL tetapi IMO GPL memang memiliki sedikit ambiguitas di sini (atau interpretasi). GPL memberi Anda banyak kebebasan ketika datang ke "penggunaan", tetapi ia banyak membatasi "distribusi karya turunan". Pertama tentang penggunaan vs karya turunan. Jika kode Anda hanya "menggunakan" perangkat lunak GPL, Anda tidak perlu mendistribusikan kode Anda yang menggunakan kode GPL (jika Anda memodifikasi kode GPL itu sendiri, Anda masih harus mendistribusikan bagian dari diri Anda yang berencana mendistribusikan perubahan), di sisi lain jika itu dianggap karya turunan, maka Anda harus mendistribusikan kode sumber Anda. Salah satu poin utama adalah apakah kode Anda berjalan di ruang alamat proses yang sama dengan kode GPL,

Ada juga ambiguitas apakah menyediakan layanan web untuk memungkinkan orang menggunakan kode GPL dianggap mendistribusikan kembali perangkat lunak atau hanya cara menggunakan perangkat lunak. Saya pikir kebanyakan orang menganggap bahwa hanya menyediakan layanan web tidak termasuk redistribusi.

Terbaik untuk bertanya kepada pembuat perangkat lunak apa pendapat mereka tentang apa yang Anda lakukan. Yang terbaik adalah menghargai interpretasi mereka daripada melanjutkan interpretasi Anda sendiri. Paling buruk jika itu menjadi masalah, Anda bisa berargumen bahwa Anda memiliki izin eksplisit dari penulis sendiri atau Anda akan memiliki kesempatan untuk menemukan perpustakaan lain yang lebih permisif atau menegosiasikan pengecualian.

Lie Ryan
sumber
Saya dapat melihatnya sebagai kasus batas jika saya menyediakan antarmuka berpemilik untuk perangkat lunak bebas, pasti (dengan antarmuka pada dasarnya melakukan hal yang persis sama dengan perangkat lunak bebas di bawah tenda), tetapi jika saya hanya menggunakannya dan itu penting untuk program berfungsi, tetapi mengatakan tujuan perangkat lunak bebas secara intrinsik tidak sama dengan antarmuka berpemilik dan secara efektif digunakan seperti pustaka sistem, tentu itu bisa dikecualikan?
Platinum Azure
@PlatinumAzure: Analisisnya terlalu pesimistis. "menyediakan layanan web untuk memungkinkan orang menggunakan kode GPLed" jelas TIDAK mendistribusikan kode GPL itu. Bukan hanya pendapat saya, tetapi juga dari FSF. Jika pembuat perangkat lunak tidak setuju dengan FSF, ia seharusnya tidak menggunakan lisensi mereka.
MSalters
Tidak ada ambiguitas. Salah satu alasan utama untuk membuat GPL v3 adalah untuk menutup apa yang disebut celah ini, seperti yang telah ditunjukkan oleh "Aferro GPL". GPLv2 adalah tentang distribusi kode, bukan tentang penggunaannya.
Ross Patterson
@RossPatterson: pertanyaannya adalah tentang GPLv2, seperti yang saya katakan di posting saya GPL gives you a lot of freedom when it comes to "usage", but it does it lots of limitation concerning "distribution of derivative works". Sementara bagian dari GPL itu cukup lurus ke depan, dalam GPLv2, terbuka untuk interpretasi apakah SaaS adalah "penggunaan" atau "distribusi". GPLv2 tidak mengatakan apa-apa tentang SaaS karena dirancang sebelum SaaS adalah hal biasa, oleh karena itu ambiguitasnya.
Lie Ryan
@LieRyan SaaS yang digunakan oleh pengguna yang tidak menerima distribusi biner secara bebas diakui sebagai tidak "distribusi", dan tidak memerlukan distribusi kode sumber. Yayasan Perangkat Lunak Bebas bekerja dengan Affero untuk membuat GPLv2 yang dimodifikasi ("Affero GPL" v1) yang memperlakukan penggunaan tersebut sebagai distribusi. Tidak ada ambiguitas dalam GPLv2.
Ross Patterson