Lisensi Publik Umum GNU

**Lisensi Publik Umum GNU** (, disingkat **GNU GPL**, atau cukup **GPL**) adalah serangkaian lisensi perangkat lunak bebas yang aslinya ditulis oleh Richard Stallman untuk proyek GNU. Lisensi GPL memberikan penerima salinan perangkat lunak hak dari perangkat lunak bebas dan menggunakan *[[copyleft]]* untuk memastikan kebebasan yang sama diterapkan pada versi berikutnya dari karya tersebut. Lisensi Publik Sedikit Kurang Umum GNU merupakan versi lain GPL yang mengizinkan penggunaan pustaka perangkat lunak tak bebas ke dalam perangkat lunak bebas.

Yayasan Perangkat Lunak Bebas (FSF) menyediakan GPL bagi siapa saja bagi yang ingin melindungi hak-hak pengguna akhir (seperti menggunakan, berbagi, modifikasi, dan mempelajarinya) dan bahkan memperbolehkan penggunaan versi yang dimodifikasi secara pribadi.

## Sejarah
Lisensi GPL asli ditulis oleh Richard Stallman pada tahun 1989, untuk digunakan dengan program yang dirilis sebagai bagian dari proyek GNU. Lisensi ini didasarkan pada penyatuan lisensi serupa yang digunakan untuk versi awal GNU Emacs (1985), GNU Debugger, dan GNU C Compiler. Lisensi ini berisi ketentuan yang mirip dengan GPL modern, tetapi khusus untuk setiap program, sehingga tidak kompatibel, meskipun merupakan lisensi yang sama. Tujuan Stallman adalah untuk menghasilkan satu lisensi yang dapat digunakan untuk proyek apa pun, sehingga memungkinkan banyak proyek untuk berbagi kode.

Versi kedua lisensi, versi 2, dirilis pada tahun 1991. Selama 15 tahun berikutnya, anggota komunitas perangkat lunak bebas menjadi khawatir atas masalah dalam lisensi GPLv2 yang dapat memungkinkan seseorang mengeksploitasi perangkat lunak berlisensi GPL dengan cara yang bertentangan dengan maksud lisensi tersebut. Masalah-masalah ini meliputi tivoization (penyertaan perangkat lunak berlisensi GPL dalam perangkat keras yang menolak menjalankan versi perangkat lunak yang dimodifikasi), masalah kompatibilitas yang mirip dengan AGPL (v1), dan perjanjian paten antara Microsoft dan distributor perangkat lunak bebas dan sumber terbuka, yang oleh sebagian orang dipandang sebagai upaya untuk menggunakan paten sebagai senjata melawan komunitas perangkat lunak bebas.

Versi 3 dikembangkan sebagai upaya untuk mengatasi masalah-masalah ini dan secara resmi dirilis pada tanggal 29 Juni 2007.

### Versi 1

Versi 1 dari GNU GPL, dirilis pada 25 Februari 1989, ditulis untuk melindungi dari dua metode utama yang digunakan distributor perangkat lunak untuk membatasi kebebasan yang mendefinisikan perangkat lunak bebas. Masalah pertama adalah distributor mungkin hanya menerbitkan berkas biner yang dapat dieksekusi, tetapi tidak dapat dibaca atau dimodifikasi oleh manusia. Untuk mencegah hal ini, GPLv1 menyatakan bahwa penyalinan dan pendistribusian salinan bagian mana pun dari program tersebut juga harus menyediakan kode sumber yang dapat dibaca manusia dengan ketentuan lisensi yang sama.

Masalah kedua adalah distributor mungkin menambahkan pembatasan, baik pada lisensi atau dengan menggabungkan perangkat lunak dengan perangkat lunak lain yang memiliki pembatasan lain pada pendistribusian. Penggabungan dua set pembatasan akan berlaku pada karya gabungan, sehingga menambah pembatasan yang tidak dapat diterima. Untuk mencegah hal ini, GPLv1 menyatakan bahwa versi yang dimodifikasi, secara keseluruhan, harus didistribusikan berdasarkan ketentuan GPLv1. Oleh karena itu, perangkat lunak yang didistribusikan berdasarkan ketentuan GPLv1 dapat digabungkan dengan perangkat lunak dengan ketentuan yang lebih longgar, karena hal ini tidak akan mengubah ketentuan yang mengatur pendistribusian keseluruhan. Akan tetapi, perangkat lunak yang didistribusikan berdasarkan GPLv1 tidak dapat digabungkan dengan perangkat lunak yang didistribusikan berdasarkan lisensi yang lebih ketat, karena hal ini akan bertentangan dengan persyaratan bahwa keseluruhan harus dapat didistribusikan berdasarkan ketentuan GPLv1.

### Versi 2

Menurut Richard Stallman, perubahan utama dalam GPLv2 adalah klausul "Kebebasan atau Kematian", sebagaimana ia menyebutnya – Bagian 7. Bagian tersebut mengatakan bahwa pemegang lisensi dapat mendistribusikan karya yang dilindungi GPL *hanya* jika mereka dapat memenuhi semua kewajiban lisensi, terlepas dari kewajiban hukum lain yang mungkin mereka miliki. Dengan kata lain, kewajiban lisensi tidak dapat dipisahkan karena adanya konflik kewajiban. Ketentuan ini dimaksudkan untuk mencegah pihak mana pun menggunakan klaim pelanggaran paten atau litigasi lain untuk merusak kebebasan pengguna berdasarkan lisensi.

Pada tahun 1990, menjadi jelas bahwa lisensi yang kurang ketat akan berguna secara strategis untuk C library dan untuk pustaka perangkat lunak yang pada dasarnya melakukan pekerjaan yang sudah ada; ketika versi 2 dari GPL (GPLv2) dirilis pada bulan Juni 1991, oleh karena itu, lisensi kedua – Lisensi Publik Umum Perpustakaan GNU – diperkenalkan pada waktu yang sama dan diberi nomor dengan versi 2 untuk menunjukkan bahwa keduanya saling melengkapi. Nomor versi berbeda pada tahun 1999 ketika versi 2.1 LGPL dirilis, yang mengganti namanya menjadi GNU Lesser General Public License untuk mencerminkan tempatnya dalam filosofi tersebut. GPLv2 juga dimodifikasi untuk merujuk pada nama baru LGPL, tetapi nomor versinya tetap sama, sehingga GPLv2 asli tidak dikenali oleh Software Package Data Exchange (SPDX).

Lisensi tersebut mencakup instruksi untuk menentukan "versi 2 dari Lisensi, atau (sesuai pilihan Anda) versi mana pun yang lebih baru" untuk memungkinkan penggunaan opsional yang fleksibel dari versi 2 atau 3, tetapi beberapa pengembang mengubahnya untuk menentukan "versi 2" saja.

### Versi 3

Pada akhir tahun 2005, Free Software Foundation (FSF) mengumumkan pengerjaan versi 3 dari GPL (GPLv3). Pada tanggal 16 Januari 2006, "draf diskusi" pertama dari GPLv3 diterbitkan, dan konsultasi publik dimulai. Konsultasi publik awalnya direncanakan selama sembilan hingga lima belas bulan, tetapi akhirnya berlangsung selama delapan belas bulan, dengan empat draf yang diterbitkan. GPLv3 resmi dirilis oleh FSF pada tanggal 29 Juni 2007. GPLv3 ditulis oleh Richard Stallman, dengan penasihat hukum dari Eben Moglen dan Richard Fontana dari Software Freedom Law Center.

Menurut Stallman, perubahan terpenting terkait dengan paten perangkat lunak, kompatibilitas lisensi perangkat lunak bebas, definisi "kode sumber", dan pembatasan perangkat keras pada modifikasi perangkat lunak, seperti tivoisasi. Perubahan lain terkait dengan internasionalisasi, bagaimana pelanggaran lisensi ditangani, dan bagaimana izin tambahan dapat diberikan oleh pemegang hak cipta. Konsep "propagasi perangkat lunak", sebagai istilah untuk penyalinan dan duplikasi perangkat lunak, didefinisikan secara eksplisit.

Proses konsultasi publik dikoordinasikan oleh Free Software Foundation dengan bantuan dari Software Freedom Law Center, Free Software Foundation Europe, dan kelompok perangkat lunak bebas lainnya. Komentar dikumpulkan dari publik melalui portal web gplv3.fsf.org, menggunakan perangkat lunak yang ditulis khusus yang disebut stet.

Selama proses konsultasi publik, 962 komentar diserahkan untuk draf pertama. Pada akhir periode komentar, total 2.636 komentar telah diserahkan.

Draf ketiga dirilis pada 28 Maret 2007. Draf ini menyertakan bahasa yang dimaksudkan untuk mencegah perjanjian terkait paten seperti perjanjian paten Microsoft-Novell yang kontroversial, dan membatasi klausul anti-tivoisasi pada definisi hukum "pengguna" dan "produk konsumen". Ia juga secara eksplisit menghapus bagian tentang "Keterbatasan Geografis", kemungkinan penghapusan bagian ini telah diumumkan pada peluncuran konsultasi publik.

Draf diskusi keempat, yang terakhir, dirilis pada 31 Mei 2007. Lisensi ini memperkenalkan kompatibilitas Lisensi Apache versi 2.0 (versi sebelumnya tidak kompatibel), mengklarifikasi peran kontraktor luar, dan membuat pengecualian untuk menghindari masalah yang dirasakan dari perjanjian bergaya Microsoft–Novell, dengan mengatakan dalam Bagian 11 paragraf 6 bahwa:

Hal ini bertujuan untuk membuat kesepakatan masa depan tersebut tidak efektif. Lisensi tersebut juga dimaksudkan agar Microsoft memperluas lisensi paten yang diberikannya kepada pelanggan Novell untuk penggunaan perangkat lunak GPLv3 kepada *semua* pengguna perangkat lunak GPLv3 tersebut; hal ini hanya mungkin jika Microsoft secara hukum menjadi "penyebar" perangkat lunak GPLv3.

Draf awal GPLv3 juga memungkinkan pemberi lisensi menambahkan persyaratan mirip AGPL yang akan menutup *celah [[Penyedia layanan aplikasi|ASP]] dalam GPL*. Karena ada kekhawatiran yang diungkapkan tentang biaya administratif untuk memeriksa kode guna memenuhi persyaratan tambahan ini, diputuskan untuk tetap memisahkan lisensi GPL dan AGPL.

Yang lain, terutama beberapa pengembang kernel Linux terkenal seperti Linus Torvalds, Greg Kroah-Hartman, dan Andrew Morton, berkomentar kepada media massa dan membuat pernyataan publik tentang keberatan mereka terhadap bagian dari draf diskusi 1 dan 2. Pengembang kernel merujuk pada klausul draf GPLv3 mengenai DRM/Tivoization, paten, dan "pembatasan tambahan", dan memperingatkan tentang Balkanisasi "Open Source Universe". Linus Torvalds, yang memutuskan untuk tidak mengadopsi GPLv3 untuk kernel Linux, mengulangi kritiknya beberapa tahun kemudian.

GPLv3 meningkatkan kompatibilitas dengan beberapa lisensi perangkat lunak bebas seperti Lisensi Apache, versi 2.0, dan Lisensi Publik Umum GNU Affero, yang tidak dapat digabungkan dengan GPLv2. Akan tetapi, perangkat lunak GPLv3 hanya dapat digabungkan dan berbagi kode dengan perangkat lunak GPLv2 jika lisensi GPLv2 yang digunakan memiliki klausul opsional "atau yang lebih baru" dan perangkat lunak tersebut ditingkatkan ke GPLv3. Sementara klausul "GPLv2 atau versi yang lebih baru" dianggap oleh FSF sebagai bentuk lisensi perangkat lunak GPLv2 yang paling umum, Pengembang Toybox Rob Landley menggambarkannya sebagai *klausul sekoci penyelamat*. Proyek perangkat lunak yang dilisensikan dengan klausa "atau yang lebih baru" opsional mencakup Proyek GNU, sementara contoh menonjol tanpa klausa tersebut adalah kernel Linux.

Versi final teks lisensi dipublikasikan pada 29 Juni 2007.

## Kompatibilitas dan multi-lisensi

Kode yang dilisensikan di bawah beberapa lisensi lain dapat digabungkan dengan program di bawah GPL tanpa konflik, selama kombinasi pembatasan pada karya secara keseluruhan tidak memberikan pembatasan tambahan di luar apa yang diizinkan GPL. Selain ketentuan reguler GPL, ada pembatasan dan izin tambahan yang dapat diterapkan:

# Jika pengguna ingin menggabungkan kode yang dilisensikan di bawah versi GPL yang berbeda, maka ini hanya diizinkan jika kode dengan versi GPL sebelumnya menyertakan pernyataan "atau versi yang lebih baru". Misalnya, pustaka GNU LibreDWG berlisensi GPLv3 tidak dapat digunakan lagi oleh LibreCAD dan FreeCAD yang hanya memiliki dependensi GPLv2.
# Kode yang dilisensikan di bawah LGPL diizinkan untuk ditautkan dengan kode lain apa pun, apa pun lisensi yang dimiliki kode tersebut, meskipun LGPL menambahkan persyaratan tambahan untuk karya gabungan. LGPLv3 dan GPLv2 saja dengan demikian umumnya tidak dapat dihubungkan, karena karya Kode gabungan akan menambahkan persyaratan LGPLv3 tambahan di atas perangkat lunak berlisensi GPLv2 saja. Kode yang dilisensikan di bawah LGPLv2.x tanpa pernyataan "versi yang lebih baru" dapat dilisensikan ulang jika seluruh karya gabungan dilisensikan ke GPLv2 atau GPLv3.

FSF memelihara daftar lisensi perangkat lunak bebas GPL-kompatibel yang memuat banyak lisensi perangkat lunak bebas yang paling umum, seperti lisensi MIT/X asli, lisensi BSD (dalam bentuk 3-klausul saat ini), dan Lisensi Artistik 2.0.

Dimulai dari GPLv3, lisensi ini kompatibel secara sepihak untuk materi (seperti teks dan media lain) di bawah Creative Commons Attribution-ShareAlike 4.0 International License untuk di-remix ke dalam materi berlisensi GPL (terutama perangkat lunak), bukan sebaliknya, untuk kasus penggunaan khusus seperti mesin permainan (GPL) dengan skrip permainan (CC BY-SA).

David A. Wheeler telah menganjurkan agar pengembang perangkat lunak bebas/sumber terbuka hanya menggunakan lisensi yang kompatibel dengan GPL, karena jika tidak, pihak lain akan kesulitan berpartisipasi dan menyumbangkan kode. Sebagai contoh khusus ketidakcocokan lisensi, ZFS dari Sun Microsystems tidak dapat disertakan dalam kernel Linux berlisensi GPL, karena dilisensikan di bawah Lisensi Pengembangan dan Distribusi Umum yang tidak kompatibel dengan GPL. Lebih jauh lagi, ZFS dilindungi oleh paten, jadi mendistribusikan implementasi berlisensi GPL yang dikembangkan secara independen tetap memerlukan izin Oracle.

Sejumlah bisnis menggunakan multi-licensing untuk mendistribusikan versi GPL dan menjual lisensi perangkat lunak berpemilik kepada perusahaan yang ingin menggabungkan paket tersebut dengan kode berpemilik, menggunakan tautan dinamis atau tidak. Contoh perusahaan semacam itu antara lain MySQL AB, Digia PLC (kerangka kerja Qt, sebelum 2011 dari Nokia), Red Hat (Cygwin), dan Riverbank Computing (PyQt). Perusahaan lain, seperti Mozilla Foundation (produknya antara lain Mozilla Application Suite, Mozilla Thunderbird, dan Mozilla Firefox), menggunakan multi-lisensi untuk mendistribusikan versi di bawah GPL dan beberapa lisensi sumber terbuka lainnya.

## Resepsi
### Kritik terhadap GPLv3
Pada bulan September 2006, selama proses penyusunan GPLv3, beberapa pengembang kernel Linux terkemuka seperti Linus Torvalds, Greg Kroah-Hartman, dan Andrew Morton, memperingatkan adanya perpecahan dalam komunitas FOSS: "rilis GPLv3 menandakan Balkanisasi seluruh Semesta Open Source yang kita andalkan." Demikian pula, Benjamin Mako Hill juga berpendapat pada tahun 2006 selama penyusunan GPLv3 bahwa komunitas yang bersatu dan berkolaborasi lebih penting daripada satu lisensi.

Setelah rilis GPLv3 pada tahun 2007, beberapa jurnalis dan pengembang Toybox Rob Landley mengkritik bahwa dengan diperkenalkannya GPLv3, perpecahan antara komunitas perangkat lunak sumber terbuka dan perangkat lunak bebas menjadi lebih lebar dari sebelumnya karena GPLv3 yang diperluas secara signifikan pada dasarnya tidak kompatibel dengan GPLv2. Kompatibilitas hanya diberikan di bawah klausul opsional "atau yang lebih baru" dari GPL, yang tidak diambil oleh kernel Linux, antara lain. Bruce Byfield mencatat bahwa sebelum rilis GPLv3, GPLv2 merupakan elemen pemersatu antara komunitas perangkat lunak sumber terbuka dan perangkat lunak bebas.

Untuk LGPLv3, pengelola GNU TLS Nikos Mavrogiannopoulos berpendapat serupa, "Jika kita berasumsi bahwa tujuan utamanya [LGPLv3] adalah untuk digunakan oleh perangkat lunak bebas, maka ia jelas-jelas gagal mencapai tujuan itu", setelah ia melisensikan ulang *GNU TLS* dari LGPLv3 kembali ke LGPLv2.1 karena masalah kompatibilitas lisensi.

Lawrence Rosen, pengacara dan spesialis komputer, memuji pada tahun 2007 bagaimana komunitas yang menggunakan lisensi Apache kini dapat bekerja sama dengan komunitas GPL dengan cara yang kompatibel, karena masalah kompatibilitas GPLv2 dengan perangkat lunak berlisensi Apache telah teratasi dengan GPLv3. Dia berkata, "Saya memprediksi bahwa salah satu kisah sukses terbesar GPLv3 adalah terwujudnya seluruh jagat perangkat lunak bebas dan sumber terbuka dengan demikian dapat digabungkan menjadi solusi sumber terbuka yang komprehensif bagi pelanggan di seluruh dunia."

Pada bulan Juli 2013, pengembang Flask Armin Ronacher menarik kesimpulan yang kurang optimis tentang kompatibilitas GPL dalam ekosistem FOSS: "Ketika GPL terlibat, kompleksitas pemberian lisensi menjadi versi teka-teki yang tidak menyenangkan", juga mencatat bahwa konflik antara Lisensi Apache 2.0 dan GPLv2 masih berdampak pada ekosistem.

## Turunan
Teks GPL sendiri berhak cipta, dan FSF adalah pemegangnya.

FSF memperbolehkan lisensinya untuk digunakan sebagai basis membuat lisensi baru selama turunannya tidak menggunakan pembukaan GPL dan nama "GNU" tanpa izin. Namun, mereka sangat tidak menyarankan hal ini karena dapat menyebabkan ketidakkompatibilitas lisensi sehingga sangat memengaruhi ekosistem perangkat lunak bebas dan sumber terbuka.

## Referensi

## Notes

## Pranala luar
*  Teks asli GPL versi 3
*  Teks asli GPL versi 2
*  Terjemahan tidak resmi GPL versi 2