Pendeknya:
- OpenJDK memiliki banyak arti dan dapat merujuk ke:
- implementasi bebas dan open source dari Platform Java, Edisi Standar (Java SE)
- repositori open source - kode sumber Java alias proyek OpenJDK
- binari OpenJDK prebuilt yang dikelola oleh Oracle
- binari OpenJDK prebuilt yang dikelola oleh komunitas OpenJDK
- AdoptOpenJDK - binari OpenJDK prebuilt dikelola oleh komunitas ( open source berlisensi )
Penjelasan:
Prebuilt OpenJDK (atau distribusi) - binari, dibangun dari http://hg.openjdk.java.net/ , disediakan sebagai arsip atau pemasang, yang ditawarkan untuk berbagai platform, dengan kemungkinan kontrak dukungan.
OpenJDK, repositori sumber (juga disebut proyek OpenJDK ) - adalah repositori open source berbasis Mercurial , yang dihosting di
http://hg.openjdk.java.net . Kode sumber Java. Sebagian besar fitur Java (dari VM dan pustaka inti ke kompiler) hanya didasarkan pada repositori sumber ini. Oracle memiliki garpu pengganti untuk ini.
OpenJDK, distribusinya (lihat daftar penyedia di bawah ini) - gratis seperti bir dan jenis gratis seperti dalam pidato , tetapi, Anda tidak bisa memanggil Oracle jika Anda memiliki masalah dengan itu. Tidak ada kontrak dukungan. Selain itu, Oracle hanya akan merilis pembaruan untuk versi OpenJDK (distribusi) jika rilis itu adalah rilis Java terbaru, termasuk rilis LTS (dukungan jangka panjang). Pada hari Oracle merilis OpenJDK (distribusi) versi 12.0, bahkan jika ada masalah keamanan dengan OpenJDK (distribusi) versi 11.0, Oracle tidak akan merilis pembaruan untuk 11.0. Dikelola sepenuhnya oleh Oracle.
Beberapa proyek OpenJDK - seperti OpenJDK 8 dan OpenJDK 11 - dikelola oleh komunitas OpenJDK dan menyediakan rilis untuk beberapa versi OpenJDK untuk beberapa platform. Anggota masyarakat telah mengambil tanggung jawab untuk merilis perbaikan untuk kerentanan keamanan dalam versi OpenJDK ini.
AdoptOpenJDK, distribusinya sangat mirip dengan distribusi OpenJDK Oracle (dalam hal ini gratis, dan itu adalah build yang diproduksi dengan mengkompilasi sumber dari repositori sumber OpenJDK). AdoptOpenJDK sebagai entitas tidak akan membuat backport patch, yaitu tidak akan ada 'fork / versi' AdoptOpenJDK yang secara material berbeda dari hulu (kecuali untuk beberapa patch skrip build untuk hal-hal seperti dukungan Win32). Artinya, jika anggota komunitas (Oracle atau yang lain, tetapi bukan AdoptOpenJDK sebagai entitas) perbaikan keamanan backport ke pembaruan versi OpenJDK LTS, maka AdoptOpenJDK akan menyediakan pembangunan untuk itu. Dikelola oleh komunitas OpenJDK.
OracleJDK - adalah distribusi lain. Dimulai dengan JDK12 tidak akan ada versi gratis dari OracleJDK. Tawaran distribusi JDK Oracle ditujukan untuk dukungan komersial. Anda membayar untuk ini, tetapi kemudian Anda bisa mengandalkan Oracle untuk dukungan. Tidak seperti penawaran OpenJDK Oracle, OracleJDK hadir dengan dukungan yang lebih lama untuk versi LTS. Sebagai pengembang, Anda bisa mendapatkan lisensi gratis untuk penggunaan pribadi / pengembangan hanya dari JDK khusus ini, tetapi itu sebagian besar ikan haring merah, karena 'hanya biner' pada dasarnya sama dengan biner OpenJDK. Saya kira itu berarti Anda dapat mengunduh versi JDK LTS yang ditambal keamanan dari situs web Oracle selama Anda berjanji untuk tidak menggunakannya secara komersial.
Catatan . Mungkin yang terbaik untuk menyebut build OpenJDK oleh Oracle adalah "Oracle OpenJDK builds".
Donald Smith, manajer produk Java di Oracle menulis :
Idealnya, kami hanya merujuk ke semua bangunan Oracle JDK sebagai "Oracle JDK", baik di bawah GPL atau lisensi komersial, tergantung pada situasi Anda. Namun, untuk alasan historis, sementara perbedaan kecil yang tersisa ada, kami akan merujuk mereka secara terpisah sebagai OpenJDK Oracle dan Oracle JDK.
Penyedia dan Perbandingan OpenJDK
-------------------------------------------------- --------------------------------------
| Penyedia | Pembuatan Gratis | Biner Gratis | Extended | Komersial | Permisif |
| | dari Sumber | Distribusi | Pembaruan | Dukungan | Lisensi |
| ------------------------------------------------- ------------------------------------- |
| AdoptOpenJDK | Ya | Ya | Ya | Tidak | Ya |
| Amazon - Corretto | Ya | Ya | Ya | Tidak | Ya |
| Azul Zulu | Tidak | Ya | Ya | Ya | Ya |
| BellSoft Liberica | Tidak | Ya | Ya | Ya | Ya |
| IBM | Tidak | Tidak | Ya | Ya | Ya |
| jClarity | Tidak | Tidak | Ya | Ya | Ya |
| OpenJDK | Ya | Ya | Ya | Tidak | Ya |
| Oracle JDK | Tidak | Ya | Tidak ** | Ya | Tidak |
| Oracle OpenJDK | Ya | Ya | Tidak | Tidak | Ya |
| ojdkbuild | Ya | Ya | Tidak | Tidak | Ya |
| RedHat | Ya | Ya | Ya | Ya | Ya |
| SapMachine | Ya | Ya | Ya | Ya | Ya |
-------------------------------------------------- --------------------------------------
Bangun Gratis dari Sumber - kode sumber distribusi tersedia untuk umum dan orang dapat mengumpulkan bangunannya sendiri
Distribusi Biner Gratis - binari distribusi tersedia untuk umum untuk diunduh dan digunakan
Perpanjangan Pembaruan - alias LTS (dukungan jangka panjang) - Pembaruan Publik di luar siklus rilis 6 bulan
Dukungan Komersial - beberapa penyedia menawarkan pembaruan terkini dan dukungan pelanggan kepada pelanggan yang membayar, misalnya Oracle JDK ( detail dukungan )
Lisensi Permisif - lisensi distribusi tidak protektif, mis. Apache 2.0
Distribusi Java mana yang harus saya gunakan?
Pada zaman Sun / Oracle, biasanya Sun / Oracle yang memproduksi distribusi JDK hilir milik berdasarkan sumber OpenJDK. Baru-baru ini, Oracle telah memutuskan untuk melakukan pembangunan sendiri hanya dengan dukungan komersial terlampir. Mereka dengan ramah mempublikasikan bangunan OpenJDK di situs https://jdk.java.net/ mereka .
Apa yang terjadi mulai JDK 11 adalah pergeseran dari pola pikir vendor tunggal (Oracle) ke pola pikir di mana Anda memilih penyedia yang memberi Anda distribusi untuk produk, di bawah kondisi yang Anda sukai: platform yang mereka bangun, frekuensi dan kecepatan rilis. , bagaimana dukungan terstruktur, dll. Jika Anda tidak mempercayai vendor yang ada, Anda bahkan dapat membangun OpenJDK sendiri.
Setiap build OpenJDK biasanya dibuat dari repositori sumber upstream asli yang sama (OpenJDK "the project"). Namun setiap build cukup unik - $ gratis atau komersial, bermerek atau tidak bermerek, murni atau dibundel (misalnya, BellSoft Liberica JDK menawarkan JavaFX yang dibundel, yang telah dihapus dari build Oracle mulai JDK 11).
Jika tidak ada lingkungan (misalnya, Linux) dan / atau persyaratan lisensi menentukan distribusi tertentu dan jika Anda menginginkan JDK build paling standar , maka mungkin pilihan terbaik adalah menggunakan OpenJDK oleh Oracle atau AdoptOpenJDK.
Informasi tambahan
Saatnya melihat melampaui JDK Oracle oleh Stephen Colebourne
Java Masih Gratis oleh komunitas Java Champions (diterbitkan pada 17 September 2018)
Java masih gratis 2.0.0 oleh komunitas Java Champions (diterbitkan pada 3 Maret 2019)
Aleksey Shipilev tentang JDK memperbarui wawancara dengan Opsian (diterbitkan pada 27 Juni 2019)