Kısacası:
- OpenJDK'nın birden çok anlamı vardır ve aşağıdakilere başvurabilir:
- Java Platform, Standard Edition'ın (Java SE) ücretsiz ve açık kaynak uygulaması
- açık kaynak deposu - Java kaynak kodu aka OpenJDK projesi
- Oracle tarafından sağlanan önceden oluşturulmuş OpenJDK ikili dosyaları
- OpenJDK topluluğu tarafından tutulan önceden oluşturulmuş OpenJDK ikili dosyaları
- AdoptOpenJDK - topluluk tarafından sağlanan önceden oluşturulmuş OpenJDK ikili dosyaları ( açık kaynak lisanslı )
Açıklama:
Önceden oluşturulmuş OpenJDK (veya dağıtım) - http://hg.openjdk.java.net/ adresinden oluşturulan , arşiv veya yükleyici olarak sağlanan ve çeşitli platformlar için olası bir destek sözleşmesiyle sunulan ikili dosyalar .
OpenJDK, kaynak deposu (diğer adıyla OpenJDK projesi ) - Bir olan Mercurial barındırılan açık kaynak deposu, tabanlı
http://hg.openjdk.java.net . Java kaynak kodu. Java özelliklerinin büyük çoğunluğu (VM ve çekirdek kütüphanelerden derleyiciye kadar) yalnızca bu kaynak deposuna dayanır. Oracle'ın bunun alternatif bir çatalı var.
OpenJDK, dağıtım (aşağıda sağlayıcılarının listesine bakın) - olduğu bira gibi serbest ve tür konuşmada serbest Eğer onunla sorunları varsa Oracle aramaya alamadım, ama. Destek sözleşmesi yoktur. Ayrıca, Oracle, herhangi bir OpenJDK (dağıtım) sürümüne yönelik güncellemeleri yalnızca LTS (uzun süreli destek) sürümleri de dahil olmak üzere en son Java sürümü ise yayınlar. Oracle'ın OpenJDK (dağıtım) sürüm 12.0'ı çıkardığı gün, OpenJDK (dağıtım) sürüm 11.0'da bir güvenlik sorunu olsa bile, Oracle 11.0 için bir güncelleştirme yayınlamaz. Yalnızca Oracle tarafından korunur.
OpenJDK 8 ve OpenJDK 11 gibi bazı OpenJDK projeleri OpenJDK topluluğu tarafından sürdürülür ve bazı platformlar için bazı OpenJDK sürümleri için sürümler sağlar. Topluluk üyeleri, bu OpenJDK sürümlerinde güvenlik açıkları için düzeltmeler yayınlama sorumluluğunu üstlenmiştir.
AdoptOpenJDK, dağıtım Oracle'ın OpenJDK dağıtımına çok benzer (ücretsiz olması ve OpenJDK kaynak deposundan kaynakların derlenmesi ile üretilen bir derleme). Bir varlık olarak AdoptOpenJDK, backporting yamaları olmayacaktır, yani, yukarı akıştan önemli ölçüde farklı bir AdoptOpenJDK 'fork / version' olmayacaktır (Win32 desteği gibi şeyler için bazı komut dosyası yamaları hariç). Yani, topluluk üyeleri (Oracle veya diğerleri, ancak bir varlık olarak AdoptOpenJDK değil) OpenJDK LTS sürümlerinin güncellemelerine güvenlik düzeltmeleri yaparsa, AdoptOpenJDK bunlar için derlemeler sağlar. OpenJDK topluluğu tarafından sürdürülür.
OracleJDK - başka bir dağıtımdır. JDK12 ile başlayarak OracleJDK'nin ücretsiz sürümü olmayacaktır. Oracle'ın JDK dağıtım teklifi ticari destek amaçlıdır. Bunun için ödeme yaparsınız, ancak destek için Oracle'a güvenirsiniz. Oracle'ın OpenJDK teklifinin aksine, OracleJDK, LTS sürümleri için daha uzun destekle birlikte gelir. Bir geliştirici olarak, sadece bu belirli JDK'nın kişisel / geliştirme kullanımı için ücretsiz bir lisans alabilirsiniz, ancak 'sadece ikili' temelde OpenJDK ikili ile aynı olduğu için çoğunlukla kırmızı bir ringa balığı. Sanırım ticari olarak kullanmayacağınıza söz verdiğiniz sürece, LTS JDK'ların güvenlik yamalı sürümlerini Oracle'ın web sitelerinden indirebilirsiniz.
Not . Oracle tarafından OpenJDK yapılarını "Oracle OpenJDK yapıları" olarak adlandırmak en iyisi olabilir.
Oracle'ın Java ürün yöneticisi Donald Smith şunları yazıyor :
İdeal olarak, tüm Oracle JDK yapılarına, durumunuza bağlı olarak GPL veya ticari lisans altında "Oracle JDK" olarak atıfta bulunuruz. Ancak, tarihsel nedenlerden dolayı, kalan küçük farklar mevcut olsa da, bunlara ayrı ayrı Oracle'ın OpenJDK derlemeleri ve Oracle JDK olarak değineceğiz.
OpenJDK Sağlayıcıları ve Karşılaştırma
-------------------------------------------------- --------------------------------------
| Sağlayıcı | Ücretsiz Yapılar | Ücretsiz İkili | Genişletilmiş | Ticari | İzin verici |
| | Kaynak | Dağıtımlar | Güncellemeler | Destek | Lisansı |
| ------------------------------------------------- ------------------------------------- |
| AdoptOpenJDK | Evet | Evet | Evet | Hayır | Evet |
| Amazon - Corretto | Evet | Evet | Evet | Hayır | Evet |
| Azul Zulu | Hayır | Evet | Evet | Evet | Evet |
| BellSoft Liberica | Hayır | Evet | Evet | Evet | Evet |
| IBM | Hayır | Hayır | Evet | Evet | Evet |
| jClarity | Hayır | Hayır | Evet | Evet | Evet |
| OpenJDK | Evet | Evet | Evet | Hayır | Evet |
| Oracle JDK | Hayır | Evet | Hayır ** | Evet | Hayır |
| Oracle OpenJDK | Evet | Evet | Hayır | Hayır | Evet |
| ojdkbuild | Evet | Evet | Hayır | Hayır | Evet |
| RedHat | Evet | Evet | Evet | Evet | Evet |
| SapMachine | Evet | Evet | Evet | Evet | Evet |
-------------------------------------------------- --------------------------------------
Kaynaktan Ücretsiz Yapılar - dağıtım kaynak kodu herkese açıktır ve kendi yapısını oluşturabilir
Ücretsiz İkili Dağıtımlar - dağıtım ikili dosyaları karşıdan yüklenebilir ve kullanılabilir
Genişletilmiş Güncellemeler - aka LTS (uzun vadeli destek) - 6 aylık sürüm yaşam döngüsünün ötesinde Herkese Açık Güncellemeler
Ticari Destek - bazı sağlayıcılar Oracle JDK gibi ücretli müşterilere genişletilmiş güncellemeler ve müşteri desteği sunar ( destek ayrıntıları )
İzinli Lisans - dağıtım lisansı koruyucu değildir, örneğin Apache 2.0
Hangi Java Dağıtımını Kullanmalıyım?
Sun / Oracle günlerinde, genellikle Sun / Oracle, OpenJDK kaynaklarına dayanan tescilli aşağı akış JDK dağıtımlarını üretiyordu. Son zamanlarda Oracle, yalnızca ticari destek ekleyerek kendi tescilli yapılarını yapmaya karar vermişti. OpenJDK yapılarını https://jdk.java.net/ sitesinde de nezaketle yayınlıyorlar .
JDK 11'i başlatan şey, tek tedarikçi (Oracle) zihniyetinden, istediğiniz koşullar altında size ürün için bir dağıtım sağlayan bir sağlayıcı seçtiğiniz zihniyete geçiştir: oluşturdukları platformlar, sürümlerin sıklığı ve çabukluğu Mevcut satıcılardan hiçbirine güvenmiyorsanız, OpenJDK'yı kendiniz de oluşturabilirsiniz.
Her OpenJDK derlemesi genellikle aynı orijinal yukarı akış kaynak deposundan (OpenJDK “proje”) yapılır. Bununla birlikte, her yapı oldukça benzersizdir - ücretsiz veya ticari, markalı veya markasız, saf veya paketlenmiş (örn. BellSoft Liberica JDK, JDK 11'den başlayarak Oracle derlemelerinden kaldırılmış paketlenmiş JavaFX sunar).
Hiçbir ortam (ör. Linux) ve / veya lisans gereksinimi belirli bir dağıtım tanımlamazsa ve en standart JDK derlemesini istiyorsanız, muhtemelen en iyi seçenek OpenJDK'yı Oracle veya AdoptOpenJDK ile kullanmaktır.
Ek bilgi
Stephen Colebourne'un Oracle JDK'sının ötesine bakma zamanı
Java Şampiyonlar topluluğu tarafından Java Hala Ücretsiz (17 Eylül 2018'de yayınlandı)
Java, Champions Champions topluluğu tarafından Hala Ücretsiz 2.0.0 (3 Mart 2019'da yayınlandı)
Aleksey Shipilev , JDK'nın Opsian tarafından yaptığı röportaj hakkında (27 Haziran 2019'da yayınlandı)