Dari 0 ke 1: Apache Way dari Apache APISIX
API7.ai
December 16, 2019
Apache APISIX adalah proyek yang sangat muda, dibuka sumber pada Juni tahun ini, bergabung dengan CNCF Panorama pada Juli, dan masuk ke Apache Incubator pada Oktober. Oleh karena itu, saya akan berbagi dengan Anda bagaimana APISIX berkembang dari 0 hingga 1 dan masuk ke Apache Incubator.
Apache APISIX sekarang memiliki 17 committer, dari 16 perusahaan berbeda, dan merupakan proyek yang sangat berbasis komunitas. Setiap committer memiliki satu suara dan memutuskan hal-hal besar seperti rilis, pemilihan committer baru, dan PPMC.
Apache Way
Apache Way adalah konsep yang sudah kita kenal: komunitas lebih penting daripada kode. Kode yang buruk dapat diubah, dan mentor Apache tidak membimbing Anda tentang cara menulis kode yang lebih baik, mereka lebih peduli apakah komunitas sehat dan berkembang, dan selama ada komunitas yang baik, kode yang buruk akan direfaktor menjadi kode yang lebih baik oleh orang-orang yang lebih berpengalaman. Jadi selama komunitas ada, proyek akan bertahan, dan itu adalah hal yang paling penting di Apache.
Prioritas mailing list adalah poin penting lainnya, hal-hal yang tidak muncul di mailing list dianggap tidak ada. Ini sebenarnya tantangan besar di Tiongkok, secara budaya dan kebiasaan, orang tidak terlalu suka menggunakan email: pertama, waktunya tidak cukup cepat, mungkin 1-2 hari setelah mengirim email baru mendapat balasan; kedua, banyak hal di mailing list bersifat publik, beberapa orang lebih suka berdiskusi secara privat; ketiga, hanya bahasa Inggris yang boleh muncul di dalam mailing list, tetapi sebenarnya bahasa Inggris orang Tiongkok tidak buruk, kita jauh lebih baik daripada kebanyakan negara lain. Lagi pula, kita telah belajar bahasa Inggris selama bertahun-tahun, dan ada berbagai perangkat lunak terjemahan, bahkan jika ada kesalahan tata bahasa, itu bukan masalah besar.
Yang ketiga adalah pemerintahan oleh elit, di mana setiap orang di komunitas Apache berkontribusi untuk mendapatkan suara lebih, dan gelar yang lebih tinggi berarti komitmen dan tanggung jawab yang lebih besar.
Yang keempat adalah demokrasi, setiap orang dapat berpartisipasi dalam pemungutan suara Apache, bahkan jika Anda tidak berada di komunitas Apache, tetapi tidak semua suara valid. Misalnya, ketika APISIX masuk ke Apache Incubator, saya bisa memilih proyek tersebut, tetapi saya harus menulis "no binding" setelahnya untuk menunjukkan bahwa saya mendukung dan mengikuti proyek tersebut, tetapi saya adalah pengamat, dan suara ini tidak menentukan apakah proyek bisa masuk Apache. Hanya mereka yang telah berkontribusi ke inkubator dan diakui oleh komunitas, yaitu PMC dari inkubator Apache, suara mereka yang valid, itulah demokrasi komunitas Apache.
Model tata kelola untuk komunitas open source
Kita tahu bahwa banyak proyek open source berada di bawah yayasan dan beberapa tidak. Proyek di bawah yayasan, seperti Linux Foundation dan Apache Foundation, memiliki model tata kelola yang disebut "konsensus komunitas", yang memerlukan diskusi di dalam komunitas dan pemungutan suara setelah mencapai konsensus, bukan pemungutan suara langsung. Jika tidak ada diskusi dan konsensus, maka pemungutan suara tidak ada artinya. Efisiensi ini mungkin sangat lambat, tetapi hanya ketika seluruh komunitas mencapai konsensus, tidak akan ada perbedaan pendapat di belakang.
Yang kedua adalah konsensus perusahaan komersial, selama orang-orang dari perusahaan komersial mencapai konsensus, maka PR atau fitur dapat digabungkan, dan suara komunitas tidak berguna karena itu adalah proyek yang dikendalikan oleh perusahaan komersial, dan jika Anda berkontribusi kode ke perusahaan komersial, keputusan untuk digabungkan ada di tangan perusahaan komersial. Ini mungkin tidak masalah bagi pengembang individu, tetapi penting bagi perusahaan yang terlibat dalam proyek. Biasanya perusahaan memiliki versi privat, dan mereka ingin menyumbangkan fitur mereka kembali ke komunitas, tetapi perusahaan komersial mungkin menolaknya karena bertentangan dengan versi komersial mereka sendiri.
Yang ketiga adalah diktator yang baik hati, yang paling khas adalah Python, di mana individu memutuskan pengembangan proyek open source.
Di atas adalah tiga model komunitas open source, jika itu adalah bisnis untuk memilih proyek, secara umum kami akan merekomendasikan Apache, proyek Linux Foundation, pertama dalam hal hukum tidak ada bahaya tersembunyi, dan kedua itu adalah konsensus komunitas, kita dapat berkontribusi ke komunitas dengan cara ini untuk mendapatkan lebih banyak suara, sehingga terbentuk lingkaran yang baik.
Cara masuk ke Apache Incubator
Apache sekarang memiliki hampir 50 proyek inkubator, di mana 10 di antaranya berasal dari Tiongkok. APISIX sekarang adalah satu-satunya proyek dari startup domestik yang masuk ke Apache, sementara banyak lainnya berasal dari perusahaan besar seperti Huawei, Ali, dan Baidu.
Istilah dan langkah berikut perlu dipahami agar proyek dapat masuk ke Apache Incubator:
- Champion: Dia adalah pengantar proyek Anda, yang merupakan peran paling penting yang perlu Anda hubungi pertama kali, dan dia perlu mengenal Anda dan proyek tersebut.
- Mentor: Mentor proyek, setelah proyek masuk ke Apache Incubator, Champion berubah menjadi peran mentor. Mentor akan membimbing proyek dari proyek di inkubator menjadi proyek tingkat atas Apache, termasuk merilis versi Apache, manajemen merek, mengembangkan komunitas, dan sebagainya. Jika menjadi proyek tingkat atas, maka proyek akan menjadi otonom komunitas.
- Proposal: Setelah menemukan Champion dan Mentor, langkah selanjutnya adalah menulis Proposal, yaitu proposal yang memperkenalkan siapa saya, masalah apa yang saya selesaikan, mengapa saya ingin bergabung dengan Apache, apakah file kode proyek saat ini bertentangan dengan lisensi Apache, siapa committer awal, dari perusahaan mana mereka berasal, apakah ada risiko potensial, bagaimana pengembangan selanjutnya, dll.
- Discuss: Kemudian email diskusi akan dimulai untuk melihat berapa banyak orang yang tertarik dengan ini, dan beberapa PMC yang tertarik dapat ditemukan untuk bergabung dengan program mentoring Mentor pada tahap ini.
- Vote: Terakhir, ada pemungutan suara, dan jika suara lolos, proyek dapat masuk ke inkubator Apache.
Apache Way dan benturan budaya open source domestik
Proyek Apache di Tiongkok akan menghadapi banyak tantangan yang berbeda, yang terkait dengan lingkungan dan budaya open source di dalam dan luar negeri.
Misalnya, insinyur domestik akan merasa terlalu sibuk, sering lembur 996, sehingga tidak ada waktu dan energi untuk melakukan open source. Tetapi sebenarnya, banyak insinyur dalam pekerjaan juga akan menggunakan proyek open source, menulis fitur proyek open source, tetapi mereka tidak secara aktif mengirimkan PR, dan tidak akan menulis kode sebelum komunitas memulai diskusi, yang merupakan banyak perbedaan budaya.
Dalam hal komunikasi, Apache menganjurkan diskusi terbuka di mailing list, tetapi banyak pengembang di Tiongkok lebih suka cara non-publik untuk berkomunikasi, seperti WeChat, QQ, dan telepon. Terutama jika PPMC dari suatu proyek sebagian besar berasal dari perusahaan yang sama, suatu fitur mungkin diselesaikan selama rapat pagi, tetapi tidak muncul di mailing list, yang tidak sesuai dengan budaya Apache.
Mengenai pemungutan suara, banyak pengembang mungkin merasa bahwa bahasa Inggris mereka tidak baik atau orangnya lemah, dan mereka enggan mengungkapkan pendapat mereka di mailing list dan tidak berpartisipasi dalam pemungutan suara. Maka mereka akan diabaikan pada akhirnya. Jadi Anda perlu mengumpulkan beberapa "kontribusi" untuk membantu orang lain dan perlahan-lahan meningkatkan pengaruh Anda. Apache adalah yayasan yang terdiri dari individu. Perilaku setiap orang hanya mewakili diri sendiri, bukan perusahaan. Suara setiap PMC sama.
Mengenai Gelar, di Apache, posisi tertinggi disebut Apache Foundation Chair, dan manajer setiap proyek adalah VP, kemudian PMC (Project Management Council), Committer, Contributor, yang memiliki jalur yang mirip dengan promosi gelar perusahaan kita. Tetapi di Apache, bahkan jika posisi Anda menjadi tinggi, itu tidak berarti Anda memiliki lebih banyak kekuatan suara, itu lebih merupakan kewajiban, misalnya, untuk pemungutan suara Apache APISIX untuk memilih committer baru, suara ketua inkubator dan suara saya sama. Gelar lebih merupakan kehormatan di Apache. Apache Foundation adalah organisasi nirlaba yang menekankan kontribusi, dan di situlah benturan budaya terjadi.
Masalah hak cipta
Hak cipta adalah masalah yang sangat penting, dan penangkapan penulis Nginx yang terjadi beberapa waktu lalu adalah karena masalah hak cipta. Sebelum proyek dapat secara resmi bergabung dengan Apache Incubator, semua committer dan perusahaan harus menandatangani CLA yang menyatakan bahwa mereka akan menyumbangkan semua hak cipta proyek ke Apache Foundation. Setelah bergabung dengan Apache Incubator, tonggak terpenting adalah rilis pertama Apache, yaitu membersihkan risiko dalam lisensi sehingga pengguna dapat menggunakannya dengan percaya diri. Oleh karena itu, perusahaan komersial dijamin menggunakan proyek Apache tanpa masalah hak cipta yang tidak jelas.
Akhirnya, Apache APISIX adalah proyek open source yang berkembang dengan cepat, saya harap Anda akan berpartisipasi dan berkontribusi lebih banyak, Terima kasih.


