Mengetahui bagaimana sebenarnya perangkat lunak sumber terbuka yang terbuka dan gratis dapat membantu melindungi Anda dan pekerjaan Anda

Saya terus membaca tentang semua lisensi berbeda di dunia perangkat lunak, namun kenyataannya saya tidak begitu memahami apa arti sebenarnya dari sebagian besar lisensi tersebut. Sudah waktunya untuk memperbaiki kesenjangan pengetahuan tersebut dan dalam semangat sumber terbuka, saya ingin berbagi dengan Anda ringkasan lisensi sumber terbuka paling populer.

Saya harap ini membantu Anda sama seperti membantu saya ketika Anda memutuskan lisensi untuk proyek Anda berikutnya (atau yang sudah ada).

Pengantar Lisensi

Apa yang dimaksud dengan lisensi perangkat lunak?

Sederhananya, lisensi perangkat lunak adalah instrumen hukum yang menjelaskan dengan tepat apa yang boleh dan tidak boleh dilakukan dengan perangkat lunak. Hal-hal seperti bagaimana itu dapat digunakan, dimodifikasi, didistribusikan, dan banyak lagi.

Namun sebelum itu, fakta bahwa lisensi dapat diberikan pada perangkat lunak dimungkinkan karena semua perangkat lunak (setidaknya berdasarkan undang-undang hak cipta Amerika Serikat) memiliki hak cipta sejak suatu karya “diperbaiki”.

Hak cipta, kemudian, adalah suatu bentuk kekayaan intelektual yang memberikan hak hukum kepada pencipta karya asli untuk memutuskan apa yang terjadi padanya. Ini bukanlah hak eksklusif (di mana Anda dapat melakukan apa pun yang Anda inginkan) karena tindakan Anda masih dibatasi oleh undang-undang hak cipta. Dalam artikel ini kita akan melihat hak yang diberikan untuk melisensikan perangkat lunak Anda.

Mengapa saya harus peduli?

Senang rasanya mengetahui mengapa lisensi pada perangkat lunak ada, tetapi apa hubungannya dengan Anda dan mengapa Anda harus peduli?

Alasan pertama dan paling jelas adalah bahwa lisensi dapat membantu melindungi Anda jika terjadi pencurian, penyalahgunaan, atau distribusi ilegal (sesuai lisensi) dari perangkat lunak tersebut.

Misalnya, jika Anda secara tidak sengaja menempatkan lisensi MIT pada kode Anda (atau lisensi ISC permisif yang menjadi default dengan npm init), Anda mengizinkan siapa pun untuk memodifikasi, mendistribusikan, atau bahkan mengambil keuntungan dari kode Anda. bekerja.

Sekalipun tujuan Anda adalah agar karya Anda tersebar luas tanpa batasan sama sekali, Anda tetap lebih baik memberikan lisensi yang secara eksplisit menyatakan demikian karena perangkat lunak yang tidak berlisensi masih sepenuhnya dilindungi hak cipta dan karenanya dilindungi. Artinya, secara hukum, tidak ada seorang pun yang dapat menggunakan karya Anda tanpa menanggung risiko dampak hingga perangkat lunak tersebut memasuki Domain Publik yang memerlukan waktu bertahun-tahun.

Anda mungkin berpikir, mengapa tidak memasukkannya langsung ke Domain Publik, karena itu punya masalahnya sendiri. Taruhan terbaik Anda adalah dengan menggunakan lisensi yang sangat permisif seperti lisensi BSD 0-Clause.

Ini juga berarti bahwa repositori publik apa pun di Github tanpa lisensi (milik Anda atau bukan) sebenarnya tidak bebas untuk digunakan meskipun kodenya terlihat karena hak cipta.

Lalu apa yang bisa saya lakukan?

Seperti segala sesuatu yang legal, segala sesuatunya bisa menjadi rumit dengan cepat. Untuk membantu menyederhanakan, kita akan melihat beberapa lisensi perangkat lunak yang paling umum untuk melihat apa yang diperbolehkan dan apa yang dilarang.

Pesan moral dari cerita ini adalah: Kapan pun Anda bisa, cantumkan lisensi resmi yang sebenarnya atau paling tidak sebutkan namanya.

Lisensi

MIT (dan ISC)

Mungkin yang paling sering Anda lihat, ini adalah salah satu lisensi paling permisif yang dapat Anda tempatkan pada perangkat lunak.
Lisensi ini cukup banyak menyatakan bahwa Anda dapat melakukan apa pun yang Anda inginkan dengan perangkat lunak tanpa masalah apa pun, satu-satunya hal yang ditanyakan Anda harus menyertakan salinan pemberitahuan hak cipta dan lisensi asli pada setiap salinan perangkat lunak.

Lisensi ISC pada dasarnya sama dengan lisensi MIT tetapi tanpa klausul yang tidak diperlukan oleh Konvensi Berne.

Banyak software terkenal yang menggunakan lisensi ini seperti: Node.js, Vuejs, SQLAlchemy, Ruby on Rails, dan masih banyak lagi.



Lisensi Apache 2.0

Lisensi lain yang sangat permisif yang memungkinkan Anda melakukan hampir semua hal yang Anda inginkan dengan karya aslinya.

Itu masih memiliki beberapa persyaratan:

  • Bagian yang tidak dimodifikasi harus tetap memiliki lisensi Apache 2.0 yang sama
  • Dalam file yang sudah dilisensikan, semua pemberitahuan hak cipta, paten, merek dagang, dan atribusi asli harus disimpan*
  • Jika Anda membuat perubahan signifikan pada file berlisensi, Anda harus menyatakan perubahan apa saja yang dimaksud

Selain itu, dengan lisensi ini Anda tidak diperbolehkan menggunakan merek dagang asli (logo, nama kontributor, dll.) untuk mendukung dan mempromosikan perangkat lunak Anda sendiri.

*Mulai versi 2.0, diperbolehkan untuk menyertakan lisensi dengan referensi alih-alih menyimpannya di setiap file.



Lisensi BSD

Berbeda dengan yang lain, BSD merupakan lisensinya sendiri dan merupakan rangkaian lisensi yang memberikan tingkat kebebasan berbeda.

3-Klausul
Versi yang paling umum adalah lisensi 3-klausul yang juga dikenal sebagai “Lisensi BSD 2.0” atau “Lisensi BSD Revisi”.
Versi lisensi ini mengizinkan penggunaan tanpa batas pendistribusian ulang untuk tujuan apa pun asalkan Anda meninggalkan pemberitahuan hak cipta dan penafian garansi lisensi.
Mirip dengan lisensi Apache, ada batasan dalam menggunakan nama kontributor untuk promosi dan dukungan tanpa izin khusus.

Klausul 2 alias Lisensi FreeBSD
Perbedaan utama antara versi ini dan klausa 3 adalah dihilangkannya klausa non-endorsement. Versi 2 klausa hampir setara dengan lisensi ISC.

0-Klausul
Lisensi yang paling permisif, versi ini memungkinkan Anda melakukan apa pun yang Anda inginkan dengan perangkat lunak dan bahkan tidak mengharuskan pemberitahuan hak cipta atau lisensi disimpan dalam kode sumber atau biner.



Lisensi Publik Umum GNU

Kumpulan lisensi GNU awalnya dikembangkan dengan/untuk proyek GNU yang bertujuan untuk memberikan kebebasan penuh kepada pengguna komputer untuk melakukan apa pun melalui pengembangan perangkat lunak yang menawarkan 4 kebebasan penting:

  • Jalankan programnya
  • Pelajari dan ubah program dalam bentuk kode sumber
  • Distribusikan ulang salinan persisnya
  • Distribusikan versi yang dimodifikasi


Kekhasan penting dari lisensi GPL adalah bahwa lisensi tersebut bersifat copyleft. Artinya, selain memberi Anda hak untuk melakukan apa pun yang Anda inginkan dengan perangkat lunak tersebut, karya turunan apa pun harus didistribusikan dengan lisensi yang sama. Hal ini berfungsi untuk menjamin kebebasan berkelanjutan dari perangkat lunak.

Ada 3 jenis lisensi utama yang mungkin Anda temukan. GPL versi 2 dan 3, dan GPL Kecil.

Baik versi 2 dan 3 mengharuskan Anda melacak perubahan yang dilakukan serta menggabungkan perangkat lunak dengan petunjuk pembuatan dan pemasangan.

Lesser General Public License (LGPL) pada umumnya ditujukan untuk perpustakaan, dengan itu karya turunan harus tetap memiliki lisensi yang sama namun aplikasi yang menggunakan perangkat lunak LGPL tidak harus berada di bawah lisensi yang sama.





Kesimpulan

Ini mencakup beberapa lisensi open source yang lebih umum yang mungkin Anda temukan saat membaca kode. Daftar ini tentu saja bukan daftar yang lengkap dan saya sangat menyarankan Anda melihat berbagai lisensi yang tersedia karena mungkin ada lisensi lain yang lebih sesuai dengan kebutuhan Anda.

Apa pun pilihannya, saya harap Anda sekarang merasa lebih terinformasi tentang lisensi perangkat lunak dan akan lebih percaya diri dalam melisensikan karya Anda sendiri.

Untuk melihat lebih banyak lisensi, saya sangat merekomendasikan tl;drLegal.



Penafian

Tidak ada informasi dalam artikel ini yang merupakan nasihat hukum.