GPL işyerinde mi?


12

Bir zamanlar açık kaynak ürünlerini kullandıkları (ki bu harika, Hibernate, JBoss, vb. Yaygın olarak kullandım) konuşmalarında ortaya çıkan bir danışmanlık şirketinde görüştüm. Beni şaşırtan bir şey, onlar müşteriler için başvuru yazarken GPL lisanslı OSS kullandılar, "Tabii ki, her zaman! Müşteri istediği ve mutlu olduğu sürece" dedi. Şimdi, ben avukat veya büyük lisans tutkunu değilim, ama GPL kodunu (diyelim ki dahil ettiğiniz bazı kütüphane) kullanarak, tüm uygulamayı aynı lisans altında serbest bırakmanız gerekiyor. Bunu işaret ettiğimde, "Eh, işimiz bittiğinde müşterilere tüm kaynak kodunu veriyoruz, bu yüzden bu gerçekten bir sorun değil."

Konuyu daha fazla bastırmak istemiyorum (röportajlar böyle argümanların yeri değil), kaymasına izin verdim. Ancak, yine de bu işin belirli uygulamaları hakkında beni endişelendiriyor. GPL lisanslı koddaki resmi kelime nedir ve nasıl "açık" olması gerekir? Bunu yayınlamak ve "Şirketim bu kütüphaneyi kullandı, böylece burada milyonlarca dolar harcadığımız alışveriş ve sipariş karşılama sistemi uygulamamızı indirebileceğiniz site var mı?" Bu durumda, şirket müşterinin bilgisi olmadan GPL kodunu kullanma hakkı var mı? "Onlara kaynak vermek" yeterli mi?

Yanıtlar:


15

Standart feragatnameler geçerlidir: Ben bir avukat değilim ve siz de değilsiniz.

GPL, özünde, kaynağı elde etmek ve kullanmak için programı kullananların haklarını korumakla ilgilidir. O değil sen kullanımları sadece bu kod GPL lisanslı olduğunu yazmak herhangi programın kaynağını yayınlamak mandate Yayınladığınız takdirde böyle bir programı da kaynağı sağlamalıdır.

Kişisel kullanımım için herhangi bir sayıda uygulama yazabilir, GPL'd kodunu çekebilirim ve bunların kaynağını asla kimseye veremem. Şirketim tarafından dahili kullanım için bu tür uygulamalar yazabilirim ve sadece şirketimdeki programı kullananlara kaynak sağlamalıyım (pratik olarak, talep etmek için iyi bir nedeni varsa bunu yine de yapmam gerekirdi). Ben başka varlık için böyle bir programı yazmak, ben sadece vermek zorunda onlara kodunu (ve programın GPL lisanslı olduğundan temizlemek olun) - eğer onlar dağıtmak için gitmek, onlar da daha sonra kaynak kullanılabilir yapmalıdır, ama resim dışındayım.

Bu nedenle, danışmanlık şirketinizin sahip olabileceği tek endişe, müşterilerinin verdikleri kodun altına düştüğü lisansı bilmemeleri. Aslında, yalan söylüyorum - müşterileriyle farklı bir lisans görüşmüşlerse (müşteri kodlama için tüm haklara sahiptir ...) o zaman bunun üzerinde sıcak suda da olabilirler ... Ama bu herhangi bir üçüncü taraf kodu için geçerlidir : kamu-alanı olmadığı sürece, sen gerekir lisansı uymak ve bu doğru telif hakkı sahibi tarafından size verilmiş olmadıkça onu yeniden lisans etmemelidir.


1
Haklısın AGPL, ancak bu konuda daha katı

@Pierre: sunucu uygulamalarına bağlı kalarak kullanıcılarınıza kaynak sağlayamazsınız.
Shog9

1
İlginç. Standart GPL'de, bir SaaS uygulaması yazarsanız, uygulamanın kendisini teknik olarak "dağıtmadığınızdan" kaynağı vermeniz gerekmez mi?
Ryan Hayes

2
@Ryan: doğru. Eh, kullanıcılarınıza vermek zorunda değilsiniz . Derlenmiş kodu alan herkes kaynağı alır.
Shog9

7

Danışman olarak, bilinçli bir seçim yapabilmeleri için müşterimle lisans sorunlarını erkenden gündeme getirmeye çalışıyorum. Sorunlarına uygulanacak en iyi teknoloji GPL altındaysa ancak lisansa uymuyorsa, o zaman kullanamam. Uygulamada bunun iki etkisi oldu.

Birincisi, çoğu bu sorunu önlemek için özellikle ticari bir ürün için ödeme yapmaktan mutluluk duyar. Bu, özellikle GPL ile uyumluluğun tüm donanım tasarımının etkin bir şekilde yayınlanmasını ve son kullanıcının ürünü değiştirmesini mümkün kılma girişimi olan GPL ruhunu karşılamak için nasıl çalıştığını belgelemeyi gerektirdiği gömülü sistemler dünyasında yaygındır. . Bu kadar açık ürünler yapmak mümkün olsa da, şirketin tüm seviyelerinde büyük bir bağlılık gerektirir. Daha büyük sorun, bir tasarımın birçok bileşeninin bize NDA altında üreticileri tarafından belgelenmesi ve NDA altında yayınlanan belgeleri kullanan GPL uyumlu kodun oluşturulması imkansızdır.

İkincisi, artık herhangi bir revizyonda GPL'ye kıyasla MIT lisansı ve birçok akrabası (ticari kullanımın kabul edilebilir olduğunu açıkça ortaya koyuyor) tercih ediyoruz. İlgili ürün topluluklarında yapılan hata düzeltmelerini ve iyileştirmeleri yayınlamak için herhangi bir müşteri hedefim olmadı. Lisans izin verdiğinden, NDA yükümlülüklerime uyabilir, müşterimi mutlu edebilir ve ilgili topluluklara katkıda bulunabilirim.


2

Açık kaynak mutlaka özgür demek değildir.

IANAL, ancak genel olarak konuşursak, GPL gereksinimi projeniz için kaynak kodunu sağlamaktır. Kesinlikle bir başkasına bir ürün satabilirsiniz. Ancak, onları vermemelerini engelleyemeyeceğinize inanıyorum. Muhtemelen biradaki gibi çoğu GPL'd yazılımını ücretsiz yapan şey budur. Kodunuzu sadece GPL olduğu için dünya + köpeğe yayınlamanız gerekmediğinden oldukça eminim.

Önsözden GPL'nin v3'üne (benimkini vurgulayın):

Çoğu yazılım ve diğer pratik çalışmaların lisansları, işleri paylaşma ve değiştirme özgürlüğünüzü ortadan kaldırmak için tasarlanmıştır. Buna karşılık, GNU Genel Kamu Lisansı, bir programın tüm sürümlerini paylaşma ve değiştirme özgürlüğünüzü garanti etmeyi amaçlamaktadır - tüm kullanıcıları için özgür yazılım olarak kalmasını sağlamak. Özgür Yazılım Vakfı olarak, yazılımlarımızın çoğu için GNU Genel Kamu Lisansını kullanıyoruz; yazarları tarafından bu şekilde yayımlanan diğer tüm çalışmalar için de geçerlidir. Bunu programlarınıza da uygulayabilirsiniz.

Özgür yazılımdan bahsettiğimizde, fiyattan değil özgürlükten bahsediyoruz. Genel Kamu Lisanslarımız, ücretsiz yazılımların kopyalarını dağıtma (ve isterseniz ücretlendirme) özgürlüğüne sahip olduğunuzdan, kaynak kodu aldığınızdan veya isterseniz edinebildiğinizden, yazılımı değiştirebileceğinizden emin olmak için tasarlanmıştır. veya bir kısmını yeni ücretsiz programlarda kullanabilirsiniz ve bunları yapabileceğinizi bilirsiniz.

( kaynak )

Bu durumda, şirket müşterinin bilgisi olmadan GPL kodunu kullanma hakkı var mı? "Onlara kaynak vermek" yeterli mi?

Bu biraz farklı bir soru. Müşterinin bir beklentisi varsa ve bu beklenti bir sözleşmede belirlenirse, şirketin bir sorunu olabilir. Aksi takdirde, işi en iyi nasıl yapacağınızı belirlemek onlara kalmıştır. Ancak, kaynak koduna lisansla ilgili bir bildirim eklemeleri gerekir. Bunu müşterisine başka bir şekilde ifşa etmeleri gerekip gerekmediğinden emin değilim.


2
GPL, kaynağı etkin bir şekilde yayınlamanızı gerektirmez, ancak kullanıcıya programın GPL olduğu ve kaynağı istek üzerine (muhtemelen adil ve makul bir işlem ücretine tabi olarak) teslim edeceğiniz gerçeğini yayınlamanızı gerektirir. Uygulamada, ikinci gereklilik genellikle istek üzerine verilebilen bir URL'deki bir tarball veya zip ile ele alınır. Danışman olarak, işinizi başkalarına dağıtırlarsa, müşterinizin yükünün ne olacağını bilmesi için bir yükümlülüğünüz vardır, çünkü GPL altında yayıncı haline gelirler.
RBerteig

@RBerteig Açıklık için teşekkürler. Lisans şartlarını araştırdığımdan beri bir süre geçti.
George Marian

"Kesinlikle bir başkasına bir ürün satabilirsiniz. Ancak, onlara vermelerini engelleyemeyeceğinize inanıyorum." Onlara GPL kapsamında bir şey verip vermediğinize veya orijinal telif hakkı sahibi olup olmadığınıza ve bunları farklı bir lisans altında yeniden lisanslayıp lisanslamadığınıza bağlıdır.
endolit

-5

Hayır, haklısın. Heres neden:

GPL kapsamında bir başvurumuz olup olmadığını düşünün. Şimdi tescilli kod tarafından kullanılamaz.

Sadece GPL kullanan kaynak kodunu açmak yeterliyse, BSD olarak dayalı bir projeyi açık kaynak yapabilirdim.

Daha sonra tescilli yazılım GPL ürününü kullanabilir.


4
Bu anlamsız. GPL, özel kodun kodu kullanamayacağını belirtmez. Bay C'nin cevabının açıkça ifade ettiği gibi, GPL tamamen dağıtımla ilgilidir. Kısacası , bu yazılımın kaynak kodunu uyumlu bir lisans altında dağıtmadığınız sürece GPL kodu kullanan bir yazılımı dağıtmanıza izin verilmez .
dash-tom-bang

1
Özel kod GPL kodunu kullanamaz. Lisansın var olma nedeninin bir parçası.
alternatif

Her şey "tescilli kod" ile ne demek istediğinize bağlıdır. "Sahip olduğunuz kod" demek istiyorsanız, bu bir anlam ifade etmez - GPL telif hakkınızı kaldıramaz, bu yüzden kendi iradesinizin FSF'sine atamazsanız, yazdığınız kodun sahibi olursunuz . OTOH, "GPL ile uyumlu olmayan bir lisans altında dağıtmak istediğiniz kod" demek istiyorsanız, o zaman haklısınız - tıpkı üzerinde çalıştığınız kaynağı alıp kullanabildiğiniz gibi, kullanıcılarınıza bu hakkı vermek zorundasınız kaynağınıza. Yine, dağıtımla ilgilidir - programınızı alamayan hiç kimse kodunuz üzerinde haklara sahip değildir.
Shog9

@Bay. Tescilli kod ile C GPL ile uyumsuz kod demek. Ve kod edilir böylece müşteriye dağıtılan ... Ama yanlış olabilir bu yüzden evet, ben hiçbir avukat değilim.
alternatif

2
-1, yanıltıcı cevap. Bu sadece bazı "kullanım" ve "özel" tanımları için geçerlidir. Örneğin, gömülü bir Linux ürünü oluşturabilirim ve yalnızca doğrudan çekirdek koduna bağlanan Linux çekirdeğini ve kodunu serbest bırakabilirim, ancak kullanıcı arayüzümü veya GPLed çekirdeğinde çalışan diğer uygulamaları değil. Böyle birçok ilişki var. Bu "tescilli" kullanımındaki belirsizlik zaten kapsanmaktadır. Ayrıca, çoğu ülkede, yalnızca bir geliştiriciyi kodlamak için bir geliştirici kiralayan tarafa verilen bir "işe alınma işi" dağıtımla aynı değildir. IANAL, vb.
HedgeMage
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.