Bagaimana lisensi yang kompatibel dengan GPL seperti MIT dapat digunakan dalam program GPL tanpa harus tunduk pada ketentuan copyleft?


19

Saya saat ini memeriksa kemungkinan dan implikasi menghubungkan ke perpustakaan GPL untuk aplikasi dalam konteks komersial.

Dari apa yang saya mengerti tentang GPL, selama aplikasi tersebut digunakan secara internal, tidak ada kewajiban untuk melepaskan kodenya (bahkan jika salinannya dipindahkan ke anak perusahaan yang dikendalikan).

Yang tidak saya mengerti adalah poin berikut dari FAQ:

Jika perpustakaan dirilis di bawah GPL (bukan LGPL), apakah itu berarti bahwa setiap perangkat lunak yang menggunakannya harus di bawah GPL atau lisensi yang kompatibel dengan GPL ? Ya, karena perangkat lunak seperti yang dijalankan sebenarnya termasuk perpustakaan.

Jika saya melihat pada lisensi yang kompatibel dengan GPL , beberapa dari mereka (seperti yang meningkatkan) tampaknya tidak memaksakan pelepasan kode. Menggunakannya akan menciptakan situasi di mana Anda bisa mematuhi lisensi GPL tanpa harus menghormati kewajibannya membuat kode Anda publik (yang tampaknya tidak terlalu kredibel).

(NB: ada komponen dalam Adobe Photoshop yang dilisensikan di bawah boost dan saya tidak berpikir kode tersedia sesuai permintaan)

Penjelasan yang paling masuk akal adalah bahwa saya kehilangan sesuatu ... Bisakah Anda memberi tahu saya di mana saya melakukan kesalahan?


1
+1 untuk penjelasan hanya karena mengapa Anda benar-benar menggunakan kata itu dalam sebuah kalimat
Jimmy Hoffa

@JimmyHoffa +1 untuk kecintaan Anda pada bahasa.
Racheet

1
Di mana Anda merah bahwa Boost adalah GPL? Ia memiliki lisensi sendiri. Aturan standar adalah bahwa GPLv2 tidak bercampur dengan perangkat lunak berpemilik. Ada pertanyaan seminggu di situs ini tentang cara menyiasatinya. Kami harus melarang semua pertanyaan GPL.
Andrew T Finnell

Saya melihat dia mengatakan bahwa Boost kompatibel dengan GPL. Sisa komentar saya bertahan.
Andrew T Finnell

Jawaban:


26

Bagaimana lisensi yang kompatibel dengan GPL seperti MIT dapat digunakan dalam program GPL tanpa harus tunduk pada ketentuan copyleft?

Jawaban singkat: Tidak. Mereka akan tunduk pada copyleft.

Jawaban panjang:

The artikel Wikipedia tentang kompatibilitas lisensi memiliki bagian yang baik pada kompatibilitas GPL :

Banyak dari lisensi perangkat lunak bebas yang paling umum, seperti lisensi MIT / X asli, ... adalah "kompatibel dengan GPL". Artinya, kode mereka dapat dikombinasikan dengan program di bawah GPL tanpa konflik ( kombinasi baru akan menerapkan GPL ke keseluruhan ).

[penekanan ditambahkan]

Dan lebih eksplisit dari FAQ FSF tentang kompatibilitas GPL :

Ini berarti bahwa lisensi lain dan GPL GNU kompatibel; Anda dapat menggabungkan kode yang dirilis di bawah lisensi lain dengan kode yang dirilis di bawah GNU GPL dalam satu program yang lebih besar.

Dan hanya untuk perbaikan, inilah komentar FSF tentang berbagai lisensi

Komentar FSF tentang lisensi pendorong

Ini adalah lisensi perangkat lunak bebas yang longgar, permisif, non-copyleft, kompatibel dengan GNU GPL.

Yang berarti segala sesuatu yang dilisensikan di bawah Boost mudah dimasukkan oleh GPL.

Di mana itu menjadi rumit

Katakanlah kita memiliki proyek Fooberlisensi di bawah Boost, dan proyek Barberlisensi di bawah GPL dan yang ingin digunakan Foo.

Bar+Foodiizinkan karena lisensi yang kompatibel, dan rilis Bar+Fooharus GPL seperti halnya BarGPL. Foo, dengan sendirinya dan tanpa Bar atau Bar+Foo , masih tersedia di bawah lisensi Peningkatan. Kata lain, Bar+Footidak memiliki dampak lisensi pada Foodirinya sendiri

Lisensi yang dihasilkan dari kombinasi proyek adalah peristiwa akting ke depan untuk kombinasi saja. Ini bukan acara retroaktif.

Jadi, jika orang lain ingin mengambil Foodan melakukan sesuatu yang lain dengannya, mereka masih bebas untuk melakukannya tanpa ketentuan copyleft dari GPL. Namun, jika mereka mengambil Bar+Foo, menghapus Bardan hanya menggunakan +Foomaka mereka masih terikat oleh ketentuan GPL sejak Bar+FooGPL.

Pertanyaan Anda yang lain:

Dari apa yang saya mengerti tentang GPL, selama aplikasi tersebut digunakan secara internal, tidak ada kewajiban untuk melepaskan kodenya (bahkan jika salinannya dipindahkan ke anak perusahaan yang dikendalikan).

Ini langsung dijawab oleh FSF GPL FAQ tentang distribusi sumber

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.

Anak perusahaan yang dimiliki sepenuhnya dianggap sebagai bagian dari organisasi induk, sehingga Anda secara hukum akan jelas. FSF akan menunjukkan bahwa Anda melanggar semangat Perangkat Lunak Bebas.


3
Aku bertanya-tanya: Jika seorang karyawan menggunakan yang versi modifikasi yang tidak dipublikasikan di perusahaan, akan ia memiliki hak untuk mendapatkan kode sumber dari perusahaan?
unor

@ GlenH7: terima kasih atas penjelasan Anda yang sangat membantu (terutama bagian "Di mana ia menjadi rumit")
Louis Morazzani

2
@unor - Tidak, itu akan merupakan penggunaan pribadi oleh Perusahaan (karyawan adalah bagian dari perusahaan, bukan entitas yang terpisah).
iheanyi

"Namun, jika mereka mengambil Bar + Foo, hapus Bar dan hanya menggunakan + Foo maka mereka masih terikat oleh ketentuan GPL karena Bar + Foo adalah GPL." Apakah kamu yakin Foo masih berlisensi di bawah lisensi Boost. Seperti yang saya pahami, lisensi Boost tidak boleh dihapus, bahkan ketika dikombinasikan dengan kode GPL. ("Pemberian lisensi [...] di atas, pembatasan ini dan penafian berikut, harus dimasukkan dalam semua salinan Perangkat Lunak, secara keseluruhan atau sebagian, dan semua karya turunan dari Perangkat Lunak [...]")
lesderid

2
@ GlenH7 Tentu, tetapi apakah mereka bahkan diizinkan untuk melakukan relicense Fooberdasarkan GPL? Memberi sub-lisensi akan baik-baik saja, tetapi kemudian mereka juga harus tetap mempertahankan lisensi Boost Bar+Foo, bukan?
lesderid

8

Yang dimaksud dengan "kompatibel dengan GPL", artinya, lisensi yang tidak bertentangan dengan GPL. Lisensi yang kurang ketat, seperti lisensi Boost, "kompatibel" dengan GPL karena tidak membatasi pengguna dari kode melakukan apa pun yang GPL akan memungkinkan pengguna untuk melakukannya. Artinya, lisensi Boost memungkinkan orang untuk menyalin secara bebas, yang mana GPL mengharuskan orang diizinkan.

Contoh dari lisensi yang tidak "kompatibel" adalah lisensi yang memerlukan biaya kepada penulis asli untuk pengguna untuk mendistribusikan salinan. Karena GPL secara eksplisit mengizinkan distribusi gratis dan berbayar, lisensi yang lebih ketat ini tidak akan kompatibel.

Dengan kata lain, GPL mengatakan "Anda harus mengizinkan $ A, $ B dan $ C". Lisensi apa pun yang memungkinkan $ A, $ B, $ C dan juga $ D dan $ E kompatibel. Lisensi yang memungkinkan $ A dan $ B tetapi tidak $ C tidak akan.


4
Jadi, karya gabungan yang baru sepenuhnya dilisensikan di bawah GPL, benar? Tetapi kode asli yang dilisensikan di bawah MIT masih dapat didistribusikan secara terpisah di bawah MIT tanpa melanggar GPL, benar?
Robert Harvey

1
IANAL, tapi ya, begitulah cara kerjanya.
Fabio Fracassi

4
" karena itu tidak membatasi pengguna dari kode melakukan apa pun yang GPL akan memungkinkan pengguna untuk melakukan " - Dan juga karena itu tidak mencegah pengguna dari melakukan apa pun yang diperlukan GPL untuk mereka lakukan.
Ross Patterson

2
Nitpick kecil tetapi GPL sebenarnya tidak melarang membebankan biaya apa pun; lihat gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney
Maximus Minimus

1
Saya cukup yakin bahwa GPL memungkinkan siapa saja untuk mengenakan biaya untuk distribusi, tetapi tidak memungkinkan orang untuk meminta orang lain untuk mengenakan biaya jika mereka mendistribusikan sendiri. Dengan kata lain, saya dapat menagih Anda untuk salinan, tetapi saya tidak dapat meminta Anda untuk mengirim saya pembayaran jika Anda memberikan salinan kepada pihak ketiga.
Gort the Robot

1

Anda tidak membuat kesalahan: jawaban FAQ tidak lengkap. Seharusnya dikatakan bahwa program gabungan harus dilisensikan di bawah GPL, bukan lisensi yang kompatibel dengan GPL. Sejak itu telah diperbaiki (lihat di bawah: Saya telah menekankan bagian penting):

Ya, karena program tersebut sebenarnya terhubung ke perpustakaan. Dengan demikian, ketentuan GPL berlaku untuk seluruh kombinasi. Modul perangkat lunak yang terhubung dengan perpustakaan mungkin berada di bawah berbagai lisensi yang kompatibel dengan GPL, tetapi pekerjaan secara keseluruhan harus dilisensikan di bawah GPL . Lihat juga: Apa artinya mengatakan lisensi “kompatibel dengan GPL”?

Saya sebelumnya telah mengatakan bahwa "jika sebuah perpustakaan dirilis di bawah GPL maka setiap perangkat lunak yang menggunakannya harus berada di bawah GPL itu sendiri karena sifatnya yang disebut 'viral'. Lisensi yang kompatibel dengan GPL permisif seperti boost tidak dapat digunakan . " Dengan "perangkat lunak yang menggunakannya" maksud saya modul gabungan dan perpustakaan.


Saya percaya bahwa ini adalah kesalahpahaman umum. Tidak perlu melepaskan bagian Anda dari kode di bawah GPL, asalkan memiliki lisensi yang kompatibel. Lisensi untuk bagian Anda juga bisa lebih permisif, tetapi tidak kurang, dari GPL. Hanya pekerjaan gabungan yang tetap berada di bawah GPL, sehingga pembatasan tambahan GPL hanya berlaku jika seseorang menggunakan kode Anda bersama dengan pustaka GPL yang ditautkan. Lihat gnu.org/licenses/gpl-faq.html#GPLModuleLicense
ert

1
Ya itu betul. Jawaban asli saya bisa saja disalahartikan. Syukurlah semuanya sudah diperdebatkan sekarang, karena Gnu telah memperbarui FAQ mereka untuk mengatakan hal yang benar.
Bennett McElwee
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.