Bagaimana cara menjadi seorang committer dan apakah Anda benar-benar membutuhkannya?

Halo! Nama saya Dmitry Pavlov, saya bekerja di Keuntungan Grid, dan saya juga seorang committer dan peserta PMC di Apache Ignite dan kontributor di Pelatihan Apache. Saya baru-baru ini memberikan presentasi tentang pekerjaan seorang committer di pertemuan open source Bank Tabungan. Dengan berkembangnya komunitas opensource, banyak orang yang mulai memiliki pertanyaan: bagaimana menjadi seorang committer, tugas apa yang harus diambil, dan berapa banyak baris kode yang perlu ditulis untuk mendapatkan peran ini. Ketika kita berpikir tentang pelaku, kita langsung membayangkan orang-orang yang mahakuasa dan mahatahu dengan mahkota di kepala mereka dan volume β€œKode Bersih” sebagai pengganti tongkat kerajaan. Apakah begitu? Dalam postingan saya, saya akan mencoba menjawab semua pertanyaan penting tentang commiter sehingga Anda dapat memahami apakah Anda benar-benar membutuhkannya.

Bagaimana cara menjadi seorang committer dan apakah Anda benar-benar membutuhkannya?

Semua pendatang baru di komunitas opensource memiliki pemikiran bahwa mereka tidak akan pernah menjadi pelaku komitmen. Lagi pula, bagi banyak orang, ini adalah peran bergengsi yang hanya dapat diperoleh atas prestasi khusus dengan menulis banyak kode. Tapi itu tidak sesederhana itu. Mari kita lihat commiter dari sudut pandang komunitas.

Siapa yang melakukan komitmen dan mengapa diperlukan?

Saat kami membuat produk sumber terbuka baru, kami selalu mengizinkan pengguna untuk menggunakan dan menjelajahinya, serta memodifikasi dan mendistribusikan salinan yang dimodifikasi. Namun ketika terjadi distribusi salinan perangkat lunak yang tidak terkendali dengan perubahan, kami tidak menerima kontribusi ke basis kode utama dan proyek tidak berkembang. Di sinilah dibutuhkan committer yang berhak mengumpulkan kontribusi pengguna pada proyek.

Mengapa menjadi seorang yang berkomitmen?

Mari kita mulai dengan fakta bahwa komitmen adalah nilai tambah untuk resume, dan bagi pemula di bidang pemrograman, ini adalah nilai tambah yang lebih besar, karena seringkali ketika melamar pekerjaan mereka meminta contoh kode.

Keuntungan kedua yang tidak diragukan lagi dari melakukan komitmen adalah kesempatan untuk berkomunikasi dengan spesialis top dan menarik beberapa ide keren dari sumber terbuka ke dalam proyek Anda. Selain itu, jika Anda mengetahui dengan baik produk open source tertentu, Anda bisa mendapatkan pekerjaan di perusahaan yang mendukung atau menggunakannya. Bahkan ada yang berpendapat jika tidak mengikuti open source, Anda tidak akan mendapatkan posisi karir yang tinggi.

Selain manfaat dalam hal karir dan pekerjaan, berkomitmen itu sendiri adalah hal yang menyenangkan. Anda diakui oleh komunitas profesional, Anda melihat dengan jelas hasil pekerjaan Anda. Tidak seperti di beberapa pengembangan perusahaan, yang terkadang Anda bahkan tidak mengerti mengapa Anda memindahkan bidang bolak-balik dalam XML.

Di komunitas sumber terbuka, Anda dapat bertemu dengan pakar terkemuka seperti Linus Torvalds. Tetapi jika Anda tidak seperti itu, Anda tidak boleh berpikir bahwa tidak ada yang dapat Anda lakukan di sana - ada tugas dengan tingkat yang berbeda.

Ada juga bonus tambahan: Apache committer, misalnya, menerima lisensi IntelliJ Idea Ultimate gratis (walaupun dengan beberapa batasan).

Apa yang harus dilakukan untuk menjadi seorang komitmen?

Sederhana saja - Anda hanya perlu berkomitmen.

Bagaimana cara menjadi seorang committer dan apakah Anda benar-benar membutuhkannya?

Jika Anda berpikir bahwa tidak ada tugas untuk Anda dalam proyek, Anda salah. Bergabunglah saja dengan komunitas yang Anda minati dan lakukan apa yang dibutuhkannya. Apache Software Foundation memiliki yang terpisah panduan dengan persyaratan untuk commiter.

Masalah apa yang harus Anda selesaikan?

Yang paling beragam - mulai dari pengembangan hingga tes menulis dan dokumentasi. Ya, kontribusi penguji dan dokumenter di komunitas dihargai setara dengan kontribusi pengembang. Ada tugas non-standar - misalnya, menjalankan saluran YouTube dan memberi tahu pengguna lain cara Anda menggunakan produk sumber terbuka. Misalnya, Apache Software Foundation memiliki program terpisah halaman, yang menunjukkan bantuan apa yang diperlukan.  

Apakah saya perlu menulis fitur besar untuk menjadi seorang committer?

TIDAK. Ini sama sekali tidak perlu. Pengimplementasi tidak perlu menulis banyak kode. Namun jika Anda menulis fitur besar, komite manajemen proyek akan lebih mudah mengevaluasi Anda. Berkontribusi pada komunitas bukan hanya tentang fitur, pemrograman, dan pengujian. Jika Anda menulis surat dan membicarakan suatu masalah, menawarkan solusi yang masuk akal - ini juga merupakan kontribusi.

Penting untuk dipahami bahwa berkomitmen adalah tentang kepercayaan. Apakah Anda akan menjadi orang yang berkomitmen atau tidak, ditentukan oleh orang-orang seperti Anda berdasarkan pandangan mereka terhadap Anda sebagai orang yang membawa manfaat bagi produk. Oleh karena itu, Anda, melalui tindakan dan perbuatan Anda di masyarakat, perlu mendapatkan kepercayaan ini.

Bagaimana bersikap?

Bersikaplah konstruktif, positif, sopan, dan sabar. Ingatlah bahwa dalam open source, setiap orang adalah sukarelawan dan tidak ada seorang pun yang berhutang apa pun kepada siapa pun. Mereka tidak menjawab Anda - tunggu dan ingatkan Anda tentang pertanyaan Anda dalam 3-4 hari. Mereka tidak selalu menjawab Anda - ya, open source bersifat sukarela.

Bagaimana cara menjadi seorang committer dan apakah Anda benar-benar membutuhkannya?

Jangan meminta seseorang melakukan sesuatu untuk Anda atau untuk Anda. Anggota masyarakat yang berpengalaman memiliki naluri terhadap β€œpengemis” seperti itu dan langsung menjadi alergi terhadap mereka yang ingin memaksakan pekerjaan mereka kepada mereka.

Jika Anda mendapat bantuan, itu bagus, tapi jangan menyalahgunakannya. Anda tidak boleh menulis: β€œTeman-teman, perbaiki ini, kalau tidak saya akan kehilangan bonus tahunan saya.” Lebih baik tanyakan ke mana Anda harus pergi selanjutnya, dan beri tahu kami apa yang sudah Anda gali terkait bug ini. Dan jika Anda berjanji untuk memperbarui wiki berdasarkan hasil penyelesaian masalah, kemungkinan mereka akan menjawab Anda akan meningkat secara signifikan.

Akhirnya, baca Kode Etik dan belajar untuk menanyakan pertanyaan.

Bagaimana cara berkontribusi jika Anda bukan seorang yang berkomitmen?

Proyek sering kali menggunakan skema RTC, di mana semuanya terlebih dahulu melalui peninjauan, dan kemudian perubahan digabungkan ke dalam master. Dengan skema ini, semua orang pasti menjalani peninjauan, bahkan pelakunya. Oleh karena itu, Anda dapat berkontribusi dengan sukses pada suatu proyek tanpa harus menjadi seorang committer. Dan agar lebih mudah terpilih menjadi committer baru, Anda bisa melakukan mentoring terhadap peserta baru, berbagi ilmu, dan membuat materi baru.

Keanekaragaman - manfaat atau bahaya?

Keanekaragaman - dalam pengertian Apache Software Foundation, antara lain, afiliasi peserta proyek opensource oleh beberapa perusahaan. Jika setiap orang hanya berafiliasi dengan satu organisasi, maka jika minat terhadap proyek hilang, semua peserta segera lari dari sana. Keberagaman memberikan proyek jangka panjang yang stabil, pengalaman beragam, dan beragam pendapat peserta.

Untuk cinta atau untuk kenyamanan?

Dalam proyek sumber terbuka, ada dua tipe orang: mereka yang bekerja di organisasi yang berkontribusi pada produk ini, dan mereka yang bekerja di sini karena cinta, yaitu sukarelawan. Mana yang lebih produktif? Biasanya, peserta yang mendukung produk dari organisasi yang berkontribusi. Mereka hanya memiliki lebih banyak waktu dan motivasi yang jelas untuk mengungkap kebenaran, mereka fokus pada tugas dan lebih dekat dengan pengguna.

Mereka yang melakukannya β€œkarena cinta” juga termotivasi, tetapi dengan cara yang berbeda – mereka bersemangat untuk mempelajari proyek tersebut, untuk membuat dunia menjadi tempat yang lebih baik. Dan peserta seperti itulah yang lebih stabil dan berorientasi jangka panjang, karena mereka yang datang ke komunitas atas inisiatif sendiri kemungkinan besar tidak akan meninggalkan komunitas dalam satu hari.

Bagaimana menemukan keseimbangan antara produktivitas dan stabilitas? Ada dua pilihan. Opsi pertama: ketika peserta bekerja di perusahaan yang secara resmi terlibat dalam proyek sumber terbuka ini, dan melakukan sesuatu tambahan di dalamnya, untuk kepentingannya sendiri - misalnya, mendukung pendatang baru. Opsi kedua adalah perusahaan yang telah mengalami transformasi opensource. Misalnya, ketika karyawan mengerjakan proyek bisnis utama empat hari seminggu, dan sisanya bekerja pada open source.

Committer - menjadi atau tidak?

Bagaimana cara menjadi seorang committer dan apakah Anda benar-benar membutuhkannya?

Berkomitmen adalah topik yang baik dan berguna, namun Anda tidak boleh berusaha secara khusus untuk menjadi orang yang berkomitmen. Peran ini bukan peran berbasis kode dan tidak menunjukkan pengetahuan Anda. Satu-satunya hal yang penting adalah keahlian, yaitu pengetahuan dan pengalaman yang Anda peroleh dengan mempelajari proyek, mendalaminya, dan membantu orang lain memecahkan masalah.

Sumber: www.habr.com

Tambah komentar