Mengatasi politik sengit di sebalik Node.js

Berita yang tersiar di Node Summit minggu lalu - bahawa Joyent dan yang lain mencadangkan untuk mewujudkan Node.js Foundation - tidak mengejutkan sesiapa yang telah menyaksikan kontroversi di sekitar platform JavaScript sisi pelayan kegemaran semua orang. Sudah jelas untuk sementara waktu bahawa Node.js telah berkembang dari akarnya dan menjadi alat struktur penting untuk industri perisian.

Tuan rumah Node.js di Joyent tidak merancang untuk ini - kod itu adalah projek pekerja dan bukannya pelaburan strategik. Walaupun Node.js adalah bahagian penting dalam operasi Joyent, itu bukan produk utama bagi syarikat itu, yang pastinya menghabiskan lebih banyak untuk menjadi tuan rumah daripada yang diterima dalam nilai perniagaan sebagai pelopor penyebaran awan berasaskan kontena. Joyent berhak mendapat penghargaan kerana bertindak dengan penuh tanggungjawab dan mengekalkan komitmennya sebagai pelayan, walaupun minat yang kuat - dan intrik politik yang sengit - di mana ia berada.

Node telah melihat penerapan akar umbi yang menyebabkan penyebaran perusahaan seperti yang banyak dikenali di sumber terbuka, di mana CIO yakin teknologi itu tidak digunakan dalam perniagaan mereka sehingga mereka benar-benar meminta kakitangan operasi. Ini seterusnya menyebabkan dikotomi biasa antara keperluan pasukan operasi untuk kestabilan (ubah hanya di tempat yang diperlukan, lebih baik tidak jarang selepas ujian yang ketat) dan pandangan pemaju (yang ingin mencuba setiap idea baru sekarang atau lebih awal).

Seperti yang diharapkan syarikat yang mempunyai komitmen mendalam untuk operasi yang stabil, Joyent jatuh dengan kuat di kem pertama. Fokus operasinya disokong oleh penyebar besar aplikasi Node di seluruh dunia, beberapa di antaranya boleh didapati membimbing Node Foundation yang baru.

Tetapi penggunaan yang meluas juga mendorong pemula yang ingin memanfaatkan keperluan baru dan mengewangkan ketetapannya. Sebilangan besar syarikat permulaan tersebut terlibat dalam garpu io.js Node.js, meminta pembebasan kerap untuk menyokong inovasi dan rancangan perniagaan mereka. Pemaju dan pengusaha di kem tersebut telah menyatakan kegembiraan bahawa Joyent tidak mendorong banyak siaran.

Kritikan mereka terhadap Joyent sering dan fasih, tetapi akhirnya kedua-dua pihak tidak memonopoli kebenaran. Joyent merasa dibenarkan dengan berhati-hati dengan "urutan peristiwa malang" di sekitar beberapa usaha yang salah untuk melancarkan pelepasan sejak tahun lalu, yang akan menyebabkan kekacauan jika ia sampai ke pangkalan pengguna. Lagipun, Node.js adalah platform, bukan perpustakaan, dan ia perlu dikendalikan secara konservatif.

Semua ini - politik korporat, ledakan pemaju jenama dan yang lain - meyakinkan saya bahawa Node.js memerlukan asas yang bebas. Bukan saya peminat mencipta asas sumber terbuka untuk setiap projek - meletakkan projek anda ke organisasi bukan untung jarang menyelesaikan masalah, dan kebanyakan projek lebih baik menyertai organisasi yang ada.

Penciptaan organisasi bukan untung yang diiktiraf oleh kerajaan secara historis penting dalam sumber terbuka untuk dua tujuan:

  1. Sebagai imprimatur "keterbukaan" oleh aktiviti hak milik lain oleh syarikat tunggal yang kebetulan melibatkan kod sumber terbuka
  2. Sebagai kaedah untuk meletakkan politik perniagaan dari praktik pembangunan, mewujudkan tempat yang berkecuali untuk kolaborasi sejati antara rakan sebaya

Dalam peranan pertama itu, masalahnya tetap ada, walaupun mereka disamarkan oleh venir organisasi nirlaba. Peranan kedua memerlukan asas kolaborasi yang kuat sebelum dilaksanakan. Yayasan tidak menyelesaikan masalah, tetapi ia menjadikan penyelesaian tetap apabila ia disiapkan. Selesaikan masalah terlebih dahulu, buat asas selepas itu.

Node.js memerlukan asas untuk mengawasinya. Komuninya mungkin sudah cukup besar untuk menjadikan idea untuk bergabung dengan komuniti yang ada seperti Eclipse atau Apache tidak sesuai. Tetapi adakah asas yang dicadangkan itu jawapan yang tepat? Bill Scott dari PayPal mengatakan pada Sidang Kemuncak Node bahawa PayPal menyokong yayasan itu, tetapi memerhatikan masyarakat. Nampaknya ini adalah keseimbangan yang tepat.

Apa yang dicadangkan setakat ini adalah persatuan perdagangan korporat bayar untuk bermain dalam imej Yayasan Linux, dengan yuran besar yang tidak berkaitan dengan pendapatan untuk menakut-nakutkan permulaan dan peraturan yang dibuat oleh peserta korporat besar seperti Microsoft dan IBM. Ini pasti bukan jawapan yang tepat untuk membawa partisans io.js kembali ke lipatan. Politik getir di sekitar Node.js tentunya memerlukan kotak pasir, tetapi begitu juga keinginan pemaju untuk memacu agenda. Node Foundation yang berfungsi memerlukan operasi yang berkaitan dengan irama pelepasan yang dicari oleh Joyent dan ruang R&D yang dinamik yang diinginkan oleh usahawan io.js

Model seperti yang digunakan oleh Eclipse mungkin berfungsi lebih baik di sini. Setelah bertahun-tahun evolusi, Eclipse kini memiliki serangkaian ciri tadbir urus yang menarik untuk situasi ini, terutama membayar bayaran untuk bermain yang juga memerlukan komitmen pemaju untuk projek dan batasan ketat antara tadbir urus fidusiari dan teknikal. Eclipse juga memerlukan sumbangan tanda dagang kepada yayasan, langkah yang diabaikan oleh projek-projek yang membahayakan mereka jika mereka ingin mengelakkan eksploitasi masa depan oleh pemegang tanda dagangan.

Sudah tentu, semua ini mungkin sia-sia; titik kawalan penting bagi Node.js, pengurus pakejnya NPM, dikendalikan oleh syarikat permulaan dengan nama yang sama. Politik memecah belah boleh berulang kecuali jika itu juga ditangani. Nampaknya komuniti Node.js, bukan sahaja Joyent, berjaya menyelesaikannya.