นักพัฒนาความสัมพันธ์

ไม่มีค่าตอบแทน ผู้ดูแลโครงการโอเพนซอร์สกี่คนที่ยังยืนหยุดได้?

2018-10-03
ความสัมพันธ์นักพัฒนา
th

James Long เป็นวิศวกรของ Mozilla เขาได้อภิปรายบทบาทสองอย่างของโครงการโอเพนซอร์สในบทความนี้ ได้แก่ ผู้เริ่มต้นstarterและ ผู้ดูแลmaintainer ไม่มีค่าตอบแทน ผู้ดูแลโครงการโอเพนซอร์สกี่คนที่ยังยืนหยุดได้?

ผู้เริ่มต้นและผู้ดูแล

ตอนนี้เป็นค่ำคืนวันศุกร์ ภรรยาของฉันหลับไปแล้ว ในที่สุดฉันก็สามารถหาเวลาดูคำขอดึงpull requestเหล่านั้น ซึ่งมาจากโครงการเก่าที่ฉันวางบน GitHub เมื่อปีที่แล้ว ลูกสาวต้องตื่นนอนเวลา 7:30 น. ดังนั้นฉันไม่ควรนอนดึกเกินไป

นับตั้งแต่ครั้งสุดท้ายที่ฉันตรวจสอบ มีปัญหาissueใหม่ 9 ปัญหา และคำขอดึง 2 คำขอ ข่าวดีคือปัญหาส่วนใหญ่สามารถปิดได้ และคำขอดึงก็ไม่สำคัญ เอ่อ ไม่ดีแล้ว มีการเปลี่ยนแปลงที่สำคัญบางอย่าง ฉันต้องพิจารณาการเปลี่ยนแปลงเหล่านี้ใหม่ และจะต้องมีส่วนร่วมในการอภิปรายยาวนาน (ด้วยทัศนคติที่สุภาพ) นี่เป็นการเปลี่ยนแปลงที่สำคัญ แต่พวกเขาไม่ได้อัปเดตเอกสาร ดังนั้นเราต้องหาวิธีแจ้งให้ผู้ใช้ทุกคนอัปเกรด

ฉันควรสร้างวิธีการแจ้งเตือนที่ดีกว่านี้สำหรับโครงการ เพื่อแจ้งให้ฉันทราบเมื่อมีปัญหาและคำขอดึงใหม่ แต่คิดดูแล้ว หลอกใครกัน นี่จะทำให้ฉันเหนื่อยยิ่งขึ้น ฉันไม่มีเวลามากพอที่จะตอบสนองสิ่งเหล่านี้ อย่างน้อยตอนนี้ เมื่อฉันยุ่งกับเรื่องอื่นๆ ฉันสามารถแกล้งทำเป็นว่ามันไม่มีอยู่

ทำไมฉันต้องบังคับตัวเองขนาดนี้?

จริงอยู่ที่โค้ดของฉันได้ช่วยคนหลายคน แต่ภาระการดูแลที่ตามมาก็หนักหนามาก แม้ว่ามันจะเป็นเพียงโครงการเล็กๆ ถ้ามันได้รับความนิยมมากขึ้น (แม้ว่าบล็อกส่วนตัวของฉันบน GitHub จะไม่ค่อยมีคนดู และไม่ค่อยได้ใช้ แต่ก็มีมากกว่า 1000 ดาวแล้ว พระเจ้าช่วย!) มีผู้ใช้มากขึ้นมาใช้มัน? แล้วสิ่งที่ต้องทำก็จะมากขึ้น จากนั้นมันจะกลายเป็นงาน 10 ชั่วโมงต่อสัปดาห์

ฉันชื่นชมคนที่อุทิศเวลามากมายให้กับโครงการซอฟต์แวร์โอเพนซอร์สOpen Source Software (OSS) โดยไม่เรียกเก็บเงิน ฉันไม่กล้าจินตนาการว่ามีงานฟรีที่น่าเบื่อกี่งานที่กำลังดำเนินอยู่ ผู้คนชอบช่วยเหลือผู้อื่นและชุมชนมาก สิ่งนี้เองก็ยอดเยี่ยมแล้ว

ฉันก็ชอบทำเช่นนี้ แต่ด้วยภรรยาและลูกสาว (และในเร็วๆ นี้จะมีลูกสาวคนที่สอง) บวกกับงานที่หนักอยู่แล้ว ทำได้แทบจะเป็นไปไม่ได้ และงานของฉันที่ Mozilla ก็เป็นงาน OSS อย่างสมบูรณ์

เหตุผลเดียวที่ฉันคิดว่าตัวเองยังทำต่อไปได้คือเพราะฉันชอบเริ่มต้นสิ่งใหม่

ทุกคนชอบเป็นผู้เริ่มต้น แต่ฉันต้องการสร้างผลกระทบ สร้างการมีส่วนร่วม การวางผลงานบน GitHub นั้นง่าย และถ้าไม่มีใครใช้มัน คุณก็ไม่ต้องสนใจมัน แต่ทำเช่นนั้นจะไม่สร้างผลกระทบใดๆ ฉันต้องการให้ผู้คนดูสิ่งที่ฉันสร้าง สามารถเรียนรู้จากมัน หรือแม้แต่ใช้มัน ผ่านการเขียนไลบรารีที่สามารถนำไปใช้ในสภาพแวดล้อมการผลิตได้ ฉันได้ช่วยผู้คนเรียนรู้ React, React-Router, เซ็นเซอร์, แมโครสุขอนามัยhygienic macro, แอนิเมชัน และอีกมากมาย

แต่นี่ก็นำมาซึ่งภาระ

เมื่อผู้คนใช้โค้ดของคุณในสภาพแวดล้อมการผลิตแล้ว คุณจะยังดูแลมันต่อไปไหม?

คุณอาจปฏิเสธได้ นั่นเป็นสิทธิ์ของคุณ แต่ส่วนใหญ่แล้ว คุณต้องการเห็นแนวคิดของคุณเติบโตและวิวัฒนาการ ปัญหาคือ การรักษาแรงผลักดันเช่นนี้ ต้องอาศัยงานจำนวนมากเบื้องหลัง

โครงการใดๆ ก็ต้องมีบทบาทสองอย่าง: ผู้เริ่มต้นและผู้ดูแล ผู้คนอาจเล่นบทบาททั้งสองในชีวิต แต่ด้วยเหตุผลบางอย่าง ฉันพบว่าสำหรับโครงการเดียว บทบาททั้งสองนี้มักเป็นคนละคน ผู้เริ่มต้นถนัดในการก้าวก้าวสำคัญในมุมที่แตกต่าง (ทิศทาง) ในขณะที่ผู้ดูแลถนัดในการรักษาโค้ดให้มีชีวิต

ความแตกต่างอีกประการหนึ่งคือ ผู้เริ่มต้นโครงการมักมีเพียงคนเดียว ในขณะที่ในที่สุดจะมีผู้ดูแลโครงการหลายคน นี่เป็นเพราะคนคนเดียวไม่สามารถรองรับโครงการทั้งหมดได้ เมื่อมันได้รับความนิยมมากขึ้น จะมีปัญหา คำขอดึง และคำขออื่นๆ เพิ่มขึ้นเรื่อยๆ ทั้งสองมีความสัมพันธ์แบบเชิงเส้น เมื่อความนิยมของโครงการถึงขั้นใหม่ จำเป็นต้องเพิ่มผู้ดูแลใหม่ และอย่างในอุดมคติควรมาจากผู้ใช้หนักที่มีอยู่แล้ว

เพราะคนคนเดียวไม่สามารถรองรับโครงการทั้งหมดได้ ผู้เริ่มต้นจึงมีแนวโน้มที่จะตกอยู่ในวงจรอันสิ้นหวังตั้งแต่แรกเริ่ม: เขา/เธอมีแนวคิดที่ดีทั้งหมดนี้ แต่เมื่อแนวคิดบางอย่างเริ่มเป็นรูปเป็นร่าง จะมีสัญญาณรบกวน (จากผู้อื่น) มากขึ้นเรื่อยๆ ทำให้แนวคิดในอนาคตยากที่จะนำไปปฏิบัติ ประเด็นสำคัญคือ คุณต้องไม่ลืมโครงการที่มีอยู่ หรือต้องหาผู้ดูแลให้พวกมัน และอย่างหลังมักไม่ใช่งานที่สามารถทำได้อย่างรวดเร็ว

ฉันเองเป็นผู้เริ่มต้นอย่างแน่นอน ฉันมีความสนใจ (ความอยากรู้อยากเห็น) ในทุกสิ่ง ไม่ได้มุ่งเน้นในสาขาใดสาขาหนึ่งโดยเฉพาะ ฉันดูแลไลบรารีนี้มาหลายปีแล้ว แต่การรีบจัดการปัญหาที่คั่งค้างในค่ำคืนวันศุกร์ มักทำให้ฉันรู้สึกผิดอย่างมาก

จากนี้ไป ฉันจะแจ้งให้ชัดเจนว่า เนื่องจากโค้ดที่ฉันวางบน GitHub เป็นแบบทดลอง ฉันจะไม่ตอบปัญหาหรือคำขอดึงใดๆ ถ้าฉันปล่อยไลบรารีที่สามารถนำไปใช้ในสภาพแวดล้อมการผลิตได้จริง นั่นหมายความว่าฉันได้คิดไว้แล้วว่าจะให้ใครมาดูแล ฉันไม่ต้องการให้ตัวเองแบกงานที่สองอีกแล้ว :)

นี่คือสิ่งที่ฉันอยากบอกผู้ดูแลทุกคน: พวกเขาเป็นคนที่ทำงานที่น่าเบื่อและไม่ค่อยได้รับการชื่นชมเบื้องหลังเพื่อรักษาโค้ดให้มีชีวิต รวมถึงการเขียนเอกสาร การแก้ไขเวอร์ชัน การจดทะเบียนโดเมน ฯลฯ

อ้าว คืนนี้มีปัญหาที่ต้องแก้ไขค่อนข้างเยอะ บางทีฉันอาจเพียงเพิ่มประกาศยกเลิก (DEPRECATED) ใน README ก็อาจแก้ปัญหาทั้งหมดได้

โปรดระบุแหล่งที่มา: ความสัมพันธ์นักพัฒนา »


Similar Posts

Content icon
Content