นักพัฒนา Open Source ละทิ้งโปรเจกต์เนื่องจากข้อกำหนดจรรยาบรรณที่หนักหน่วง

ทีมชุมชน BigGo
นักพัฒนา Open Source ละทิ้งโปรเจกต์เนื่องจากข้อกำหนดจรรยาบรรณที่หนักหน่วง

นักพัฒนา 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 ที่เรียบง่ายกว่าที่เน้นหลักการมากกว่าความซับซ้อน
การสำรวจ Codes of Conduct ที่เรียบง่ายกว่าที่เน้นหลักการมากกว่าความซับซ้อน

เส้นทางข้างหน้า

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

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

อ้างอิง: Why Heavy Codes of Conduct are Unnecessary for most Open Source Projects