Semua orang memegang hak cipta pada kode yang mereka tulis. Yang berarti secara default penulis asli adalah satu-satunya orang yang dapat memberikan lisensi untuk kode itu.
Karena proyek open source biasanya memiliki banyak penulis, tidak mungkin melacak semua penulis dan membuat mereka setuju setiap kali perubahan lisensi perlu dilakukan. Untuk menghindari masalah ini, beberapa proyek sumber terbuka dilisensikan di bawah lisensi yang memungkinkan penggunaan kode di bawah versi yang lebih baru dari lisensi itu. Dengan cara ini Anda membuat penulis menyetujui versi lisensi yang akan datang yang belum tersedia. Biasanya penulis lisensi berjanji untuk membuat versi yang lebih baru serupa dengan lisensi asli, misalnya dalam Lisensi Publik Umum GNU :
Free Software Foundation dapat menerbitkan Lisensi Publik Umum GNU yang direvisi dan / atau versi baru dari waktu ke waktu. Versi baru tersebut akan serupa semangatnya dengan versi saat ini, tetapi mungkin berbeda dalam detail untuk mengatasi masalah atau masalah baru.
Cara lain untuk mengatasi masalah ini adalah membuat penulis setuju untuk mentransfer hak cipta mereka kepada orang lain, misalnya pemilik proyek. Orang ini kemudian berhak memutuskan apakah akan melisensikan proyek dan lisensi baru. Kelemahan dari pendekatan ini adalah bahwa pemilik proyek adalah orang-orang dan mungkin tidak bertindak dalam semangat penulis asli. Ini juga mempersulit garpu untuk beralih ke lisensi yang lebih baru karena pemilik proyek asli kemungkinan bukan bagian dari garpu dan pemilik garpu tidak akan memiliki hak cipta dari pembuat kode asli.
Terakhir, ketika Anda adalah entitas yang sangat besar, Anda dapat mengajukan permohonan kepada pembuat lisensi untuk membuat perubahan pada lisensi. Ini adalah bagaimana Wikimedia berhasil beralih dari lisensi GFDL-only ke lisensi ganda dengan CC-by-sa: Mereka mengajukan petisi kepada FSF untuk menerbitkan versi GFDL yang lebih baru yang mencakup bagian untuk memungkinkan proyek untuk mengalihkan konten mereka ke CC-by -saya untuk waktu yang terbatas.
Seperti yang Anda lihat, lisensi selalu merepotkan dan tidak jelas tindakan apa yang terbaik. Biasanya Anda harus menginvestasikan sedikit waktu untuk menemukan lisensi yang tepat untuk proyek tersebut sebelum orang lain berkontribusi karena mengubah lisensi nanti biasanya cukup sulit.