Lisensi mana yang harus dipilih di GitHub: jenis, perbandingan

Программирование

Bagaimana cara memilih lisensi GitHub dan mengapa penting untuk membuat pilihan yang tepat? GitHub adalah layanan terbesar untuk pengembangan bersama proyek TI dan hosting selanjutnya. Dengan bantuan layanan web ini, jumlah orang yang tidak terbatas dapat mengerjakan proyek sekaligus, dan juga dari mana saja di dunia. GitHub juga memiliki sistem manajemen atau kontrol yang memungkinkan Anda untuk melihat dan mengontrol sepenuhnya semua perubahan yang dibuat oleh pengembang dari waktu ke waktu, dan juga memungkinkan Anda untuk kembali ke keadaan yang terjadi sebelum perubahan.
Lisensi mana yang harus dipilih di GitHub: jenis, perbandinganTetapi sederhananya, GitHub adalah apa yang disebut jejaring sosial untuk programmer dan pengembang, di mana Anda dapat menemukan, dan kemudian mempraktikkan kode dari pengembang lain. Anda juga dapat menyimpan portofolio Anda di GitHub. Secara umum, GitHub adalah layanan yang sangat cocok untuk pengembang pemula dan pemrogram berpengalaman. Namun, pengguna layanan ini terkadang memiliki beberapa pertanyaan tentang memilih lisensi, karena pilihan mereka di sana cukup beragam.

Apa itu lisensi GitHub

Lisensi adalah dokumen khusus yang dibuat oleh formulir negara dan memungkinkan Anda untuk terlibat dalam jenis kegiatan kewirausahaan tertentu, yang tanpa gagal memerlukan perhatian khusus dari pihak negara. Tetapi, paling sering, dalam praktiknya, hanya perjanjian lisensi yang disingkat atau perjanjian yang menyediakan penerbitan lisensi hukum privat yang digunakan. Secara umum, lisensi hanya mengejar satu, tetapi tujuan yang paling penting, ini adalah kesepakatan tentang kewajiban dan hak antara pemberi lisensi dan penerima lisensi. Kewajiban dan hak ini mutlak dapat berupa apa saja, tetapi hanya dalam kerangka hukum. Sebuah contoh penting adalah bahwa pemberi lisensi mungkin memerlukan nama pemegang hak cipta yang akan diminta saat menggunakan karya oleh penerima lisensi. Atau, misalnya, izinkan pekerjaan penyalinan, tetapi melarang sama sekali modifikasi apa pun. Atau, untuk memunculkan syarat-syarat agar karya itu dikeluarkan dengan syarat yang sama persis dengan aslinya, dan seterusnya, cukup banyak contoh mengajukan berbagai syarat.

Lisensi mana yang harus dipilih di GitHub: jenis, perbandingan
Contoh salah satu lisensi Apache

Tetapi, juga, kita tidak boleh lupa bahwa lisensi tidak hanya melindungi hak pemberi lisensi, tetapi juga penerima lisensi. Karena di dalamnya Anda dapat dengan jelas melihat dan membaca semua persyaratan untuk menggunakan karya tersebut, dan oleh karena itu ia tidak perlu takut bahwa pemberi lisensi akan tiba-tiba menuntut pemotongan atau kompensasi lain apa pun atas penggunaan karyanya.

Jika Anda menolak untuk menggunakan lisensi yang terkait dengan karya tersebut, hak cipta tetap berlaku sesuai dengan aturan hukum yang berlaku di negara tertentu. Sederhananya, tidak adanya lisensi sama sekali tidak menyiratkan bahwa penulis lain dapat menggunakan proyek ini dengan cara apa pun yang mereka inginkan. Semuanya justru sebaliknya, karena tanpa lisensi khusus, programmer dalam hal apa pun tidak melepaskan hak yang diberikan oleh hukum. Penting juga untuk selalu diingat bahwa lisensi mengatur semua hak dan kewajiban. Ini untuk melindungi pemilik karya dari harapan pengguna dan apa pun yang tersirat dari jaminan. Lagi pula, tidak ada yang ingin kode mereka berakhir di pengadilan dengan cara apa pun.

Apa itu hak cipta?

Hak cipta muncul dalam diri seseorang hanya ketika, sebagai hasil dari aktivitas intelektual, ia menciptakan karya tertentu yang akan menjadi unik, tetapi pada saat yang sama bermanfaat, misalnya, Anda dapat menulis program yang sama. Ketika semua hal di atas dilakukan, orang tersebut menjadi penulis dan sekarang dia benar-benar memiliki semua hak cipta atas karya ini. Juga harus dikatakan bahwa hak cipta adalah milik dan bukan milik. Perbedaannya adalah bahwa hak milik dapat dialihkan kepada siapa pun, tetapi hak non-milik akan selalu tetap hanya milik pencipta dalam situasi apa pun. Bagaimanapun, menjadi seorang penulis adalah hak yang tidak dapat dipindahtangankan dan tidak dapat dicabut.

Untuk apa lisensi Open Source?

Ini juga merupakan pertanyaan yang cukup populer di kalangan pengembang dan pemrogram pemula, karena mereka sama sekali tidak mengerti mengapa lisensi harus dilampirkan ke proyek mereka, karena tanpa itu proyek juga dapat ada dengan tenang. Namun, ini tidak sepenuhnya benar, karena jika, misalnya, beberapa pengembang pemula menulis beberapa bagian kode yang cukup penting dan berguna, tetapi tidak melindunginya dengan lisensi, maka pengguna lain memiliki pertanyaan. Dan justru karena ini, ketika klien datang kepadanya dan ingin menggunakan potongan kode ini untuk tujuan komersial mereka, mereka melihat bahwa kode tersebut tidak memiliki lisensi dan menolaknya begitu saja. Ini disebabkan oleh fakta bahwa perusahaan tidak akan menggunakan kode tanpa lisensi, karena mereka tidak memerlukan masalah dengan hukum dan pengacara.
Lisensi mana yang harus dipilih di GitHub: jenis, perbandinganDan itulah mengapa bahkan proyek yang paling berguna dan nyaman tidak akan pernah diimplementasikan. Dan pengembang yang ingin mengambil potongan kode ini harus mencari dan menggunakan alternatif, atau menulis ulang sepenuhnya kode yang sudah ditulis oleh pengembang pemula sebelumnya. Itulah mengapa yang terbaik adalah memastikan terlebih dahulu bahwa programmer menggunakan lisensi yang benar, dan yang paling penting, sesuai. Menjelajahi GitHub dalam satu video tutorial dalam 15 menit: https://youtu.be/JfpCicDUMKc

Lisensi GitHub mana yang cocok untuk kondisi tertentu – bagaimana cara memilihnya?

Tidak ada jawaban pasti untuk pertanyaan ini, karena pilihan lisensi hanya bergantung pada tujuan proyek dan pada preferensi dan keinginan pribadi pengembang itu sendiri. Seperti yang Anda lihat, ada banyak berbagai lisensi di GitHub, dan yang terpenting, semuanya gratis dan dalam domain publik, yang berarti bahwa setiap programmer dapat menemukan
lisensi Open Source yang pasti sesuai dengan proyeknya. Tapi, yang paling penting, kita tidak boleh lupa bahwa lisensi Open Source bukan hanya kode tanpa lisensi.

Lisensi mana yang harus dipilih di GitHub: jenis, perbandingan
Keluarga lisensi GitHub
Dengan sedikit riset, Anda dapat mengumpulkan semua lisensi Open Source dan membaginya menjadi tiga grup utama besar:
  1. Sangat protektif.
  2. Protektif yang lemah.
  3. Permisif.

sangat protektif

Lisensi yang sangat melindungi seringkali merupakan variasi dari GPL. Lisensi ini memerlukan lisensi proyek serta pengungkapan kode sumber, terlepas dari bagaimana kode atau proyek apa pun akan digunakan atau telah digunakan.

Protektif lemah

Lisensi perlindungan yang lemah paling sering merupakan variasi dari Lesser GPL. Di mana perbedaan utama dari lisensi permisif adalah bahwa di sini hanya perlu juga melisensikan program di bawah lisensi GPL, serta memberikan kode sumber tanpa gagal. Pada saat yang sama, jika ada perpustakaan di proyek pemrogram, yaitu tautan statis atau tautan dinamis di bawah lisensi LGPL, maka itu juga akan kompatibel dengan salah satu lisensi proyek programmer ini.

Lisensi mana yang harus dipilih di GitHub: jenis, perbandingan
Di mana jenis lisensi GitHub ditentukan

permisif

Jumlah lisensi permisif cukup banyak, di jajarannya lisensi yang paling populer adalah MIT, Apache 2.0, dan BSD. Dengan sedikit variasi, lisensi ini memiliki kemampuan untuk mengizinkan penggunaan kode baik dalam proyek Sumber Terbuka maupun untuk tujuan dan proyek komersial. Tetapi, dalam hal ini, penting untuk diingat bahwa perlu untuk menunjukkan kepengarangan program asli.

Lisensi GitHub populer lainnya

Selain ketiga kelompok lisensi tersebut, ada juga yang lain, misalnya lisensi lain yang paling berguna adalah GPLv2 dengan ekstensi classpath. Lisensi ini juga dapat digunakan baik untuk proyek sumber terbuka maupun proyek dan tujuan komersial. Penampilannya yang paling populer adalah di Oracle, yang menggunakan GPLv2 dengan ekstensi classpath untuk melisensikan proyek dan solusi Open Source-nya. Lisensi ini cukup penting dan berguna, karena lisensi GPL biasa, misalnya, tidak akan pernah bisa menangani bytecode. Artinya, mereka memiliki deskripsi khusus tentang proses kompilasi dan penautan, yang sama sekali tidak cocok untuk bahasa pemrograman lain yang ditafsirkan, bahasa Java yang paling populer adalah di antara bahasa-bahasa tersebut. Untuk kasus seperti itulah lisensi khusus GPLv2 dengan ekstensi classpath dirilis. Lagi pula, dikatakan dengan sangat jelas dan jelas bahwa perpustakaan yang dirilis di bawah lisensi ini dapat digunakan untuk proyek dan tujuan komersial dengan lisensi apa pun.
Lisensi mana yang harus dipilih di GitHub: jenis, perbandinganApa lagi yang perlu Anda ketahui tentang
lisensi GitHub .

Menambahkan lisensi

Setelah lisensi final akhirnya dipilih, tinggal menambahkannya ke root proyek itu sendiri. Untuk melakukan tindakan ini, Anda hanya perlu menambahkan lisensi yang dipilih di bawah root proyek selama pembuatan proyek itu sendiri atau di waktu lain. Tetapi bahkan dalam tindakan ini, layanan web GitHub berhasil menjaga penggunanya dan mereka membuat cara yang cukup nyaman untuk menambahkan lisensi akhir bahkan pada awal proyek itu sendiri.
Lisensi mana yang harus dipilih di GitHub: jenis, perbandinganNamun, sayangnya, ini belum semuanya, karena pengembang atau pemrogram harus benar-benar memeriksa semua dependensi yang digunakan dalam ide atau proyeknya. Artinya, jika bahkan salah satu dependensi yang dirilis di bawah lisensi GPL, maka secara mutlak seluruh proyek pengembang harus kompatibel dengan GPL. Untuk verifikasi semacam itu, program atau alat yang dirancang sebelumnya biasanya digunakan untuk ini. Misalnya, ada alat untuk https://github.com/pivotal/LicenseFinder ini:
Lisensi mana yang harus dipilih di GitHub: jenis, perbandinganKita dapat mengatakan bahwa lisensi adalah tugas yang agak memakan waktu, tetapi pada saat yang sama tindakan yang diperlukan untuk kehidupan proyek atau ide programmer. Untuk memilih lisensi yang tepat, sayangnya, Anda harus menghabiskan cukup banyak waktu, namun, proyek tersebut harus berhasil. Yang terbaik adalah menempatkan pilihan lisensi di tempat pertama saat menulis program apa pun, karena dengan melakukan ini di awal, Anda dapat mengarahkan semua upaya Anda ke arah yang benar dan menulis program yang akan berhasil dan nyaman bagi sebagian besar orang. pengguna.

info
Rate author
Add a comment