Mengurai politik intens di balik Node.js

Berita yang muncul di Node Summit minggu lalu - bahwa Joyent dan lainnya mengusulkan untuk membuat Node.js Foundation - tidak mengejutkan siapa pun yang telah menyaksikan kontroversi seputar platform JavaScript sisi server favorit semua orang. Sudah jelas untuk sementara waktu bahwa Node.js telah melampaui akarnya dan menjadi alat struktural penting untuk industri perangkat lunak.

Host Node.js di Joyent tidak merencanakan hal ini - kode tersebut lebih merupakan proyek karyawan daripada investasi strategis. Meskipun Node.js adalah bagian penting dari operasi Joyent, itu bukan produk utama bagi perusahaan, yang tentunya menghabiskan jauh lebih banyak untuk menghostingnya daripada yang diterima dalam nilai bisnis sebagai pelopor penerapan cloud berbasis kontainer. Joyent berhak mendapat pujian karena bertindak secara bertanggung jawab dan mempertahankan komitmennya sebagai pengurus, terlepas dari minat yang kuat - dan intrik politik yang sengit - yang terjadi pada dirinya.

Node telah melihat adopsi akar rumput yang mengarah pada penerapan perusahaan dari jenis yang banyak dikenal di sumber terbuka, di mana CIO yakin teknologi tidak digunakan dalam bisnis mereka sampai mereka benar-benar bertanya kepada staf operasi. Hal itu pada gilirannya telah menyebabkan dikotomi yang biasa antara kebutuhan tim operasi untuk stabilitas (ubah hanya jika diperlukan, sebaiknya jarang setelah pengujian yang ketat) dan pandangan pengembang (yang ingin mencoba setiap ide baru sekarang atau lebih cepat).

Seperti yang diharapkan dari sebuah perusahaan dengan komitmen yang mendalam pada operasi yang stabil, Joyent berada di posisi pertama. Fokus operasinya didukung oleh penerapan besar aplikasi Node secara global, beberapa di antaranya dapat ditemukan memandu Node Foundation yang baru.

Tetapi adopsi yang meluas juga memunculkan startup yang ingin mengeksploitasi kebutuhan baru dan memonetisasi resolusi mereka. Banyak dari startup tersebut terlibat dalam fork io.js dari Node.js, meminta rilis rutin untuk mendukung inovasi dan rencana bisnis mereka. Pengembang dan wirausahawan di kamp itu telah menyatakan kekesalannya karena Joyent tidak mendorong banyak rilis.

Kritik mereka terhadap Joyent sering terjadi dan fasih, tetapi pada akhirnya tidak ada pihak yang memonopoli kebenaran. Joyent merasa dibenarkan dalam kehati-hatiannya oleh "urutan peristiwa yang tidak menguntungkan" seputar berbagai upaya yang salah untuk meluncurkan rilis selama setahun terakhir, yang akan menyebabkan kekacauan jika mencapai basis pengguna. Bagaimanapun, Node.js adalah platform, bukan pustaka, dan perlu dikelola secara konservatif.

Semua ini - politik korporat, ledakan ledakan pengembang firebrand, dan lainnya - meyakinkan saya bahwa Node.js membutuhkan fondasi independen. Bukannya saya penggemar membuat yayasan open source untuk setiap proyek - memasukkan proyek Anda ke lembaga nirlaba jarang menyelesaikan masalah apa pun, dan sebagian besar proyek lebih baik bergabung dengan organisasi yang sudah ada.

Pembentukan organisasi nirlaba yang diakui pemerintah secara historis penting dalam open source untuk dua tujuan:

  1. Sebagai imprimatur dari "keterbukaan" oleh aktivitas kepemilikan oleh satu perusahaan yang kebetulan melibatkan kode sumber terbuka
  2. Sebagai cara untuk mengelompokkan politik bisnis dari kepraktisan pengembangan, menciptakan tempat netral untuk kolaborasi sejati di antara sesama

Dalam peran pertama itu, masalahnya tetap ada, meskipun tertutup oleh lapisan lembaga nonprofit. Peran kedua membutuhkan dasar kolaborasi yang kuat sebelum diterapkan. Yayasan tidak menyelesaikan masalah, tetapi membuat solusi menjadi permanen setelah diterapkan. Selesaikan masalah dulu, baru buat fondasi.

Node.js membutuhkan fondasi untuk mengawasinya. Komunitasnya mungkin sudah cukup besar untuk membuat gagasan bergabung dengan komunitas yang ada seperti Eclipse atau Apache menjadi tidak tepat. Tetapi apakah yayasan yang diusulkan merupakan jawaban yang benar? Bill Scott dari PayPal mengatakan di Node Summit bahwa PayPal mendukung yayasan, tetapi mengawasi komunitas. Menurut saya, itu adalah keseimbangan yang tepat.

Apa yang sedang diusulkan sejauh ini adalah asosiasi perdagangan perusahaan bayar untuk bermain dalam citra Linux Foundation, dengan biaya besar yang tidak terkait dengan pendapatan untuk menakut-nakuti perusahaan rintisan dan aturan yang dibuat oleh peserta perusahaan besar seperti Microsoft dan IBM. Ini jelas bukan jawaban yang tepat untuk mengembalikan partisan io.js ke dalam kelompok. Politik pahit di sekitar Node.js tentu membutuhkan sandboxing, tetapi begitu pula keinginan pengembang untuk mendorong agendanya. Yayasan Node yang berfungsi akan membutuhkan irama rilis yang sesuai dengan operasi yang dicari Joyent dan ruang R&D dinamis yang diinginkan oleh pengusaha io.js.

Model seperti yang digunakan oleh Eclipse mungkin bekerja lebih baik di sini. Setelah bertahun-tahun berevolusi, Eclipse sekarang memiliki serangkaian fitur tata kelola yang menarik untuk situasi ini, terutama biaya permainan yang juga memerlukan komitmen pengembang untuk proyek dan batasan ketat antara fidusia dan tata kelola teknis. Eclipse juga mensyaratkan sumbangan merek dagang kepada yayasan, sebuah langkah yang diabaikan oleh proyek dengan resiko mereka sendiri jika mereka ingin menghindari eksploitasi di masa depan oleh pemegang merek dagang.

Tentu saja, ini semua mungkin sia-sia; titik kontrol penting untuk Node.js, NPM manajer paketnya, dikendalikan oleh perusahaan startup dengan nama yang sama. Politik yang memecah belah bisa terulang kecuali itu ditangani juga. Tampaknya komunitas Node.js, tidak hanya Joyent, memiliki pekerjaan yang sesuai untuk itu.