นักพัฒนา open source จำนวนมากขึ้นเรื่อยๆ กำลังถอนตัวจากโปรเจกต์ต่างๆ เนื่องจากความกังวลเกี่ยวกับข้อกำหนดจรรยาบรรณ (Codes of Conduct หรือ CoCs) ที่ซับซ้อนเกินไป สิ่งที่เริ่มต้นเป็นแนวทางง่ายๆ เพื่อรักษาการทำงานร่วมกันที่ดีต่อสุขภาพ ได้พัฒนาไปเป็นเอกสารที่มีรายละเอียดคล้ายกฎหมาย ซึ่งนักพัฒนาหลายคนมองว่าเป็นอุปสรรคมากกว่าสะพานเชื่อมในการมีส่วนร่วม
ผลกระทบที่ทำให้นักพัฒนาหวาดกลัว
นักพัฒนาที่มีประสบการณ์หลายคนรายงานว่าพวกเขาหลีกเลี่ยงโปรเจกต์ที่มี CoCs หนักหน่วงโดยสิ้นเชิง ความกลัวนั้นไม่ได้เกิดจากการต้องการทำพฤติกรรมที่ไม่ดี แต่เป็นความเสี่ยงที่จะถูกจับได้ว่าเข้าข่ายการตีความกฎเกณฑ์ที่คลุมเครือแบบอัตนัย นักพัฒนาบรรยายว่าพวกเขารู้สึกเหมือนกำลังเดินบนเปลือกไข่ กังวลว่าความขัดแย้งทางเทคนิคใดๆ อาจถูกตีความใหม่ให้เป็นการละเมิด CoC โดยคนที่มีวาระซ่อนเร้น
ความกังวลนี้ขยายไปไกลกว่านักพัฒนาแต่ละคน นักพัฒนาบางคนที่เคยดูแลโปรเจกต์ open source ยอดนิยมได้ลดการมีส่วนร่วมลงหลังจากเห็นว่า CoCs สามารถถูกใช้เป็นอาวุธในข้อพิพาทที่ไม่เกี่ยวข้องกับการคุกคามจริงๆ หรือคุณค่าทางเทคนิค
เมื่อความตั้งใจดีสร้างปัญหาใหม่
วัตถุประสงค์เดิมของ CoCs นั้นตรงไปตรงมา: ป้องกันไม่ให้การอภิปรายทางเทคนิคพัฒนาไปเป็นการโจมตีส่วนบุคคล และสร้างสภาพแวดล้อมที่เป็นมิตรสำหรับการทำงานร่วมกัน ตัวอย่างแรกๆ เช่น แนวทางง่ายๆ ของ Ubuntu ช่วยให้โปรเจกต์รักษาความมุ่งมั่นและประสิทธิภาพ อย่างไรก็ตาม CoCs สมัยใหม่มักจะรวมถึงขั้นตอนการบังคับใช้ที่มีรายละเอียด รายการหมวดหมู่ที่ได้รับการคุ้มครองอย่างครอบคลุม และกระบวนการสอบสวนที่ซับซ้อนซึ่งอาจใช้ทรัพยากรของโปรเจกต์อย่างมาก
การลาออกของทีมกลั่นกรองภาษาโปรแกรม Rust ในปี 2021 เน้นย้ำถึงปัญหาโครงสร้างเหล่านี้ ทีมทั้งหมดลาออก โดยอ้างว่าพวกเขาไม่สามารถบังคับใช้ CoC อย่างยุติธรรมได้เมื่อการละเมิดที่อาจเกิดขึ้นเกี่ยวข้องกับสมาชิกของ Core Team ที่มีอำนาจเหนือผู้กลั่นกรองเอง เหตุการณ์นี้เผยให้เห็นว่าโครงสร้างการปกครองที่ซับซ้อนรอบ CoCs สามารถสร้างความไม่สมดุลของอำนาจใหม่แทนที่จะแก้ไขปัญหาที่มีอยู่
เหตุการณ์สำคัญทางประวัติศาสตร์ในวิวัฒนาการของ CoC:
- 2004: Ubuntu นำ CoC รุ่นแรกมาใช้เพื่อแก้ไขปัญหาการทำงานร่วมกันของ Debian
- 2011-2015: Ada Initiative ส่งเสริมนโยบายต่อต้านการคุกคามสำหรับงานประชุมเทคโนโลยี
- 2013: เหตุการณ์ "Dongle-gate" ที่ PyCon เน้นย้ำถึงความจำเป็นของนโยบายที่เป็นทางการ
- 2014: Contributor Covenant ถูกสร้างขึ้นเป็นแม่แบบ CoC สากล
- 2019: Linux kernel นำ Contributor Covenant มาใช้ แทนที่ Code of Conflict ที่เรียบง่ายกว่า
- 2021: ทีมดูแลทั้งหมดของ Rust ลาออกเนื่องจากความขัดแย้งในการกำกับดูแล
ปัญหาการใช้เป็นอาวุธ
การอภิปรายในชุมชนเผยให้เห็นรูปแบบที่ CoCs ถูกใช้เป็นเครื่องมือควบคุมทางการเมืองมากขึ้นแทนที่จะเป็นการคุ้มครองชุมชนอย่างแท้จริง นักพัฒนารายงานว่าเห็น CoCs ถูกบังคับใช้แบบเลือกสรรตามการจัดแนวทางการเมืองของผู้ที่เกี่ยวข้อง โดยการละเมิดที่ชัดเจนถูกเพิกเฉยเมื่อกระทำโดยสมาชิกชุมชนที่ได้รับความนิยม ในขณะที่การกระทำผิดเล็กน้อยของคนอื่นส่งผลให้เกิดผลที่ตามมาอย่างรุนแรง
ผู้คนจะชี้ไปที่เอกสารเหล่านี้เพื่อปิดปากและขับไล่คนที่พวกเขาไม่ชอบ และในเวลาเดียวกันก็ยอมรับพฤติกรรมที่แย่ซึ่งละเมิดข้อกำหนดจรรยาบรรณอย่างชัดเจนโดยคนที่พวกเขาชอบหรือคนที่มีการเมืองหรือความคิดเห็นเดียวกัน
การบังคับใช้แบบเลือกสรรนี้ทำลายความไว้วางใจและความยุติธรรมที่ CoCs มีจุดมุ่งหมายจะสร้างขึ้น สร้างสภาพแวดล้อมที่นักพัฒนารู้สึกว่าพวกเขาต้องจัดแนวทางการเมืองกับผู้กลั่นกรองเพื่อหลีกเลี่ยงการถูกตั้งเป้า
แนวทางทางเลือก
โปรเจกต์ที่ประสบความสำเร็จบางโปรเจกต์ได้นำแนวทางที่เบากว่ามาใช้ โดยมุ่งเน้นไปที่หลักการมากกว่ากฎเกณฑ์ที่มีรายละเอียด CoC ของ Ruby ซึ่งได้รับการยกย่องจากนักวิจารณ์ทางเลือกที่หนักหน่วงกว่า ประกอบด้วยหลักการง่ายๆ เพียงสี่ข้อ: ความอดทนต่อมุมมองที่ขัดแย้งกัน การหลีกเลี่ยงการโจมตีส่วนบุคคล การสันนิษฐานความตั้งใจที่ดี และการห้ามการคุกคาม แนวทางนี้เชื่อมั่นในสมาชิกชุมชนให้ทำตัวเป็นผู้ใหญ่ที่มีเหตุผล ในขณะที่ให้ขอบเขตที่ชัดเจนสำหรับพฤติกรรมที่ไม่สามารถยอมรับได้
โปรเจกต์ที่ใช้ CoCs ที่ง่ายกว่ารายงานว่ามีความขัดแย้งในการปกครองน้อยลงและมุ่งเน้นไปที่งานทางเทคนิคมากขึ้น ความแตกต่างหลักอยู่ที่การพึ่งพาผู้นำโปรเจกต์ที่เชื่อถือได้และฉันทามติของชุมชนมากกว่ากระบวนการราชการที่สามารถถูกเล่นงานโดยผู้กระทำความชั่วได้
หลักการ CoC แบบเรียบง่ายของ Ruby:
- ผู้เข้าร่วมต้องมีความอดทนต่อมุมมองที่แตกต่าง
- ผู้เข้าร่วมต้องดูแลให้แน่ใจว่าภาษาและการกระทำของตนปราศจากการโจมตีส่วนบุคคลและคำพูดที่ดูหมิ่น
- เมื่อตีความคำพูดและการกระทำของผู้อื่น ผู้เข้าร่วมควรคิดในแง่ดีเสมอ
- พฤติกรรมที่อาจถือได้ว่าเป็นการคุกคามจะไม่ได้รับการยอมรับ
![]() |
|---|
| การสำรวจ Codes of Conduct ที่เรียบง่ายกว่าที่เน้นหลักการมากกว่าความซับซ้อน |
เส้นทางข้างหน้า
การอภิปรายไม่ได้เกี่ยวกับว่าชุมชนต้องการมาตรฐานพฤติกรรมหรือไม่ - ส่วนใหญ่เห็นด้วยว่าต้องการ คำถามคือมาตรฐานเหล่านั้นควรจะเป็นหลักการง่ายๆ ที่บังคับใช้โดยผู้นำที่เชื่อถือได้ หรือเอกสารที่ซับซ้อนคล้ายกฎหมายพร้อมขั้นตอนการสอบสวนอย่างเป็นทางการ เมื่อนักพัฒนาจำนวนมากขึ้นลงคะแนนด้วยเท้าโดยหลีกเลี่ยงโปรเจกต์ที่มี CoCs หนักหน่วง ผู้ดูแลอาจต้องพิจารณาใหม่ว่าโครงสร้างการปกครองของพวกเขาช่วยหรือขัดขวางเป้าหมายทางเทคนิค
จุดแข็งของชุมชน open source มาโดยตลอดคือความสามารถในการดึงดูดความสามารถทางเทคนิคที่หลากหลายซึ่งมุ่งเน้นไปที่การสร้างซอฟต์แวร์ที่ยอดเยี่ยม เมื่อการปกครองซับซ้อนกว่าโค้ดเอง บางสิ่งที่เป็นพื้นฐานอาจสูญหายไปในกระบวนการ
อ้างอิง: Why Heavy Codes of Conduct are Unnecessary for most Open Source Projects

