AGPL adalah lisensi yang cukup baru yang dimaksudkan untuk menggunakan jaringan GPL. Namun, tidak menjadi pengacara, dan sebenarnya tidak membaca seluruh lisensi, saya tidak bisa mengerti apa yang sebenarnya dapat Anda lakukan secara bebas dan apa yang tidak dengan AGPL.
Ketidakpastian saya diumpankan oleh posting ini tentang MongoDB (yang merupakan AGPL) dan bahkan lebih banyak lagi dengan komentar di bawah ini.
Jika kami mengikuti komentar, ternyata Anda dapat menggunakan pustaka AGPL dengan perangkat lunak sisi server komersial sumber tertutup, selama Anda tidak memodifikasi pustaka. Apakah itu masalahnya? Atau Anda harus mendistribusikan seluruh aplikasi saat menggunakan perpustakaan berlisensi AGPL?
Kasus dengan MongoDB adalah bahwa ia menggunakan lisensi Apache untuk kode klien, yang menimbulkan pertanyaan lain. Apa yang terjadi jika Anda menggunakan perangkat lunak AGPL, tetapi menggunakannya sebagai aplikasi berbeda dari yang sumber komersialnya ditutup? Misalnya, ambil iText - ini adalah pustaka AGPL:
- jika Anda menggunakannya dan memodifikasinya, apakah Anda harus membuka sumber seluruh aplikasi Anda atau Anda harus mendistribusikan ulang hanya perubahan di iText?
- jika Anda menggunakannya dan tidak memodifikasinya, apakah Anda harus membuka sumber seluruh aplikasi Anda?
- Jika Anda membungkus iText dalam aplikasi lain yang Anda mulai sebagai proses yang terpisah, tetapi menggunakannya dari aplikasi utama Anda, haruskah Anda membuka semua sumber, atau hanya aplikasi pembungkus? (Aplikasi pembungkus akan menjadi API berbasis HTTP yang akan mengambil file pdf dan akan mengembalikan hasil menggunakan iText sebagai JSON). Bisakah ini digunakan untuk menghindari lisensi AGPL?
Catatan: Pertanyaannya adalah tentang AGPLv3
Jawaban:
AGPL didasarkan pada GPL, bukan LGPL. Itu tidak mengandung pengecualian yang menghubungkan, dan pekerjaan apa pun yang menggunakan kode AGPL (ditautkan atau diubah, dimodifikasi atau tidak) juga harus berlisensi dan didistribusikan AGPL.
Menggunakan proses terpisah dapat menghindari (A) GPL, tetapi ini adalah tanah yang keruh. Jika aplikasi akhir Anda bergantung pada proses eksternal, sehingga tidak akan berfungsi dengan baik tanpa itu, maka itu akan dianggap sebagai karya turunan dari perangkat lunak AGPL.
Dalam kebanyakan kasus di mana orang menggunakan aplikasi GPL terpisah dalam program sumber tertutup, mereka menyediakan pekerjaan GPL sebagai ekstensi opsional, atau alternatif back-end untuk beberapa bagian kode lainnya dll.
Pekerjaan (A) GPL tidak dapat didistribusikan di samping aplikasi akhir bahkan sebagai aplikasi terpisah (misalnya, memasukkannya ke dalam arsip atau repositori yang sama), meskipun tidak masalah untuk memberikan petunjuk tentang di mana menemukan pekerjaan GPL dan bagaimana menggunakannya dengan aplikasi Anda.
sumber
main
terdiri dari paket-paket yang memenuhi persyaratan DFSG , yang tidak bergantung pada perangkat lunak di luar area ini untuk beroperasi. Ini adalah satu-satunya paket yang dianggap bagian dari distribusi Debian .contrib
paket-paket berisi perangkat lunak yang sesuai dengan DFSG , tetapi memiliki dependensi yang tidak utama (kemungkinan dikemas untuk Debian tidak bebas).non-free
berisi perangkat lunak yang tidak sesuai dengan DFSG .AGPL sama dengan GPL; Oleh karena itu, jika aplikasi Anda menggunakan kode AGPL, ia harus memiliki lisensi AGPL.
Apa yang dilakukan AGPL di atas GPL adalah pendefinisian ulang pengguna. Untuk program GPL yang berjalan di server Anda, Anda adalah pengguna, untuk AGPL, pengguna aplikasi sebenarnya adalah pengguna situs web atau layanan Anda. Karena itu, Anda mendistribusikan aplikasi jika orang lain selain Anda menggunakannya. Dan itu tentu saja menyiratkan semua persyaratan GPL standar.
Sedangkan untuk Mongo, saya berasumsi bahwa aplikasi yang menggunakannya tidak menggunakan kode itu, hanya beberapa API, yang bukan berlisensi AGPL.
sumber