Yıllardır, çevrimiçi olarak paylaşılan şeylere lisans verme konusunda, başkalarının söz konusu şeyleri tekrar tekrar kullanıp kullanmamalarını ve nasıl tekrar kullanabileceklerini belirlemelerini kolaylaştırmak için harika bir hayranım. GitHub, kullanıcılarına nazikçe LICENSE dosyalarını repoları eklemeye zorlamadan önce, kodla - en iyi nasıl yapılacağını bilmiyordum - özellikle GitHub'da genel olarak paylaşılan kod! - ama LICENSE dosyalarını o zamandan beri iyi kullanmaya çalıştım.
Şimdi , bazı lisanslardan söz edilmesini gerektiren (üçüncü taraf kodları ve kütüphaneler ve kod dışı dosyalar nedeniyle) küçük bir projede çalıştığım durumdayım . Ortaklarım konuyla ilgili daha 'özensiz' bir konuyu ele alırken - 'sadece olduğu gibi çevrimiçi kod koymam, hiç kimsenin umursayamayacağı' önerildi - bunu doğru yapmayı tercih ederim. Sorun şudur: GitHub'taki birkaç (farklı) lisanstan nasıl bahsedilir?
GitHub'da birkaç farklı çözüm gördüm , bu yüzden biraz farklı bir sorunun cevabının otoriter olup olmadığına karar vermem zor . Bilmek istediğim şey, aşağıdakilerden hangisidir - eğer varsa - en yaygın olanı veya başka yapmanın başka yolları varsa.
- Oluşturun tek LİSANS dosyası ve orada tüm farklı lisansların açıklamaları koydu. ( Sorular : Belli bir sıraya konmalı mılar? Daha iyi bir gözden geçirme için dosyadaki tüm lisansların adlarından söz ederek dosyadan başlayabilir miyim?)
- Bağlantılı cevapta önerildiği şekilde , kullanılan lisans başına bir LİSANS dosyası oluşturun ve bunları adlandırın , vb. ( Soru : Adlandırma proje adlarına göre mi yapılacak? Lisans adları değil mi? Kendine katkıda bulunan materyal için birden fazla lisans kullansaydım, hepsinden 'ana' da söz eder miydim?
LICENSE.md
LICENSE.LibNameA.md
LICENSE.AssetsB.md
LICENSE.md
- İki LİSANS dosyası oluşturun : Biri 'ana' içerik için lisansları listeliyor, yani kendi yarattığı tüm kodlar / varlıklar; tüm 3. parti malzemeler için bir tane. ( Yukarıdaki gibi sorular : birisinin kullanacağı belirli bir adlandırma şeması var ve hangisinin 3. parti materyallerini listeleyeceğini sıralıyor musunuz?)
Son olarak, Lisans API'leri ile ilgili çeşitli GitHub açıklamalarını ve projelerini doğru bir şekilde anladıysam, bir repo lisansı belirlenirken yalnızca “ana” LİSANS dosyası göz önünde bulundurulacak (hangi lisansın alınacağına karar veremesem de) eğer birkaçından bahsedilirse).