Java 11 Dirilis, Benarkah Tidak Gratis Lagi?

Oracle baru-baru ini merilis Java versi 11, sebagai kelanjutan versi 9 dan 10. Rilis kali ini berbeda dengan sebelum-sebelumnya karena versi 11 ini dinyatakan sebagai LTS (Long Term Support). Sebagaimana diketahui, mulai versi 9, Java versi baru akan dirilis setiap enam bulan sekali, alih-alih tiga tahun seperti versi-versi sebelumnya (1 – 8). Perubahan juga terjadi pada dukungan. Jika Java (JDK/JRE) versi 1 – 8 didukung oleh Oracle (dan sebelumnya Sun) untuk semua penggunaan (pribadi/komersial) gratis dan jangka panjang (LTS). Mulai versi 11, Java yang diunduh dari situs Oracle (java.sun.com) hanya didukung (gratis) untuk penggunaan pribadi (development). Untuk penggunaan komersial (production) Oracle akan mengenakan biaya, mirip dengan skema lisensi untuk produk Oracle lainnya seperti database, middleware, dan analytics (business intelligence).

(sumber: proglib.io)

Kabar baiknya, bagi yang belum mengetahui, bahwa Java (JDK) mulai versi 7 sebenarnya sudah dirilis secara open source dengan lisensi GPL dengan nama OpenJDK. Artinya, kode sumber Java bisa diakses oleh publik dan siapapun bisa merilis JDK dari kode tersebut. Oracle menggunakan kode OpenJDK untuk membuat Oracle JDK yang menjadi standar implementasi Java. Bagi pengguna Linux pun selama ini sudah bisa memanfaatkan OpenJDK yang dipaketkan oleh distro-distro seperti RedHat, Ubuntu, Debian, atau SUSE. Dukungan untuk OpenJDK di Linux pun langsung diterima dari vendor distro masing-masing. Selama ini pun, sudah ada beberapa vendor yang merilis JDK versinya sendiri, seperti IBM, Red Hat (membutuhkan akun Red Hat), dan Azul yang bersumber dari kode OpenJDK. Nah, mulai versi 11 Oracle juga merilis versi OpenJDK-nya sendiri. Versi ini bisa digunakan untuk semua penggunaan (pribadi/komersial) tanpa membayar lisensi. Jangan lupa, AdoptOpenJDK juga menyediakan unduhan OpenJDK dengan dua versi, menggunakan JVM Oracle Hotspot atau Eclipse OpenJ9.

Kesimpulannya, Oracle JDK versi 11 tidak sepenuhnya gratis seperti versi-versi sebelumnya. Oracle sendiri merilis versi “sepenuhnya gratis” JDK yang dinamakan Oracle OpenJDK 11 (nama resminya OpenJDK Builds from Oracle). Sebagai alternatifnya (Java 11) ada AdoptOpenJDK dan Zulu dari Azul. Red Hat dan IBM sejauh ini belum merilis JDK versi 11.

Iklan

Java 10 Dirilis, Kini Enam Bulan Sekali

Oracle baru saja merilis Java 10 Standard Edition (Java SE 10) pada tanggal 20 Maret 2018, hanya enam bulan setelah rilis Java SE 9 pada bulan September 2017. Pada keterangan persnya, Oracle menyebutkan bahwa rilis Java kini akan semakin cepat, dengan rilis versi baru tiap enam bulan sekali. Di samping itu, Oracle juga akan merilis versi LTS (Long-Term Support) yang akan menerima pembaruan/dukungan lebih dari enam bulan, dimulai pada Java SE 11. Namun, seperti yang telah dijelaskan saat rilis Java SE 9 dan pada Java Support Roadmap (perhatikan gambar di bawah), Oracle akan “membatasi” rilis Oracle JDK untuk pengguna bisnis, yang harus membayar untuk dukungan jangka panjang. Hal ini juga telah dilakukan pada versi-versi Java sebelumnya, namun kita tahu bahwa versi Java sebelum Java SE 9 (1 – 8) tersedia untuk umum lengkap dengan dukungan/pembaruan selama (sedikitnya) lima tahun. Bagi pengguna umum/non-komersial, Oracle akan merilis versi OpenJDK dengan lisensi GPL mulai versi 9.

Java Release Map (source: medium.com)

Bagi para pengguna/pengembang Java, tentu ini akan menjadi hal baru, apalagi selama ini terbiasa dengan siklus rilis (Oracle) Java yang relatif panjang. Belum lagi, persepsi tentang kompatibilitas aplikasi Java dengan nomor versi yang berbeda, bukan sekadar patch level. Apalagi jika menggunakan OpenJDK yang berbeda vendor (distributor). Bagi pengguna Linux, openJDK biasanya disediakan oleh masing-masing vendor distro (Ubuntu, Fedora, SUSE, Debian), sedangkan pengguna Windows bisa mencoba AdoptOpenJDK atau Red Hat Open JDK (Anda harus mempunyai akun Red Hat untuk mengunduh).

Java EE Berpindah ke Eclipse, Kini Menjadi Jakarta EE

Perubahan di dunia teknologi informasi memang sangat cepat. Suatu teknologi yang hari ini menjadi trend mungkin akan segera berganti dengan teknologi lain. Begitu juga dengan pengembangan teknologi yang berpindah-pindah dari satu entitas/perusahaan ke entitas lain. Java, misalnya, dilahirkan dan dikembangkan oleh perusahaan Sun Microsystems sejak tahun 1996. Saat Sun Microsystems diakuisisi oleh Oracle di tahun 2009, Java pun berpindah kepemilikan. Seperti pernah dibahas sebelumnya, warisan teknologi Sun Microsystems sejak diakuisisi oleh Oracle banyak yang telah berpindah tangan, di antaranya OpenOffice dan NetBeans yang kini di bawah Apache Foundation. Java, sebagai teknologi andalan Sun dan telah menjadi platform yang populer di kalangan enterprise selama ini bisa dikatakan “aman” dan pengembangannya masih aktif di bawah kendali Oracle. Namun ternyata, pada bulan November 2017 Oracle menyerahkan pengembangan Java Platform Enterprise Edition (Java EE) kepada Eclipse Foundation. Eclipse Foundation sendiri selama ini dikenal dengan produk Eclipse IDE untuk pengembangan aplikasi. Pada bulan Februari 2018, branding baru untuk Java EE telah ditetapkan, yaitu Jakarta EE. Sementara, nama project top-level untuk Jakarta EE adalah Eclipse Enterprise for Java (EE4J). Keputusan ini diambil untuk mengakselerasi pengembangan Java EE yang sebelumnya dinilai terlalu lambat dan memakan waktu hingga 3-4 tahun untuk merilis versi baru. Java EE sendiri sebelumnya disebut Java 2 Platform, Enterprise Edition (J2EE) hingga versi 1.4 (2003).

(sumber: eclipse foundation@twitter)

Java Development Kit (JDK) Portabel untuk Windows

Bagi para pengembang Java, instalasi Java Development Kit (JDK) adalah hal mutlak, yang pertama kali harus dilakukan. Instalasi JDK untuk Windows pun sangat mudah dilakukan, layaknya instalasi aplikasi lainnya. Namun, kadangkala kita menginginkan opsi untuk memasangJDK sebagai aplikasi portabel, sementara Oracle tidak menyediakan JDK dalam bentuk arsip, seperti halnya JDK untuk Linux. Oracle menyediakan JRE for Server dalam bentuk file arsip,  namun masih kurang beberapa file dibandingkan JDK, seperti javaw.exe. Ada berbagai trik untuk melakukan instalasi JDK portabel untuk Windows, salah satunya akan dijelaskan di bawah ini. Tool yang diperlukan adalah aplikasi archiver 7-Zip yang dapat diunduh secara gratis. Unduh juga installer JDK yang diinginkan dari situs Oracle.

  1. Setelah 7-Zip terinstalasi, buka file managernya, lalu pilih file installer jdk untuk Windows, klik kanan dan pilih open archive/buka arsip
  2. Setelah terbuka, berturut-turut buka subfolder .rsrc, 1033, JAVA_CAB10, 111 sampai menemukan file tools.zip. Ekstrak file tools.zip ke satu folder.
  3. Buka command prompt, masuk ke folder hasil ekstraksi tools.zip, lalu ketikkan perintah: for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar".  Akhirnya, JDK portabel untuk Windows sudah siap dipergunakan.

A Farewell to Frans

Spechless. Hanya itu reaksi saya saat mendengar kabar duka itu. Frans Thamura, mantan rekan kerja/atasan di Meruvian, meninggal dunia pada 20 Juni 2017 pukul 10.50 WIB. Sedikit menyesal karena tidak sempat menjenguk saat mendengar kabar ybs sakit (stroke). Bagi Penulis, Frans (seisi kantor biasa memanggilnya tanpa embel-embel) lebih daripada sekadar atasan dan rekan kerja, namun juga mentor yang mengenalkan dunia IT lebih mendalam. Penggiat IT di Indonesia mengenalnya sebagai sosok aktivis yang identik dengan Java (lewat Java User Group Indonesia), juga open source dan Linux. Lewat Meruvian, ia mencetak kader-kader baru IT melalui program seperti JENI dan jTechnopreneur. Project BlueOxygen menjadi payung dari aplikasi-aplikasi open source yang dihasilkan para programer Meruvian. Penulis termasuk salah satu yang mengikuti perkembangan Meruvian sejak pertama didirikan pada 28 Maret 2006. Selama 20 bulan di Meruvian, Penulis mengalami secara langsung saat-saat Meruvian mulai berkiprah di dunia IT Indonesia. Semoga saja sepeninggal mendiang Meruvian akan tetap eksis dan menjalankan misinya ke depan.

(sumber: ardhian.wordpress.com)

(sumber: ardhian.wordpress.com)

Sebagaimana halnya manusia, mendiang tak lepas dari pro dan kontra seputar karakternya. Ceplas-ceplos adalah ciri utamanya, seringkali menimbulkan kontroversi saat kicauannya menjadi konsumsi publik. Bagi Penulis pribadi yang pernah merasakan interaksi rutin di tempat kerja, hal ini mungkin sudah biasa, namun bagi kebanyakan orang yang hanya mengenalnya lewat media sosial dan derivatifnya, memang cukup sulit diterima. Tentu saja, setelah ini Penulis mengharapkan semua kontroversi itu dihentikan demi kemaslahatan bersama.

(Sumber: netyherawaty.com)

Sejak mengundurkan diri dari Meruvian untuk melanjutkan S2, Penulis mulai jarang kontak dengan mendiang, juga setelah DO dan kembali bekerja. Terakhir berinteraksi via Facebook tentang kenangan saat bersama-sama di Meruvian entah berapa tahun yang lalu (akun ybs sudah dihapus). Keinginan untuk bertemu untuk sekadar basa-basi pun tak kesampaian. Selamat jalan Frans, terima kasih atas dukungan dan bimbingannya, semoga diterima di sisi-Nya dan keluarga yang ditinggalkan diberikan ketabahan.

Instalasi Oracle JDK di Ubuntu

Instalasi Java, baik JRE maupun JDK di Linux selalu menjadi masalah sejak dulu. Lisensi Java (sebelum tahun 2006) tidak mengizinkannya didistribusikan dalam repositori perangkat lunak linux. Canonical sebagai sponsor distro linux Ubuntu pernah bekerja sama dengan Sun Microsystems untuk mendistribusikan Sun JRE dan JDK dalam repositori Ubuntu. Namun, sejak Sun merilis Java 7 dengan lisensi GNU GPL, kerja sama ini dihentikan. Sejak itu, Java bisa didapatkan langsung dari repositori dengan nama OpenJDK, yang dikompilasi dari kode sumber yang dirilis Sun (kini Oracle). Oracle masih merilis JRE dan JDK untuk Linux yang harus diinstal secara manual.

Hadirnya OpenJDK memang memudahkan bagi pengguna Linux untuk menggunakan Java. Di sisi lain, Oracle JRE/JDK masih dibutuhkan oleh kalangan pengembang aplikasi, terutama aplikasi untuk perkantoran/enterprise. Instalasi Oracle JDK/JRE secara manual tidak sulit dilakukan, namun untuk mengintegrasikan dengan sistem secara keseluruhan membutuhkan sedikit usaha. Untungnya, sekarang sudah ada cara untuk mengintegrasikan Oracle JDK dengan distro Ubuntu menggunakan script instalasi dari Web Upd8. PPA dari Web Upd8 ini memungkinkan kita menginstalasi Oracle JDK 6, 7, dan 8 sekaligus mengintegrasikannya dalam sistem Ubuntu.

Cara menggunakan PPA ini sangat mudah, kita cukup mengetikkan dua baris perintah: sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Kemudian kita bisa menginstalasi Oracle JDK sesuai versinya, misalnya untuk menginstalasi Oracle JDK 7 kita tinggal mengetikkan:
sudo apt-get install oracle-java7-installer
Untuk versi 6 dan 8 kita tinggal mengganti angka 7 dengan 6 atau 8. Perintah di atas akan menginstalasi script yang otomatis akan berjalan dan mengunduh Oracle JDK dari situs Oracle, sekaligus menginstalasi dan mengonfigurasikannya. Untuk mengeset Java Environment Variable secara otomatis, kita bisa menginstalasikan oracle-java-set-default sesuai versi Java (6, 7, atau 8) dengan perintah:
sudo apt-get install oracle-java7-set-default
Script instalasi ini diperbarui setiap Oracle merilis versi terbaru Java.

Java 6 Released

Hari ini, Sun resmi merilis Java SE versi 6. Seperti biasa, tersedia dua versi JRE (Java Runtime Environment) dan JDK (Java Development Kit). Meskipun Java telah resmi menjadi Free and Open Source Software, namun Java 6 ini masih menggunakan lisensi lama (non-GPL), lisensi GPL baru digunakan pada Java 7 (OpenJDK).

Free and Open Java

Akhirnya, Java (SE, ME, dan EE) hari ini resmi menjadi Free Software dengan lisensi GPL2 (+Classpath exception untuk Java SE/EE). Untuk Java EE (Project Glassfish) yang selama ini tersedia dalam lisensi CDDL, lisensi GPL menjadi alternatif tambahan. Sun juga mengumumkan proyek OpenJDK, yang berbasis pada kode Java7, dengan tahap pertama, source code untuk komponen javac, HotSpot, dan JavaHelp tersedia secara bebas. Diharapkan awal tahun 2007, seluruh kode JDK telah menjadi free sepenuhnya.

There’s Always Be a First Time for Everyone…

Di kantor yang baru, mempelajari Java adalah kewajiban. Pertama masuk, langsung disuruhjadi asisten pelatihan Java Web Service di Departemen Perhubungan selama dua minggu (!). Hari-hari pertama masih sekitar soal instalasi Java SDK, Eclipse, Tomcat, lama-lama merambat ke JDBC, JSP, Servlet, Hibernate, Velocity, WebWork, cukup untuk memaksa Penulis berubah dari asisten menjadi peserta.

Kembali ke kantor, tugas pertama adalah instalasi Asterisk@Home yang sudah berupa 1 distro (berbasis CentOS). Ternyata menggunakan distro ini otomatis menghapus seluruh partisi hardisk (setting server). Padahal harddisk di PC 40 GB, cuma kepake 2 GB. Keesokan harinya coba dipartisi ulang dengan Partition Manager menggunakan CD Boot. Hasilnya, Asterisk@Home tidak bisa booting. Sementara tetap menggunakan distro Asterisk@Home berarti harus hidup dengan command prompt (tidak disertakan GUI, bahkan Xserver juga tidak ada). Sebenarnya bisa diupdate dari internet pake yum, namun di Indonesia belum ada mirror CentOS, dan Penulis belum berani menguras bandwidth kantor untuk update distro dari luar negeri. Akhirnya, Penulis menemukan CD distro CentOS 4.1 di meja kerja, sayangnya distro Asterisk@Home menggunakan CentOS 4.2. Akhirnya, PC diinstal ulang dengan CD CentOS 4.1 baru diinstal Asterisk@Home (manual).

Masalah berikutnya datang saat harus instalasi Java (Sun JDK 1.5). Setelah download dan instalasi JDK1.5 dalam bentuk RPM, ternyata baru diketahui CentOS sudah menyertakan GIJ sebagai JVM default. Akhirnya, setelah menanyakan pada Mr.Google, ketemu link ini. Alhasil, sekarang Penulis sudah bisa menikmati PC dengan CentOS 4.1, desktop Gnome, Java 1.5, Eclipse-WTP 1.0, Asterisk@Home, dan Wildfire.