- Proyek PHP sedang membahas RFC untuk menyatukan lisensi khusus PHP dan lisensi Zend Engine yang selama ini rumit dan tidak kompatibel menjadi BSD 3-Clause (Modified BSD License)
- Waktu penerapan lisensi baru adalah PHP 9.0, dan BSD 3-Clause akan diterapkan di seluruh kode sumber, header, dan dokumentasi, sementara klausul khusus lama serta pembatasan terkait merek akan dihapus
- Disetujui oleh OSI dan FSF, kompatibel dengan GPL, sehingga kejelasan hukum terjamin, dan hak kontributor maupun pengguna tetap dijamin sama seperti sebelumnya
- Untuk mengubah lisensi, dibutuhkan persetujuan resmi dari PHP Group dan Perforce Software (sebelumnya Zend), lalu proses diskusi komunitas selama lebih dari 6 bulan serta prosedur pemungutan suara
- Perubahan ini juga merekomendasikan proyek eksternal seperti PECL/ekstensi untuk memilih BSD 3-Clause, dan tidak menganjurkan penggunaan “PHP License”
Ikhtisar
- Selama bertahun-tahun, proyek PHP terus menghadapi kebingungan dan kontroversi karena lisensi open source buatannya sendiri dan Zend Engine License
- Khususnya, Zend Engine License yang diterapkan pada kode sumber di direktori Zend menambah kerumitan karena bukan lisensi yang disetujui OSI
- RFC ini mengusulkan penyederhanaan lisensi yang praktis dengan tetap mempertahankan hak cipta semua kontributor PHP sekaligus memberi pengguna hak yang sama seperti lisensi sebelumnya
- Tujuannya adalah mengadopsi BSD 3-Clause (Modified BSD License) sebagai lisensi resmi baru untuk mengurangi kompleksitas dan kesalahpahaman tanpa mengubah hak maupun syarat penggunaan
Usulan dan perubahan utama
- Inti masalahnya adalah menerbitkan versi baru PHP License dan Zend Engine License untuk secara resmi mengadopsi Modified BSD License (BSD-3-Clause, disetujui OSI/FSF)
- PHP License yang ada (version 3.01) dan Zend Engine License (version 2.00) pada dasarnya sama dengan Modified BSD kecuali beberapa klausul khusus, sehingga tidak ada perubahan substansial pada hak yang diberikan
- Setelah pembaruan lisensi:
- Tidak ada perubahan pada hak yang diberikan kepada kontributor dan pengguna
- Bekerja sama dengan PHP Group dan Perforce Software untuk menghapus klausul khusus milik kelompok tertentu
- PHP dan Zend Engine akan disediakan di bawah lisensi yang disetujui OSI dan kompatibel dengan GPL
- Penggunaan PHP License lama dan Zend Engine License tidak lagi dianjurkan
- Berkas LICENSE dan header lisensi dalam kode sumber juga akan diganti ke format baru
Ringkasan teks lisensi
- BSD 3-Clause memungkinkan penyalinan, modifikasi, dan distribusi secara bebas, dengan syarat tetap menyertakan hak cipta dan klausul penafian, serta larangan penggunaan nama dan merek tanpa izin
- BSD-3-Clause adalah lisensi perangkat lunak bebas yang disetujui oleh OSI (Open Source Initiative) dan FSF, serta kompatibel dengan GPL
Prosedur perubahan dan persetujuan
- RFC akan diputuskan melalui pemungutan suara setelah diskusi terbuka di komunitas, dan penerapan dilakukan setelah persetujuan resmi serta voting
- Perubahan lisensi memerlukan persetujuan resmi dari PHP Group dan Perforce Software
- Hak kontributor kode sumber sebelumnya tetap dipertahankan, dan perubahan ini tidak melanggar hak yang sudah ada
- Komunitas akan diberi masa diskusi lebih dari 6 bulan sebelum diputuskan melalui voting
- Perubahan dijadwalkan resmi diterapkan pada PHP 9.0
Latar belakang dan konteks historis
- Pada masa awal, PHP 1 dan 2 menggunakan GPL, lalu berkembang melalui lisensi Apache dan lisensi kustom berbasis BSD
- Zend Engine mempertahankan lisensi terpisah, tetapi kini pada praktiknya dianggap sebagai satu proyek yang tidak bisa dipisahkan
- Pembatasan penggunaan nama dan klausul perlindungan merek pada lisensi PHP lama terus menimbulkan masalah dalam kompatibilitas dan distribusi dengan open source lain
Dampak pada kode lama, ekstensi, dan dokumentasi
- RFC ini berlaku untuk seluruh php-src (kecuali kode yang secara eksplisit mencantumkan lisensi terpisah), dan PECL/ekstensi juga dianjurkan mengadopsi BSD 3-Clause
- Berdampak pada seluruh kode dalam repositori sumber PHP baru maupun lama yang menggunakan PHP License atau Zend Engine License
- Lisensi yang sudah ada (mis. timelib dan kode berlisensi terpisah lainnya) bukan sasaran perubahan ini
- Manual PHP akan tetap menggunakan lisensi Creative Commons Attribution 3.0 atau yang lebih baru
- Modul ekstensi/perangkat lunak yang ada diberi pilihan untuk menerapkan PHP License v4 (Modified BSD)
- Untuk ekstensi baru dan proyek baru ke depan, disarankan menggunakan lisensi resmi terbaru seperti BSD/Apache
Kesimpulan
- Struktur lisensi PHP dan Zend Engine akan disederhanakan menjadi 3-clause BSD, sehingga kejelasan, kompatibilitas, pemanfaatan komersial, dan kepastian hukum dalam ekosistem open source diperkirakan akan menguat
- Jika usulan ini disetujui dan diterapkan, pengguna dapat menggunakan PHP dan Zend Engine secara bebas berdasarkan BSD-3-Clause
- Setelah persetujuan kontributor, komunitas, dan perusahaan utama dalam proyek serta prosedur voting selesai, perubahan ini akan diterapkan secara resmi
1 komentar
Komentar Hacker News
zval***). Setelah itu saya melakukan berbagai hal dengan PHP, bahkan saat masih SMA saya ikut lomba pemrograman menggunakan PHP di lingkungan CLI, tetapi gugur karena staf saat itu tidak akrab dengan bahasa dan lingkungannya; pengalaman pahit-manis yang lucu. Disampaikan juga rasa terima kasih atas kemungkinan yang dibuka PHP pada masa itu.