Manfaat kontributor Untuk Open Source
- Bekerja dengan banya orang pada suatu proyel mengharuskan seseorang untuk menjelaskan caranya bekerja, sekaligus meminta bantuan orang lain.
- Kegiatan belajar dan mengajar pada suatu proyek open souece bisa menjadi aktivitas yang menyenangkan
2. Mengembangkan reputasi dan karir
- Hampir semua proyek open source bersifat publik
- Kontribusi open source mendapatkan contoh yang dapat dibawa kemana saja untuk menunjukan apa saja “keterampilan” yang bisa dilakukan
3. Belajar pengelolaan proyek
- Proyek open source menawarkan kesempatan belajar keterampilan kepemimpinan dan manajemen
- Seperti menyelesaikan konflik, mengelola sekelompok orang dan memprioritaskan pekerjaan
KONTRIBUSI
- Kesalahan pahaman yang sering terjadi tentang kontribusi open source adalah bahwa seseorang harus memberikan kontribusi dalam bentuk source code
- Faktanya, seringkali banyak bagian lain dari suatu proyek yang sering terabaikan/diabaikan
- Seseorang bisa memberikan bantuan besar bagi proyek dengan menawarkan diri untuk berkontribusi yang sering terabaikan/diabaikan ini
Beberapa kontribusi yang dapat diberikan pada proyek open source :
1. Perencanaan
- Mengelola workshop/acara pertemuan tentang proyek
- Mengelola konferensi suatu proyek
- Membantu anggota komunitas menemukan konferensi yang sesuai dan mengirimkan proposal
2. Desain
- Penataan ulang layout untuk meningkatakan usability
- Melakukan penelitian pengguna untuk manata ulang dan meningkatkan navigasi/menu
- Membuat panduan untuk proyek memiliki desain visual yang konsisten
- Membuat hasil seni untuk pakai/logo baru
3. Menulis
- Menulis dan memperbanyak dokumentasi proyek
- Memulai laporan berkala “Progress” untuk proyek
- Menulis tutorial “Panduan” untuk proyek
- Menulis terjemahan untuk dokumentasi proyek
4. Mengelola
- Mengumpulkan masalah-masalah yang sama/mirip
- Memberikan label pada masalah untuk menjaga pengelolaan
- Menyarankan menghapus laporan masalah yang sama
5. Membuat source code
- Mencari laporan masalah yang ingin diselesaikan
- Bertanya jika hendak membantu menambahkan fitur baru
- Melakukan otomatisasi setup proyek
- Meningkatkan perlengkapan dan pengujian
6. Membantu orang
- Menjawab pertanyaan tentang proyek, misalnya di SyackOverflow, Reddit atau forum-forum lainnya
- Menjawab pertanyaan pada permasalahan terbuka
- Membantu memoderasi halaman diskusi
7. Membantu programmer
- Mereview source code yang diajukan orang lain
- Menulis tutorial bagaimana proyek bisa digunakan
- Menawarkan diri untuk menjadi mentor bagi kontributor lainnya
8. Meskipun secara umum open source merujuk pada produk software, namun semua orang bisa berkontribusi pada hal lain
9. Misalnya membuat buku, buku resep makan, daftar-daftar yang dapat dikembangkan sebagai proyek open source
Contohnya ;
- Daftar fakta-fakta menarik diseluruh dunia
- Daftar pertanyaan potensisal untuk wawancara bagi calon developer front end
STRUKTUR ORGANISASI
Pada umumnya struktur organisasi proyek open source adalah sebagai berikut;
1. Pencipta “Author”
- Orang/organisasi yang menciptakan proyek
2. Pemilik “Owner”
- Orang/organisasi yang memiliki kepemilikan administratif terhadap organisasi/repository
- Owner dan author tidak selalu sama
3. Pengelola “Maintainers”
- Kontributor yang bertanggung jawab untuk menggerakan visi
- Bertanggung jawab mengelola aspek organisasi dari proyek
- Bisa hadi author/owner
4. Kontributor
- Semua orang yang telah memberikan kontribusi pada suatu proyek
5. Anggota komunitas “Commuity Members”
- Orang-orang yang menggunakan proyek
- Anggota komunitas mungkin aktif pada diskusi/mengungkapkan pendapat pada arah suatu proyek
DOKUMENTASI
Suatu proyel juga memiliki dokumentasi, yang biasanya diletakkan pada posisi teratas repository. Beberapa dokumentasi tersebut diantaranya:
1. LICENSE
- Setiap proyek open source hadesainrus memiliki lisensi open source
- Jika tidak memiliki lisensi, maka proyek tersebut tidak bersifat open source
2. README
- Merupakan intruksi manual yang menyambut anggota kimunitas baru pada suatu proyek
- Dokumen ini menjelaskan mengapa suatu proyek berguna
- Serta menjelaskan bagaimana cara memulainya
3. CONTRIBUTING
- Dokumentasi ini membantu orang-orang berkontribusi pada suatu proyek
- Menjelaskan jenis kontribusi apa yang diperlukan
- Menjelaskan bagaimana cara kerja dari proses kontribusinya
- Keberadaan dokumen contributing mengindikasikan bahwa suatu proyek menerima kontribusi
4. Dokumentasi lain
- Tutorial/panduan
- Kebijakan proyek “Pada proyek yang lebih besar”
DISKUSI
Beberapa tools yang digunakan komunitas open source untuk mengelola diskusi yaitu;
1. Issue tracker
- Dimana orang-orang mendiskusikan laporan masalah terkait proyek
2. Pull request
- Dimana orang-orang mendiskusikan dan mereview perubahan yang sedang dikerjakan
3. Forum diskusi/miling list
- Beberapa proyek menggunakan untuk diskusi suatu topik
- Namun ada proyek yang menggunakan issue tracker untuk semua diskusi
4. Media chat
- Beberapa proyek menggunakan media char “Seperti Slack” untuk diskusi harian, kolaborasi dan pertukaran data yang bersifat cepat.
PENGAJUAN KONTRIBUSI
Langkah-langkah yang membuat kontribusi menjadi tepat, di antaranya :
• Berikan konteks
• Lakukan perkerjaan sebelumnya
• Buat permintaan singkat dan langsung
• Buat semua komunikasi terbuka secara publik
• Tidak ada salahnya bertanya
• Hargai keputusan komunitas
• Pertahankan kualitas
Beberapa hal yang bisa terjadi setelah pengajuan kontribusi, yaitu:
1. Tidak mendapatkan respons
- Jika tidak mendapatkan respons selama > seminggu, bisa menanyakan di tempat yang sama dan meminta yang lain mereview
- Hubungi melalui komunikasi publik
- Terdapat banyak alasan mengapa kontribusi tidak direspons “termasuk alasan pribadi di luar kendali”
- Mencari proyek lain
- Mencari cara lain untuk berkontribusi pada proyek yang sama
2. Seseorang meminta perubahan pada kontribusi yang diajukan
- Perubahan bisa jadi pada ruang lingkup ide
- Atau perubahan pada source code
- Kontributor diharapkan merespons dengan cepat
- Kemudian menelaah setiap poin-poin perubahan yang diminta
- Bertanya kepada reviewer diperbolehkan jika diperlukan
- Jika kontributor tidak memiliki waktu/tidak mampu mengerjakan perubahan tersebut, berikan infromasi kepada pengelola, sehingga mereka tidak akan mengharapkan respons lagi dan perubahan bisa diambil alih oleh kontributor lain
3. Kontribusi ditolak
- Menanyakan kepada pengelola tentang masukan dan klarifikasi bisa dilakukan jika kontributor tidak yakin mengapa pengajuan di tolak
- Kontributor tetap harus menghargai semua keputusan komunitas “Jangan berdebat/menyerang”
- Kontributor bisa membuat proyek sendiri jika tidak setuju
4. Kontribusi diterima
- Diharapkan kita bisa mengerjakan semua dengan baik dan dengan kulitas yang baik jadi ada komitmen yang akan kita jalankan dikomunitas open source.
No comments