Setelah satu dekade, Java open source masih kontroversial

Sepuluh tahun kemudian, open-source Java tetap menjadi perdebatan, dengan banyak komunitas yang memuji pentingnya Java terbuka, sementara yang lain tetap kritis terhadap penanganannya, termasuk keyakinan bahwa Sun Microsystems tidak bertindak cukup jauh.

Sun Microsystems secara resmi membuka Java pada 13 November 2006 — sebuah langkah yang sudah lama disematkan oleh industri pada umumnya. Kode Java sudah dapat diakses sebelum tanggal itu — sebuah strategi yang membantu meningkatkan platform dari hari-hari awalnya, catat pendiri Java James Gosling.

“Kode sumber Java tersedia untuk semua orang sejak hari pertama dirilis pada 1995,” kata Gosling, yang sekarang menjadi arsitek kepala di Liquid Robotics. “Apa yang kami inginkan dari itu adalah agar komunitas membantu dengan analisis keamanan, pelaporan bug, peningkatan kinerja, memahami kasus sudut, dan banyak lagi. Itu sangat sukses. "

Lisensi asli Java, kata Gosling, memungkinkan orang menggunakan kode sumber secara internal tetapi tidak mendistribusikan ulang. “Itu tidak cukup 'terbuka' untuk kerumunan 'open source',” katanya.

Keputusan Sun.

IBM pada saat itu menginginkan Java untuk dikontribusikan ke Apache Software Foundation, di mana ia akan didistribusikan di bawah lisensi Apache. Pada akhirnya, Sun memilih untuk mengalihkan Java ke Lisensi Publik Umum GNU, yang oleh CEO Sun saat itu Jonathan Schwartz disebut sebagai perubahan yang "penting". Di bawah GPL, turunan Java juga harus didistribusikan, perubahan yang dimaksudkan untuk membantu Java lebih cocok dengan komunitas open source, kata Gosling.

Sejak open-sourcing, Sun dan, pada gilirannya, Oracle (yang mengakuisisi Sun pada awal 2010) tetap berada di kursi pengemudi untuk evolusi Java, meskipun pihak lain telah berkontribusi pada kode tersebut. Sementara Gosling terkadang meminta Oracle untuk menangani Java, dia melihat open-sourcing sebagai hal yang menguntungkan.

“Ini adalah salah satu perangkat lunak yang paling banyak diteliti dan solid yang akan Anda temukan. Partisipasi masyarakat sangat penting, ”katanya.

Perpecahan

Seorang mantan penginjil Oracle Java, bagaimanapun, melihat langkah open source sebagai dipermudah.

“Sun tidak open-source Java saja,” kata Reza Rahman, yang memimpin protes baru-baru ini terhadap penanganan Oracle terhadap enterprise Java. “Apa yang mereka lakukan adalah membuka JDK di bawah lisensi GPL yang dimodifikasi. Secara khusus, Java SE dan Java EE TCK [Kit Kompatibilitas Teknologi] tetap menjadi sumber tertutup. ”

Ini, kata Rahman, telah menjadi masalah yang signifikan untuk proyek-proyek seperti Apache Harmony, serta bagi anggota komunitas yang ingin berkontribusi pada TCK.

“Memang, Sun mempertahankan banyak kendali atas Java meskipun JCP [Proses Komunitas Java] relatif terbuka sekarang,” katanya. “Secara khusus, Sun dan Oracle sepenuhnya mengontrol kekayaan intelektual dan hak cipta terkait Java melalui JCP.”

Sun bukanlah juara open source saat itu, Rahman menambahkan.

“Sumber terbuka JDK banyak hubungannya dengan Sun dalam mempertahankan kredibilitas dan meningkatkan adopsi untuk Java dalam menghadapi tekanan dari komunitas yang lebih luas, industri, dan IBM,” kata Rahman. “Bahkan kemudian Sun cukup ketat mengontrol kontribusi untuk OpenJDK. Oracle melakukan hal yang persis sama. "

Gosling menyukai keputusan untuk pergi dengan GPL.

“Saya pikir ini bekerja dengan baik,” katanya. “Kami selalu harus menyulap kebebasan komunitas melawan 'aktor jahat' yang selalu berusaha membajak komunitas.”

Sementara banyak hal bisa dilakukan secara berbeda dengan open-sourcing, hal-hal hanya akan menjadi lebih buruk, kata Gosling. “Menghindari upaya pembajakan yang kuat adalah alasan No. 1 bahwa lisensinya kurang liberal daripada yang diinginkan banyak orang.”

Komunitas Jawa, tambahnya, saat ini berada di jalur yang cukup bagus. “Saya sangat menantikan JDK 10.” Java Development Kit 9, bukan 10, akan dirilis musim panas mendatang, dengan fitur modularitas.

Rahman, sekarang seorang arsitek senior di CapTech Consulting, ingin melihat reformasi JCP untuk mengurangi kendali kuat Oracle. Terlepas dari keraguannya tentang bagaimana perkembangan open-sourcing, Rahman masih suka pindah.

“Sangat penting bagi Java untuk menjadi open source sepenuhnya. Hal ini memungkinkan kontribusi tertentu dari komunitas, menjaga kode tetap terbuka, membantu adopsi dengan membangun kepercayaan dalam perusahaan, dan memungkinkan penggunaan kode OpenJDK oleh pihak ketiga, ”katanya.

Lebih luas lagi, open-sourcing membantu membangun ekosistem yang kuat di sekitar Java dengan menandakan bahwa platform tersebut ramah open source, Rahman menambahkan. “Tanpa sumber terbuka JDK, saya rasa Java tidak akan seperti sekarang ini.”

Artikel terkait

  • Review: Empat besar Java IDE dibandingkan
  • Java di 20: Bagaimana itu mengubah pemrograman selamanya
  • Java pada 20: Keberhasilan, kegagalan, dan masa depan
  • Java pada 20: JVM, warisan besar Java lainnya
  • Java pada 20: Raksasa pemrograman terus berjalan
  • Java vs. Node.js: Pertarungan epik untuk berbagi pikiran pengembang