ผู้ดูแลโปรเจกต์โอเพนซอร์สเผชิญกับความท้าทายที่เพิ่มขึ้นในการดึงดูดผู้มีส่วนร่วมใหม่ เนื่องจากระบบ good first issue ที่ใช้กันอย่างแพร่หลายบน GitHub กลับกลายเป็นสิ่งที่ไม่มีประสิทธิภาพมากขึ้น สิ่งที่ออกแบบมาเพื่อเป็นจุดเริ่มต้นที่เป็นมิตรสำหรับผู้มาใหม่ กลับกลายเป็นสุสานของงานที่ล้าสมัยและข้อกำหนดที่ไม่ชัดเจน ทำให้ผู้ที่มีศักยภาพจะมาช่วยเหลือรู้สึกหงุดหงิดและโปรเจกต์ขาดแคลนบุคลากร
ปัญหาทั่วไปของ "Good First Issues":
• Issues ที่ล้าสมัย - การพัฒนาไม่จำเป็นต้องใช้อีกต่อไปแต่ไม่ได้อัปเดต
• Issues ที่ไม่ได้รับการดูแล - Pull requests ถูกเชื่อมโยงแต่ไม่มีการตอบสนองจากผู้ดูแล
• บริบทที่คลุมเครือ - สันนิษฐานว่าผู้เข้าใหม่เข้าใจโครงสร้างภายในของโปรเจกต์
• ขั้นตอนการทำงานไม่สอดคล้องกัน - Issues ไม่สะท้อนถึงวิธีการพัฒนาที่เกิดขึ้นจริง
วิกฤตการต้อนรับในโลกโอเพนซอร์ส
ปัญหานี้มีรากลึกกว่าการดูแลป้ายกำกับ issue ที่ไม่ดี การสนทนาในชุมชนเผยให้เห็นว่าผู้มีส่วนร่วมที่ประสบความสำเร็จไม่ค่อยเข้าร่วมโปรเจกต์จากความปรารถนาเชิงนามธรรมที่จะช่วยเหลือ แต่พวกเขามักจะมาพร้อมกับความต้องการเฉพาะเจาะจง - มักจะเป็นการหลีกเลี่ยงการดูแล fork ของตัวเองหรือเพื่อพัฒนาฟีเจอร์ที่พวกเขาต้องการ ความไม่ตรงกันพื้นฐานระหว่างวิธีที่โปรเจกต์พยายามดึงดูดผู้มีส่วนร่วมและวิธีที่ผู้คนค้นพบงานโอเพนซอร์สจริงๆ สร้างอุปสรรคที่สำคัญ
ความท้าทายจะซับซ้อนยิ่งขึ้นเมื่อพิจารณาว่า issue แรกที่มีคุณภาพมักจะถูกทำเสร็จอย่างรวดเร็ว เหลือไว้เพียงงานที่ยากหรือมีปัญหา สมาชิกชุมชนคนหนึ่งได้กล่าวถึงความสำคัญของการจงใจทิ้งงานที่มีผลกระทบต่ำไว้โดยเฉพาะสำหรับผู้มาใหม่ โดยตระหนักว่าความรู้สึกของความสำเร็จเป็นสิ่งสำคัญสำหรับผู้มีส่วนร่วมใหม่
อุปสรรคด้านเอกสารและการติดตั้ง
นอกเหนือจากการจัดการ issue แล้ว โปรเจกต์ยังเผชิญกับอุปสรรคที่สำคัญในโครงสร้างพื้นฐานการต้อนรับขั้นพื้นฐาน ผู้มีส่วนร่วมหลายคนใช้เวลาหลายวันเพียงเพื่อหาวิธีสร้างและรันโปรเจกต์ในเครื่องของตัวเอง สิ่งนี้เป็นความท้าทายเป็นพิเศษสำหรับระบบที่ซับซ้อนที่เกี่ยวข้องกับ repository หลายตัวหรือไลบรารีที่ต้องจัดการอย่างระมัดระวัง การขาดคำแนะนำ inner dev loop ที่ชัดเจนในเอกสารโปรเจกต์สร้างอุปสรรคทันทีที่ทำให้ท้อใจก่อนที่จะเริ่มเขียนโค้ดจริงๆ
ไม่มีอะไรแย่ไปกว่าการใช้เวลาสองวันเพื่อหาวิธีสร้าง และเมื่อสร้างเสร็จแล้ว จะติดตั้ง/รัน/ดีบักอย่างไร
องค์ประกอบสำคัญสำหรับการปฐมนิเทศ: • คำแนะนำการ build และ setup ที่ชัดเจนใน README • การตั้งค่าสภาพแวดล้อมการพัฒนาในเครื่องแบบทีละขั้นตอน • ขั้นตอนการ debug และทดสอบ • ภาพรวมสถาปัตยกรรมสำหรับโครงการที่มีหลาย repository • การบำรุงรักษาเอกสารสำหรับผู้เข้าใหม่อย่างสม่ำเสมอ
ปัญหาการให้ความสนใจส่วนบุคคล
การต้อนรับที่มีประสิทธิภาพต้องการความสนใจส่วนบุคคลอย่างมากจากผู้ดูแล ซึ่งเป็นทรัพยากรที่โปรเจกต์โอเพนซอร์สหลายแห่งขาดแคลน คำสาปแห่งความรู้ส่งผลกระทบต่อแม้แต่ผู้ดูแลที่มีเจตนาดี ซึ่งอาจสร้าง issue โดยสมมติว่าผู้มาใหม่เข้าใจบริบทที่ใช้เวลาหลายปีในการพัฒนา สิ่งนี้สร้างวงจรที่โปรเจกต์ดิ้นรนเพื่อดึงดูดความช่วยเหลืออย่างแม่นยำเพราะพวกเขาต้องการความช่วยเหลือเพื่อดึงดูดผู้มีส่วนร่วมอย่างมีประสิทธิภาพ
การแก้ปัญหาต้องการการปฏิบัติต่อ good first issue แต่ละตัวเป็นสัญญากับผู้มาใหม่ ผู้ดูแลต้องให้คำแนะนำที่แม่นยำและเป็นประโยชน์โดยไม่สมมติเกี่ยวกับความรู้เดิม อย่างไรก็ตาม ระดับการดูแลนี้ต้องการเวลาและพลังงานที่ผู้ดูแลอาสาสมัครมักไม่สามารถสละได้ สร้างความตึงเครียดพื้นฐานในระบบนิเวศโอเพนซอร์ส
โปรเจกต์ที่ประสบความสำเร็จในการต้อนรับผู้มีส่วนร่วมใหม่มักจะลงทุนอย่างหนักในเอกสาร ขั้นตอนการติดตั้งที่ชัดเจน และการดูแลรักษาเนื้อหาที่มุ่งเน้นผู้มาใหม่อย่างสม่ำเสมอ แม้ว่าสิ่งนี้จะเป็นตัวแทนของงานล่วงหน้าที่สำคัญ แต่ก็ให้ผลตอบแทนในการสร้างชุมชนผู้มีส่วนร่วมที่ยั่งยืนซึ่งสามารถช่วยดูแลและขยายโปรเจกต์เมื่อเวลาผ่านไป
อ้างอิง: Why good first issues are usually not good first issues