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.

Cara milih lisensi Open Source kanggo kerangka RAD ing GitHub

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:

  1. Apa owah-owahan sing digawe kanggo piranti lunak kudu direkam lan ora ana hubungane karo sing duwe hak cipta sistem kasebut?
  2. Apa jeneng piranti lunak turunan ora padha karo jeneng piranti lunak sing duwe hak cipta?
  3. 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.

Cara milih lisensi Open Source kanggo kerangka RAD ing GitHub

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:

Hak cipta © 2018 ION DV LLC.
Dilisensi miturut Lisensi Apache, Versi 2.0

Teks lisensi Apache 2.0

Lisensi Apache
Versi 2.0, Januari 2004
http://www.apache.org/licenses/

SYARAT lan kahanan kanggo panggunaan, REPRODUKSI, lan distribusi

  1. 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.

  2. 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.

  3. 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.

  4. 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

    © Sampeyan kudu nahan, ing wangun Sumber saka sembarang Karya Turunan
    sing Sampeyan sebar, kabeh hak cipta, paten, merek dagang, lan
    bewara atribusi saka formulir Source of the Work,
    ora kalebu kabar sing ora ana gandhengane karo bagean apa wae
    Karya Turunan; 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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

    http://www.apache.org/licenses/LICENSE-2.0

    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:

Source: www.habr.com

Add a comment