Bagaimana seseorang menjadi kontributor besar untuk proyek opensource?

10

Saya tahu bahwa saran default untuk proyek sumber terbuka, dan memulai, adalah mulai memperbaiki bug. Tetapi saya merasa bahwa ini adalah jalan yang ingin diambil seseorang jika mereka ingin menjadi penguji / pemecah bug di proyek. Bagaimana seseorang menjadi kontributor aktif proyek opensource? [Yaitu pada tingkat arsitektur]

biksu
sumber
15
Langkah 1 - Menjadi kontributor besar. Langkah 2 - kurangi sedikit.
psr

Jawaban:

10

Ini mungkin akan terdengar seperti sedikit tautologi, tetapi jika Anda ingin menjadi kontributor utama fitur baru, gunakan produk untuk sementara waktu, cari fitur baru yang akan memperbaikinya, tulis kode untuk mengimplementasikan fitur tersebut , dan berkontribusi.

Alasan orang disarankan untuk memulai dengan perbaikan bug adalah karena hal itu membuat mereka menggali di dalam basis kode dan membiasakan diri dengan cara kerja berbagai hal. Itu juga akan membuat Anda berpartisipasi dalam komunitas diskusi proyek, apa pun itu, (biasanya milis atau forum), sehingga Anda akan merasakan arah proyek. Anda akan merasa sedikit bodoh jika Anda mendapatkan 80% dari cara yang dilakukan dengan fitur baru Anda hanya untuk menemukan bahwa orang lain telah mengerjakannya selama ini dan mereka baru saja menyelesaikannya!

Mason Wheeler
sumber
Cukup jauh, jadi menurut Anda apakah ini taktik yang lebih politis atau memalukan? [Aka. mengiklankan tambalan di blog, sebelum mendapatkan izin untuk melakukan]
monksy
2
@monksy - tidak, karena Anda biasanya tidak akan mempublikasikannya, tetapi berkontribusi melalui mekanisme apa pun yang sesuai dengan basis kode. Anda mencoba mendapatkan kepercayaan melalui pengalaman yang dibagikan. Anda tidak mendapatkan komitmen pribadi oleh orang-orang yang mengganggu!
sdg
1
@monksy: Jangan mengiklankan tambalan Anda di blog; bagaimana Anda tahu orang dari proyek ini akan melihatnya? Jika Anda memiliki tambalan, bawa ke komunitas diskusi dan bicarakan di sana. Di situlah Anda cenderung mendapatkan respons paling berguna. (BTW jika Anda memiliki perbaikan bug, bersiaplah untuk membuktikan bahwa sebenarnya ada bug. Ini berarti Anda memahami apa yang seharusnya dilakukan oleh kode dan Anda dapat menunjukkan kasus yang dapat direproduksi di mana ia melakukan sesuatu yang lain. Pastikan Anda tahu perbedaan antara bug dan kode melakukan sesuatu yang seharusnya tidak Anda sukai.)
Mason Wheeler
4

Tidak ada jalan pintas. Proyek open source sangat berbasis prestasi. Ketika Anda telah menunjukkan bahwa Anda mampu menangani tugas yang lebih kecil, Anda akhirnya akan dipercaya dengan tugas yang lebih besar dan lebih besar. Proyek-proyek sumber terbuka juga memiliki banyak dorongan oleh kontributor yang berkontribusi satu atau dua tambalan kemudian melanjutkan, dan bahkan lebih banyak orang yang "berkontribusi" satu atau dua gagasan besar tetapi tidak diimplementasikan kemudian melanjutkan. Jika Anda ingin memberikan kontribusi yang lebih besar, Anda harus menunjukkan bahwa Anda ada di dalamnya untuk jangka panjang.

Yang sedang berkata, perbaikan arsitektur tambahan sering diterima, terutama jika mereka memecahkan bug utama atau masalah kinerja. Sebagai contoh, beberapa tahun yang lalu salah satu dari beberapa tambalan yang saya sumbangkan untuk proyek Cinelerra adalah perubahan arsitektur pada tumpukan undo yang secara signifikan mengurangi konsumsi memori dan latensi untuk operasi yang tidak dapat dibatalkan.

Anda akan menemukan yang paling sukses jika Anda memecahkan masalah yang Anda hadapi secara pribadi, daripada hanya ingin menjadi "kontributor proyek sumber terbuka." Ketika saya mengirimkan tambalan itu ke Cinelerra, saya tidak berusaha menyumbangkan perubahan arsitektur untuk proyek open source yang dipilih secara acak, saya mencoba mencari tahu mengapa perlu waktu yang sangat lama untuk memindahkan titik masuk / keluar saat mengedit video saya.

Karl Bielefeldt
sumber
Bagus! Saya selalu ingin menggunakan Cinelerra, tetapi selalu menyebalkan untuk menginstalnya di gentoo. Terima kasih atas kontribusinya. Tapi ini adalah jenis perubahan yang saya sarankan dan tanyakan. Perubahannya cukup besar untuk membuat orang khawatir, tetapi ini bukan perbaikan bug.
monksy
2

Anda dapat melakukan ini dengan mengenal mereka yang sudah berada di posisi itu dan menunjukkan minat untuk bergabung dengan mereka, yang paling baik dilakukan dengan memperbaiki bug, menemukan bug, dan berpartisipasi dalam pengembangan.

Ryathal
sumber
Itu tampak seperti jalan panjang untuk membuat keputusan arsitektur / desain. [Saya beroperasi di bawah premis bahwa garpu buruk]
monksy
@monksy sepertinya Anda mulai dari premis yang berbeda dari yang mungkin ditunjukkan oleh pertanyaan Anda. Jika Anda yakin Anda memiliki cara yang jauh lebih baik daripada proyek saat ini, mungkin terlibat dalam percakapan terbuka sederhana untuk lebih memahami mengapa hal-hal seperti apa adanya, dan kemudian pergi dari sana ...
sdg
5
@monksy naik tangga membutuhkan waktu, Anda tidak bisa memutuskan untuk memulai dari atas kecuali Anda membuat tangga sendiri.
Ryathal