Open Source di Blibli.com

Alex Xandra Albert Sim
Blibli.com Tech Blog
4 min readJul 24, 2017

Salah satu pengalaman yang paling menarik dan berharga yang dapat dilalui oleh seorang pengembang perangkat lunak adalah pengalaman bekerja dengan pengembang lain dari seluruh dunia. Salah satu cara termudah untuk mendapatkan pengalaman tersebut adalah dengan berkontribusi pada proyek open source. Sayangnya, tidak semua perusahaan memberikan kesempatan terbuka bagi kita untuk bekerja pada proyek open source.

Blibli.com adalah salah satu tempat anda bekerja yang dapat dan siap memberikan pengalaman tersebut. Penulis, Alex Xandra Albert Sim (blog, github, twitter), baru bergabung di blibli.com sejak bulan Juli 2017 dan ingin sedikit berbagi tentang pengalaman bekerja sama dan observasinya tentang para pengembang blibli.com dan hubungannya dengan open source.

Kenapa Berkontribusi di Open Source?

Kami para pengembang di blibli.com sangat mencintai produk open-source. Pengembangan berbagai perangkat lunak yang ada pada blibli.com, baik sistem internal maupun eksternal sangat bergantung pada kode-kode terbuka yang diberikan oleh para pengembang mancanegara.

Bisa dikatakan, kesuksesan blibli.com tidak akan dapat dicapai tanpa adanya kode-kode yang bebas dan terbuka. Blibli.com tidak dapat hadir melayani jutaan pelanggan di Indonesia tanpa kontribusi komunitas open source. Karenanya, kami selalu berusaha untuk berkontribusi kembali kepada ekosistem yang indah ini.

Biasanya, kontribusi blibli.com kepada ekosistem open source dimulai dari permasalahan yang ditemui oleh tim blibli.com sendiri. Sebagai salah satu e-commerce dengan pengguna terbanyak, skala lalu lintas internet yang dihadapi blibli.com tidak banyak dihadapi oleh banyak tim lain, sehingga terkadang masalah yang ditemui pun cukup unik dan beragam. Ketika masalah-masalah ini ditemukan dan diselesaikan, seringkali solusinya kami berikan kembali kepada para pengembang proyek open source yang ada agar solusi kami dapat berguna bagi orang banyak.

Dimana Kontribusi blibli.com?

Kontribusi pada proyek open source oleh para pengembang blibli.com sangat didukung dan bahkan para pengembang didorong untuk berkontribusi kembali pada proyek open source yang mereka gunakan.

Kontribusi yang diberikan oleh blibli.com dapat dilihat secara terbuka pada laman proyek open source yang bersangkutan, misalnya:

Pic: Yudhi Karunia Surtan

Pengembang kami didorong untuk memberikan kontribusi tidak hanya kepada blibli.com, tetapi kepada lingkungan yang memungkinkan blibli.com bertumbuh besar.

Bagaimana Kami Melakukannya?

Seperti yang telah diceritakan sebelumnya, kontribusi blibli.com pada proyek open source selalu dimulai dari permasalahan internal yang dihadapi langsung dan telah diselesaikan oleh tim blibli.com. Misalnya, untuk kontribusi ke jspc-maven-plugin oleh Yudhi, dimulai dari dua permasalahan utama:

  1. Kebutuhan blibli.com untuk prekompilasi data JSP untuk menghemat waktu deployment. Permasalahan ini diselesaikan oleh jspc-maven-plugin, dan kami berhasil menurunkan waktu deployment dari 3–4 jam menjadi 15–30 menit.
  2. Sayangnya, blibli.com menggunakan server Apache Tomcat versi 8.5 yang tidak didukung oleh jspc-maven-plugin pada saat itu.

Melihat belum adanya dukungan tersebut, maka Yudhi segera bekerja untuk menambahkan dukungan Tomcat 8.5 pada jspc-maven-plugin. Selesai melakukan pengembangan, kami memastikan kode berjalan dengan baik terlebih dahulu, dengan mengujinya pada sistem production pada blibli.com. Bukan hanya hal ini akan membantu memastikan kode yang diberikan telah teruji, kita juga dapat memastikan kode berjalan dengan baik dalam konfigurasi kompleks dengan mencoba menjalankan kode pada sistem production terlebih dahulu.

Setelah kode berjalan dengan baik, Yudhi segera membuka pull request ke laman Github proyek:

Langkah awal kontribusi open source: pull request

Selesai membuka pull request (PR), biasanya kode kita akan diulas oleh maintainer sistem, diikuti oleh diskusi tentang apa yang ingin kita lakukan di sini. PR ini dimulai dengan diskusi dari maintainer:

Diskusi tentang versi Tomcat oleh maintainer

Dan setelah sedikit diskusi, kode langsung diterima dan perubahan dari Yudhi langsung dimasukkan ke dalam kode jspc-maven-plugin! Perlu diingat bahwa tidak semua kontribusi berjalan selancar kontribusi ini, tetapi kurang lebih alur yang dijalankan adalah sama.

Dengan kodenya yang telah diterima dan masuk , maka Yudhi telah resmi menjadi kontributor open source pada jspc-maven-plugin!

Sebuah Komitmen dari blibli.com

Sebagai salah satu perusahaan digital yang tak bisa lepas dari open source, blibli.com akan terus berkomitmen untuk berkontribusi kembali kepada ekosistem open source yang telah banyak berjasa dalam perkembangan teknologi digital.

Di masa depan, kami akan terus memberikan kontribusi kembali, dan bahkan kami tidak menutup kemungkinan untuk menjadikan sebagian kode yang telah teruji di blibli.com menjadi kode open source!

Ikuti terus perkembangan dari perjalanan open source di blibli.com melalui blog ini, karena masih ada banyak berita baik dan kisah kontribusi yang akan kami bagikan di sini!

Oh ya, jika anda memiliki kritik, saran, pertanyaan, atau ingin bergabung dengan tim kami untuk bersama membangun salah satu sistem e-commerce terbesar di Indonesia, silahkan hubungi kami di: yudhi.k.surtan@gdn-commerce.com atau alex.sim@gdn-commerce.com.

--

--

Alex Xandra Albert Sim
Blibli.com Tech Blog

Software engineer, writer, colossal nerd. Also loves to share and discuss tons of random topics. Opinions are my own and not the views of my employer.