Herhangi bir JavaScript kodu yalnızca web siteleri, açık kaynak için mi kullanılıyor?


12

Yeniden yazılan soru:

JavaScript ile ilgili bir soru sormuyorum, ancak web'de kullanılan tüm "istemci" diller (HTML5, JavaScript, CSS, vb.). Web siteme JavaScript kodunu (GPLed) koyarsam ve bu web sitesine web üzerinden herkesten erişebilirsem, GPL'yi bir şekilde ihlal ediyor muyum?

İstemci kodunu (HTML, CSS, JavaScript) birine satmak istersem ne olur? Bu durumda farklı bir lisansa ihtiyacım var mı?

JavaScript (web siteleri için kullanıldığında) her zaman açık kaynak değil mi? Bir web sayfasını açtığınızda her zaman kaynağı okuyabilirsiniz.

JavaScript GPL kodunu içeren bir web sitesi satıyorsam, sunucu tarafı kodumu da serbest bırakmam gerekir mi?

Bu web sitesine kısmen erişilebiliyorsa (bir kısmı ücretsizdir ve diğeri ödeme yapmanızı gerektirir) ancak web sitesinin her iki tarafında GPL kodu (aynı bölüm) kullanılırsa ne olur?

GPLed kodu web sitesinin yalnızca erişmek için ödeme yapmanızı gerektiren bir bölümünde bulunuyorsa ne olur?

Bir müşteriye bu şekilde bir web sitesi satıyorsam:

  1. Size müşteriyle ilgili tüm kodları (JavaScript, HTML ve CSS) satıyorum (bir kerelik ücret)
  2. Ben değilim değil size sunucu tarafında kod, bunu kiralıyoruz (Benim sunucu tarafında kod yeniden izin vermek istemiyoruz) satan

Bazı JavaScript GPLed kodu kullanıyorsam, bir şeyi ihlal ediyor muyum? (Web sitesine web üzerindeki herkes erişebilir.)

Düzenleme 2:

Yeni bir soru eklendi:

Web sitesi sunucu tarafı kodu olmadan çalışabilirse, JavaScript, JSON biçiminde veri içeren bazı PHP sayfalarını çağırıyor. Diğer kişiler, müşteri tarafı ile bir web sitesi oluşturabilir, ancak veri sağlamaları gerekir. Bu durumda JavaScript "PHP" kodunu çağırıyor (ama tam tersi değil). Bu durumda, GPL'yi ihlal ediyor muyum?


4
Kodu "görebilme" özelliğinin lisanslama ile bir ilgisi yoktur, bu nedenle JavaScript başka hiçbir şeyden farklı değildir. En iyi şekilde bu uzmanlık alanında uzman bir avukata danışabilirsiniz.
Sparky

Bir web sitesindeki javascript için, özellikle GPL kodundan bahsediyor musunuz? yani, kod açıkça GPL kapsamında lisanslanmış mı?
Philip

Herhangi bir ürün satmıyorum, sadece bunu soruyorum çünkü nasıl çalıştığını iyi anlamıyorum. Özellikle herhangi bir müşteri ile ilgili dilin zaten "GPL" olup olmadığını soruyorum (bir web sayfasını her ziyaret ettiğinizde kaynağı indirirsiniz)
Fire-Dragon-DoL

Önemsiz bir uygulamada, kaynak kodunuz sadece Javascript değil, aynı zamanda sunucu tarafı kodunuzdur. Hepsini kamuya açıklamak ister misiniz ? Çünkü GPL böyle söylüyor. Bazılarını serbest bırakabileceğiniz ve yine de lisansla uyumlu olabileceğiniz anlamına gelmez .
Robert Harvey

Yanıtlar:


3

GPL söz konusu olduğunda, serbest bırakma birimi lisanslama birimidir.

Web siteniz ve onun javascript'i birlikte çalışan tek bir şeyse, tümünün etkili bir lisansı vardır. Herhangi bir parça GPL ise, bütünün etkin lisansı GPL'dir. (Bu LGPL, MIT, vb. İçin geçerli değildir .)

Web sitesini barındırıyorsanız ve müşterileriniz hizmete erişim satın alıyorsa, sunucu tarafı kodunu dağıtmadınız veya iletmediniz, bu nedenle GPL önemsizdir. (AGPL bunu değiştirir ve Hizmet olarak Yazılım'ın kaynağının yayınlanmış olması gerektiğini varsayar.)

Uygulamanızın bir parçası olan Javascript hiçbir şekilde otomatik olarak lisanslanmaz. Açıkçası, javascript'i tarayıcıda çalıştırmak için indirmek telif hakkı ihlalidir. Tabii ki, bu aptalca. Muhtemelen kodu çalıştırmak için zımni bir lisans vardır, ama hepsi bu.

Bir Javascript kütüphanesi kullanıyorsanız, o kütüphanenin lisansına uymanız gerekir. Bu lisans GPL ise, benim anladığım şey bunun tüm başvurunuzun GPL olduğu anlamına gelir. Muhtemelen jQuery'nin iki lisansı vardır - seçiminiz, MIT veya GPL. MIT lisansını kullanma seçeneği olmadan, yalnızca GPL uygulamaları tarafından kullanılabilir.


4

Birincisi: Lisans kısıtlamalarına bağlı kaldığınız sürece, tamamen Açık Kaynak kodunu ticari projelerde kullanma hakkına sahipsiniz (yani öncelikle tüm atıfları yerinde bırakmanız ve benzer bir lisans altında herhangi bir değişiklik yapmanız).

GPL, anlıyorum, lisanslarını bir projenin diğer bölümlerinde zorlamaya çalışırken daha kısıtlayıcı lisanslardan biridir. Ben hiç mahkemede test edilmiştir sanmıyorum ama genel olarak her zaman gördüğüm yorum GPL kodu sadece başvurulan kendi ayrı modüller içinde bırakılırsa (yani tamamen bağımsız ürünler olarak ele alınır) sadece kullandığınız), iyi olmalısınız.

Bu konuda emin değilseniz ve / veya daha güvenli olmak istiyorsanız, daha az kuralcı başka lisanslar da vardır.

İkincisi: Kodu görme yeteneği ve kullanma hakları tamamen ayrıdır . JavaScript'i herhangi bir siteden çıkaramıyorum ve kullanabildiğim için kullanamıyorum. Windows kaynağına erişebilseydim, yasal olarak bile, bu benimkini yapmaz. Web, çok sayıda kodun görünür olmasını gerekli kılar, yine de istediğiniz gibi lisanslayabilirsiniz.

Üçüncüsü: Sitenin geri kalanının altındaki lisans açısından, müşterinizin açık kaynak haline getirdiğiniz bir şey için size ödeme yapmaktan mutluluk duyması pek olası değildir . "Neden yeni vermiş olduğunuz bir şey için para ödedik?" Onlara bunu satıyorsanız o zaman onlar olmak isteyecektir onların . Eğer onları satamayacağınız gibi orada OSS olduğunu söylemeniz gerekse de, bunun parçalarını satacaksanız, sadece bunu kullanan diğer kod.

Dördüncüsü: Bu, kodun bir kısmını satan ve diğerini kiralayan çok garip bir model . Öylesine büyük ölçüde birbirine bağımlı görünüyorlar ki biri olmadan diğeri büyük ölçüde değersiz. Teknik olarak, yaptığınız ön uç tasarımını alıp başka bir şeye yapıştırabilirler, ancak genellikle bu olduğunda insanlar yeni başlıyor.

İki parçanın birbirleri olmadan gerçekten kullanışlı olmadığı göz önüne alındığında, sahip olduğunuz hizmet ürünü olarak bir yazılıma özelleştirme için ödeme yapmayı öneriyorum. Bu, tüm kodun size ait olması, yalnızca özelliklerine göre özelleştirmenizdir (bu, ön uç yollarına göre markadır). Çok daha temiz ve basit hale getirir.


Mhhh şimdi bir şüphem var: bir müşteri için bir web sitesi oluşturduğumda, müşteri kim: web sitemi sattığım kişi mi yoksa siteye erişecek kullanıcılar mı? Ben ise satmak tüm müşteriye (böylece kaynaklarıyla) GPL ürün olarak web sitesi, o web sitesinde gezinme tüm insanlara bile kaynak kodunu serbest gerekiyor?
Fire-Dragon-DoL

@ Fire-Dragon-DoL - Müşteriniz faturalarınızı ödeyen kişidir. Kodunuzu GPL yaparsanız , yalnızca müşteriniz ve / veya kullanıcılarınız için değil (ve herkesin bu kodu yeniden kullanma hakları vardır) herkese ve her yerde herkese açık hale getirmeniz gerekir .
Jon Hopkins

Son bölümde (açıklamanız gerçekten zekice, teşekkürler): Her iki parça olmadan iki parçanın gerçekten o kadar kullanışlı olmadığı göz önüne alındığında : bu durumda GPLed kodunu kullanıyorsam kaynakları hala serbest bırakmalıyım?
Cümlenizi

Ben GPL size yazılımı ile kod serbest gerektiğini söyledi istemem ama bir kişinin web sitemde gezinmeye eğer Ona programı vermem, emin değilim o edilmektedir: Son yorumuna cevaplamak için kullanıyor programımı , Bence farklı. GPL sen demiyor sahip programınızı serbest bırakmak için.
Fire-Dragon-DoL

1
@Jon Kaynağı sadece ikiliyi alan kişilere vermeniz gerekir; isteyen herkese değil. (Tabii ki, istedikleri kişiye verme hakkına sahipler, ancak bunu yapmanız gerekmiyor.)
Sean McMillan

3

Genel olarak konuşursak, projenizde herhangi bir yerde GPL kodu kullanıyorsanız ve projenizi yeniden dağıtırsanız (yani satarsanız veya başkalarına verirseniz), projenizin kaynak kodunu uyumlu olması için herkese açık olarak yayınlamanız gerekir. GPL lisansı.

Halka açık web sitenizi GPL kodu sunucu tarafını kullanarak bir hizmet olarak sağlıyorsanız, yeniden dağıtım olarak kabul edilmediğinden, iyi olabilirsiniz.

Tarayıcıdaki Javascript kodu benim için gri bir alan gibi görünüyor. Teknik olarak, GPL kodunu herkesin tarayıcısına yeniden dağıtırsınız, bu da kendi kaynağınızı serbest bırakma gereksinimini tetikler.

Düzenleme: Demek istediğim, şimdi ExtJS web sitesinin lisans SSS bölümünden metin ekleyeceğim . ExtJs, GPL altında lisanslanan bir Javascript çerçevesidir. Bu, lisansın çerçevelerine (italik madeni) göre nasıl çalıştığına dair yorumlarıdır:

Türetilmiş İşler
Bir yazılım programı GPLv3 kapsamında lisanslanan kodu çağırdığında, bu yazılım programı GPL'd kodunun türetilmiş bir çalışması haline gelir ve bu nedenle GPLv3 telif hakkı lisansına tabidir. Yazılım programı daha sonra bir kullanıcıya "aktarılırsa" GPLv3, söz konusu yazılım programına kaynak kodun da "aktarılmasını" gerektirir. Uygulamayı oluşturan tüzel kişilik dışındaki bir kullanıcı uygulamayı kullandığında, bir web uygulaması için "iletim" tetiklenir.

Yazılım Programının Tanımı
Geleneksel statik veya dinamik bağlantı yerine dahili iletişim için uzak ağ tabanlı hizmet arabirimleri kullanan günümüzün web mimarileri kullanılarak oluşturulan yazılım programları için, ilgili yazılım programı, uygulama kodunun toplamıdır; sunucu ve kod , sunucu kodunun uygulamaya entegre olması koşuluyla , istemcide yürütülür .

Örnek
Uygulamanın, JSON / HTTP üzerinden bir arka uç hizmetiyle iletişim kuran bir ön uca (Ext JS JavaScript'e bağlı web sayfaları üreten) sahip olduğunu varsayalım. Bu arka uç hizmeti, yalnızca bu uygulama için onay ve doğrulama mantığı içerir. Sadece ön uç Ext JS kodunu kullanan bile, ön ve arka uçlarının kombinasyonu uygulamasını teşkil ettiğini göz önünde bulundurmalıdır ve arka ve ön ucunda her ikisi için kaynak kodu GPLv3 altında uygulamanın son kullanıcılara sağlanacak gerekir eğer uygulama, GPLv3 lisansını Ext JS koduna sahip olan aynı tüzel kişiliğin parçası olmayan bir son kullanıcı tarafından kullanılır.


2
Bu yanlış, GPL bu şekilde çalışmaz. PHP kodunuzun çıktısına bir GPL'd JS dosyasına bağlantı eklemek PHP kodunuzu bir şekilde açık kaynak yapmaz.
user229044

@meager: Düzenlememi görün.
Robert Harvey

Bu tamamen yanlış görünüyor. Arka ucum GPL'd JS dosyalarını kullanan bir üçüncü taraf sitesine yönlendirilirse ne olur? Daha sonra tüm başvurumu açık kaynak yapmak zorunda mıyım? Bunun herhangi bir mahkemede geçerli olacağını sanmıyorum. Üzgünüm.
Rob

1

İstemci tarafı javascriptli bir web sitesi için, hala kodun sahibidir. Bu kodu alıp kendi kodunuz olarak kullanacak olsaydınız, muhtemelen IP ihlali olurdu. Sanırım onunla birlikte lisans eklemiyorlar mı bilmiyorum. Uygulanamayan sorunlar da var. Sanırım bir avukatla konuş, ama muhtemelen sana yararlı bir şey söylemeyecekler.

Farklı lisansları olan projeler karmaşıktır. Muhtemelen sunucu tarafı arka uçları da dahil olmak üzere diğer kütüphanelerle etkileşime giren GPL'd kodu, bunların GPL olmasını da gerektirir. LGPL ve BSD lisansı gibi diğer açık kaynak lisansları daha az katıdır.

Ve hayır, eğer php kodunuzu tekrar kullanmasını istemiyorsanız, bu GPL modeline uymuyor. Kodunuzu GPL altında bırakırsanız, kaynak kodu teslim etmek zorundasınız.

Yani birisi için bir web sitesi yapıyor gibi görünüyor ve kodunuzu kimseye vermek istemiyorsunuz. Neden hiç açık kaynağa bakıyorsunuz? Açık kaynaksa, kodu veriyorsunuz.


Şu anda hiçbir şey satmıyorum, sadece bunu soruyorum çünkü bir web sitesini 2 farklı parça, istemci web sitesi ve sunucu web sitesi olarak düşünüyorum. Birinci kısım serbestken, ikinci kısım serbesttir. Bir web sitesi "açık kaynak" ise, sunucu tarafı kaynak kodunu serbest bırakmalı mısınız? Biraz zor buluyorum, güvenlik üzerinde felaketler yaratacak!
Fire-Dragon-DoL

2
Bu doğru değil. Bir projenin bir kısmı GPL ise, tüm proje bir GPL uyumlu lisans altında serbest bırakılmalıdır (hepsinin aynı program olarak kabul edildiği ve parçalara ayrılamayacağı varsayılarak). Ve GPL olmak onu satmanızı engellemez, sadece kaynağa herhangi bir ikili dosya sağlamalısınız ve daha fazla yeniden dağıtmayı kısıtlayamazsınız.
KeithB

Web sitesi sunucu tarafı kodu olmadan çalışabilir, yani, javascript sadece json biçiminde veriler içeren bazı php sayfaları çağırıyor. Diğer insanlar müşteri tarafı ile bir web sitesi oluşturabilir, ancak veri sağlamaları gerekir. Bu durumda javascript "php" kodu (ama tersi değil) çağırıyor sanırım. Bu durumda, GPL'yi ihlal ediyor muyum?
Fire-Dragon-DoL

@KeithB ACK! Haklısın. GTK ve SDL'yi düşünüyordum, ama bunlar LGPL. Teşekkürler.
Philip

Yea LPGL iyi bir lisans, bu arada GPL'yi anlamak istiyorum çünkü ... iyi, bence anlamak daha zor
Fire-Dragon-DoL
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.