การตอบโต้ที่ยอมรับได้ของ“ มันเป็นโอเพนซอร์สส่งแพทช์”? [ปิด]


215

อันตรายจากการแนะนำคุณสมบัติบางอย่างในผลิตภัณฑ์โดยเฉพาะโอเพนซอร์ซคือคุณจะได้รับการตอบกลับว่า "ทำไมคุณไม่ทำอย่างนั้น"

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

มีคำศัพท์ทั่วไปที่ใช้อ้างอิงถึงปัญหาการพัฒนาซอฟต์แวร์ เช่นBikeshedding มีคำทั่วไปที่ใช้เป็นหลักตอบว่า "ใช่ฉันรู้ว่าฉันสามารถเปลี่ยนแปลงอะไรก็ได้ในโลก - แม้กระทั่งแหล่งข้อมูลปิดฉันสามารถได้รับการว่าจ้างและไปเขียนรหัสนั้น แต่ในกรณีนี้ฉันแค่ทำ การสังเกตที่จริงแล้วอาจมีประโยชน์สำหรับ coder อื่นที่เหมาะสมแล้วที่จะทำการเปลี่ยนแปลงนั้น - หรือเพียงแค่พูดถึงความเป็นไปได้ "

[ps (สองสามวัน) - ฉันควรจะชี้ให้เห็นว่า "ส่งแพทช์" มักจะพูดด้วยอารมณ์เสียเปล่าและฉันกำลังมองหาคำตอบที่เหมาะสม]


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

62
ฉันคิดว่า "ฉันจะมีลักษณะเช่นไรลิงรหัสผู้ว่างงานฉันมีชีวิต!" ไม่ใช่การตอบโต้ที่ยอมรับได้ ;-)
Steven A. Lowe

12
จากประสบการณ์ของฉันคำตอบ "ส่งแพทช์" มักเกิดขึ้นหลังจากนักพัฒนาซอฟต์แวร์ได้อธิบายไว้แล้วว่าทำไมการเพิ่มคุณสมบัติดังกล่าวจึงไม่สามารถนำไปใช้ได้จริง
user16764

7
@ สตีเว่นขึ้นอยู่กับคุณเพียงแค่ต้องการดูถูกหรือทำให้พวกเขาทำในสิ่งที่คุณต้องการ ฉันเชื่อว่ามันไม่ใช่กลยุทธ์ที่ดีที่สุดถ้าคุณต้องการหลัง

12
@orokusaki: หรือ D) พวกเขาพิจารณาคุณลักษณะที่มีค่าน้อยกว่าคุณสมบัติอื่น ๆ ที่พวกเขาสามารถใช้งานได้และมีทรัพยากร จำกัด
David Thornley

คำตอบ:


115

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

สิ่งนี้ถูกกล่าวว่า"ส่งแพทช์" ไม่ใช่คำตอบที่ถูกต้อง มันไม่สุภาพ มันไม่ถูกต้อง แม้แต่ผลิตภัณฑ์โอเพนซอร์ซ "ส่งแพทช์" เป็นเวอร์ชั่นย่อของ:

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

แล้วการส่งแพตช์ล่ะ

มันไม่ง่ายเลย วิธีทำ:

  • คุณต้องรู้ภาษาที่ใช้ในโครงการโอเพ่นซอร์ส

  • คุณต้องสามารถโหลดซอร์สโค้ดจากการควบคุมเวอร์ชันเพื่อให้สามารถแก้ไขได้

  • คุณต้องมีเวอร์ชันที่ถูกต้องทั้งหมดของการติดตั้งการพึ่งพาใด ๆ (รวมถึงทั้งไลบรารีรันไทม์และเครื่องมือการสร้าง)

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

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

  • คุณต้องปรับตัวเองให้เข้ากับโครงการและนิสัยของนักพัฒนาที่มีส่วนร่วมอย่างแข็งขันกับโครงการ ตัวอย่างเช่นถ้าคุณใช้. NET Framework 4 ทุกวัน แต่โครงการใช้. NET Framework 2.0 คุณจะไม่สามารถใช้ LINQ หรือรหัสสัญญาหรือคุณสมบัติใหม่อื่น ๆ นับพันของกรอบงานรุ่นล่าสุด

  • แพทช์ของคุณจะต้องได้รับการยอมรับ (เว้นแต่คุณจะทำการเปลี่ยนแปลงด้วยตัวคุณเองเท่านั้นโดยไม่ต้องมีเจตนาที่จะแบ่งปันกับชุมชน)

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

ดังนั้นจะมีการตอบโต้ที่ยอมรับได้กับ "มันเป็นโอเพนซอร์สส่งแพตช์"? ฉันไม่คิดอย่างนั้น ไม่ว่าคุณจะอธิบายให้คนที่เธอไม่สุภาพหรือคุณเพียงแค่หยุดพูดกับเธอ


9
ดูเหมือนว่ามันถูกเขียนขึ้นโดยคนที่ไม่มีประสบการณ์ในการดูแลโครงการโอเพ่นซอร์ส
Rein Henrichs

46
@Rein: การบำรุงรักษาโครงการโอเพ่นซอร์สนั้นไม่แตกต่างจากการบำรุงรักษาโครงการอื่น ๆ คุณมีลูกค้า หากคุณเพิกเฉยต่อลูกค้าเหล่านั้นพวกเขาจะหยุดให้ข้อเสนอแนะที่มีค่าแก่คุณและพวกเขาจะไปหาทางออกที่อื่น อาจจะใช้ได้กับคนโอเพ่นซอร์ส แต่ฉันก็อยากรู้ว่าฉันจะต้องรับผิดชอบทั้งหมดในการแก้ไขข้อบกพร่องของซอฟต์แวร์โอเพ่นซอร์สหรือเปล่าเพราะนั่นจะทำให้ฉันคิดสองครั้งเกี่ยวกับการใช้มัน
Robert Harvey

17
@Rein: จนถึงตอนนี้ฉันได้ยินคุณพูดสองครั้งแล้วว่าเราไม่รู้ว่าเรากำลังพูดถึงอะไร บางทีคุณสามารถสอนเราใช่มั้ย
Robert Harvey

8
@Rein Henrichs: ความคิดเห็นสองข้อแรกของคุณคือการโจมตี '' ad hominem '' หากมีความแตกต่างระหว่างคนทั้งสองพูดในสิ่งที่พวกเขาเป็นมากกว่าพูดคนอื่นไม่รู้อะไรเลย
Andrew Grimm

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

79

การตอบโต้ที่ยอมรับได้คือส่งแพทช์


47
หรือดีกว่าที่จะพูดว่า "ฉันทำไปแล้วเมื่อหกเดือนที่แล้วพวกคุณจะต้องไปทบทวนและคอมมิทเมื่อไหร่?"
Bob Murphy

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

19
-1 คำตอบ asshole โอเพนซอร์ส ไม่มีประโยชน์. (ขออภัย.) ไม่มี "retort" ที่เป็นที่ยอมรับ การตอบสนองที่ดีที่สุด (สมมติว่า OP ไม่สามารถส่งแพตช์ได้ซึ่งฉันคิดว่าเป็นสมมติฐานที่สมเหตุสมผลในกรณีนี้) เป็นหนึ่งใน (1) "ฉันไม่มีความสามารถหรือทรัพยากรในการสร้างแพตช์ [และอาจรวมถึง ลิงก์ไปยังคำถามนี้] ", (2) eyeroll, ไม่มีการตอบสนอง, การใช้เครื่องมือในสถานะปัจจุบันหรือ (3) ค้นหาเครื่องมือที่ดีกว่า
JohnL4

1
ไม่จำเป็นต้องเป็นโปรแกรมแก้ไข การให้ข้อเสนอแนะที่ละเอียดและละเอียดยังถือเป็นมูลค่า ทั้งหมดนี้คือการพูดคืออย่าคาดหวังว่าฉันจะใช้เวลาของฉันเพื่อให้ครอบคลุมความต้องการเฉพาะของคุณหากคุณไม่มีอะไรจะตอบแทน
Evan Plaice

67

นี่คือคำตอบมาตรฐานเมื่อนักพัฒนาไม่คิดว่าพวกเขาจะทำอะไรในกรอบเวลาที่เหมาะสม แต่มันถูกนำขึ้นมาซ้ำ ๆ

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

หากคุณแสดงคำขอด้วยตัวเองซ้ำ ๆ การ "นำปะ" มาใช้อาจเป็นเรื่องที่ค่อนข้างสุภาพและมีทางเลือกที่สุภาพน้อยกว่า ...

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

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

บริษัท ที่ไม่ใช่โอเพ่นซอร์สส่วนใหญ่จะไม่อนุญาตให้คุณเข้าถึงนักพัฒนาเลยและคุณจะได้รับการปฏิบัติอย่างเงียบ ๆ หรือเรื่องราวที่สุภาพ แต่เป็นการหลอกลวงจากฝ่ายสนับสนุนลูกค้า ดังนั้นอย่างน้อยที่สุดในโอเพนซอร์สคุณมีตัวเลือกบางอย่าง (จ่ายเงินให้ใครบางคนเพื่อเขียนรหัสคุณสมบัติ ฯลฯ ) และในขณะที่นักพัฒนาอาจหยาบคายอย่างน้อยพวกเขาก็ให้คำตอบอย่างตรงไปตรงมา ฉันควรมี "ไม่" มากกว่าปกติ "อยู่ในแผนงานของเรา ... [2 ปีต่อมา] ... ยังอยู่ในแผนงานของเรา" สิ่งที่ฉันได้รับจากผู้ขายหลายราย ...

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

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

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


4
@Aaraught ฉันได้รับโครงการโอเพนซอร์สหลายร้อยโครงการและไม่ได้สังเกตว่า DIY เป็นคำตอบเริ่มต้น เป็นการตอบสนองต่อการร้องขอรสชาติบางอย่าง
Havoc P

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

5
นอกจากนี้ในขณะที่มันสามารถใช้ถ้อยคำมากหรือน้อยได้อย่างสุภาพหากผู้ดูแลมีงานในมือที่ค้างอยู่ในใจพวกเขาอาจมี 1 สิ่งที่พวกเขาสามารถเข้าถึงตัวเองได้สำหรับทุก ๆ 100 สิ่งที่พวกเขาจะได้รับการแก้ไขเพราะพวกเขาต้องการ คุณลักษณะ; และยังมีการเปลี่ยนแปลงอีกประเภทหนึ่งที่พวกเขาจะปฏิเสธแม้ว่าคนอื่นจะทำงาน ดังนั้นจะต้องมีวิธีในการสื่อสารบางอย่าง "ฉันจะใช้การเปลี่ยนแปลงที่ แต่ไม่ได้วางแผนที่จะทำเอง" บางคนที่นี่ดูเหมือนจะรู้สึกว่า "แน่นอนว่ากำลังมาถึง" เป็นคำตอบเดียวที่ยอมรับได้ แต่ "การรับแพทช์" เป็นหมวดหมู่จริง
Havoc P

2
@Aaraught ผู้ที่ทำเสียงเหมือนคำพูดที่ดี ฉันคิดว่าบ่อยครั้งที่ความผิด / ความรุนแรงนั้นไม่ได้เกิดจาก "เราจะเอา patch มาใช้" แต่โปรแกรมเมอร์ไม่ได้เป็นคนประเภทที่ไวต่ออารมณ์มากที่สุดอาจจะวิ่งผ่านอีเมลและน้ำเสียงก็ไม่ได้ถ่ายทอดผ่านข้อความได้เป็นอย่างดี ดังนั้นมันจึงเป็นเรื่องง่ายที่จะเจอ
Havoc P

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

43

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

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

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


15
แน่นอนว่าบางทีพวกเขาก็กระตุก การตอบสนองนี้เพียงอย่างเดียวไม่ได้เป็นตัวบ่งชี้ที่แม่นยำมากเพราะมันยังใช้งานโดยผู้ที่ไม่ใช่กระตุกเมื่อผู้ถามเป็นกระตุก
Rein Henrichs

4
ฉันต้องการเพิ่มว่าหากไม่มีเงินคุณสามารถแลกเปลี่ยนสินค้าเพื่องานบางอย่างได้: ช่วยเตรียมคิวปัญหาที่ยุ่ง, แฮงเอาท์ใน IRC channel และให้การสนับสนุน, แพทช์ทดสอบหรือเขียนเอกสาร โครงการโอเพ่นซอร์สมีทรัพยากร จำกัด และจำเป็นต้องใช้ให้เกิดประโยชน์สูงสุด การเพิ่มคุณสมบัติสามารถทำงานได้หากมีความสำคัญต่อคนมากพอหรือมีความสำคัญต่อผู้ที่ทำ / ให้เพียงพอ หากกรณีของคุณไม่ใช่อดีตให้ทำอย่างหลัง
HedgeMage

2
วิธีที่ดีที่สุดในการโน้มน้าวใจผู้พัฒนาคือแสดงให้เขาเห็นว่าฐานผู้ใช้ของเขาต้องการคุณลักษณะมากแค่ไหน Bugtrackers ที่มีการลงคะแนน, กระทู้ในฟอรัม ฯลฯ ทั้งหมดนี้เป็นสิ่งที่ดีมากสำหรับเรื่องนี้และใช้ในโครงการโอเพนซอร์สมากมาย
มหัศจรรย์

4
ในทำนองเดียวกันเมื่อมีคนได้รับ RTFM หรือ DAFS เป็นคำตอบหรือ -1 เมื่อ SE ก็คงเป็นเพราะผู้ถามยังไม่เพียงพอที่จะเชื่อตอบของคุณค่าของการตอบของพวกเขาคำถามสำหรับพวกเขา ฉันแน่ใจว่าคุณหลายคนสามารถเกี่ยวข้องกับความรู้สึกนี้
Rein Henrichs

1
@Walter Yep ซึ่งเป็นเหตุผลที่ฉันแนะนำให้คนที่เชื่อว่า "คุณค่าของคุณลักษณะของคุณต่อชุมชนโดยรวม"
Rein Henrichs

31

การตอบโต้ที่ยอมรับได้ของ“ มันเป็นโอเพนซอร์สส่งแพทช์”?

ไม่มีการตอบโต้ที่สมเหตุสมผลซึ่งมีแนวโน้มว่าจะสร้างความแตกต่างใด ๆ การพยายามโน้มน้าวให้อาสาสมัครทำบางสิ่งที่พวกเขาไม่ต้องการทำคือเสียเวลาของคุณ ... หรือแย่กว่านั้น

ตัวเลือกของคุณคือ:

  • ทำสิ่งที่คำตอบแนะนำ; เช่นใช้คุณสมบัติและส่งเป็นแพทช์ มันถูกเรียกว่า "ให้อะไรบางอย่างกลับมา"

  • หาคนที่เต็มใจที่จะใช้คุณสมบัตินี้เพื่อเงินจริง อาจเป็นโครงการ (เช่นตอบแทนผู้สนับสนุน) คนที่เกี่ยวข้องกับโครงการหรือ "coder สำหรับการเช่า" แบบสุ่ม

  • ค้นหาผลิตภัณฑ์ทางเลือก


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


ฉันได้มีส่วนร่วมในโครงการโอเพ่นซอร์ส OS ที่ใช้เวลานานและสิ่งที่น่ารำคาญที่สุดอย่างหนึ่งก็คือคนที่นั่งอยู่ใน "แกลเลอรีถั่วลิสง" และทำให้คุณมีข้อเสนอแนะเกี่ยวกับการทำสิ่งที่ "ดีกว่า":

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

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

แน่นอนการตอบสนองอื่น ๆ ต่อคนเหล่านี้คือการไม่ตอบสนองหรือเพิกเฉยต่อพวกเขาอย่างสิ้นเชิง


7
"คุณจะตอบอย่างไรถ้าคุณคิดว่าคำแนะนำไม่คุ้มค่า / คิดดี / เข้าใจได้ / ฯลฯ " - เหมือนกับที่คนอื่น ๆ ทุกคนตอบสนอง "คุณสามารถอธิบาย / ยกตัวอย่างสิ่งที่คุณขอได้หรือไม่" หรือ "คุณช่วยเล่าพื้นหลังให้ฉันฟังว่าทำไมคุณคิดว่าคุณต้องใช้คุณสมบัตินี้" หรือ "ถ้าเราทำอย่างอื่นแทนมันจะเหมาะกับคุณหรือไม่" หรือวิธีการเพียงแค่ "ขอบคุณสำหรับคำแนะนำของคุณเราจะพิจารณามันสำหรับการเปิดตัวในอนาคต" นี่คือทักษะมนุษยสัมพันธ์ขั้นพื้นฐานไม่ใช่วิทยาศาสตร์ด้านจรวด
Aaronaught

12
@Aaronaught - ขออภัย แต่คุณไม่เข้าใจ ผู้พัฒนาโอเพ่นซอร์สทั่วไปไม่มีเวลาที่จะเข้าร่วมในการพูดคุยอย่างสุภาพ แต่ท้ายที่สุดแล้วก็ไม่มีจุดหมาย คือการแกล้งดูแลเมื่อคนที่มีความคิดสร้างสรรค์ครึ่งหนึ่งสามารถคิดได้ว่ามันเป็นส่วนหน้า และเพื่อความตรงไปตรงมาฉันพบว่าความสุภาพของอัตตาแบบนี้จะเป็นการอุปถัมภ์ ... และเป็นที่น่ารังเกียจมากกว่าการถูกบอกอย่างตรงไปตรงมาว่าไม่มีโอกาสที่พวกเขาจะนำ XYZ มาใช้
สตีเฟ่นซี

6
@kurige - จริง ๆ แล้วถ้าคนที่มีปัญหา DID ส่งแพทช์พวกเขาจะได้รับการพิจารณาอย่างแน่นอน ปัญหาคือคนที่มีปัญหาคือ "ปากทั้งหมด"; เช่นไม่มีความสนใจในการใส่ความพยายามใด ๆ
สตีเฟ่นซี

10
เนื่องจากผู้พัฒนาโอเพ่นซอร์สทั่วไปมีงานอยู่แล้วและพวกเขาทำการพัฒนาโอเพนซอร์ซเพื่อความสนุกสนาน การทำสิ่งที่คนอื่นต้องการให้คุณทำคือการทำงาน ทำในสิ่งที่คุณต้องการทำคือความสนุก
ProdigySim

8
@Aaraught: จำเป็นต้องปฏิบัติต่อผู้คนจำนวนมากด้วยความเคารพไหม? เมื่อได้รับการบริการสาธารณะจะมีคนที่เรียกร้องอย่างไร้เหตุผลบ่อยครั้งในรูปแบบที่ดูถูกเหยียดหยาม การจัดการกับคนโง่ที่ไม่สุภาพอาจเป็นความเจ็บปวดที่แท้จริง ความต้องการที่จะเคารพพวกเขาจะทำให้ผู้คนจำนวนมากออกจากธุรกิจ F / OS และนั่นจะทำให้ทุกคนสูญเสีย
David Thornley

20

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

คุณไม่เท่ากับ (หรือคุณอาจเพิ่งทำไปแล้ว) ดังนั้นฉันขอแนะนำการตอบโต้ที่เหมาะสมในการ:

"ไม่มีทางที่ฉันจะทำได้ทำได้อย่างรวดเร็วและดีที่สุดเท่าที่จะทำได้ซึ่งเป็นสาเหตุที่ฉันขอให้คุณช่วยฉันตั้งแต่แรกโปรดเถอะ!"

ฉันเชื่อว่ามันขัดกับธรรมชาติของมนุษย์ขั้นพื้นฐานที่จะพูดแล้ว "โอ้ใช่สิ่งนี้ฉันใช้เวลานานและดีจริง ๆ ง่าย ๆ ที่ทุกคนสามารถเข้ามาจากถนนและทำงานได้ดีฉันสามารถ "


ยกเว้นว่าไม่ใช่สิ่งที่พวกเขาพูดจริง ๆ พวกเขากำลังพูดว่า "สิ่งที่คุณต้องการไม่ใช่สิ่งที่ชุมชนต้องการดังนั้นเราจึงไม่สนใจที่จะทำงานกับมันเราอาจยอมรับแพตช์หากคุณต้องการทำงานกับมัน" โดยนัยคือ "เราอาจเปลี่ยนใจหากชุมชนต้องการ" โปรดจำไว้ว่า "ฉันต้องการให้คุณช่วยฉัน " ต่อต้านธรรมชาติพื้นฐานของโครงการโอเพนซอร์ซที่ซึ่ง (เพื่อนำพลังทั้งหมดของ Star Trek ของฉันให้รับ) ความดีของคนจำนวนมากมักจะเทียบกับความดีของคนไม่กี่คน
Rein Henrichs

เอาละเว้นแต่น้อยคนเหล่านั้นจะมีเงินมากมายพูดในอดีต
Rein Henrichs

2
@Rein ไม่สิ่งที่พวกเขากำลังพูดคือพวกเขาไม่ต้องการที่จะทำ ทั้งหมดนี้ "ชุมชนต้องการ" เป็นเพียงแค่ฟาง ประเด็นทั้งหมดก็คือว่าหนึ่งในชุมชนร้องขอ

1
"มันไม่สุภาพอย่างยิ่งที่จะแนะนำให้เขียนแพทช์หากคุณไม่ทราบล่วงหน้าว่า - ถ้ามาก่อน - คุณจะต้องพิจารณามันสำหรับผลิตภัณฑ์ของคุณ" ตกลง อย่างที่ฉันพูดนี่คือสาเหตุที่ฉันไม่ใช้การตอบกลับนี้ ฉันสามารถเห็นอกเห็นใจกับมันแม้ว่า "ถ้าคุณหมายถึงอย่างจริงใจว่า" ส่งแพตช์ "หมายถึงการปิดผู้คนแทนที่จะมอบหมายงานคุณต้องยอมรับว่าสมาชิกชุมชนนี้ถูกถามไม่ใช่นักพัฒนา" ฉันไม่แน่ใจจริงๆว่าคุณกำลังพูดอะไรที่นี่ขอโทษ
Rein Henrichs

1
@ Thorbjørnอ่าใช่ ในความเป็นจริงแล้วผู้ดูแลระบบโอเพ่นซอร์สที่ฉันคุ้นเคยอย่างแน่นอนไม่ได้คิดอย่างนั้น ในความเป็นจริงเราออกนอกเส้นทางของเราเพื่อจัดทำแนวทางสำหรับนักพัฒนาและเอกสารประกอบเพื่อช่วยให้ผู้คนเรียนรู้โครงการและข้อตกลงสำหรับการมีส่วนร่วมได้อย่างแม่นยำเพราะเราตระหนักถึงช่องว่างของทักษะ ตัวอย่างเช่นrubini.us/doc/en/contributing
Rein Henrichs

16

การตอบโต้ที่ยอมรับคือการแยกโครงการ


8
หรือส่งปะ
Kamil Szot

2
การฟอร์กอะไรที่ดีที่จะนำพาคุณมา?

1
@Thorbjorn: ทุกคนสามารถใช้ส้อมดีตอนนี้และอีกครั้ง แม้แต่ส้อมสงสาร
user18014

15

คำตอบที่ยอมรับได้ของ "ส่งแพทช์" คือ:

"ฉันไม่มีทักษะประสบการณ์หรือเวลาที่กำหนดดังนั้นคุณสามารถบอกฉันได้ว่าจะจัดส่งกล่องเบียร์ไปยังคนที่สามารถทำเพื่อฉันได้ไหม"


13

ส่งที่ครอบคลุมกรณีทดสอบ


1
ฉันชอบอันนี้แม้ว่าการทำเช่นนั้นมักจะใช้เวลานานกว่าการส่งแพตช์เอง! ค่าคงที่นี่คือเวลาที่จะทำความคุ้นเคยกับรหัสฐานและเป็นส่วนใหญ่ที่สุดของการสร้างการทดสอบหรือการเขียนโปรแกรมแก้ไขโดยตรง!
Newtopian

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

11

"ถ้าคุณทำฉันจะรวมมัน" ดีกว่า "ไม่"

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

หากคุณไม่ต้องการมีส่วนร่วมในโครงการโอเพ่นซอร์สที่คุณต้องการใช้คุณควรมองหาการสนับสนุนเชิงพาณิชย์หรือผลิตภัณฑ์เชิงพาณิชย์อื่นแทน


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

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

10

"ขอบคุณสำหรับการตอบกลับ"

เพราะ:

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

9

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

ในตอนท้ายของวันไม่มีอะไรที่คุณพูดจะโน้มน้าวให้นักพัฒนาทำงานให้คุณถ้าพวกเขาไม่ต้องการ


9

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


8

โดยส่วนตัวแล้วฉันจะได้รับการตอบกลับว่า "นี่เป็นปัญหาที่ทราบกันแล้ว แต่น่าเสียดายที่ไม่ใช่ปัญหาที่จะได้รับการแก้ไขเมื่อเร็ว ๆ นี้นักพัฒนากำลังทำงานกับปัญหาอื่น ๆ ไม่มี ETA ในขณะนี้"

การตอบสนอง "ส่งแพตช์" นั้นหยาบคายมากเพราะถือว่าหลายสิ่ง:

  1. ผู้ใช้ทั้งหมดของโปรแกรมเป็นโปรแกรมเมอร์หรือผู้รายงานข้อผิดพลาดทั้งหมดเป็นโปรแกรมเมอร์
  2. โปรแกรมเมอร์ทุกคนรู้ภาษาที่โปรแกรมนั้นใช้
  3. โปรแกรมเมอร์ทุกคนรู้เกี่ยวกับปัญหาทุกชนิดที่โปรแกรมใด ๆ อาจมี
  4. โปรแกรมเมอร์ทั้งหมดมีเวลาว่างในการทำงานในโครงการโอเพ่นซอร์ส

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

โดยทั่วไปเมื่อฉันได้รับการตอบกลับที่หยาบคายจากผู้พัฒนาเมื่อฉันถามเกี่ยวกับปัญหาที่ฉันมีหรือส่งข้อผิดพลาดฉันหยุดใช้โปรแกรมนั้น. ฉันไม่ได้ใช้ uTorrent อีกต่อไป (ไม่ใช่โอเพ่นซอร์ส แต่ประเด็นยังคงอยู่) เนื่องจากการตอบกลับที่ฉันได้รับในฟอรัม "สนับสนุน" ของพวกเขานั้นหยาบคายมาก ฉันส่งปัญหาที่ฉันมีในฟอรัมรายงานข้อผิดพลาด เธรดถูกล็อคทันทีด้วยการเชื่อมโยงไปยังเธรดอื่นเกี่ยวกับปัญหาที่คล้ายกัน แต่มีปัญหาที่แตกต่างกันในเธรด (ซึ่งถูกล็อกด้วยเช่นกัน) ในระหว่างนี้ฉันเปิดกระทู้ในฟอรัมสนทนาทั่วไปเพื่อถามว่ามีใครพบวิธีแก้ปัญหานี้หรือไม่ ในช่วงเวลาที่ใช้ในการบันทึกเธรดนั้นและย้อนกลับไปและดูว่าเธรดแรกของฉันถูกล็อกเธรดของฉันทั่วไปถูกล็อคและบัญชีฟอรัมของฉันถูกแบนเพราะพฤติกรรมก่อกวน ฉันถอนการติดตั้งโปรแกรม uTorrent และยังไม่ได้กลับไป


คุณหมายถึง "ฉันอยากได้คำตอบของ" มากกว่า "ฉันจะไม่ได้"
Andrew Grimm

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

8

เพียงแค่ตอบว่า "ส่งแพทช์" เป็น IMO ที่หยาบคาย แต่ก็ยัง ... หากคุณใช้ซอฟต์แวร์โอเพนซอร์ซสำหรับสิ่งที่ร้ายแรงคุณต้องเตรียมพร้อมที่จะดูแลหากจำเป็นที่จะต้องเกิดขึ้น

ต่อไปนี้เป็นไปตามการโพสต์โดย Jeremias Maerki (จากชื่อเสียง Apache FOP):

หากสิ่งที่ไม่ได้ผลสำหรับคุณคุณมีหลายตัวเลือก:

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

ฉันคิดว่ามันเป็นคำตอบที่สมบูรณ์แบบมากสำหรับคำตอบ "ส่งแพทช์"


6

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

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

@MainMa กล่าวว่าการเริ่มมีส่วนร่วมในโครงการใหม่เป็นเรื่องยากมาก นักพัฒนาส่วนใหญ่ไม่เข้าใจสิ่งนี้เนื่องจากพวกเขาได้ทำงานในโครงการเป็นเวลาหลายเดือน / ปีและมันสมเหตุสมผลสำหรับพวกเขา บางครั้งอาจเป็นความผิดพลาดที่แท้จริง


3

ฉันพูดเล่นเป็นครั้งคราวว่าซอฟต์แวร์ฟรีสามารถฟรีเหมือนในเบียร์ฟรีในคำพูดหรือฟรีในขณะที่คุณได้รับสิ่งที่คุณจ่ายไป

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

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

เรามักจะคิดถึงซอฟต์แวร์ที่ฟรีเหมือนในเบียร์ แต่ไม่ใช่ในคำพูด (นั่นคือฟรีแวร์ที่ไม่เปิด) บางทีนี่อาจเป็นกรณีที่เราควรคิดถึงซอฟต์แวร์ให้เป็นอิสระในการพูด แต่ไม่ใช่ในเบียร์


2

เปลี่ยนเป็นทางเลือกที่บำรุงรักษาอย่างดี

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


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

1

"ฉันสามารถทำงานได้เพียงครั้งเดียว แต่ฉันสามารถบ่นได้หลายอย่างพร้อมกันฉันคิดว่าทั้งสองฟังก์ชั่นนั้นมีประโยชน์" - akkartik บน ycombinator


1

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

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


มันไม่ใช่สัญญาเว้นแต่ทั้งสองฝ่ายจะได้รับบางอย่าง สิ่งที่โครงการต้องการโดยทั่วไปคือรายงานบั๊กที่ทำได้ดีและคำขอฟีเจอร์ที่ทำได้ดีบ่อยครั้งและไม่ใช่ทุกสิ่งที่เข้ามาถึงจุดสิ้นสุดของสัญญาโดยปริยาย
David Thornley

1
@Aaraught: พวกเขาให้การทดสอบฟรีเฉพาะในกรณีที่รายงานไฟล์บั๊กที่มีรายละเอียดเพียงพอที่จะใช้งานได้ ฉันเห็นส่วนแบ่งการรายงานบั๊กที่ไม่ดี พวกเขาอาจหรืออาจจะไม่ให้โฆษณาที่ดี คนส่วนใหญ่ที่ใช้ F / OSS จะไม่ให้ผลตอบแทนใด ๆ ซึ่งเป็นเรื่องปกติ แต่ก็แน่ใจว่าไม่ใช่ด้านหนึ่งของสัญญา
David Thornley

1
@David: คุณกรุณาหยุดพยายาม จำกัด การสนทนาให้เฉพาะผู้ใช้ที่ยากที่สุด / ไม่ได้ผลหรือไม่? หากเรากำลังจะพูดคุยกันแล้วการวางนัยทั่วไปนั้นจะต้องมีสำหรับผู้ใช้ทั้งหมดและฐานผู้สนับสนุนในฐานะส่วนรวม การเปิดเผยสู่สาธารณะทำให้คุณเป็นคนเหล่านี้ทั้งหมด เพื่อเป็นการตอบแทนความดีที่คุณได้รับจากสิ่งเหล่านี้คุณจะได้รับปัญหาจากคนอื่น ๆ นั่นคือชีวิต.
Aaronaught

1
@Aaraught: ถ้าเราจะพูดคุยกันเราต้องทำให้แน่ใจว่าเรากำลังพูดคุยกันอย่างเหมาะสม ฉันไม่ได้พยายาม จำกัด การสนทนากับผู้ใช้ที่แย่ที่สุดเพียงแค่ชี้ให้เห็นว่าพวกเขาอยู่ที่นั่น บทสนทนาส่วนใหญ่ดูเหมือนจะสมมติว่าผู้ใช้ทุกคนเป็นผู้มีส่วนร่วมและนั่นก็เป็นเรื่องธรรมดาที่ไม่เป็นความจริง หากเราจะพูดคุยเกี่ยวกับผู้ใช้ที่เป็นประโยชน์ต่อโครงการดูเหมือนว่ายุติธรรมที่จะพูดคุยเฉพาะสมาชิกในทีมโครงการที่สุภาพโดยทั่วไป
David Thornley

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

1

มีหลายวิธีที่ควรทำ

  • ข้อเสนอคุณสมบัติและการลงคะแนน แต่มันต้องใช้เวลา

  • รับการว่าจ้างจาก บริษัท ที่ต้องการให้ทำการแก้ไข เห็นได้ชัดว่านี่เป็นทางออกที่ดีที่สุด แต่เตรียมพร้อมที่จะร่วมมือกับคนที่สร้างซอฟต์แวร์โอเพ่นซอร์สที่คุณต้องการอัปเกรด

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

  • ใช้ซอฟต์แวร์ที่เป็นกรรมสิทธิ์ซึ่งทำในสิ่งที่คุณต้องการ

  • โปรดจำไว้ว่าซอฟต์แวร์ OOP มักทำให้กระบวนการรวมคุณลักษณะนั้นง่ายขึ้น

  • การคร่ำครวญในรายชื่อผู้รับจดหมายบน irc หรือในฟอรั่มจะฉกฉวยโปรแกรมเมอร์และจะมอบกระสุนให้กับผู้สนับสนุน OSS


0

ไม่มีอะไรที่คุณสามารถพูดได้ว่าจะทำให้เขาทำ หลังจากทั้งหมดทำไมเขาควร? เพราะความปรารถนาของผู้ใช้คนหนึ่ง? เหตุผลไม่ดีพอ

แต่ถ้าคุณสามารถรวบรวมจำนวนผู้ใช้ที่สมเหตุสมผลและให้เหตุผลอย่างสมเหตุสมผล ("ฉันต้องการ" ไม่ใช่เหตุผลที่มีเหตุผล) ทำไมคุณลักษณะนั้นอาจมีประโยชน์โดยทั่วไปและกับคุณและจำนวนของผู้อื่นเขาอาจเปลี่ยนใจ .

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


อีกทางหนึ่งนักพัฒนามีคำขอคุณสมบัติมากพอที่จะทำให้เขายุ่งตลอดช่วงเวลาที่เหลือของศตวรรษอยากจะรวมของคุณ แต่ไม่คาดว่าจะได้รับมันเร็ว ๆ นี้
David Thornley

@ David Thornley - นั่นก็เช่นกัน
โกง

0

โดยเฉพาะอย่างยิ่งโครงการโอเพนซอร์สนั้นเป็นมิตรกับเงินอุดหนุนหรือเงินทุนสำหรับการพัฒนาคุณลักษณะเฉพาะแม้ว่าคุณสมบัติใหม่นั้นจะไม่ทำให้เป็นทางการ

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

ด้วยแหล่งข้อมูลปิดแหล่งข้อมูลที่ดีที่สุดของคุณคือการรวบรวมกลุ่มที่มีความสำคัญทางสถิติจากฐานผู้ใช้ที่ต้องการโซลูชันเช่นกลุ่มที่คุณต้องการ


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

0

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

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

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


1
ฉันไม่คิดว่านักพัฒนาซอฟต์แวร์คนใดควรตอบ "ส่ง patch" เกี่ยวกับคำขอที่ไม่ตรงกับเป้าหมายของโครงการ มันไม่ซื่อสัตย์มากกว่าเรื่องหยาบคาย ไม่ว่าซอฟต์แวร์จะกลายเป็นบวมและนักพัฒนาซอฟต์แวร์ไม่ชอบคุณหรือเขาไม่ยอมรับการแก้ไขและเสียเวลาอย่างมีประสิทธิภาพ หลังมีแนวโน้มมากขึ้น นักพัฒนาซอฟต์แวร์ควรพูดด้วยความจริงใจว่า "เราไม่ต้องการเปลี่ยนแปลงสิ่งนี้เพราะ ____" และใช้งานได้
Rei Miyasaka

@Rei Miyasaka: โดยส่วนตัวแล้วฉันจะโมโหถ้าฉันได้รับ "ส่งแพทช์" ได้ทำงานเพื่อสร้างปะที่มีคุณภาพดีและจากนั้นก็บอกว่าพวกเขาไม่ต้องการคุณสมบัติต่อไป
David Thornley

@ David Yeah ใช่มั้ย ฉันจะโยนเก้าอี้หนึ่งหรือสอง
Rei Miyasaka

0

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

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

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

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


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

2
"ส่งแพทช์" ทำให้พู่กันมีหมัดจริงๆเพราะเป็นไปได้ว่าใครบางคนจะส่งแพทช์ ควรสำรองไว้สำหรับผู้ที่ชื่นชอบในลำดับความสำคัญต่ำ
David Thornley

0

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


-1

ฉันสมัครใช้งานจริงเพื่อตอบคำถามนี้

มีความต้องการโต้โต้หรือไม่? การตอบสนองนี้มักใช้เมื่อนักพัฒนาทราบเกี่ยวกับปัญหา แต่ไม่คิดว่าสำคัญ

ฉันจะให้ตัวอย่างสดแก่คุณ ubuntu ลดการสนับสนุนระบบ systray (แต่สามารถแก้ไขได้ด้วยรายชื่อแอปสีขาว) และเพิ่มตัวบ่งชี้แอปใหม่ ปพลิเคชันบางอย่างเช่นดาวพฤหัสบดีเป็นที่พึ่งในการสนับสนุน Systray เพื่อให้นักพัฒนาบอกเกี่ยวกับ workaournd แทนการเพิ่มการสนับสนุนการตรวจสอบตัวบ่งชี้ดังนั้นผมจึงถามนักพัฒนาที่จะเพิ่มการตรวจสอบตัวบ่งชี้ suppory ตอบคือ"ส่งแพทช์." เมื่อถามถึงเหตุผลที่พวกเขาเลือกที่จะไม่ใช้สิ่งนี้ มีสิ่งนี้

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

ถ้ามันเป็นปัญหาทางเทคนิคที่แท้จริงฉันอาจจะลงมือทำ แต่นี่เป็นการวางแผนทางการเมืองอย่างแท้จริงดังนั้นฉันจึงไม่คิดอย่างนั้น

ไม่ฉันจะขึ้นบัญชีขาว

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

Bottom line: retort ที่ยอมรับได้จะส่งแพทช์ แต่ถ้าคุณไม่สามารถมีไม่จำเป็นต้องมีการโต้กลับ


-1

เริ่มเงินรางวัลสำหรับสถานที่ที่คุณต้องการ

หรือออกไปซื้อผลิตภัณฑ์ที่อ้างว่าทำในสิ่งที่คุณต้องการและใช้ในทางที่ไม่เหมาะสมเมื่อคุณค้นพบว่าการตลาดไม่ตรงกับความคาดหวังของคุณ


-2

สิ่งที่ดีที่สุดที่ฉันนึกได้ก็คือ "คุณดูด"

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

คุณอาจจะลองเสนอขาย ( ไอ ) "เงินบริจาค" ที่จะมีปัญหาของคุณได้รับการแก้ไข แต่ผมกลัวว่าการปฏิบัติดังกล่าวหากทำร่วมกันจะนำไปสู่การสูญเสียบางดีจริงๆของความซื่อสัตย์ในอุตสาหกรรม, การแก้ไขข้อผิดพลาดที่ไม่ควรที่จะทำกำไรทั้งสำหรับ "ฟรี" หรือซอฟต์แวร์เชิงพาณิชย์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.