Perdebatan tentang relevansi Jawa terus berlanjut. Ada yang mengatakan bahwa itu menjadi usang dan bahasa yang lebih maju menggantikannya. Lainnya tidak setuju, mengutip jumlah spesialis yang memilih Jawa dari tahun ke tahun sebagai keterampilan inti mereka. Bagaimanapun, seseorang tidak dapat mengabaikan fakta bahwa sebagian besar perangkat lunak yang ada ditulis dalam Java, dan pelanggan, baik internal maupun eksternal, terus menggunakannya. Dalam situasi ini, implementasi baru dan berita global tentang Jawa tidak boleh dihindari.
Peter Verhas , pengembang perangkat lunak utama dan arsitek di kantor EPAM Swiss, membagikan analisisnya tentang perubahan yang diperkenalkan Oracle dan bagaimana pengaruhnya terhadap kita.
Ada banyak perubahan di Jawa akhir-akhir ini, dan tampaknya cara bahasa akan berkembang telah berubah secara mendasar. Ada baiknya fitur baru muncul dalam bahasa. Tapi ini bukan satu-satunya perubahan. Oracle telah membuat perubahan signifikan pada model dukungan dan siklus pembaruan versi Java yang dirilis perusahaan ini. Semua ini menyebabkan banyak kebingungan yang disebabkan oleh perubahan, kesalahan informasi, dan kesalahpahaman. Dalam artikel ini, saya merangkum semua yang perlu diketahui pengguna tentang inovasi sebelum mereka mulai percaya pada akhir apokaliptik ekosistem Jawa.
Namun, beberapa poin perlu diklarifikasi terlebih dahulu.
Oracle memiliki Java, tetapi Java bukan Oracle. Kode sumber Java dirilis di bawah lisensi GPLv2.0 dengan pengecualian classpath. Bahkan, ini berarti bahwa siapa pun dapat menggunakan dan membuat perubahan pada kode sumber bahasa secara gratis. Hanya ada satu hal yang dilarang oleh semua orang, termasuk Oracle, yaitu: membuat perubahan pada kode dan menerbitkannya dengan lisensi sumber tertutup. Ini berarti bahwa penggunaan komersial Java, hanya versi berbayar, secara hukum tidak mungkin, bahkan jika kepentingan pemasaran atau bisnis Oracle memerlukannya. Tapi saya masih spesialis teknis. Untuk mengatasi masalah ini, 100% terbaik untuk mengunduh teks lisensi GPLv2 dan berkonsultasi dengan pengacara.
Oracle bukan satu-satunya perusahaan yang merilis perangkat Java dan terlibat dalam dukungan, ada banyak vendor lain. Tentu saja, Oracle, sebagai pemain utama yang berinvestasi paling besar dalam pengembangan bahasa dan alat, adalah perusahaan komersial paling bergengsi untuk mendukungnya.
Bahkan, Oracle tidak memiliki hak eksklusif tidak hanya untuk kode sumber Java. Proses pengembangan, perubahan dalam definisi Java, API - semua ini ada di tangan Java Community Process, siapa pun dapat masuk ke dalamnya. Untuk individu, ini sepenuhnya gratis. Anggota grup ini adalah perusahaan seperti Intel, IBM, Credit Suisse, Software AG, RedHat. Mereka menentukan masa depan Jawa, bukan Oracle. Dan mereka punya pendapat sendiri, seperti yang bisa kita lihat terakhir kali ketika persetujuan versi final JPMS tidak berjalan dengan lancar.
Setelah pengantar ini, di mana kami memutuskan bahwa Oracle "memiliki" Java, tetapi bukan Java, mari kita lihat perubahan dalam prosedur dukungan pengembangan dan peta jalan Java yang diperkenalkan Oracle.
Perubahan setelah Java 9, 10, 11
Oracle mengumumkan bahwa mulai dengan JDK11, Oracle JDK tidak akan lagi gratis. Dan pada awalnya pernyataan ini menakutkan. Apa yang biasa kita gunakan secara gratis tidak akan lagi seperti itu. Dalam praktiknya, apa yang βharus kita bayarβ hampir masuk akal. Tetapi kata "hampir" kecil itu ada karena suatu alasan. Jika ada beberapa layanan yang kami gunakan, dan sudah tidak lagi gratis, kami memiliki dua opsi: membayar untuk menggunakannya nanti, atau tidak menggunakannya lagi. Haruskah kita terus menggunakan Oracle JDK atau bisakah kita beralih ke yang lain? Itu pertanyaan sesungguhnya.
Untuk menjawabnya, Anda perlu memahami apa itu Oracle JDK dan alternatif apa yang ada. Perubahan signifikan lainnya menyangkut siklus rilis versi baru dan konsep dukungan jangka panjang (Eng. - Dukungan Jangka Panjang atau LTS). Pertama, kita akan membahas perubahan dalam siklus rilis, lalu kebingungan dengan Open JDK, dan akhirnya, struktur LTS.
Lepaskan Siklus
Jawa muncul pada tahun 1996. Beberapa versi pertama Java keluar lebih atau kurang secara teratur.

Namun, melihat diagram, kita melihat bahwa versi Java 5.0 tertunda. Java 6 juga tidak terburu-buru untuk versi sebelumnya, dan jeda terbesar adalah antara Java 6 dan Java 7. Bahkan setelah itu, versi baru tidak sering dirilis. Java 8 menerima banyak fitur baru, tetapi dengan biaya dua tahun menunggu. Hal yang serupa dengan Java 9, yang, meskipun telah mengalami perubahan yang bahkan lebih besar, terpaksa menunggu selama tiga tahun penuh.
Masalah dengan siklus rilis pembaruan tersebut adalah bahwa bahasa yang bersaing dalam pasar bahasa yang terus berkembang tidak dapat menghadirkan fitur baru dengan cukup cepat. Jika dibutuhkan tiga tahun untuk mengembangkan sistem modular, maka tidak ada yang dapat mempercepat prosesnya. Namun, beberapa hal yang muncul di Java 9 mungkin telah dirilis sebelumnya. Tetapi mereka tidak bisa sampai ke pengembang, karena tidak ada rilis sebelumnya. Fungsi-fungsi yang sudah tersedia seharusnya menunggu munculnya fungsi yang paling lambat dikembangkan dalam rilis ini. Ini adalah salah satu masalah dari model pengembangan cascading klasik.
Oracle memutuskan untuk menjadi gesit dan membuat versi setiap enam bulan. Mulai September 2017, rilis Java baru dapat diharapkan pada bulan Maret dan September. Jika beberapa fungsi tidak siap untuk tanggal ini, itu akan ditransfer ke rilis berikutnya, tetapi sisanya, karena mereka siap, akan jatuh ke yang paling segar.
Secara umum, ini normal. Di satu sisi, komunitas dan pengembang Java harus senang dengan hal ini. Di sisi lain, pertanyaan tentang dukungan tetap ada. Siapa yang dapat mendukung banyak versi Java? Itulah mengapa dukungan jangka panjang (LTS) diperkenalkan, yang akan kita bicarakan segera. Tetapi pertama-tama, Anda masih perlu mengklarifikasi apa itu Oracle JDK dan OpenJDK.
Apa yang menjadi dan menjadi Oracle JDK dan OpenJDK
Hingga Java 9, ada rilis biner Java Java, Oracle (Sun Microsystems), yang digunakan dalam lingkungan produksi oleh sebagian besar pengembang dan perusahaan. Biner ini didasarkan pada Java open source dan berisi beberapa perbaikan - alat perusahaan tambahan seperti Java Flight Recorder, Java Mission Control dan beberapa fitur lain seperti Application Class-Data Sharing.
Rakitan OpenJDK dibuat dari Java open source, di mana tidak ada perbaikan. Perakitan Java ini digunakan oleh mereka yang ingin bereksperimen dengan properti Java, mengubah kode, atau hanya karena alasan apa pun penganut kode sumber terbuka. Meskipun Anda harus mengunduh kode sumber dan mengompilasinya sendiri.
Dimulai dengan Java 9, Oracle mulai menyediakan OpenJDK secara paralel dengan Oracle JDK. Perusahaan juga mengumumkan bahwa mereka ingin mempersempit kesenjangan antara fitur, kinerja, dan stabilitas kedua versi, dan begitu itu terjadi, membuat Oracle JDK dibayar. Pada saat itu, baik OpenJDK dan Oracle JDK tersedia secara gratis sebagai perangkat biner dari Oracle. Ini adalah Java 9 dan Java 10.
Setelah rilis Java 11, ini berhenti. OpenJDK masih tersedia secara gratis, tetapi Oracle JDK untuk sistem produksi telah dibayar. Tidak ada lagi perbedaan yang signifikan antara kedua versi. Versi komersial memiliki installer, sementara OpenJDK hanya memiliki file ZIP. Ada perbedaan lain, tetapi pengguna Java tidak harus memperhatikan mereka. Daftar perbedaan teknis yang terperinci dijelaskan oleh Donald Smith, direktur senior manajemen produk di Oracle dalam
artikel ini .
Selain itu, Oracle JDK masih gratis untuk pengguna lain, bahkan komersial. Oracle JDK dapat digunakan secara bebas untuk:
β’ pengembangan
β’ pengujian
β’ prototyping
β’ demonstrasi
Anda dapat menggunakan OpenJDK untuk tujuan lain atau membayar Oracle dan menggunakan Oracle JDK dan mendapatkan dukungan. Dukungan bagus.
Rilis Dukungan Jangka Panjang
Transisi ke siklus rilis versi baru setiap enam bulan menimbulkan pertanyaan tentang dukungan. Tidak ada yang dapat mendukung begitu banyak versi untuk keuntungan mereka sendiri. Jika Anda menginstal Java 6 untuk aplikasi Anda pada 2007, Anda bisa mendapatkan dukungan dari Oracle dalam 11 tahun. Rilis versi baru setiap enam bulan menyiratkan dukungan 22 versi berbeda secara bersamaan. Ini akan menjadi beban berat bagi Oracle atau vendor lain yang memutuskan untuk mendukung semua rilis.
Strategi Oracle adalah mengidentifikasi satu rilis setiap tiga tahun yang akan menerima dukungan jangka panjang. Rilis pertama tersebut adalah Java 11, dan akan didukung hingga 2026. Selama waktu ini, Java 17 juga akan dirilis pada bulan September 2021, yang akan menerima dukungan tujuh tahun jangka panjang, sejalan dengan rencana saat ini. Semua rilis fungsional yang disebut lainnya hanya akan didukung hingga rilis versi berikutnya.

Harap dicatat bahwa dukungan hanya berlaku untuk Oracle JDK dan hanya untuk mereka yang telah membayar untuk JDK dan dukungan. Tetapi jangan berpikir bahwa Anda dibiarkan bergantung pada nasib jika Anda berencana untuk menggunakan OpenJDK. Bagi kami, tidak ada yang berubah. Jika Anda tidak membayar untuk dukungan sebelumnya, Anda tetap tidak menerimanya. Jika Anda membayar, maka Anda akan terus membayar dan mendapatkan dukungan ini.
Berikut ini tautan ke artikel Oracle dengan prakiraan akhir masa pakai untuk berbagai versi.
Akankah ada versi baru untuk OpenJDK? Tentu saja Sebelumnya, pembaruan open source Java dirilis bug yang diperbaiki, meskipun tidak ada jaminan bahwa mereka akan dirilis. Ini terjadi hanya karena semua peserta tertarik pada ini. Di masa depan, semuanya akan tetap seperti sebelumnya, Java akan menerima versi baru, rakitan baru.
Saya melihat tiga strategi utama untuk memilih versi Java mana yang terbaik untuk dipasang:
- Bayar Oracle untuk Oracle JDK dan berlangganan, dan gunakan rilis dengan dukungan jangka panjang. Inilah yang harus dilakukan oleh perusahaan komersial besar yang menggunakan infrastruktur Java untuk memenuhi persyaratan keandalan.
- Beralihlah ke OpenJDK, gunakan hanya rilis dengan dukungan jangka panjang, dan instal versi perbaikan bug yang tersedia untuk OpenJDK. Ini adalah solusi yang layak untuk perusahaan yang tidak dapat atau tidak ingin mengubah biaya infrastruktur Jawa, dapat melakukannya tanpa dukungan komersial di masa lalu dan percaya bahwa mereka juga dapat dalam jangka panjang.
- Beralihlah ke OpenJDK dan instal rilis berikutnya setiap enam bulan segera setelah muncul. Ini adalah opsi untuk perusahaan yang membutuhkan solusi teknologi terbaru.
Strategi juga dapat dikombinasikan dengan menginstal berbagai versi Java pada mesin yang berbeda. Apa pun yang Anda pilih, Anda dapat mengunduh versi pra-bangun biner dari situs-situs berikut:
- Versi biner dari OpenJDK pra-bangun adoptopenjdk.net
- Oracle JDK tersedia di java.oracle.com . Di sini Anda dapat mengklik Java SE 11 untuk membuka halaman unduhan dan membuka tombol unduh. Ada peringatan kuning besar pada halaman, Anda juga harus mengklik perjanjian dengan persyaratan lisensi sebelum tautan unduhan tersedia. Dan kali ini, lebih baik untuk benar-benar membaca persyaratan, dan tidak hanya setuju secara otomatis.
Meskipun ini bukan unduhan biner, ini terkait erat dengan mengunduh Oracle JDK - Anda juga dapat mengunjungi
www.oracle.com/java/java-se-subscription.html untuk mendapatkan Oracle JDK dan dukungan dalam satu paket. Informasi harga terperinci tersedia di
www.oracle.com/us/corporate/pricing/price-lists/java-se-subscription-pricelist-5028356.pdf . Untuk yang tidak sabar, saya menyalin di sini informasi harga dari FAQ Oracle resmi:
βBiaya versi desktop adalah $ 2,50 per pengguna per bulan, atau lebih rendah jika ada diskon volume multi-level. Lihat Bagan Harga Langganan Oracle Java SE untuk informasi lebih lanjut. "Ringkasan
Apa yang kamu lakukan Gunakan OpenJDK atau bayar untuk Oracle JDK? Ini adalah pertanyaan tentang keuntungan dan seberapa penting dukungan Oracle bagi Anda. Jika bisnis Anda tidak mampu mendapatkan dukungan Oracle JDK, karena Anda adalah startup, bintang yang sedang naik daun dengan ide produk yang brilian, tetapi lubang di saku Anda, maka OpenJDK memenuhi kebutuhan Anda. Anda tidak perlu membayar untuk itu. Dan selain itu, jika Anda seorang pemula, itu tidak begitu penting bagi Anda jika server Anda tidak akan bekerja selama beberapa jam sampai para ahli teknis menyelesaikan masalah. Jika Anda tidak mampu melakukan downtime, kemungkinan besar Anda bekerja di perusahaan yang sudah matang, dan karenanya harus menggunakan Oracle JDK dan mendaftar untuk mendapatkan dukungan. Anda juga dapat memutuskan untuk menggabungkan berbagai model dan menginstal pada beberapa server produk yang harus tersedia 24/7, Oracle JDK, dan OpenJDK pada aplikasi internal yang tidak begitu penting untuk bisnis.
Bagaimanapun, Anda dapat terus menggunakan Java lebih lanjut.
Tentang penulis:Peter Verhas bekerja di kantor EPAM di Swiss. Peter mengembangkan perangkat lunak untuk klien, menyediakan pelatihan untuk programmer dan membimbing dalam perusahaan.
Anda dapat mengikuti Peter di
Twitter ,
LinkedIn, dan
GitHub . Penulis juga memiliki blog, "Java deep":
javax0.wordpress.com