Cara milih lisensi Open Source kanggo kerangka RAD ing GitHub
Ing artikel iki kita bakal ngomong sethithik babagan hak cipta, nanging utamane babagan milih lisensi gratis kanggo kerangka RAD IONDV. Kerangka lan kanggo produk open source adhedhasar iku. Kita bakal pitutur marang kowe bab lisensi ijin Apache 2.0, babagan apa sing ndadékaké kita lan keputusan apa sing kita adhepi ing proses kasebut.
Proses milih lisensi cukup labor-intensive lan kudu dicedhaki wis uga-maca, lan yen sampeyan ora seneng pemilik saka pendhidhikan legal, banjur lapangan nganti informasi bab macem-macem lisensi free mbukak sadurunge sampeyan. Sing utama yaiku nggawe sawetara kritéria watesan. Liwat proses diskusi lan refleksi, sampeyan lan tim sampeyan bakal bisa ngerti apa sing sampeyan pengin ngidini pangguna produk sampeyan lan apa sing dilarang. Yen sampeyan wis duwe gambaran tartamtu ing tangan, sampeyan kudu numpuki ing lisensi ana lan pilih salah siji sing nomer paling gedhe saka TCTerms pas. Iku muni prasaja, mesthi, nanging ing kasunyatan, biasane malah sawise diskusi, pitakonan tetep.
Pisanan, link menyang choosealicense.com, situs migunani sing digunakake akeh. Pay manungsa waé khusus kanggo tabel perbandingan lisensi miturut 13 kritéria utama. Muga-muga basa Inggris lan sabar karo sampeyan.
Glepung pilihan
Ayo dadi miwiti karo fitur umum lisensi kanggo piranti lunak gratis. Piranti lunak open source nuduhake lisensi gratis sing eksklusif, sing ora mbatesi distribusi komersial lan non-komersial miturut model kasebut. Bukak inti. Mulane, masang piranti lunak ing jaringan ing lisensi gratis ora bisa mbatesi transfer, distribusi lan adol kanthi lengkap dening pihak katelu, lan sampeyan mung kudu disiapake kanthi mental kanggo iki.
Lisensi gratis menehi hak pangguna kanggo melu reverse engineering piranti lunak utawa ngganti kanthi cara liya sing kasedhiya. Umume lisensi ora ngidini sampeyan ngganti jeneng produk utawa nindakake manipulasi, ngganti hak penulis lan/utawa pemilik sistem kasebut.
Pitakonan utama sing kita kasengsem babagan lisensi gratis yaiku:
Apa owah-owahan sing digawe kanggo piranti lunak kudu direkam lan ora ana hubungane karo sing duwe hak cipta sistem kasebut?
Apa jeneng piranti lunak turunan ora padha karo jeneng piranti lunak sing duwe hak cipta?
Apa bisa ngganti lisensi kanggo versi anyar menyang liyane, kalebu sing duwe?
Sawise kanthi ati-ati ndeleng dhaptar lisensi sing paling umum, kita milih sawetara sing ditliti kanthi luwih rinci. Lisensi potensial kanggo IONDV. Kerangka yaiku: GNU GPLv3, Apache 2.0, MIT lan MPL. MIT meh langsung tilar, iki lisensi non-copyleft permisif, sing ngidini nggunakake, modifikasi lan distribusi kode ing meh wae cara, nanging kita padha ora seneng karo pilihan iki, kita isih wanted lisensi kanggo ngatur hubungan antarane hak cipta. nduwèni lan pangguna. Umume proyek cilik ing GitHub diterbitake miturut lisensi MIT utawa macem-macem variasi. Lisensi kasebut cendhak banget, lan siji-sijine larangan yaiku kanggo nuduhake pangripta piranti lunak.
Sabanjure ana lisensi mpl 2.0. Diakoni, kita ora langsung teka, nanging sawise sinau kanthi luwih rinci, kita cepet-cepet ngilangi, amarga kekurangan utama yaiku lisensi kasebut ora ditrapake kanggo kabeh proyek, nanging kanggo file individu. Kajaba iku, yen pangguna ngganti file kasebut, dheweke ora bisa ngganti lisensi kasebut. Nyatane, ora ketompo carane rajin ngganti proyek Open source, sampeyan ora bakal bisa kanggo monetize amarga lisensi kuwi. Miturut cara, iki ora gegayutan karo sing duwe hak cipta.
Masalah sing padha isih ana karo lisensi GNU GPLv3. Iki mbutuhake file apa wae sing tetep ana ing sangisore. GNU GPL minangka lisensi copyleft sing mbutuhake karya turunan dadi open source lan tetep ing lisensi sing padha. Yaiku: kanthi nulis maneh rong baris kode, sampeyan bakal kepeksa nindakake owah-owahan lan, sajrone nggunakake utawa distribusi luwih lanjut, simpen kode kasebut ing GNU GPL. Ing kasus iki, iki minangka faktor watesan kanggo pangguna proyek kita, lan ora kanggo kita. Nanging ngganti GPL menyang lisensi liyane dilarang, sanajan ing versi GPL. Contone, yen sampeyan ngganti LGPL (tambahan kanggo GPL) menyang GPL, banjur ora bakal ana cara bali menyang LGPL. Lan titik iki nemtokake kanggo milih.
Sakabèhé, pilihan kita pisanan condong menyang GPL3 sabenere amarga saka distribusi kode dipunéwahi ing lisensi padha. Kita ngira yen kanthi cara iki kita bisa ngamanake produk, nanging luwih sithik risiko ing Apache 2.0. Miturut Free Software Foundation, GPLv3 kompatibel karo Apache License v2.0, tegese tansah bisa ngganti lisensi saka Apache License v2.0 menyang GPL v3.0.
Apache 2.0
Apache 2.0 - lisensi permisif imbang kanthi emphasis ing hak cipta. Iki minangka jawaban sing diwenehake kanggo pitakonan sing narik kawigaten kita. Apa owah-owahan sing digawe kanggo piranti lunak kudu direkam lan ora ana hubungane karo sing duwe hak cipta sistem kasebut? Ya, kabeh owah-owahan kudu didokumentasikake lan kita ora tanggung jawab kanggo kode asli utawa sing diowahi. Berkas kanthi owah-owahan kudu dilampirake menyang kode sing sampeyan gawe owah-owahan kasebut. Apa jeneng piranti lunak turunan ora padha karo jeneng piranti lunak sing duwe hak cipta? Ya, piranti lunak turunan kudu dirilis kanthi jeneng sing beda lan miturut merek dagang sing beda, nanging kanthi indikasi sing duwe hak cipta. Apa bisa ngganti lisensi kanggo versi anyar menyang liyane, kalebu sing duwe? Ya, bisa dirilis ing lisensi sing beda-beda, Apache 2.0 ora mbatesi panggunaan lisensi non-komersial lan komersial.
Uga, nalika ngeculake produk anyar adhedhasar kode open source kanggo Apache 2.0 utawa produk kanthi fungsi tambahan, ora perlu nggunakake lisensi sing padha. Ing ngisor iki sampeyan bisa ndeleng gambar kanthi syarat lan watesan lisensi Apache 2.0.
Lisensi kasebut ngetrapake syarat kanggo njaga lan nyebutake hak cipta lan lisensi ing ngendi piranti lunak kasebut dirilis. kasedhiyan wajib kabar hak cipta kanthi jeneng sing nduwèni hak cipta lan lisensi nglindhungi hak-hak penulis asli piranti lunak kasebut, amarga sanajan diowahi jeneng, diwènèhaké utawa didol ing lisensi sing béda, tandha penulis bakal tetep. Sampeyan uga bisa nggunakake file kanggo iki Kabar lan lampirake menyang kode sumber utawa menyang dokumentasi proyek.
Kita ngeculake kabeh produk sing kasedhiya kanggo umum ing GitHub miturut lisensi Apache 2.0, kajaba IONDV. Arsip perang, kode sumber sing diterbitake ing lisensi GPLv3 ing GitHub ing April taun iki dening Pusat Teknologi Sosial Timur Jauh. Ing wayahe, saliyane ing kerangka lan dheweke modul diterbitake app digawe ing framework. Ing hub kita wis ngomong bab Sistem manajemen proyek lan babagan Register komunikasi.
Sing. rincian babagan kerangka
IONDV. Framework minangka kerangka open source adhedhasar node.js kanggo nggawe aplikasi web tingkat dhuwur adhedhasar metadata, sing ora mbutuhake katrampilan program serius.
Basis fungsi aplikasi yaiku registri data - modul Register. Iki minangka modul kunci sing dirancang langsung kanggo nggarap data adhedhasar struktur metadata - kalebu kanggo manajemen proyek, program, acara, lan liya-liyane.
MongoDb digunakake kanggo DBMS - nyimpen setelan aplikasi, metadata lan data dhewe.
Kepiye cara ngetrapake lisensi kanggo proyek sampeyan?
Tambah file LICENSE kanthi teks lisensi ing repositori proyek sampeyan lan voilà, proyek sing dilindhungi dening Apache 2.0. Sampeyan kudu nunjukake sing duwe hak cipta, sing kabar hak cipta. Iki bisa ditindakake ing kode sumber utawa ing file Kabar (file teks sing nyathet kabeh perpustakaan sing dilisensi ing lisensi Apache bebarengan karo jeneng sing nggawe). Selehake file kasebut dhewe ing kode sumber utawa ing dokumentasi sing disebarake bebarengan karo karya kasebut. Kanggo kita katon kaya iki:
SYARAT lan kahanan kanggo panggunaan, REPRODUKSI, lan distribusi
Definisi.
"Lisensi" tegese syarat lan kondisi kanggo panggunaan, reproduksi,
lan distribusi kaya sing ditegesake dening Bagean 1 nganti 9 dokumen iki.
"Pemberi lisensi" tegese pemilik utawa entitas hak cipta sing diwenehake dening
pamilik hak cipta sing menehi Lisensi.
"Entitas Hukum" tegese kesatuan entitas akting lan kabeh
entitas liyane sing ngontrol, dikontrol dening, utawa ora umum
kontrol karo entitas kasebut. Kanggo tujuan definisi iki,
"kontrol" tegese (i) daya, langsung utawa ora langsung, kanggo nimbulaké
arah utawa manajemen entitas kasebut, kanthi kontrak utawa
digunakake, utawa (ii) kepemilikan seket persen (50%) utawa luwih saka
saham sing pinunjul, utawa (iii) kepemilikan bathi kanggo entitas kasebut.
"Sampeyan" (utawa "Panjenengan") tegese individu utawa Badan Hukum
nggunakake ijin sing diwenehake dening Lisensi iki.
Formulir "Sumber" tegese formulir sing disenengi kanggo nggawe modifikasi,
kalebu nanging ora winates kanggo kode sumber piranti lunak, dokumentasi
sumber, lan file konfigurasi.
Wangun "obyek" tegese wujud apa wae sing diasilake saka mekanik
transformasi utawa terjemahan formulir Sumber, kalebu nanging
ora winates kanggo kode obyek sing dikompilasi, dokumentasi sing digawe,
lan konversi menyang jinis media liyane.
"Karya" tegese karya pengarang, manawa ing Sumber utawa
Formulir obyek, kasedhiya ing sangisore Lisensi, kaya sing dituduhake dening a
kabar hak cipta sing kalebu ing utawa dipasang ing karya
(conto kasedhiya ing Lampiran ngisor).
"Karya Turunan" tegese karya apa wae, ing Sumber utawa Obyek
wujud, sing adhedhasar (utawa asale saka) Pakaryan lan kanggo
revisi editorial, anotasi, elaborasi, utawa modifikasi liyane
makili, kanthi sakabehe, minangka panulis asli. Kanggo tujuan
Lisensi iki, Karya Turunan ora kalebu karya sing isih ana
kapisah saka, utawa mung ngubungake (utawa kaiket jeneng) menyang antarmuka,
Pakaryan lan Pakaryan Turunan.
"Kontribusi" tegese karya pengarang, kalebu
versi asli Work lan modifikasi utawa tambahan
kanggo Pakaryan utawa Karya Turunan, sing disengaja
diajukake menyang Licensor kanggo dilebokake ing Pakaryan dening pamilik hak cipta
utawa dening individu utawa Badan Hukum sing sah kanggo ngirim atas jenenge
pemilik hak cipta. Kanggo tujuan definisi iki, "diajukake"
tegese komunikasi elektronik, lisan, utawa komunikasi apa wae sing dikirim
kanggo Lisensi utawa wakil, kalebu nanging ora diwatesi
komunikasi ing milis elektronik, sistem kontrol kode sumber,
lan ngetokake sistem pelacakan sing dikelola dening, utawa atas jenenge,
Licensor kanggo tujuan ngrembug lan ningkatake Pakaryan, nanging
ora kalebu komunikasi sing ditandhani kanthi cetha utawa liya
ditetepake kanthi tulisan dening pemilik hak cipta minangka "Ora Kontribusi."
"Kontributor" tegese Pemberi Lisensi lan individu utawa Badan Hukum
kanggo pihak sing Kontribusi ditampa dening Lisensi lan
banjur dilebokake ing Pakaryan.
Pemberian Lisensi Hak Cipta. Tunduk ing syarat-syarat lan kahanan saka
Lisensi iki, saben Kontributor menehi Sampeyan langgeng,
saindenging jagad, ora eksklusif, tanpa biaya, tanpa royalti, ora bisa dibatalake
lisensi hak cipta kanggo ngasilake, nyiyapake Karya Turunan saka,
nampilake publik, nindakake publik, sublicense, lan nyebarake
Pakaryan lan Pakaryan Turunan kaya ing wujud Sumber utawa Objek.
Pemberian Lisensi Paten. Tunduk ing syarat-syarat lan kahanan saka
Lisensi iki, saben Kontributor menehi Sampeyan langgeng,
saindenging jagad, ora eksklusif, tanpa biaya, tanpa royalti, ora bisa dibatalake
(kajaba sing kasebut ing bagean iki) lisensi hak paten sing wis digawe,
nggunakake, nawakake kanggo adol, adol, ngimpor, lan liya transfer Pakaryan,
yen lisensi kasebut mung ditrapake kanggo klaim paten sing bisa dilisensi
dening Kontributor kasebut sing kudu dilanggar
Kontribusi (s) dhewe utawa kanthi kombinasi Kontribusi
karo Pakaryan sing Kontribusi kasebut diajukake. Yen Sampeyan
litigasi paten institusi marang entitas apa wae (kalebu a
pratelan silang utawa mbantah tuntutan hukum) sing negesake manawa Pakaryan kasebut
utawa Kontribusi sing tergabung ing Pakaryan minangka langsung
utawa pelanggaran paten kontribusi, mula lisensi paten apa wae
diwenehake menyang Sampeyan miturut Lisensi iki kanggo Pakaryan kasebut bakal dipungkasi
wiwit tanggal litigasi kasebut diajukake.
redistribusi. Sampeyan bisa ngasilake lan nyebarake salinan
Pakaryan utawa Karya Turunan ing media apa wae, kanthi utawa tanpa
modifikasi, lan ing Sumber utawa formulir Objek, kasedhiya yen Sampeyan
netepi kahanan ing ngisor iki:
(a) Sampeyan kudu menehi panampa liyane saka Karya utawa
Derivatif Makarya salinan Lisensi iki; lan
(b) Sampeyan kudu nyebabake file sing diowahi nggawa kabar sing penting
nyatakake yen Sampeyan ngganti file; lan
(d) Yen Karya kalebu file teks "NOTICE" minangka bagéan saka iku
distribusi, mula apa wae Karya Turunan sing Sampeyan sebarake kudu
kalebu salinan sing bisa diwaca saka notifikasi atribusi sing ana
ing file NOTICE kuwi, ora kalebu kabar sing ora
gegayutan karo bagean saka bagean saka Derivative Works, paling ora siji
panggonan ing ngisor iki: ing file teks NOTICE sing disebarake
minangka bagean saka Karya Turunan; ing formulir Sumber utawa
dokumentasi, yen diwenehake bebarengan karo Karya Turunan; utawa,
ing tampilan sing digawe dening Derivative Works, yen lan
ing ngendi wae katon umum bewara saka pihak katelu. Isine
saka file NOTICE mung kanggo informasi lan
aja ngowahi Lisensi. Sampeyan bisa nambah atribusi dhewe
bewara ing Karya Turunan sing Sampeyan sebar, uga
utawa minangka tambahan teks CATETAN saka Pakaryan, sing disedhiyakake
manawa bewara atribusi tambahan kasebut ora bisa ditegesi
minangka ngowahi Lisensi.
Sampeyan bisa nambahake pratelan hak cipta sampeyan dhewe menyang modifikasi lan
bisa uga nyediakake syarat lan syarat lisensi tambahan utawa beda
kanggo digunakake, reproduksi, utawa distribusi modifikasi Sampeyan, utawa
kanggo Pakaryan Turunan kayata sakabehe, kasedhiya Kanggone,
reproduksi, lan distribusi saka Karya digunakake tundhuk
kahanan sing kasebut ing Lisensi iki.
Pengajuan Kontribusi. Yen sampeyan ora nyatakake kanthi jelas,
Kontribusi sing sengaja dikirim kanggo kalebu ing Pakaryan
dening Sampeyan menyang Lisensi kudu miturut katemtuan
Lisensi iki, tanpa syarat utawa katemtuan tambahan.
Sanajan kasebut ing ndhuwur, ora ana sing bakal ngganti utawa modifikasi ing kene
syarat-syarat perjanjian lisensi kapisah sing bisa ditindakake
karo Licensor babagan Kontribusi kasebut.
merek dagang. Lisensi iki ora menehi idin kanggo nggunakake perdagangan
jeneng, merek dagang, tandha layanan, utawa jeneng produk saka Licensor,
kajaba sing dibutuhake kanggo panggunaan sing cukup lan adat nalika njlentrehake
asal saka Karya lan ngasilake isi file NOTICE.
Penafian saka Garansi. Kajaba dibutuhake dening hukum sing ditrapake utawa
sarujuk kanthi nulis, Licensor nyedhiyakake Work (lan masing-masing
Kontributor nyedhiyakake Kontribusi) kanthi DASAR "AS IS",
TANPA JAMINAN UTAWA Kahanan Jinis apa wae, bisa uga ekspres utawa
diwenehake, kalebu, tanpa watesan, babar pisan utawa kahanan
saka TITLE, NON-INFRINGEMENT, MERCHANTABILITY, utawa FITNESS FOR A
TUJUAN KHUSUS. Sampeyan mung tanggung jawab kanggo nemtokake
kesesuaian nggunakake utawa nyebarake Pakaryan lan nganggep apa wae
risiko sing ana gandhengane karo idin Sampeyan ing Lisensi iki.
Watesan Tanggung Jawab. Ora ana acara lan ora ana teori hukum,
manawa ing tort (kalebu kelalaian), kontrak, utawa liya-liyane,
kajaba sing dibutuhake dening ukum sing ditrapake (kayata disengaja lan banget
tumindak watak cerobo) utawa sarujuk kanthi tinulis, kudu Kontributor apa wae
tanggung jawab kanggo Sampeyan amarga ana kerusakan, kalebu langsung, ora langsung, khusus,
kerusakan insiden, utawa akibat saka karakter apa wae sing muncul minangka a
asil saka Lisensi iki utawa metu saka panggunaan utawa ora bisa nggunakake
Kerja (kalebu nanging ora winates kanggo kerusakan amarga ilang budi,
stoppage kerja, kegagalan komputer utawa malfungsi, utawa liya-liyane
kerusakan utawa kerugian komersial liyane), sanajan Kontributor kasebut
wis menehi saran babagan kemungkinan kerusakan kasebut.
Nampa Garansi utawa Tanggung Jawab Tambahan. Nalika nyebarake maneh
Pakaryan utawa Karya Turunan, Sampeyan bisa milih nawakake,
lan ngisi biaya, nampa dhukungan, garansi, ganti rugi,
utawa kewajiban tanggung jawab liyane lan / utawa hak sing cocog karo iki
Lisensi Nanging, nalika nampa kewajiban kasebut, Sampeyan mung tumindak
kanggo sampeyan dhewe lan kanggo tanggung jawab Sampeyan, dudu kanggo pihak
Kontributor liyane, lan mung yen Sampeyan setuju karo ganti rugi,
defend, lan tahan saben Kontributor ora tanggung jawab kanggo tanggung jawab
ditindakake dening, utawa pratelan sing dikatutake, Kontributor kasebut kanthi alesan
sampeyan nampa babar pisan utawa tanggung jawab tambahan kasebut.
Pungkasane SYARAT lan Ketentuan
LAMPIRAN: Cara ngetrapake Lisensi Apache ing karya sampeyan.
Kanggo ngetrapake Lisensi Apache ing karya sampeyan, lebokake ing ngisor iki
kabar boilerplate, kanthi kolom diapit kurung "[]"
diganti karo informasi identifikasi sampeyan dhewe. (Aja kalebu
kurung!) Teks kasebut kudune dibungkus kanthi trep
sintaks komentar kanggo format file. Kita uga menehi saran supaya a
file utawa jeneng kelas lan katrangan tujuan kalebu ing
padha "kaca dicithak" minangka kabar hak cipta kanggo luwih gampang
identifikasi ing arsip pihak katelu.
Hak cipta [yyyy] [jeneng pamilik hak cipta]
Dilisensi miturut Lisensi Apache, Versi 2.0 ("Lisensi");
sampeyan ora bisa nggunakake berkas iki kajaba tundhuk karo Lisensi.
Sampeyan bisa entuk salinan lisensi ing
Kajaba dibutuhake dening ukum utawa sarujuk kanggo nulis, piranti lunak
disebarake miturut Lisensi disebarake kanthi "AS IS" DASAR,
TANPA JAMINAN utawa KONEKSI ANYES TINDAK, apa nyata utawa diwenehake.
Deleng lisensi kanggo idin khusus sing ngatur pamaréntahan lan
watesan ing sangisore Lisensi.
Lisensi = kontrak
Lisensi gratis, sanajan gratis, ora ngidini permissiveness lan kita wis menehi conto watesan. Pilih lisensi kanthi njupuk kapentingan lan kapentingan pangguna, amarga piranti lunak open source dirancang khusus kanggo dheweke. Pangguna proyek kasebut kudu nganggep lisensi kasebut minangka jinis persetujuan ing antarane dheweke lan sing duwe hak cipta, mula sadurunge nindakake tumindak ing kode sumber kasebut, sinau kanthi ati-ati watesan sing ditindakake dening lisensi proyek kasebut.
Muga-muga kita wis menehi katrangan babagan topik lisensi lan, sanajan kerumitan masalah kasebut, mesthine ora dadi alangan ing dalan menyang Open Source. Kembangake proyek sampeyan lan aja lali babagan hak, sampeyan lan liya-liyane.
link migunani
Pungkasan, sawetara sumber daya migunani sing mbantu kita nalika nggoleki informasi babagan lisensi sing wis ana lan milih sing paling cocok kanggo tujuan kita: