Lesen sumber terbuka: Segala yang perlu anda ketahui

Sumber terbuka membantu dunia teknologi berputar, membentuk sehingga 90% daripada rangkaian perisian moden melalui kerangka; pustaka; pangkalan data; sistem operasi; dan pelbagai aplikasi berdiri sendiri yang tak terbilang.

Manfaat perisian sumber terbuka sudah difahami dengan baik, menjanjikan lebih banyak kawalan dan ketelusan. Walau bagaimanapun, terdapat satu pergolakan yang berterusan antara dunia sumber terbuka dan dunia paten, yang membawa banyak syarikat untuk mundur dari sumber terbuka untuk melindungi kepentingan komersial mereka. Pusat perhatian dalam semua ini adalah isu lesen yang berduri.

Terdapat dua jenis lesen yang memenuhi definisi formal sumber terbuka seperti yang dinyatakan oleh Open Source Initiative (OSI). Lesen "Permissive" mempunyai sedikit sekatan dalam hal bagaimana pengguna boleh mengubah dan mengedarkan perisian, menjadikannya popular di kalangan syarikat yang ingin menggunakannya secara komersial. Dan kemudian terdapat lesen "copyleft", yang menawarkan kebebasan yang sama tetapi dengan satu notis penting: Mana-mana versi yang diubahsuai dari perisian itu juga harus diedarkan di bawah lesen copyleft asal yang sama. Ini tidaklah menarik bagi perniagaan yang ingin melindungi kerja hak milik mereka.

Tetapi ada lebih dari itu, dengan pelbagai lesen yang wujud dalam setiap kategori. Lagi pun, terdapat berbagai-bagai lesen yang, walaupun tidak secara ketat sumber terbuka, juga perlu diketahui.

Permissive

MIT

Berasal dari Institut Teknologi Massachusetts pada tahun 1980-an, lesen MIT yang sesuai namanya adalah lesen sumber terbuka paling popular mengikut kebanyakan metrik, duduk di tempat teratas di kalangan komuniti pembangunan GitHub selama bertahun-tahun.

Digunakan oleh projek-projek termasuk React (pustaka JavaScript bahagian depan) dan Ruby (bahasa pengaturcaraan tujuan am), lesen MIT membenarkan pembangun untuk menggunakan perisian sebagaimana yang mereka mahu. Seperti kebanyakan lesen seumpamanya, ia diberikan tanpa jaminan, bermaksud penulis terlepas dari sebarang liabiliti yang berpunca dari kerosakan yang disebabkan oleh perisian mereka (contohnya kehilangan data). Semua pembangun hanya perlu risau tentang memasukkan notis hak cipta asal dan lesen MIT dalam sebarang kerja turunan.

Tetapi lesen MIT mempunyai satu kekurangan: Ia tidak secara eksplisit memberi hak paten. Ini bermakna jika sesuatu perisian bergantung pada teknologi paten, ini mungkin mencipta ketidakpastian undang-undang bagi pembangun yang menggunakan perisian tanpa mendapatkan kebenaran berasingan untuk teknologi paten tersebut.

Walau bagaimanapun, ini menegaskan salah satu titik jual utama lesen MIT: dengan hanya 200 patah perkataan, bahasanya mudah dan ringkas. Memperkias perkara dengan penceritaan paten yang kabur dan kerai perkataan hanya akan menambah kompleksiti yang tidak perlu untuk projek-projek yang tidak mungkin bimbang tentang paten, seperti bahasa pengaturcaraan tahap tinggi atau rangka kerja web.

Tetapi banyak projek sumber terbuka berpotensi berkaitan dengan teknologi paten, seperti perisian yang berorientasikan kepada perkakasan seperti Android.

Lesen Apache 2.0

Yayasan Perisian Apache menerbitkan Lesen Apache 2.0 pada tahun 2004, suatu pembaharuan kepada lesen sebelumnya dengan suatu peruntukan pengamanan paten untuk melindungi pengguna dari litigasi. Jadi jika seorang pembangun misalnya, menyumbangkan algoritma pemprosesan imej yang unik untuk projek yang dilisensikan di bawah Apache 2.0, mana-mana paten yang dimiliki oleh pembangun itu terhadap algoritma itu secara automatik dilisensikan kepada semua pengguna perisian.

Kebanyakan orang akan faham dengan jenama Google's Android, yang lengkap dengan stor aplikasi dan rangkaian alat dan perkhidmatan sendiri. Tetapi Projek Sumber Terbuka Android (AOSP) yang mendasarinya secara substantif tersedia di bawah lesen Apache 2.0, satu perpindahan yang disengajakan oleh Google pada tahun 2008 untuk memerangi Apple dan mendorong pengeluar telefon untuk menggunakan Android berbanding dengan pesaing penguatan yang lain (contohnya Symbian) pada masa itu. Dan ia berjaya. Samsung, HTC, LG, dan semua pihak lain melompat ke Android.

Sebagai hasil daripada ini, lesen Apache 2.0 mempunyai kira-kira lima kali ganda bilangan perkataan MIT, disebabkan teks pemberian paten, antara tambahan-tambahan lain dan penjelasan-penjelasan. Tetapi itulah pertukaran yang harus dibuat, dan ia menerangkan perbezaan-perbezaan utama antara kedua-dua lesen sumber terbuka permissive yang paling lazim.

Lesen permissive lain

Lesen BSD 2-Klausa adalah serupa dengan MIT, tetapi dengan perbezaan-perbezaan penting dalam hal bahasa yang digunakan. Sebagai contoh, ia menetapkan bahawa salinan lesen perlu dimasukkan bersama-sama dengan kod sumber dan bentuk binari yang dijalankan semula. Dan kemudian ada Lesen BSD 3-Klausa, yang mempunyai klausa "tidak memberi sokongan" tambahan yang menghadkan penggunaan nama pemuja hak cipta dan penyumbang untuk tujuan promosi dalam sebarang projek turunan.

Ada juga Lesen MIT Tanpa Pengiktirafan (MIT-0), yang lebih ringkas daripada MIT, dalam erti bahawa tidak memerlukan pengiktirafan dalam perisian turunan. Menggunakan ini adalah hampir sama seperti meletakkan perisian dalam domain awam, kecuali penulis tetapkan hak cipta dan keupayaan untuk menukar perkara di masa depan.

Copyleft

Lesen Umum GNU (GPL) v. 2.0 dan 3.0

Yayasan Perisian Bebas (FSF) menerbitkan Lesen Umum GNU (GPL) pada tahun 1989, dan adalah salah satu lesen copyleft pertama untuk kegunaan umum.

Lesen copyleft sering lebih sesuai untuk projek yang memerlukan sumbangan dari komuniti, berbanding dengan projek yang disokong oleh sebuah entiti korporat tunggal. Dengan menuntut agar semua pengubahsuaian tetap tersedia di bawah lesen sumber terbuka yang sama, ini memastikan penyumbang bahawa usaha keras mereka tidak akan digunakan dalam perisian propietari tanpa juga memberi faedah kepada komuniti secara meluas - dalam teori sekurang-kurangnya, kerana sukar untuk menemui setiap pelanggaran dan kemudian menguatkuasakan terma-terma lesen.

Dilancarkan pada tahun 2007, GPL 3.0 adalah lesen ketiga yang paling popular, mengikut data GitHub. Lesen membawa pembaharuan penting kepada GPL 2.0, termasuk peruntukkan pemberian paten dan peningkatan kebolehlaksana dengan lesen sumber terbuka yang lain. Ia juga melarang apa yang dikenali sebagai “Tivoization,” di mana pembuat perkakasan yang mendapat faedah daripada perisian yang berlesen GPL menghalang pengguna daripada memasang versi yang diubahsuai perisian itu, menggunakan mekanisme pengurusan hak digital (DRM).

Penganjur GPL yang ketara termasuk WordPress, yang tersedia di bawah lesen GPL 2.0 "atau seterusnya", menjadikan keputusan kepada pembangun untuk memutuskan lesen mana yang mereka agihkan sebarang modifikasi di bawah.

Linux, sebagaimana yang disebut, adalah di antara projek sumber terbuka yang paling berjaya sepanjang masa, digunakan dalam pelayan, infrastruktur awan, sistem terbenam, dan juga Android. Walau bagaimanapun, asas kernel Linux hanya tersedia di bawah lesen GPL 2.0, diberikan bahawa pencipta Linux, Linus Torvalds, menentang sebahagian daripada peruntukan tambahan dalam versi 3.0 lesen - termasuk klausa Tivoization.

Lesen Umum GNU Affero (AGPL) 3.0

Lesen Umum GNU Affero (AGPL) adalah serupa dengan GPL 3.0, dalam erti bahawa ia adalah lesen copyleft "kuat" yang mempromosikan kebebasan perisian dan memastikan versi yang diubahsuai kekal sumber terbuka. Walau bagaimanapun, perbezaan penting dengan AGPL adalah ia berfokus pada perkhidmatan dan aplikasi berasaskan web, di mana perisian itu dijalankan daripada pelayan berbanding diedarkan sebagai fail eksekutif.

Bawah lesen GPL 3.0, pembangun tidak perlu mengeluarkan kod sumber untuk perisian yang diubahsuai jika ia dijalankan melalui rangkaian, seperti aplikasi SaaS. Lesen AGPL menutup celah ini, memerlukan pihak ketiga untuk membuat kod sumber tersebut tersedia walaupun perisian yang diubahsuai hanya dijalankan dari pelayan.

Diterbitkan pada tahun 2007 oleh Free Software Foundation, lesen AGPL 3.0 telah meningkat popularitinya disebabkan oleh peningkatan komputasi awan dan SaaS, dan pada hari ini ia adalah lesen sumber terbuka yang kelima paling popular.

Lesen GNU Lesser General Public (LGPL)

Juga merupakan hasil dari Free Software Foundation, Lesen GNU Lesser General Public (LGPL) adalah lesen copyleft "lemah", dalam erti bahawa ia lebih mesra perniagaan dengan peraturan yang kurang ketat mengenai apa yang dikongsi. LGPL biasanya digunakan untuk pustaka perisian di mana penulis projek ingin menggalakkan sumbangan dari komuniti, tetapi ia membenarkan perisian propietari untuk berkaitan dengan pustaka tanpa perlu membuka kod sumber mereka sepanjang keseluruhan kod propietari. Jika seseorang mengubahsuai pustaka sumber terbuka itu sendiri, maka mereka hanya perlu melepaskan perubahan-perubahan itu di bawah lesen LGPL.

Lesen Mozilla Public (MPL) 2.0

Diterbitkan oleh Mozilla Foundation pada tahun 2012, Lesen Mozilla Public (MPL) 2.0 adalah lesen sumber terbuka yang kesepuluh paling popular hari ini menurut metrik lesen GitHub. MPL juga adalah lesen copyleft yang lemah yang direka untuk melindungi kod propietari sambil membolehkan pembangun mendapat faedah dari perisian sumber terbuka.

Walau bagaimanapun, sementara LGPL berfokus pada peringkat pustaka, dan GPL pada peringkat projek, MPL beroperasi pada peringkat fail individu memerlukan pengguna untuk berkongsi set kod yang lebih sempit.

Domain awam dan creative commons

Walaupun “lesen sumber terbuka” memberikan hak-hak tertentu, selalu ada syarat-syarat yang dilampirkan. Mereka yang ingin menempah perisian mereka sepenuhnya dalam domain awam tanpa sebarang syarat, bagaimanapun, boleh melakukannya melalui cara lain.

Tidak cukup dengan hanya menerbitkan perisian tanpa lesen; undang-undang hak cipta berlaku secara lalai kepada kebanyakan karya kreatif, termasuk perisian. Di sinilah “dedikasi domain awam” dapat membantu.

Dirancang khusus untuk perisian, Unlicense adalah lesen kesembilan paling popular di GitHub (walau sama ada ia boleh benar-benar dipanggil sebagai “lesen” boleh diragui). Walaupun OSI meluluskannya sebagai lesen pada tahun 2020, ia mencatat bahawa dokumen itu “kurang baik disusun” dan mempersoalkan keberkesanannya dari segi undang-undang di wilayah-wilayah (contohnya Jerman) di mana tidak mungkin untuk menderma kerja kepada domain awam.

Seperti Unlicense, CC0-1.0 Creative Commons juga adalah alat penyerahan domain awam, walaupun ia lebih diarahkan kepada karya kreatif secara lebih meluas. Ia menggunakan bahasa undang-undang yang lebih jelas dan profesional yang mungkin lebih selaras dengan undang-undang antarabangsa. Perlu diingat bahawa Creative Commons ingin mendapatkan kelulusan untuk CC0-1.0 sebagai lesen yang mematuhi sumber terbuka pada tahun 2012, tetapi menarik permohonan itu setelah OSI mengangkat kebimbangan bahawa ia secara eksplisit mengecualikan pemberian paten.

Terdapat alat penyerahan awam lain, seperti Zero-Clause BSD, yang mungkin menarik kerana ia mempunyai bahasa yang lebih ringkas. Walau bagaimanapun, tidak ada konsensus mengenai mekanisme yang terbaik untuk memberikan semua hak kepada suatu perisian yang diberikan.

“Faux-pen” source

Terdapat banyak paradigma lesen lain di seluruh spektrum perisian.

Dalam sesetengah kes, perniagaan akan melepaskan perisian di bawah model lesen dwi, dengan pengguna boleh memilih di antara lesen sumber terbuka yang diiktiraf dan lesen komersial, bergantung pada niat mereka. Kemudian ada "open core", yang menawarkan perisian di bawah lesen sumber terbuka, tetapi dengan ciri-ciri penting yang dipagari bayaran. Dalam keadaan lain, sebuah syarikat mungkin menambahkan addendum Commons Clause kepada lesen sumber terbuka sebaliknya, menetapkan sekatan komersial.

Terdapat juga banyak lesen yang kelihatan dan berbau seperti sumber terbuka, tetapi pada akhirnya tidak serasi dengan definisi sumber terbuka.

Pada tahun 2018, raksasa pangkalan data MongoDB berubat dari lesen AGPL copyleft kepada lesen sumber pelayan (SSPL), sebuah lesen ciptaan MongoDB sendiri. Walaupun SSPL masih agak "sumber terbuka," ia adalah apa yang dikenali sebagai "sumber sumber [--Menghilangkan informasi--]