OpenJDK'yı GPL tarafından izin verilen tescilli bir uygulama ile donatmak?


16

Şu anda Java'da Steam aracılığıyla dağıtılacak bir video oyunu yapıyorum. Tabii ki, birçok Steam kullanıcısında bu durumda zaten Java yüklü değil. Bu durumda, kullanıcıya Java'yı yüklemeleri gerektiğini bildiren bilgilendirici bir diyalog gösteren küçük bir yerel başlatıcı olabilir veya sadece kendi Java çalışma ortamımı (özellikle OpenJDK 8) oyunumla birlikte paketleyebilirim. Oyunum kapalı kaynak olacak, ancak açık kaynak kodlu (BSD lisanslı) bir oyun motoruna dayanıyor.

OpenJDK lisansına baktım. Bu bir GPL projesidir, bu da ona bağlanan her şeyin GPL olması gerektiği anlamına gelir. Ancak, sınıf yolu istisnası da vardır. Bağlama bölüm geçerli olup olmadığından emin değilim çünkü kodum daha fazla veya paketlemeden ona bağlanmadı. Bildiğim kadarıyla, sınıf yolu istisnası bu kullanım durumunu kapsamaz.

Bir yoktur Yığın taşması benzer soru ancak bir uygulama OpenJDK ile geliştirilen durumlara işaret etmektedir ki ben OpenJDK ile dağıtarak bahsediyorum.


4
OpenJDK lisansını okudunuz veya benzer sorular mı arıyorsunuz? Bu soru konuyla ilgilidir çünkü kendi yazılımınızı lisanslamakla ilgilidir: ancak araştırmanızı paylaşmak daha iyi cevaplar sağlayacaktır.

Evet bende var. Soruyu bunu yansıtacak şekilde düzenledim.
john01dav


Bu soruyu okudum ve cevapları. Benzer bir konuda olmaktan başka, bu soru ile gerçekten nasıl ilgili olduğundan emin değilim.
john01dav

OpenJDK olmalı mı? Bazı diğer Java çalışma zamanları, dağıtımınıza GPL terimleri eklemeden ikili çalışma zamanlarının dağıtımına izin verebilir. Bkz. Örneğin java.com/en/download/faq/distribution.xml
Brandin

Yanıtlar:


5

Bu, özellikle Oracle'ın Java 9, 10 ve 11 ile başlayan lisans ve dağıtım anlaşmalarını değiştirdiğini düşündüğünüzde önemli bir sorudur.

JDK -> Java Geliştirme Kiti.

JDK'lar bir 'çalışma zamanı' dağıtımı değildir - JDK, paketin parçası olarak bir çalışma zamanı içeren bir geliştiricinin dağıtımıdır. JDK'lar geliştirici tarafından 'serbestçe dağıtılamaz', geliştiriciye lisanslanır. JDK'nız için EULA'yı okursanız, yeniden dağıtımla ilgili kısıtlamalarla geldiğini göreceksiniz.

JRE -> Java Çalışma Zamanı Motoru.

JRE için EULA'ya bağlı kalmanız koşuluyla, çalışma zamanlarını (neredeyse her zaman) indirmek ve dağıtmak ücretsizdir.

JDK'lar ve JRE'ler, ayrı ve birbirlerinden bağımsız olarak lisanslanır ve dağıtılır.

Son olarak, bir JDK'nın 'parçalarını' veya bileşenlerini dağıtmanıza izin verilmediğini bilmeniz gerekir - bu, JRE'yi yüklü JDK'nızdan ayıklamanız ve ayrı olarak dağıtmanız veya paketlemeniz gerektiği anlamına gelir.

En iyi uygulama, geliştirmeyi dağıtımdan ayırmaktır.

  • Bir JDK ve projeyi dağıtırsınız
  • Dağıtım bir JRE'ye bağımlı

-1

Lisansta okuduğumdan programı özgürce dağıtabilirsiniz, hatta dağıtmak için ücretlendirebilirsiniz.

Ancak bir Java oyununu serbest bırakma konusunda kişisel deneyime sahip olduğum için (ödenmemiş olsa da), kullanıcıya dağıtım kaynaklarında Java Runtime Environment'un gerekli olduğunu (veya Java indirmesine bir bağlantı verin) veya uygulamanın olduğunu söylemenin daha iyi olduğunu düşünüyorum kullanıcıya bir hata verin.


2
Eğer bazı nedenlerle verebilir neden kullanıcı indir iyi olabilir icar?
ziggystar

3
Yüklü (çoklu) JRE'lerim var; her uygulama paketi 150 + MB "her ihtimale karşı" bana oldukça anlamsız görünüyor. Ayrıca, uygulamaya özgü bir JRE'ye sahip olmak şu gibi sorunlara yol açar: "JRE'mde bu ince ayarlar var, neden SİZİN uygulamanızda çalışmıyor?" stackoverflow.com/a/21417887/19746
Piskvor binadan ayrıldı
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.