Selama bertahun-tahun, saya telah menjadi penggemar berat lisensi pada hal-hal yang dibagikan secara online untuk memudahkan orang lain untuk menentukan apakah dan bagaimana mereka dapat menggunakan kembali hal-hal tersebut. Sebelum GitHub mulai dengan lembut 'mendorong' para penggunanya untuk memasukkan file LICENSE dengan repo mereka, saya tidak benar-benar tahu cara terbaik untuk melakukan ini dengan kode - terutama kode yang dibagikan secara publik di GitHub! - tapi saya sudah mencoba memanfaatkan file LICENSE sejak saat itu.
Saya sekarang dalam situasi di mana saya telah bekerja pada proyek kecil dengan beberapa orang lain, yang memerlukan penyebutan beberapa lisensi (karena kode pihak ketiga & perpustakaan serta file non-kode). Sementara mitra saya membahas masalah ini agak 'sembarangan' - disarankan agar saya 'hanya meletakkan kode online apa adanya, tidak ada yang peduli' -, saya lebih suka melakukan ini dengan benar. Masalahnya adalah: Saya tidak tahu bagaimana orang seharusnya menyebutkan beberapa (berbeda) lisensi di GitHub.
Saya telah melihat beberapa solusi berbeda di GitHub, oleh karena itu sulit bagi saya untuk menilai apakah jawaban untuk pertanyaan yang sedikit berbeda ini asli. Yang ingin saya ketahui adalah yang mana dari yang berikut - jika ada - yang paling umum, atau jika ada cara lain, tambahan untuk melakukan ini.
- Buat satu file LICENSE tunggal dan letakkan deskripsi semua lisensi yang berbeda di sana. ( Pertanyaan : Haruskah mereka dimasukkan dalam urutan tertentu? Apakah saya akan memulai file dengan menyebutkan nama-nama semua lisensi yang terkandung di dalamnya, untuk gambaran yang lebih baik)?
- Buat satu file LISENSI per lisensi yang digunakan dan nama mereka
LICENSE.md
,LICENSE.LibNameA.md
,LICENSE.AssetsB.md
dll seperti yang disarankan dalam jawaban terkait. ( Pertanyaan : Penamaan akan didasarkan pada nama proyek? Bukan nama lisensi? Jika saya menggunakan lebih dari satu lisensi untuk materi yang disumbangkan sendiri, akankah saya menyebutkan semuanya dalam 'utama'LICENSE.md
? Jika tidak, apa yang akan saya lakukan sebagai gantinya?) - Buat dua file LICENSE : satu daftar lisensi untuk konten 'utama', yaitu semua kode / aset yang telah dibuat sendiri; satu untuk semua bahan pihak ke-3. ( Pertanyaan seperti di atas : apakah ada skema penamaan tertentu yang akan digunakan, dan urutan mana yang akan mencantumkan materi pihak ke-3?)
Terakhir, jika saya memahami berbagai penjelasan dan proyek GitHub mengenai API Lisensi mereka dengan benar, hanya file LICENSE 'utama' yang akan dipertimbangkan ketika menentukan lisensi repo (meskipun saya belum dapat mengetahui lisensi mana yang akan diambil. jika beberapa disebutkan).
Jawaban:
Anda dapat menggunakan mekanisme apa pun untuk memasukkan lisensi yang Anda sukai, asalkan menjadi jelas bagi pengunjung proyek Anda, lisensi mana yang berlaku untuk bagian mana dari proyek tersebut.
Preferensi saya adalah:
sumber
Dalam presentasi pembuat SPDX ( slide 12 ), sangat jelas:
Isi dari
LICENSE
:Anda dapat menambahkan dua file LICENSE tambahan, kemudian:
LICENSE.Apache-2.0
danLICENSE.GPL-2.0-or-later
.Dalam semua kasus,
README.md
harus mengandung pengidentifikasi lisensi SPDX :Anda bisa melakukannya seperti itu:
Catat itu
Apache-2.0 OR GPL-2.0-or-later
danApache-2.0 AND GPL-2.0-or-later
buat perbedaan besar. Yang pertama berarti bahwa pengguna dapat memilih antara keduanya (yang merupakan kasus biasa!) Dan yang kedua menunjukkan bahwa pengguna harus mematuhi kedua lisensi. Lihat juga multi lisensi di Wikipedia.Perhatikan bahwa saya menggunakan Daftar Lisensi SPDX 3.0 yang baru (pada 2017-12-28 ) di sini. Versi 2017 miliki
GPL-2.0
adalah pengidentifikasi untuk GPL 2.0, tetapi tidak jelas apakah itu berarti "hanya GPL 2.0" atau "GPL 2.0 atau versi yang lebih baru".sumber
Saya akhirnya menghubungi dukungan GitHub secara langsung sehubungan dengan pertanyaan saya dan mereka mengatakan tidak apa-apa untuk mengutip mereka jika saya menjelaskan jawaban mereka hanya dimaksudkan sebagai saran, bukan rekomendasi.
Balasan asli mereka memiliki yang berikut untuk ditawarkan:
sumber