Menyiapkan projek anda untuk berjaya

Anda telah melancarkan projek anda, anda menyebarkan berita, dan orang-orang memeriksanya. Hebat! Sekarang, bagaimana anda membuat mereka bertahan?

Komuniti yang ramah adalah pelaburan untuk masa depan dan reputasi projek anda. Sekiranya projek anda baru mula melihat sumbangan pertamanya, mulakan dengan memberi pengalaman positif kepada penyumbang awal, dan permudahkan mereka terus kembali.

Buat orang merasa diterima

Salah satu cara untuk memikirkan komuniti projek anda adalah melalui apa yang disebut oleh @MikeMcQuaid contributor funnel:

Contributor funnel

Semasa anda membina komuniti, pertimbangkan bagaimana seseorang di bahagian atas corong (pengguna berpotensi) mungkin secara teorinya melangkah ke bahagian bawah (penyelenggara aktif). Matlamat anda adalah untuk mengurangkan geseran pada setiap tahap pengalaman penyumbang. Apabila orang memperoleh kemenangan dengan mudah, mereka akan merasa terdorong untuk melakukan lebih banyak perkara.

Mulakan dengan dokumentasi anda:

  • Permudahkan seseorang untuk menggunakan projek anda.README yang mesra dan contoh kod yang jelas akan memudahkan sesiapa sahaja yang memasuki projek anda untuk memulakan.
  • Terangkan dengan jelas cara menyumbang, menggunakan fail CONTRIBUTING anda dan mengemas kini masalah anda.
  • Isu pertama yang baik: Untuk membantu penyumbang baru memulakan, pertimbangkan secara jelas masalah pelabelan yang cukup mudah untuk diatasi oleh pemula. GitHub kemudian akan memaparkan isu-isu ini di berbagai tempat di platform, meningkatkan sumbangan berguna, dan mengurangkan geseran dari pengguna menangani masalah yang terlalu sukar untuk tahap mereka.

GitHub’s 2017 Open Source Survey menunjukkan dokumentasi yang tidak lengkap atau membingungkan adalah masalah terbesar bagi pengguna sumber terbuka. Dokumentasi yang baik mengundang orang untuk berinteraksi dengan projek anda. Akhirnya, seseorang akan membuka masalah atau menarik permintaan. Gunakan interaksi ini sebagai peluang untuk mengalihkannya ke corong.

  • Apabila seseorang baru memasuki projek anda, terima kasih atas minat mereka! Hanya memerlukan satu pengalaman negatif untuk membuat seseorang tidak mahu kembali.
  • Bersikap responsif. Sekiranya anda tidak menjawab masalah mereka selama sebulan, kemungkinannya, mereka sudah melupakan projek anda.
  • Berfikiran terbuka tentang jenis sumbangan yang akan anda terima. Banyak penyumbang bermula dengan laporan bug atau perbaikan kecil. Disana adabanyak cara untuk menyumbang ke projek. Biarkan orang menolong bagaimana mereka mahu menolong.
  • Sekiranya ada sumbangan yang anda tidak setuju, terima kasih atas idea mereka dan terangkan mengapa ini tidak sesuai dengan skop projek, menghubungkan ke dokumentasi yang relevan jika anda memilikinya.

Sebilangan besar penyumbang sumber terbuka adalah “penyumbang kasual”: orang yang menyumbang kepada projek hanya sekali-sekala. Penyumbang kasual mungkin tidak mempunyai masa untuk mencapai kemajuan sepenuhnya dengan projek anda, jadi tugas anda adalah untuk memudahkan mereka menyumbang.

Mendorong penyumbang lain adalah pelaburan dalam diri anda juga. Apabila anda memberi peluang kepada peminat terbesar anda untuk berlari dengan karya yang mereka sukai, tidak ada tekanan untuk melakukan semuanya sendiri.

Mendokumentasikan semuanya

Apabila anda memulakan projek baru, mungkin terasa wajar untuk menjaga kerahsiaan kerja anda. Tetapi projek sumber terbuka berkembang apabila anda mendokumentasikan proses anda di khalayak ramai.

Apabila anda menuliskan sesuatu, lebih banyak orang dapat mengambil bahagian dalam setiap langkah. Anda mungkin mendapat pertolongan mengenai sesuatu yang anda tidak tahu bahawa anda perlukan.

Menulis perkara bermaksud lebih daripada sekadar dokumentasi teknikal. Bila-bila masa anda merasa terdorong untuk menulis sesuatu atau membincangkan projek anda secara tertutup, tanyakan pada diri anda sama ada anda boleh membuatnya terbuka.

Bersikap telus mengenai peta jalan projek anda, jenis sumbangan yang anda cari, bagaimana sumbangan dikaji, atau mengapa anda membuat keputusan tertentu.

Sekiranya anda melihat banyak pengguna menghadapi masalah yang sama, dokumentasikan jawapannya di README.

Untuk perjumpaan, pertimbangkan untuk menerbitkan nota atau catatan anda dalam isu yang berkaitan. Maklum balas yang anda dapat dari tahap ketelusan ini mungkin akan mengejutkan anda.

Mendokumentasikan segala-galanya juga berlaku untuk pekerjaan yang anda lakukan. Sekiranya anda sedang mengemas kini projek anda, masukkan ke dalam permintaan tarik dan tandakan sebagai kerja yang sedang berjalan (WIP). Dengan cara itu, orang lain dapat merasa terlibat dalam proses tersebut sejak awal.

Bersikap responsif

Seperti awakmempromosikan projek anda, orang akan mempunyai maklum balas untuk anda. Mereka mungkin mempunyai pertanyaan tentang bagaimana sesuatu berfungsi, atau memerlukan bantuan untuk memulai.

Try responsif ketika seseorang mengajukan masalah, mengajukan permintaan tarik, atau mengajukan pertanyaan mengenai projek anda. Apabila anda bertindak balas dengan cepat, orang akan merasakan mereka adalah sebahagian daripada dialog, dan mereka akan lebih bersemangat untuk turut serta.

Walaupun anda tidak dapat segera meninjau permintaan tersebut, mengakuinya lebih awal dapat meningkatkan pertunangan. Inilah cara @tdreyno menanggapi permintaan penarikan Middleman:

Middleman pull request

A Mozilla study found that penyumbang yang menerima ulasan kod dalam masa 48 jam mempunyai kadar pulangan dan sumbangan berulang yang jauh lebih tinggi.

Perbualan mengenai projek anda juga boleh berlaku di tempat lain di internet, seperti Stack Overflow, Twitter, atau Reddit. Anda boleh mengatur pemberitahuan di beberapa tempat ini sehingga anda diberi amaran ketika seseorang menyebutkan projek anda.

Beri komuniti anda tempat untuk berkumpul

Terdapat dua sebab untuk memberi tempat kepada komuniti anda untuk berkumpul.

Sebab pertama adalah untuk mereka. Tolong orang mengenali antara satu sama lain. Orang yang mempunyai kepentingan bersama pasti menginginkan tempat untuk membincangkannya. Dan apabila komunikasi bersifat umum dan mudah diakses, sesiapa sahaja boleh membaca arkib masa lalu untuk mencapai kelajuan dan mengambil bahagian.

Sebab kedua adalah untuk anda. Sekiranya anda tidak memberi orang awam tempat untuk membincangkan projek anda, mereka mungkin akan menghubungi anda secara langsung. Pada mulanya, nampaknya cukup mudah untuk membalas mesej peribadi “hanya sekali ini”. Tetapi lama-kelamaan, terutamanya jika projek anda menjadi popular, anda akan merasa letih. Tahan godaan untuk berkomunikasi dengan orang lain mengenai projek anda secara tertutup. Sebaliknya, arahkan mereka ke saluran awam yang ditentukan.

Komunikasi awam semudah mengarahkan orang untuk membuka masalah dan bukannya menghantar e-mel kepada anda secara langsung atau memberi komen di blog anda. Anda juga boleh membuat senarai mel, atau membuat akaun Twitter, Slack, atau saluran IRC agar orang dapat membincangkan projek anda. Atau cuba semua perkara di atas!

Kubernetes kops mengetepikan waktu pejabat setiap minggu untuk membantu anggota masyarakat:

Kops juga mempunyai masa yang diperuntukkan setiap minggu untuk menawarkan pertolongan dan bimbingan kepada masyarakat. Penyelenggara Kops telah bersetuju untuk meluangkan masa yang khusus dikhaskan untuk bekerja dengan pendatang baru, membantu PR, dan membincangkan ciri baru.

Pengecualian untuk komunikasi awam adalah: 1) masalah keselamatan dan 2) pelanggaran tatakelakuan sensitif. Anda semestinya mempunyai cara untuk orang melaporkan masalah ini secara peribadi. Sekiranya anda tidak mahu menggunakan e-mel peribadi anda, sediakan alamat e-mel khusus.

Memperkembangkan komuniti anda

Masyarakat sangat kuat. Kekuatan itu boleh menjadi berkat atau kutukan, bergantung pada bagaimana Anda menggunakannya. Apabila komuniti projek anda berkembang, ada cara untuk menolongnya menjadi kekuatan pembinaan, bukan kehancuran.

Jangan bertolak ansur dengan pelakon jahat

Mana-mana projek yang popular pasti akan menarik orang yang membahayakan, dan bukannya membantu, komuniti anda. Mereka mungkin memulakan perbahasan yang tidak perlu, bertengkar dengan ciri-ciri remeh, atau menggertak orang lain.

Lakukan yang terbaik untuk mengamalkan dasar toleransi sifar terhadap jenis orang ini. Sekiranya dibiarkan, orang negatif akan membuat orang lain dalam komuniti anda tidak selesa. Mereka mungkin juga pergi.

Perbahasan berkala mengenai aspek sepele projek anda mengalihkan perhatian orang lain, termasuk anda, daripada memfokus pada tugas penting. Orang baru yang tiba ke projek anda mungkin melihat perbualan ini dan tidak mahu mengambil bahagian.

Apabila anda melihat tingkah laku negatif berlaku pada projek anda, panggilnya secara terbuka. Jelaskan, dengan nada yang baik tetapi tegas, mengapa tingkah laku mereka tidak dapat diterima. Sekiranya masalah itu berlanjutan, anda mungkin perlu minta mereka pergi. Kamu punya tatakelakuan boleh menjadi panduan yang membina untuk perbualan ini.

Temui penyumbang di mana mereka berada

Dokumentasi yang baik hanya menjadi lebih penting apabila komuniti anda berkembang. Penyumbang kasual, yang mungkin tidak biasa dengan projek anda, membaca dokumentasi anda untuk mendapatkan konteks yang mereka perlukan dengan cepat.

Dalam fail CONTRIBUTING anda, jelaskan cara penyumbang baru kepada penyumbang baru. Anda mungkin mahu membuat bahagian khusus untuk tujuan ini. Django, sebagai contoh, mempunyai halaman arahan khas untuk mengalu-alukan penyumbang baru.

Django new contributors page

Dalam barisan masalah anda, labelkan pepijat yang sesuai untuk pelbagai jenis penyumbang: sebagai contoh, “first timers only”,“terbitan pertama yang baik”, atau “dokumentasi”. These labels permudahkan seseorang yang baru dalam projek anda untuk mengimbas masalah anda dengan cepat dan memulakannya.

Akhirnya, gunakan dokumentasi anda untuk membuat orang merasa diterima di setiap langkah.

Anda tidak akan pernah berinteraksi dengan kebanyakan orang yang menggunakan projek anda. Mungkin ada sumbangan yang tidak anda terima kerana seseorang merasa terintimidasi atau tidak tahu di mana hendak memulakannya. Bahkan beberapa kata yang baik dapat membuat seseorang tidak meninggalkan projek anda dalam kekecewaan.

Contohnya, inilah caranya Rubinius bermula its contributing guide:

Kami ingin memulai dengan mengucapkan terima kasih kerana menggunakan Rubinius. Projek ini adalah usaha cinta, dan kami menghargai semua pengguna yang menangkap pepijat, membuat peningkatan prestasi, dan membantu dengan dokumentasi. Setiap sumbangan amat bermakna, jadi terima kasih kerana turut serta. Oleh itu, berikut adalah beberapa panduan yang kami minta anda ikuti sehingga kami dapat menyelesaikan masalah anda dengan jayanya.

Kongsi pemilikan projek anda

Orang ramai teruja untuk menyumbang kepada projek apabila mereka merasakan kepemilikan. Itu tidak bermaksud anda perlu membalikkan visi projek anda atau menerima sumbangan yang tidak anda mahukan. Tetapi semakin banyak anda memberi penghargaan kepada orang lain, semakin banyak mereka tetap bertahan.

Lihat apakah anda boleh mencari cara untuk berkongsi pemilikan dengan komuniti anda sebanyak mungkin. Berikut adalah beberapa idea:

  • Tahan untuk memperbaiki pepijat yang mudah (tidak kritikal). Sebagai gantinya, gunakannya sebagai peluang untuk merekrut penyumbang baru, atau membimbing seseorang yang ingin menyumbang. Mungkin kelihatan tidak wajar pada mulanya, tetapi pelaburan anda akan membuahkan hasil dari masa ke masa. Sebagai contoh, @michaeljoseph meminta penyumbang untuk mengemukakan permintaan tarik pada aCookiecutter masalah di bawah, bukannya membetulkannya sendiri.

Cookiecutter issue

  • Mulakan fail CONTRIBUTORS atau AUTHORS dalam projek anda yang menyenaraikan semua orang yang menyumbang untuk projek anda, seperti Sinatra

  • Sekiranya anda mempunyai komuniti yang cukup besar, menghantar surat berita atau menulis catatan blog mengucapkan terima kasih kepada penyumbang. Penyumbang Rust This Week in Rust dan penyumbang Hoodie Shoutouts adalah dua contoh yang baik.

  • Berikan akses kepada setiap penyumbang. @felixge mendapati bahawa ini menjadikan orang lebih teruja untuk menggilap patch mereka, dan dia malah menjumpai penyelenggara baru untuk projek-projek yang belum pernah dia kerjakan sebentar lagi.

  • Sekiranya projek anda berada di GitHub, pindahkan projek anda dari akaun peribadi anda ke Organization dan tambahkan sekurang-kurangnya satu pentadbir sandaran. Organisasi menjadikannya lebih mudah untuk mengerjakan projek dengan kolaborator luar.

Kenyataannya adalah bahawamost projects only havesatu atau dua penyelenggara yang melakukan sebahagian besar kerja. Semakin besar projek anda, dan semakin besar komuniti anda, semakin mudah mendapatkan bantuan.

Walaupun anda mungkin tidak selalu menjumpai seseorang untuk menjawab panggilan tersebut, memberi isyarat di luar sana akan meningkatkan kemungkinan orang lain akan masuk. Dan lebih awal anda memulakannya, semakin cepat orang dapat membantu.

Menyelesaikan konflik

Pada peringkat awal projek anda, membuat keputusan besar adalah mudah. Apabila anda ingin melakukan sesuatu, anda hanya melakukannya.

Oleh kerana projek anda menjadi lebih popular, lebih ramai orang akan tertarik dengan keputusan yang anda buat. Walaupun anda tidak mempunyai komuniti penyumbang yang besar, jika projek anda mempunyai banyak pengguna, anda akan mendapati orang mempertimbangkan keputusan atau membangkitkan masalah mereka sendiri.

Sebahagian besarnya, jika anda telah membina komuniti yang ramah, hormat dan mendokumentasikan proses anda secara terbuka, komuniti anda seharusnya dapat mencari penyelesaian. Tetapi kadang-kadang anda menghadapi masalah yang agak sukar untuk ditangani.

Tetapkan bar untuk kebaikan

Apabila komuniti anda bergelut dengan masalah yang sukar, kemarahan mungkin akan meningkat. Orang mungkin menjadi marah atau kecewa dan mengeluarkannya satu sama lain, atau pada anda.

Tugas anda sebagai penyelenggara adalah untuk memastikan situasi ini tidak meningkat. Walaupun anda mempunyai pendapat yang kuat mengenai topik ini, cubalah mengambil kedudukan sebagai moderator atau fasilitator, daripada melompat ke dalam pertengkaran dan mendorong pandangan anda. Sekiranya seseorang bersikap tidak baik atau memonopoli perbualan, bertindak segera agar perbincangan tetap sopan dan produktif.

Orang lain mencari bimbingan anda. Berikan contoh yang baik. Anda masih dapat menyatakan kekecewaan, ketidakbahagiaan, atau keprihatinan, tetapi melakukannya dengan tenang.

Menjaga kesegaran anda tidak mudah, tetapi menunjukkan kepemimpinan dapat meningkatkan kesihatan komuniti anda. Internet terima kasih.

Perlakukan README anda sebagai perlembagaan

README anda adalah lebih daripada sekumpulan arahan. Ia juga merupakan tempat untuk membincangkan tujuan, visi produk, dan peta jalan anda. Sekiranya orang terlalu fokus memperdebatkan kelebihan ciri tertentu, ia mungkin dapat meninjau semula README anda dan membincangkan visi projek anda yang lebih tinggi. Memfokuskan pada README anda juga melumpuhkan perbualan, sehingga anda dapat mengadakan perbincangan yang membina.

Fokus pada perjalanan, bukan destinasi

Beberapa projek menggunakan proses pengundian untuk membuat keputusan utama. Walaupun masuk akal pada pandangan pertama, pemungutan suara menekankan mendapatkan “jawaban”, daripada mendengarkan dan menangani masalah satu sama lain.

Pengundian boleh menjadi politik, di mana anggota masyarakat merasa tertekan untuk saling memilih atau memilih dengan cara tertentu. Tidak semua orang memilih, sama ada ia silent majority dalam komuniti anda, atau pengguna semasa yang tidak tahu ada suara.

Kadang kala, pengundian adalah pemangkin yang perlu. Walau seberapa banyak yang anda mampu, tekankan “consensus seeking” bukannya muafakat.

Di bawah proses pencarian konsensus, anggota masyarakat membincangkan masalah utama sehingga mereka merasa mereka telah didengar dengan cukup. Apabila hanya ada masalah kecil, masyarakat bergerak maju. “Pencarian konsensus” mengakui bahawa masyarakat mungkin tidak dapat mencapai jawapan yang sempurna. Sebaliknya, ia mengutamakan pendengaran dan perbincangan.

Walaupun anda tidak benar-benar menggunakan proses mencari konsensus, sebagai penyelenggara projek, penting bagi orang untuk mengetahui bahawa anda sedang mendengar. Membuat orang lain merasa terdengar, dan berkomitmen untuk menyelesaikan masalah mereka, banyak membantu menangani situasi sensitif. Kemudian, ikuti kata-kata anda dengan tindakan.

Jangan terburu-buru membuat keputusan kerana mempunyai keputusan. Pastikan bahawa semua orang merasa terdengar dan bahawa semua maklumat telah diumumkan sebelum membuat keputusan.

Pastikan perbualan tertumpu pada tindakan

Perbincangan itu penting, tetapi ada perbezaan antara perbualan produktif dan tidak produktif.

Galakkan perbincangan selagi ia bergerak secara aktif ke arah penyelesaian. Sekiranya jelas bahawa perbualan mereda atau di luar topik, jab menjadi lebih peribadi, atau orang-orang membicarakan perincian kecil, sudah waktunya untuk mematikannya.

Membiarkan perbualan ini diteruskan bukan hanya buruk untuk masalah yang dihadapi, tetapi juga buruk bagi kesihatan komuniti anda. Ini mengirimkan mesej bahawa jenis percakapan ini diizinkan atau bahkan digalakkan, dan ini dapat mendorong orang untuk membangkitkan atau menyelesaikan masalah di masa depan.

Dengan setiap titik yang dibuat oleh anda atau oleh orang lain, tanyakan pada diri sendiri, “Bagaimana ini mendekatkan kita dengan penyelesaian?”

Sekiranya perbualan mula terungkai, tanyakan kepada kumpulan, “Langkah mana yang harus kita ambil selanjutnya?” Untuk memfokuskan kembali perbualan.

Sekiranya perbualan jelas tidak akan ke mana-mana, tidak ada tindakan yang jelas untuk diambil, atau tindakan yang sesuai telah diambil, tutup masalahnya dan terangkan mengapa anda menutupnya.

Pilih pertempuran anda dengan bijak

Konteks adalah penting. Pertimbangkan siapa yang terlibat dalam perbincangan dan bagaimana mereka mewakili masyarakat yang lain.

Adakah semua orang dalam komuniti kesal dengan, atau bahkan terlibat dengan, masalah ini? Atau adakah pengacau sendirian? Jangan lupa untuk mempertimbangkan ahli komuniti anda yang senyap, bukan hanya suara aktif.

Sekiranya masalah ini tidak mewakili keperluan masyarakat anda yang lebih luas, anda mungkin perlu mengakui keprihatinan segelintir orang. Sekiranya ini adalah masalah berulang tanpa penyelesaian yang jelas, arahkan mereka ke perbincangan sebelumnya mengenai topik ini dan tutup utasnya.

Kenal pasti tiebreak komuniti

Dengan sikap yang baik dan komunikasi yang jelas, situasi yang paling sukar dapat diselesaikan. Namun, walaupun dalam perbualan yang produktif, hanya ada perbezaan pendapat tentang cara meneruskannya. Dalam kes ini, kenal pasti individu atau sekumpulan orang yang boleh berfungsi sebagai pemula.

Tiebreaker dapat menjadi penyelenggara utama proyek, atau mungkin sekelompok kecil orang yang membuat keputusan berdasarkan pengundian. Sebaik-baiknya, anda telah mengenal pasti tiebreak dan proses yang berkaitan dalam fail GOVERNANCE sebelum anda mesti menggunakannya.

Tiebreaker anda harus menjadi pilihan terakhir. Isu memecah belah adalah peluang untuk komuniti anda berkembang dan belajar. Rebut peluang ini dan gunakan proses kolaboratif untuk beralih ke penyelesaian sedapat mungkin.

Komuniti adalah ❤️ sumber terbuka

Komuniti yang sihat dan berkembang menghasilkan ribuan jam yang dicurahkan ke sumber terbuka setiap minggu. Banyak penyumbang menunjukkan kepada orang lain sebagai alasan untuk bekerja - atau tidak bekerja - di sumber terbuka. Dengan belajar bagaimana memanfaatkan kekuatan itu secara konstruktif, anda akan membantu seseorang di luar sana mempunyai pengalaman sumber terbuka yang tidak dapat dilupakan.