Bagaimana saya harus melisensikan modul saya?

15

Saya memiliki modul yang saya tulis untuk perusahaan saya. Dibutuhkan data dari solusi back office kami dan impor ke Magento. Ia juga menerima pesanan dari Magento dan mengimpornya ke perangkat lunak back office. Saya sudah membaca beberapa jenis lisensi yang bisa saya gunakan tetapi tidak tahu mana yang harus digunakan. Persyaratan dasar saya adalah:

  1. Saya tidak ingin seseorang menyalin / mendistribusikan kode sebagai karya mereka sendiri.
  2. Kode ini ditulis sendiri tetapi memanggil fungsi inti magento.
  3. Modul ini akan bebas untuk diunduh tetapi untuk menggunakannya Anda memerlukan Url layanan web yang akan disediakan perusahaan saya (setelah pembayaran diterima).
  4. Saya ingin dapat mendistribusikan ini ke semua versi Magento (kecuali GO (saya pikir)).

Dua pertanyaan dengan pemikiran di atas:

  1. Lisensi mana yang paling sesuai dengan kebutuhan saya? (Saya belum menemukan daftar pasti untuk membacanya).
  2. Bagaimana cara menegakkan lisensi ini? Apakah menambahkan beberapa istilah ke bagian atas setiap skrip cukup untuk memastikan lisensi ada?

Jika informasi ini terkandung di suatu tempat maka jangan ragu untuk menautkan saya ke sana tetapi saya tidak dapat menemukan apa pun setelah pencarian saya yang menjawab situasi saya secara khusus.

webnoob
sumber
licensedapat juga dieja sebagai licence oxforddictionaries.com/definition/english/licence . Saya dari Inggris;)
webnoob
Maka kita dapat kembali jika Anda suka.
philwinkle
1
@ David - Terima kasih, tidak punya izin untuk membuat tag.
webnoob
1
Secara pribadi, saya lebih suka -se untuk kata kerja dan -ce untuk kata benda (bandingkan saran / saran ), tetapi kamus Anda mencatat bahwa -ce adalah ejaan kata kerja yang "dapat diterima". Collins mendaftar bentuk -ce hanya sebagai kata benda.
TRiG

Jawaban:

10

Penafian: Saya bukan pengacara, jadi jangan anggap ini sebagai nasihat hukum. Informasi yang diberikan didasarkan pada pengalaman dan penelitian pribadi saya di industri ini. :)

Saran saya adalah menggunakan lisensi OSL-3.0. Ini adalah lisensi yang sama dengan inti Magento CE didistribusikan di bawah ( http://www.magentocommerce.com/license/ ), dan mencakup apa yang saya pikir Anda inginkan berdasarkan pada informasi yang diberikan. Bagian dari Magento, seperti tema default / basis, didistribusikan di bawah AFL untuk alasan yang diuraikan Roy di sini: http://www.magentocommerce.com/license/

Anda dapat menemukan lisensi OSL-3.0 lengkap di sini: http://opensource.org/licenses/OSL-3.0 .

Untuk melepaskan ekstensi di Magento Connect, Anda harus memilih salah satu dari jenis lisensi berikut (item teratas yang terdaftar adalah yang saya sarankan):

  • Open Software License (OSL)
  • Lisensi Publik Mozilla (MPL)
  • Massachusetts Institute of Technology Licence (MITL)
  • Lisensi Publik Umum Kecil (LGPL) GNU
  • Lisensi Publik Umum GNU (GPL)
  • Lisensi Distribusi Perangkat Lunak Berkeley (BSDL)
  • Lisensi Perangkat Lunak Apache (ASL)
  • Lisensi Akademik Gratis (AFL)

Ada juga opsi untuk "menentukan lisensi lain (komersial) jika Anda mendistribusikan paket ekstensi sebagai berbayar" - tetapi seperti yang dicatat, itu harus dibayar, yang berarti ini bukan opsi untuk Anda.

Saya akan merekomendasikan Anda melihat OSL lengkap (terkait dengan di atas), tetapi di sini ada beberapa hal yang perlu diperhatikan:

  • Lisensi memberi pengguna hak untuk membuat, menggunakan, dan menjual salinan karya asli dan turunannya. Karena Anda tidak memiliki rencana pengisian daya untuk modul, ini seharusnya tidak menjadi masalah.
  • Lisensi mensyaratkan bahwa semua pemberitahuan atribusi tetap utuh baik dalam karya asli maupun turunannya. Yaitu setiap salinan yang didistribusikan ulang (termasuk yang dimodifikasi, diperpanjang, dll) harus mempertahankan semua pemberitahuan hak cipta, paten, merek dagang, dan lisensi yang diidentifikasi sebagai "Pemberitahuan Atribusi"

Jadi pertanyaan besarnya adalah: Bagaimana Anda menerapkan ini pada kode Anda? Saya akan memberikan beberapa petunjuk:

  • Pastikan Anda mendistribusikan salinan lengkap lisensi OSL-3.0 dalam kode sumber modul Anda yang terkandung dalam file LICENSE.txt.
  • Sertakan tajuk di bagian atas setiap file kode yang memberikan "Pemberitahuan Atribusi" atau "Pemberitahuan Lisensi" Ini harus menyatakan lisensi di mana kode tersebut didistribusikan di bawahnya, memberikan penafian dasar (jika perlu) dan memberikan informasi hak cipta dan tautan ke lisensi.
  • Sebagai referensi, Anda dapat melihat dengan cepat header yang digunakan Magento CE dalam semua kode yang dilisensikan di bawah Lisensi Perangkat Lunak Terbuka.
davidalger
sumber
1
@ philwinkle - bertanya-tanya ketika saya menulis jika Anda mengisi kotak yang sama seperti saya ... :)
davidalger
8

Edit 7/16/13:

Github baru saja merilis tinjauan besar dari semua model lisensi utama untuk membantu Anda membuat pilihan yang lebih tepat:

http://choosealicense.com/

http://choosealicense.com/licenses/


Saya bukan pengacara. Anda harus berbicara dengan satu.

Dengan cara itu - ada terlalu banyak lisensi perangkat lunak gratis untuk didaftar. Ada 4 lisensi Open Software utama (dan saya menunggu serangan suntingan untuk memperpanjang daftar ini bagi mereka yang saya lupa):

  • Apache
  • OSL 3.0
  • MIT
  • BSD baru

Dan banyak dari produk perangkat lunak sumber terbuka favorit Anda mungkin menggunakan salah satu dari 4 di atas.

Bagaimana saya membuat pilihan?

Jeff Atwood telah melakukan pekerjaan yang baik untuk membandingkan lisensi di blog Coding Horror-nya: http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html

Ada juga aplikasi web 'pemilih pemilih': http://three.org/openart/license_chooser/

Phil Haack menyaring semua ini menjadi empat jenis lisensi berikut; Saya cenderung setuju dengannya:

Kepemilikan - Kode ini milik saya! Anda tidak bisa melihatnya. Anda tidak bisa membalikkannya. Milikku milikku

GPL - Anda dapat melakukan apa pun yang Anda inginkan dengan kode, tetapi jika Anda mendistribusikan kode atau binari, Anda harus membuat perubahan terbuka melalui lisensi GPL.

BSD Baru - Gunakan dengan risiko Anda sendiri. Lakukan apa pun yang Anda inginkan dengan kode itu, jaga lisensi tetap utuh, kreditkan saya, dan jangan pernah menuntut saya jika perangkat lunak itu menghentakkan kaki Anda. Lisensi MIT adalah alternatif penting untuk BSD Baru dan sangat sangat mirip.

Domain Publik - Lakukan apa pun yang Anda inginkan dengan kode. Titik. Tidak perlu menyebut saya lagi. Anda bisa melupakan saya pernah ada.

Untuk semua maksud dan tujuan menurut saya seperti New BSD / MIT adalah apa yang Anda cari, namun hanya Anda yang dapat membuat keputusan ini.

Sebagai catatan, Magento adalah AFL 3.0, tetapi dulu OSL 3.0. http://www.magentocommerce.com/license/

Boleh dibilang, fitur terpenting dari lisensi ini adalah Kompatibilitas GPL . Free Software Foundation mendukung banyak orang lain di situs mereka sendiri - dikutip di sini di Wiki ini: http://en.wikipedia.org/wiki/List_of_FSF_approved_software_licenses

Pendeknya:

Anda harus membuat pilihan sendiri. Tidak ada yang bisa menjawab pertanyaan singkat tentang StackExchange dan menginterpretasikan kebutuhan pribadi Anda. Secara umum, jika Anda tidak ingin perangkat lunak Anda dibagikan melalui jaringan publik , Anda ingin melihat OSL 3.0 dan variannya.

Setelah saya memilih lisensi, bagaimana cara menerapkannya?

Sertakan atribusi dan pemberitahuan lisensi di bagian atas semua file Anda. Sertakan LICENSE.TXT dan tautan ke pemberitahuan lisensi di situs Anda sendiri.

Philwinkle
sumber
Koreksi: Magento bukan AFL. Mereka mendistribusikan AFL melalui file LICENSE_AFL.txt di root, tapi saya pikir itu untuk kode yang disertakan yang termasuk dalam AFL. Magento (dan telah sejak setidaknya 1,3) dilisensikan di bawah OSL 3.0. Bahkan 1,8 alpha referensi OSL 3.0 di header lisensi itu. ;)
davidalger
Sebenarnya ... kami berdua benar. Ekstensi tertentu dan tema dasar diubah menjadi AFL pada akhir 2008 untuk mencegah memaksa pengembang pihak ketiga dipaksa untuk melepaskan kode sumber karya sub-sidiary (tidak didistribusikan). Ref: magentocommerce.com/boards/viewthread/21377
davidalger
2
Roy Rubin memiliki artikel bagus tentang mengapa AFL vs OSL - lihat komentarnya setelah posting blog: fabrizioballiano.net/2008/02/27/…
philwinkle
Tautan yang sangat bagus ... Saya belum pernah melihat posting blog itu sebelumnya.
davidalger