Các Nhà Phát Triển Open Source Rời Bỏ Dự Án Vì Quy Tắc Ứng Xử Quá Phức Tạp

Nhóm Cộng đồng BigGo
Các Nhà Phát Triển Open Source Rời Bỏ Dự Án Vì Quy Tắc Ứng Xử Quá Phức Tạp

Ngày càng nhiều nhà đóng góp open source đang rời xa các dự án do lo ngại về các Quy tắc Ứng xử (CoCs) quá phức tạp. Những gì bắt đầu như các hướng dẫn đơn giản để duy trì sự hợp tác lành mạnh đã phát triển thành những tài liệu chi tiết giống như pháp lý mà nhiều nhà phát triển hiện coi là rào cản thay vì cầu nối để đóng góp.

Tác Động Tiêu Cực Đến Các Nhà Đóng Góp

Nhiều nhà phát triển có kinh nghiệm báo cáo rằng họ hoàn toàn tránh các dự án có CoCs nặng nề. Nỗi sợ không phải là về việc muốn có hành vi xấu, mà là nguy cơ bị cuốn vào những diễn giải chủ quan của các quy tắc mơ hồ. Các nhà đóng góp mô tả cảm giác như đang đi trên vỏ trứng, lo lắng rằng bất kỳ bất đồng kỹ thuật nào cũng có thể bị tái định nghĩa là vi phạm CoC bởi ai đó có động cơ riêng.

Mối lo ngại này không chỉ dừng lại ở các nhà đóng góp cá nhân. Một số nhà phát triển trước đây duy trì các dự án open source phổ biến đã giảm sự tham gia của họ sau khi chứng kiến cách CoCs có thể bị vũ khí hóa trong các tranh chấp ít liên quan đến quấy rối thực sự hoặc giá trị kỹ thuật.

Khi Ý Định Tốt Tạo Ra Vấn Đề Mới

Mục đích ban đầu của CoCs rất đơn giản: ngăn các cuộc thảo luận kỹ thuật trở thành những cuộc tấn công cá nhân và tạo môi trường chào đón cho sự hợp tác. Các ví dụ sớm như hướng dẫn đơn giản của Ubuntu đã giúp các dự án duy trì sự tập trung và năng suất. Tuy nhiên, các CoCs hiện đại thường bao gồm các thủ tục thực thi chi tiết, danh sách mở rộng các danh mục được bảo vệ, và các quy trình điều tra phức tạp có thể tiêu tốn đáng kể tài nguyên dự án.

Việc từ chức của nhóm kiểm duyệt ngôn ngữ lập trình Rust năm 2021 đã làm nổi bật những vấn đề cấu trúc này. Toàn bộ nhóm đã từ chức, với lý do không thể thực thi CoC một cách công bằng khi các vi phạm tiềm tàng liên quan đến các thành viên của Core Team có quyền hạn đối với chính những người kiểm duyệt. Sự kiện này tiết lộ cách các cấu trúc quản trị phức tạp xung quanh CoCs có thể tạo ra sự mất cân bằng quyền lực mới thay vì giải quyết những vấn đề hiện có.

Các Sự Kiện Lịch Sử Quan Trọng Trong Sự Phát Triển Của CoC:

  • 2004: Ubuntu áp dụng CoC sớm để giải quyết các vấn đề hợp tác của Debian
  • 2011-2015: Ada Initiative thúc đẩy các chính sách chống quấy rối cho các hội nghị công nghệ
  • 2013: Sự cố " Dongle-gate " tại PyCon làm nổi bật nhu cầu về các chính sách chính thức
  • 2014: Contributor Covenant được tạo ra như một mẫu CoC phổ quát
  • 2019: Nhân Linux áp dụng Contributor Covenant , thay thế Code of Conflict đơn giản hơn
  • 2021: Toàn bộ đội ngũ kiểm duyệt Rust từ chức do xung đột quản trị

Vấn Đề Vũ Khí Hóa

Các cuộc thảo luận cộng đồng tiết lộ một mô hình mà CoCs ngày càng được sử dụng như công cụ kiểm soát chính trị thay vì bảo vệ cộng đồng thực sự. Các nhà đóng góp báo cáo thấy CoCs được thực thi có chọn lọc dựa trên sự liên kết chính trị của những người liên quan, với các vi phạm rõ ràng bị bỏ qua khi được thực hiện bởi các thành viên cộng đồng được ưa chuộng trong khi các vi phạm nhỏ của những người khác dẫn đến hậu quả nghiêm trọng.

Mọi người sẽ chỉ vào những tài liệu này để im lặng và loại trừ những người họ không thích và đồng thời khoan dung với hành vi tồi tệ rõ ràng vi phạm quy tắc ứng xử bởi những người họ thích hoặc có chính trị hoặc ý kiến họ chia sẻ.

Việc thực thi có chọn lọc này làm suy yếu chính sự tin tưởng và công bằng mà CoCs được cho là thiết lập, tạo ra một môi trường mà các nhà đóng góp cảm thấy họ phải liên kết chính trị với các người kiểm duyệt để tránh bị nhắm mục tiêu tiềm tàng.

Cách Tiếp Cận Thay Thế

Một số dự án thành công đã áp dụng các cách tiếp cận nhẹ nhàng hơn tập trung vào các nguyên tắc thay vì quy tắc chi tiết. CoC của Ruby , được những người chỉ trích các lựa chọn thay thế nặng nề khen ngợi, chỉ bao gồm bốn nguyên tắc đơn giản: khoan dung với quan điểm đối lập, tránh tấn công cá nhân, giả định ý định tốt, và cấm quấy rối. Cách tiếp cận này tin tưởng các thành viên cộng đồng hành động như những người lớn hợp lý trong khi cung cấp ranh giới rõ ràng cho hành vi không thể chấp nhận được.

Các dự án sử dụng CoCs đơn giản hơn báo cáo ít xung đột quản trị hơn và tập trung nhiều hơn vào công việc kỹ thuật. Sự khác biệt chính nằm ở việc dựa vào lãnh đạo dự án đáng tin cậy và sự đồng thuận cộng đồng thay vì các quy trình quan liêu có thể bị lợi dụng bởi những kẻ xấu.

Các Nguyên Tắc CoC Đơn Giản của Ruby:

  • Những người tham gia được kỳ vọng sẽ có thái độ khoan dung với các quan điểm đối lập
  • Những người tham gia phải đảm bảo ngôn từ và hành động của họ không có các cuộc tấn công cá nhân và những lời nhận xét xúc phạm
  • Khi diễn giải lời nói và hành động của người khác, những người tham gia nên luôn giả định họ có ý định tốt
  • Hành vi có thể được coi một cách hợp lý là quấy rối sẽ không được dung thứ
Khám phá các Quy tắc Ứng xử đơn giản hơn nhấn mạnh vào các nguyên tắc thay vì sự phức tạp
Khám phá các Quy tắc Ứng xử đơn giản hơn nhấn mạnh vào các nguyên tắc thay vì sự phức tạp

Con Đường Phía Trước

Cuộc tranh luận không phải về việc liệu các cộng đồng có cần tiêu chuẩn hành vi hay không - hầu hết đều đồng ý họ cần. Câu hỏi là liệu những tiêu chuẩn đó nên là các nguyên tắc đơn giản được thực thi bởi các nhà lãnh đạo đáng tin cậy hay các tài liệu giống như pháp lý phức tạp với các thủ tục điều tra chính thức. Khi ngày càng nhiều nhà đóng góp bỏ phiếu bằng chân bằng cách tránh các dự án có CoCs nặng nề, các nhà duy trì có thể cần xem xét lại liệu các cấu trúc quản trị của họ đang giúp đỡ hay cản trở các mục tiêu kỹ thuật của họ.

Sức mạnh của cộng đồng open source luôn là khả năng thu hút tài năng kỹ thuật đa dạng tập trung vào việc xây dựng phần mềm tuyệt vời. Khi quản trị trở nên phức tạp hơn chính mã nguồn, điều gì đó cơ bản có thể bị mất trong quá trình này.

Tham khảo: Why Heavy Codes of Conduct are Unnecessary for most Open Source Projects