Apakah buruk untuk bergabung dengan proyek open-source sebagai amatir?


17

Saya telah berpikir selama sekitar enam bulan sekarang bahwa saya harus bergabung dengan proyek iPhone atau iPad open-source untuk mengasah keterampilan saya di Objective-C, tetapi setiap kali saya melakukannya, saya melihat ribuan baris kode pada proyek besar yang saya lakukan. akhirnya meyakinkan diri saya sendiri bahwa saya tidak akan pernah mengerti. Saya selalu berpikir bahwa komit saya hanya akan berakhir merepotkan admin proyek dan kontributor yang lebih senior, jadi saya selalu mundur pada detik terakhir.

Pertanyaan saya pada dasarnya adalah, apakah ini merepotkan ketika seorang programmer berpengalaman menengah bergabung dengan proyek open-source?


1
Jawaban Macke lebih lengkap, tetapi jawaban singkat untuk pertanyaan Anda yang berani adalah: tidak.
Chris Browne

1
@ ChrisBrowne: Poin bagus. Saya telah mengedit jawaban untuk mencocokkan. :)
Macke

Jawaban:


15

Tidak, tidak.

Jika basis kode proyek yang Anda lihat terlalu menakutkan, pertimbangkan:

  • Memilih proyek (yang lebih kecil) untuk dikerjakan.
  • Pilih tugas yang lebih kecil dalam proyek:
    • Tulis contoh / tutorial / demo untuk sesuatu
    • Perbarui dan perbaiki dokumentasi (semua proyek, OS atau tidak, perlu dokumen yang lebih baik)
    • Perbaiki banyak bug prioritas rendah tetapi mudah diperbaiki (paparan kode yang hebat, pengembang biasanya senang, risiko rendah)
  • Ada beberapa cara untuk berkontribusi tanpa memberikan akses ke sumber inti, seperti:
    • Mengirimkan tambalan, yang dapat dikomentari.
    • Memalsukan dan mengajukan permintaan tarikan (lihat di atas)
    • Bercabang dan bekerja sendiri, hanya untuk melihat ke mana Anda akan pergi. Jika Anda senang, minta para devs untuk melihat apa pun yang telah Anda lakukan untuk melihat apakah itu masuk akal.

Untuk mengatasi "ketakutan" Anda karena tidak menerima komitmen Anda, mulailah mencari titik aman pada awalnya. Ini akan memungkinkan Anda dan tim dev untuk mendapatkan kepercayaan dalam hubungan Anda, dan untuk mempelajari cara berpikir satu sama lain. Saat Anda meningkatkan (baik dalam keterampilan, pengalaman, kualitas kode dan pemahaman tim proyek OS Anda dan dinamika itu) Anda akan dapat menangani tugas yang lebih besar sambil memperkenalkan lebih sedikit kerumitan.

Ini juga membantu dalam meminta poin awal yang cocok, dan melihat apa yang mungkin cocok untuk tim Anda.

Sebagai contoh, saya telah berkontribusi sedikit ke Buildbot selama bertahun-tahun. Saya mulai memperbaiki beberapa masalah kecil, lalu saya memperbaiki kualitas langkah sumber Mercurial dengan memperbaiki beberapa bug yang mencolok. Akhirnya, saya menulis ulang sebagian besar halaman Web dan mengganti kode html-paste ke solusi pembuatan HTML berbasis template. Yang terakhir adalah beberapa ratus komit selama beberapa bulan kerja keras.

Saya juga telah melakukan beberapa pekerjaan Mercurial, tetapi orang-orang itu lebih pemilih dan teknologinya lebih rumit, jadi saya belum mendapatkan perbaikan ke dalam inti. Saya telah membuat beberapa laporan bug dan menulis beberapa ekstensi kecil, tetapi saya belum mendapatkan sesuatu yang lebih besar di sana saat ini.

Semoga ini bisa membantu.


+1 untuk buildbot - ini adalah proyek yang fantastis, dengan pengelola yang sangat baik dan membantu. Jika Anda ingin memulai proyek yang baik, itu pasti layak untuk dilihat.
Nate

bagaimana dengan amatir yang lengkap? Orang yang memiliki tingkat pemrograman rendah dan tidak memiliki pendidikan resmi?
Roy

1
@ Roy Dalam hal itu, saya akan mulai dengan foirking dan hanya bermain-main dengan sumber untuk belajar darinya. Mencapai titik di mana Anda berkontribusi secara efektif membutuhkan waktu lebih lama. Anda mungkin lebih baik memulai dengan mengikuti beberapa tutorial yang baik sendiri (untuk proyek dan kerangka / pustaka) dan membangun pengetahuan Anda sehingga Anda tahu di mana dan bagaimana berkontribusi. Game mods (dan plugins) dapat menjadi sangat baik di antara sendirian di kotak pasir dan memiliki tingkat pengembang inti.
Macke

4

Masuk. Pantau daftar pengembangan untuk sementara dan perkenalkan diri Anda saat Anda merasa nyaman. Banyak proyek memiliki beberapa Pekerjaan yang lebih mudah dalam memperbaiki bug atau dokumentasi yang dengan senang hati akan ditunjukkan oleh Anda kepada Anda. Sebagian besar Proyek cukup ramah untuk tangan baru, dan mereka akan membawa Anda ke awal cukup cepat sehingga Anda dapat menjadi aset nyata bagi Proyek.

Setelah beberapa saat Anda akan terbiasa dengan struktur dan bagian terpenting dari basis kode. Belajar memahami kode seperti ini adalah bagian yang sangat penting dari pemrograman, dan open source adalah cara yang bagus untuk mempelajarinya.


2

Lakukan untuk itu. Ada banyak pemula melakukan hal yang sama. Pimpinan proyek dapat membantu menemukan Anda untuk mengerjakan sesuatu yang tidak keluar dari liga Anda. Anda secara bertahap tumbuh menjadi yang lain.

Oh, dan hanya karena Anda tidak mengerti kode itu tidak berarti itu baik . Saya telah melihat beberapa kode serius yang mengerikan di luar sana. Beberapa di antaranya sulit dimengerti karena ditulis dengan buruk dan dibuat menjadi jauh lebih kompleks dari yang seharusnya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.