Gönderen GPL SSS (ama tavsiye tüm lisanslar için geçerlidir):
GPL neden programın her kopyasına GPL'nin bir kopyasını dahil etmeyi gerektirir?
Programın bir kopyasını alan herkesin haklarının ne olduğunu bilmesi için çalışmanın lisansının bir kopyasını dahil etmek çok önemlidir.
Lisansın kendisi yerine lisansla ilgili bir URL eklemek cazip olabilir. Ancak, URL'nin beş yıl veya on yıl sonra hala geçerli olacağından emin olamazsınız. Bundan yirmi yıl sonra, bugün bildiğimiz URL'ler artık mevcut olmayabilir.
Programda kopyaları olan kişilerin, ağda gerçekleşecek tüm değişikliklere rağmen lisansı görmeye devam etmelerini sağlamanın tek yolu, lisansın bir kopyasını programa dahil etmektir.
(benimkini vurgula)
Lisansınızı barındıran site çöktüğü veya URL yollarını değiştirdiği anda, yazılımınızın kopyalarına sahip kişiler artık hangi hakları güvenli bir şekilde kullanabileceklerini doğrulayamazlar. Bir şekilde, tam URL'nin sonsuza kadar çevrimiçi olacağını garanti edebileceğinizi varsayalım: kullanıcıların yazılımınızı kullanımının yasal olduğunu doğrulama yeteneği, yine de belirli bir URL'ye bağlanma yeteneğine bağlıdır. Bu gereksinim şehrinize / ülkenize / gezegeninize zahmetli olmasa da, başka bir yerde zahmetli olabilir. Bu gereksinimi, özellikle de geçici çözüm (tam lisans metni dahil) önemsiz olduğunda dayatmamalısınız.
Bu şikayeti "Ne olmuş? URL aşağı iniyorsa veya erişilebilir değilse" GNU GPL v3 "gibi açık bir tanımlayıcı yeterli olacaktır. GPL'nin tam metin kopyaları bol; kullanıcılar lisansın kendileri. " Birkaç sorun hemen akla geliyor:
Bu, daha az net olan lisans tanımlayıcıları için genelleme yapmaz ("BSD lisansı" ifadesi akla gelir).
Bu, daha az yaygın olan veya özelleştirilmiş lisanslar için iyi bir genelleme yapmaz ("bağlantı istisnaları olan GPL" akla gelir: hangi bağlantı istisnaları?). Bir kullanıcının adıyla güvenilir bir şekilde bulmasını beklemenin makul olması için bir lisansın ne kadar yaygın olması gerekir?
Bu, kullanıcıların yazılımı aldıkları anda bir bağlantısı olsa bile, durumun böyle olmayabileceği bir İnternet bağlantısına sahip olmasını gerektirir. (Ve yazılımı aldıklarında İnternet erişimi olmayabilir: "CD çağı" henüz dünyanın pek çok yerinde sona ermemiştir. Ek bir durum olarak, yaygın İnternet erişimi olan ancak büyük bölümlerini sansürleyen ulusal nüfusları göz önünde bulundurun .) Serbestçe yeniden dağıtılabilir yazılımın bir sonucu, bir alıcının yazılımınızın bir kopyasını doğrudan sizden ya da başlangıçta beklediğiniz bir dağıtım kanalı aracılığıyla alamamasıdır.
Lisans bağlantılarına karşı son bir argüman MichaelT'ın aşağıdaki yorumu ile belirtilmiştir: lisansı dinamik olarak, geriye dönük olarak değiştirmenize izin verebilir. Bu kasıtlı olarak yapılabilir, ancak yazılımın sürümleri arasında lisansı değiştirdiyseniz, ancak her iki sürüm için de aynı lisans bağlantısını kullandıysanız, böylece eski lisansınızı varolduğundan ötürü kazara da yapabilirsiniz. Böyle bir geçiş, eski kopyalarını mevcut sürümden farklı bir lisans altında aldığını kanıtlaması gereken insanlar için zorluk ekler.
Peki, lisansı neden proje kökünde tutmak zorundayım?
Ben avukat değilim, ama herhangi bir çarpıcı fikirler görmedim do proje kök lisansları tutmak gerekir. Lisansın eserin her bir kopyasına eşlik etmesi gerektiğini belirten GPL bile, çalışmaya nasıl eşlik etmesi gerektiği konusunda sessizdir . (Bunun nedeni, GPL'nin "kök dizin" kavramının anlamlı olmadığı yazılım dışı bağlamlarda uygulanabilmesi olabilir.)
Lisansı kök dizinde tutmak muhtemelen iyi bir fikirdir, çünkü kullanıcının lisansı görme olasılığını en üst düzeye çıkarır ve böylece hem kullanıcı hayal kırıklığını hem de bazı belirsiz dizinde lisansı gizlemeye çalıştığınız için size karşı şikayetlerin olasılığını en aza indirir. Çok sayıda lisansınız varsa, bunların tümünü kendi klasörlerine yerleştirmek daha mantıklı olabilir ve her bir bileşenin lisansını bulmak için dosya yollarını içeren belirgin bir README projesi içerir.
Lisansınızı dizin köküne yerleştirmek de işe yarar bir uygulamadır, çünkü bir bütün olarak çalıştığından farklı şekilde lisanslanan modüllerin lisanslarını belirsizleştirebilir. Projem FooProj'un bağımsız modül BarMod'u kullandığını varsayalım. Bağımsız modül MIT lisanslıyken FooProj GPL lisanslı olabilir. FooProj'u ilk açtığımda, kökte GPL'nin bir kopyasını görüyorum ve bir bütün olarak çalışmanın GPL lisanslı olduğunu anlıyorum. BarMod klasörüne indiğimde orada yeni bir lisans dosyası görüyorum ve bu klasörün içeriğinin MIT lisanslı olduğunu anlıyorum. Tabii ki, bu sadece yararlı bir yardımdır; modüllerinizin lisansını her zaman açıkça bir README, NOTICE veya benzeri bir dosyada belirtmeniz gerekir.
Özetle, dosya kökünü kullanmak kolaylık ve netlik konusudur. Yasal olarak bağlayıcı herhangi bir açık kaynak lisans metni görmedim ve bunun yasal olarak gerekli olmasının herhangi bir nedenini de bilmiyorum. Lisansın alıcı tarafından keşfedilmesi oldukça kolay olmalıdır; lisansın proje köküne dahil edilmesi bu kriteri yerine getirmek için yeterlidir, ancak gerekli değildir.