Apa arti "sublisensi" sebenarnya?

13

Pertama, jelas bahwa hak untuk mensublisensikan tidak memberi Anda hak untuk menyangkal.

Katakanlah kita memiliki perpustakaan dengan lisensi MIT (1 file), seseorang menambahkan beberapa fitur ke perpustakaan tetapi menempatkannya di bawah GPL (dalam 1 file yang sama). Atau jika seseorang ingin mensublisensikan mereka harus memisahkan kodenya?

Jika seseorang ingin menggunakan perpustakaan, bagaimana lisensi ditangani?
Katakanlah pengembang hanya menggunakan fitur-fitur di bawah lisensi MIT bahkan jika dalam file ada beberapa fitur di bawah GPL.
Apakah dia harus GPL aplikasi karena kode lisensi GPL?
Apakah dia harus menghapus kode GPL agar bebas dari batasan GPL atau dia bisa menggunakan perpustakaan di bawah izin / pembatasan MIT selama dia tidak menggunakan kode GPL?

Lilian A. Moraru
sumber

Jawaban:

5

seseorang menambahkan beberapa fitur ke perpustakaan [MIT] tetapi menempatkannya di bawah GPL (dalam 1 file yang sama). Jika seseorang [lain] ingin "mensublisensikan," apakah mereka harus memisahkan kodenya?

Jika dengan sublisensi maksud Anda menggunakan kode di bawah lisensi MIT yang kurang ketat, maka ya. Orang yang GPL menggunakan kode baru mereka pada dasarnya mengatakan, "Anda tidak dapat menggunakan kode saya kecuali jika kode Anda juga didistribusikan di bawah ketentuan GPL."

Apakah [sublicensor] harus menghapus kode GPL [baru-berlisensi] agar bebas dari batasan GPL?

Iya.

Robert Harvey
sumber
Saya melihat lisensi open source ( tldrlegal.com/browse ). Saya ingin melindungi pengguna perpustakaan lebih lanjut (yang mungkin mengambilnya dari orang lain) dari batasan tambahan. Hampir setiap lisensi open source permisif populer memungkinkan untuk mensublisensikan. Ms-PL tampaknya bagus untuk itu tetapi memiliki batasan lain (Ada juga GPL tapi saya tidak ingin memaksa pengguna perpustakaan untuk GPL perangkat lunak mereka) ...
Lilian A. Moraru
Saya tidak jelas apa yang harus dilakukan dengan "mensublisensikan" ini. Apakah Anda mencoba untuk memilih lisensi yang memungkinkannya, dan apa arti "mensublisensikan" bagi Anda?
Robert Harvey
Dari programmers.stackexchange.com/questions/105912/... Saya mengerti bahwa seseorang dapat mencampur lisensi lain dengan lisensi saat ini dan pembatasan perpustakaan saat ini ditambahkan pembatasan perpustakaan tambahan. Atau seseorang dapat menerapkan pustaka tambahan ke kode yang ditambahkan ke sumber asli. Dan tidak, saya lebih suka lisensi yang tidak memungkinkan seseorang mencampur lisensi yang lebih ketat.
Lilian A. Moraru
3
Saya pikir Anda perlu menjaga ini tetap sederhana; lihatlah dalam istilah "distribusi," bukan "sub-lisensi." Semua lisensi open-source memungkinkan orang untuk menggunakan kode in-house dengan cara apa pun yang mereka inginkan; hanya ketika distribusi terjadi maka pembatasan copyleft menjadi jelas. Dalam kasus Anda, Anda memiliki seseorang yang ingin GPL kode mereka. Pilihan yang dihasilkan (yang hanya harus Anda buat jika Anda mendistribusikannya kembali) sederhana: Anda bisa hidup dengan batasan baru yang telah diberlakukannya, atau menghindari kode-kodenya dan tetap menggunakan kode berlisensi MIT asli.
Robert Harvey
1
Jawabannya di sini sebagian besar salah. Menambahkan jawaban di bawah untuk memperjelas.
Chris Travers
20

IANAL tetapi saya telah membahas hal ini dan banyak masalah serupa dengan pengacara yang cukup memiliki ide bagus tentang apa yang saya bicarakan di sini. Ini bukan nasihat hukum. Bacaan latar belakang terbaik adalah buku Larry Rosen dalam konteks perangkat lunak open source.

Hak, Lisensi, Hak Cipta, dan Sublisensi

Menurut undang-undang hak cipta, pemegang hak cipta diberikan hak eksklusif tertentu atas pekerjaannya. Sebagian besar atau semua ini (tergantung pada yurisdiksi) dapat secara eksklusif atau tidak eksklusif dilisensikan kepada pihak ketiga. Jika disublisensikan diizinkan, pemegang lisensi dapat meneruskan sebagian atau semua hak lisensi ke pihak ketiga dengan mengontrak langsung dengan mereka.

Saat ini di Amerika Serikat, pemegang lisensi eksklusif diasumsikan oleh undang-undang memiliki hak untuk mensublisensikan (meskipun saya kira ini dapat lebih diperjelas dalam lisensi eksklusif). Ini masuk akal karena pemegang lisensi eksklusif dianggap memiliki kendali. Lisensi nonexclusive tidak dianggap diberikan monopoli oleh pemberi lisensi.

Sebagai contoh, misalkan saya menulis sebuah novel. Misalkan saya menawarkan lisensi eksklusif untuk karya dalam bentuk saat ini sebagai buku, dan saya menawarkan kepada orang lain lisensi non-eksklusif untuk membuat sekuel yang merupakan karya turunan. Pemegang lisensi eksklusif dapat mengeluarkan lisensi non-eksklusif kepada penulis lain untuk menggunakan kutipan dari buku dengan mensublisensikan. Penerima lisensi non-eksklusif belum dapat mengotorisasi sekuel lain yang tidak sah dari novel saya, dan penerima lisensi eksklusif tidak dapat mensublisensikan hak yang belum diberikan kepada mereka (misalnya hak film).

Lisensi BSD vs MIT dan Pemberian Lisensi Publik: A Possiblely Big Difference

Bagian ini sebagian besar didasarkan pada buku Rosen (di atas). Jika Anda memerlukan nasihat hukum, silakan sewa pengacara, dan jangan keluarkan dari Stack Exchange.

Lisensi MIT secara eksplisit memungkinkan sublisensi sementara lisensi BSD tidak. Setelah diskusi di atas, ini berarti bahwa lisensi MIT memungkinkan sesuatu yang mungkin tidak dimiliki oleh lisensi BSD di kebanyakan yurisdiksi, yaitu sublisensi. Kedua alamat lisensi, bagaimanapun, hanya kode dan perangkat lunak yang disediakan dan tidak ada yang membatasi apa pekerjaan secara keseluruhan dapat dilisensikan di bawah. Ini mengarah pada pertanyaan signifikan tentang bagaimana menafsirkan GPL v3 agar kompatibel dengan lisensi BSD btw.

Di bawah lisensi MIT Anda dapat melakukan dua hal yang pada dasarnya serupa:

1) Anda dapat memasukkan karya dalam karya Anda sendiri dan mendistribusikannya di bawah lisensi yang lebih ketat.

2) Anda dapat mengambil karya berlisensi asli MIT, menambahkan batasan tambahan padanya, dan mendistribusikan karya tersebut di bawah lisensi yang lebih ketat tetapi di mana Anda belum mengubah kode sama sekali. GPL v3 mengklaim bahwa ini harus kompatibel, jika orang melihat GPL mengatur semua persyaratan lisensi. [1]

Namun, di bawah kelompok lisensi BSD, Anda hanya dapat menambahkan batasan pada kode Anda sendiri dan ke karya turunan yang Anda buat. Anda tidak dapat menambahkannya ke kode asli dengan meneruskan hanya beberapa hak yang diberikan kepada Anda. Jadi saya tidak bisa mengambil PostgreSQL berlisensi BSD, mengubah nama menjadi PostSQL, dan melisensikannya di bawah GPL, tapi saya bisa mengambil Kerberos berlisensi MIT dan menamainya sebagai HadesHound dan melisensikannya di bawah GPL (dalam kedua kasus dengan asumsi tidak ada kode telah berubah). Ini berarti bahwa kendaraan untuk hak berbeda (selalu langsung dalam kasus lisensi BSD, baik langsung atau tidak langsung dalam kasus lisensi MIT).

Kesimpulan

Publisitas adalah istilah hukum. Jika Anda ingin membaca tentang arti sebenarnya, rekomendasi saya adalah mulai berbicara dengan pengacara, Pusat Hukum Kebebasan Perangkat Lunak, dan lainnya, dan berkonsultasi dengan kamus hukum. Namun gagasan dasarnya adalah bahwa jika ini diberikan, pemegang lisensi dapat menjadi pemegang lisensi dari beberapa hak hibah yang mereka terima terlepas dari klaim lain yang mungkin mereka miliki untuk mengontrol hak cipta atas apa yang mereka distribusikan.

Anda bertanya tentang dokumen hukum tertentu dan istilah yang digunakan di dalamnya. Saya harap ini membantu menjelaskan dengan tepat apa arti istilah itu dan apa dampaknya.

Banyak dari pertanyaan Anda cenderung panjang dan rumit, [2] dan bergantung pada yurisdiksi, tetapi aturan dasar mengenai Lisensi MIT adalah bahwa jika saluran Anda mengklaimnya dilisensikan sekarang di bawah GPL, maka dilisensikan di bawah GPL. Ini mungkin asumsi yang aman atau tidak di bawah lisensi BSD. Apalagi ini benar terlepas dari apakah versi asli telah dimodifikasi atau tidak jika lisensi MIT digunakan. Di bawah lisensi BSD, ruang lingkup modifikasi memang menentukan tentang lisensi mana yang mengatur.

[1] Salah satu solusinya adalah melihat GPL dengan cara yang berbeda, dan mengizinkan "pemberitahuan hukum yang masuk akal" ( batasan tambahan berdasarkan bagian 7) untuk memasukkan pemberitahuan tentang hak lisensi tambahan. Dalam hal ini seseorang akan memiliki izin tambahan yang dapat dilepas, diatur berdasarkan bagian 7 sebagai izin tambahan, tetapi juga memungkinkan, sebagai pembatasan tambahan (berdasarkan bagian 7 (b)), pemberitahuan yang mengatakan bahwa hak-hak tertentu tidak dapat dilepas. Ini adalah salah satu hal yang saya tidak suka tentang GPL v3, yaitu membuat orang berpikir seperti seorang pengacara tentang bagaimana mengatasi kompatibilitas lisensi.

[2] Misalnya ada pertanyaan terbuka apakah mendistribusikan perangkat lunak yang menautkan ke perpustakaan pihak ketiga sama sekali memerlukan izin hak cipta. Jika ini masalahnya, maka PostgreSQL yang dikompilasi di MinGW memerlukan izin Microsoft dan mereka dapat mencabutnya kapan saja , tetapi jika tidak maka saya dapat menulis program eksklusif yang terhubung dengan GNU Readline dan FSF tidak dapat mengklaim ini adalah pelanggaran hak cipta. Pertanyaan terbuka ini membuat sebagian besar pertanyaan Anda mengenai apakah pengembang dapat menautkan ke perpustakaan di bawah lisensi selain GPL tidak mungkin untuk menjawab dengan pasti.

Chris Travers
sumber
1
tl; dr: Bicaralah dengan pengacara.
Robert Harvey
1
Sampai batas tertentu ya. Tetapi saya juga berpendapat bahwa sebagai profesional, kita perlu mengetahui masalah ini secara relatif. Jika satu-satunya pertanyaan adalah "bisakah saya menggunakan kode berlisensi MIT di aplikasi GPL saya" yang dapat dijawab dengan aman seperti "ya." Jika pertanyaannya adalah "bisakah saya menautkan aplikasi milik saya ke versi GPL dari perpustakaan berlisensi MIT?" itu saat yang tepat untuk berbicara dengan pengacara.
Chris Travers
1
(Saya juga tidak benar-benar yakin bahwa mensublisensikan semua yang diperlukan mengenai perangkat lunak open source, FWIW.)
Chris Travers
0

Saya bukan pengacara, saya juga tidak bermain di TV:

Sementara jawaban default untuk pertanyaan seperti ini hanya berbicara dengan pengacara, saya pikir jawaban yang lebih baik adalah berbicara dengan penulis asli. Beri tahu mereka apa yang akan Anda lakukan dengannya dan apa target audiens Anda. Ingat, penulis tidak melepaskan hak cipta untuk karyanya dengan merilis di bawah lisensi, penulis bebas untuk memilih apa yang dia ingin izinkan dengan itu. Penulis dapat mengatakan "Anda dapat membayar perpustakaan ini di bawah lisensi lain ini yang memiliki persyaratan yang Anda cari" atau hanya mengatakan "Anda dapat merilis perangkat lunak Anda menggunakan lisensi apa pun yang Anda inginkan, saya melepaskan persyaratan untuk X selama Anda melakukannya Y" . Saya pribadi telah mendapatkan izin khusus untuk merilis untuk membayar perangkat lunak open source penulis di bawah Apache daripada GPL. Diberikan untuk proyek besar, yang saat ini didukung, seperti Qt,

Menimbang bahwa saya melihat banyak aplikasi open source dirilis di bawah GPL, yang saya katakan penulis benar-benar tidak mengerti apa artinya itu. Ingat, jika Anda menggunakan kode GPL, bahkan jika itu adalah satu baris, seluruh aplikasi Anda harus dirilis di bawah ketentuan GPL (itu tentu saja agak ekstrem, tidak ada penulis open source akan mengejar Anda untuk satu baris - tetapi itu persyaratan lisensi).

Saya juga tidak setuju dengan jawaban Chris Travers.

Per grafik ini, baik BSD dan MIT memungkinkan seseorang untuk merilis di bawah lisensi yang berbeda. Berikut adalah sumber lain yang menyarankan itu memungkinkan sublisensi. Saya membaca lisensi BSD baru dan tidak menyarankan apa-apa tentang tidak mengizinkan Anda untuk merilis di bawah lisensi yang berbeda - namun ia tidak memiliki ketentuan yang melarang Anda untuk mengubah lisensi dalam produk turunan.

Natalie Adams
sumber
Saya adalah "penulis". Saya ingin memastikan semuanya baik untuk pengguna.
Lilian A. Moraru
Lisensi BSD mengharuskan Anda menempatkan lisensi pada salinan kode sumber. Lisensi ini memberikan hibah lisensi langsung-dari-penulis. Bila tidak ada sublisensi, tidak ada mekanisme untuk mengubah lisensi kode berlisensi BSD yang ada tanpa secara langsung menegaskan hak cipta Anda atas kode Anda sendiri. Itulah yang memungkinkan Anda melakukan sublisensi, yaitu menambah batasan yang tidak ada dalam lisensi asli. Semoga ini jelas. Sekali lagi, saya menemukan buku Rosen sangat membantu di sini.
Chris Travers
Tentu saja begitu Anda memiliki hak cipta untuk menegaskan, perbedaannya hilang. Jadi, begitu Anda menambahkan kode Anda sendiri ke file, Anda dapat menambahkan batasan apa pun yang Anda inginkan, tetapi mereka hanya berlaku untuk kode Anda sendiri dan Anda tidak dapat menyatakannya terhadap kode yang Anda dapatkan di bawah lisensi BSD tanpa hak eksplisit untuk sublisensi. Jadi perbedaannya adalah antara menyatakan pembatasan pada kode Anda sendiri dan menegaskannya pada kode yang Anda dapatkan di bawah lisensi yang berbeda.
Chris Travers