it-swarm-id.com

GPL dan plugin

Pusat pengembang Plugin mengatakan "Plugin Anda harus Kompatibel dengan GPLv2.". Tetapi saya menemukan bahwa plugin Topsy berada di bawah GPLv3. http://www.gnu.org/licenses/rms-why-gplv3.html menyatakan bahwa GPLv2 dan GPLv3 tidak kompatibel. Jadi haruskah ini dibiarkan? Saya ingin menggunakan beberapa kode dari plugin Topsy. Lalu, haruskah saya melepaskan plugin saya di bawah GPLv2 atau GPLv3 ??

3
User

Jika Anda mengikuti aturan (Anda tidak ingin memulai dengan melanggar mereka), maka setiap plug-in WordPress yang Anda tulis dan kirimkan ke repositori harus dilisensikan sebagai GPLv2. Ada badai besar diskusi selama tahun lalu ini karena file readme contoh keliru mengatakan "GPL, versi 2 atau versi yang lebih baru" ... itulah sebabnya beberapa plug-in menempuh rute GPLv3.

Setelah ditunjukkan bahwa plug-in telah dilisensikan menggunakan versi 2 agar sesuai dengan lisensi inti WordPress, banyak plug-in yang dilisensikan ulang ke versi 2 dan beberapa yang menolak dihapus dari repositori. Sayangnya, beberapa terbang di bawah radar dan ketinggalan pembaruan.

Saran saya adalah:

  1. Hubungi pengembang Topsy dan minta mereka untuk menghapus kembali plug-in atau memberi Anda izin eksplisit untuk menggunakan beberapa kode mereka dan memberi lisensi rilis Anda di bawah GPLv2
  2. Tunggu hingga mendapatkan penegasan dari Topsy sebelum menggunakan kode mereka di sistem Anda sendiri.

Secara teknis , Topsy melanggar lisensi inti WordPress, dan itu adalah tanggung jawab Yayasan WordPress untuk mengejar itu (bukan milikmu). Namun, untuk memastikan bahwa Anda menjaga kode Anda sendiri dalam kepatuhan dan menghindari kejatuhan hukum jika mereka melakukan tindakan terhadap Topsy, Anda harus mendapatkan izin untuk menggunakan kode dengan cara yang sesuai atau cari hal lain untuk dikerjakan.

Memperbarui

Setelah diskusi yang cukup panjang melalui email, di forum, di IRC, dan di Trac, tim inti mengklarifikasi bahwa setiap plugin yang di-host di repositori WP harus dilisensikan sebagai yang kompatibel dengan GPLv2 . Ini berarti, untuk sebagian besar, plugin Anda harus berupa GPLv2 atau GPLv2 + secara eksplisit ("atau versi yang lebih baru").

Ini untuk mencegah kemungkinan bergulirnya kode plugin secara tidak sengaja ke inti. Core secara eksplisit dilisensikan sebagai GPLv2 +, jadi setiap kode yang dimasukkan ke proyek harus dapat dilisensikan dengan cara yang sama.

Namun, Anda masih dapat melisensikan plugin yang dihosting secara pribadi sebagai GPLv3. Ini masih kompatibel dengan ketentuan inti "atau versi yang lebih baru" namun tetap terpisah (karena tidak dihosting di lokasi yang sama).

4
EAMann

Ini telah diklarifikasi di sini: http://core.trac.wordpress.org/browser/trunk/license.txt WordPress Core adalah GPLv2 +

Persyaratan repo "Plugin Anda harus Kompatibel dengan GPLv2" adalah arbitrer dan tidak didasarkan pada konsekuensi lisensi. Selain itu, itu hanya berlaku untuk hosting plugin di repo wordpress.org, bukan apakah plugin itu legal atau tidak. Plugin GPLv3 tidak "salah" atau melanggar lisensi apa pun. (Jadi bagian pertama dari pertanyaan Anda dijawab.)

(Ada klausul khusus dalam GPL itu sendiri yang mengatakan jika Anda tidak secara spesifik dan eksplisit membatasi persyaratan untuk versi tertentu, maka secara implisit "dapat ditingkatkan." Versi lisensi yang ditautkan bukan batas spesifik atau eksplisit. dalam kasus ini.)

Jika Anda menggunakan GPLv2 + (bukan "hanya GPLv2") dan kode GPLv3 bersamaan, kode tersebut harus dirilis GPLv3, jika Anda melepaskannya.

Mengenai pertanyaan Anda: Jika Anda menggunakan bagian dari Topsy kode Anda harus dirilis GPLv3 (dan opsional nanti) jika Anda melepaskannya.

Pembaruan: WordPress.org tidak memungkinkan Anda Host plugin GPLv3 di repo mereka sekarang (setidaknya sejak Mei 2012).

https://make.wordpress.org/plugins/2012/05/11/cross-posted-from-the-main-development-blog-the/

3
WraithKenny

Pertanyaan bagus. Secara teknis GPLv3 tidak kompatibel dengan GPv2. Jika Anda mengambil sikap yang diambil oleh Matt Mullenweg, maka plugin Topsy salah. Dugaan saya adalah jika Matt tahu dia akan menarik plugin Topsy dari repositori sampai mereka melepaskannya melalui GPLv2.

Namun, Anda tidak dapat memaksakan Topsy untuk relicense (walaupun Anda dapat meminta mereka untuk melakukannya; itu mungkin pilihan terbaik.) Adapun " Haruskah diizinkan? "pertanyaannya adalah" Siapa yang akan melakukan pelarangan? "Satu-satunya yang bisa melarang adalah seseorang yang menuntut Topsy untuk mengubahnya. Tentu saja Matt bisa menerapkan tekanan pemasaran dengan menariknya dari repositori plugin. Tetapi kecuali dan/atau sampai salah satu dari hal-hal itu terjadi ...

Jadi Anda berada di tempat yang sulit. Anda tidak dapat benar-benar menggunakan kode Topsy tanpa lisensi GPLv3, dan jika Anda melakukannya Anda tidak dapat benar-benar membuat plugin WordPress karena tidak akan kompatibel dengan GPLv2 (menurut interpretasi Matt tentang GPLv2.)

OTOH, dan ini bukan saran hanya saya yang menjelaskan, Anda mungkin bisa mengabaikan kekhawatiran GPLv3, menggunakan kode Topsy, dan membiarkan chip jatuh di tempat mereka mungkin . Sangat tidak mungkin Anda pernah dituntut atau bahkan ada orang yang mengeluh Anda melakukannya kecuali ada uang serius yang dikaitkan dengan plugin Anda yang menurut saya itu tidak akan terjadi? Dan jika Anda benar-benar berhenti dan berhenti dari Topsy maka Matt juga akan menjadi sekutu Anda dan memberikan tekanan pasar pada Topsy. Setidaknya itu dugaanku. :)

2
MikeSchinkel

GPL menyatakan bahwa jika kode Anda membutuhkan inti asli untuk dijalankan maka ia harus mengikuti lisensi yang sama.

Namun, jika Anda membagi kode Anda menjadi dua bagian, yang melakukan fungsionalitas inti (dan yang idealnya dapat digunakan dengan kerangka kerja apa pun, semacam seperti perpustakaan), dan yang kedua yang berinteraksi dengan wordpress dan perpustakaan Anda, Anda dapat menggunakan lisensi mana pun yang Anda suka untuk perpustakaan Anda. Hanya bagian dengan wordpress yang harus mengikuti lisensi yang sama.

Contoh yang bagus adalah bahwa Pustaka Google menggunakan umpan (yang merupakan API), tetapi karena merupakan biner terpisah, ia dapat menggunakan lisensi apa pun.

2
Sudhanshu