โปรเจกต์ “กษัตริย์ทรงธรรม (Benevolent Dictator)” นำโดยผู้นำเพียงคนเดียว เมื่อพูดถึงโมเดล “กษัตริย์ทรงธรรม” ตัวอย่างที่ผู้คนมักอ้างถึงมากที่สุดคือ โปรเจกต์ Linux kernel ซึ่งนำและตัดสินใจโดย Linus Torvalds โดยตรง การเป็น “กษัตริย์ทรงธรรม” ไม่ใช่เรื่องง่าย “กษัตริย์ทรงธรรม” ต้องมีทักษะด้านการสื่อสารและการสร้างชุมชน ความรู้ทางเทคนิคของโปรเจกต์อย่างลึกซึ้งและครอบคลุม และความทุ่มเทและสมาธิเหนือคนทั่วไป อย่างไรก็ตาม ดังที่โปรเจกต์ Linux kernel แสดงให้เห็น โมเดล “กษัตริย์ทรงธรรม” มีประสิทธิภาพมาก ตรงกันข้ามกับการควบคุมแบบนี้คือโมเดลธรรมาภิบาลแบบคุณธรรม ซึ่งผู้เข้าร่วมมีอิทธิพลต่อโปรเจกต์โดยการมีส่วนร่วมและได้รับการยอมรับ

วิธีการจัดโปรเจกต์อธิบายไว้ในเอกสารธรรมาภิบาล หมวดที่สองมีเทมเพลตสำหรับโปรเจกต์ที่ต้องการใช้โมเดล “กษัตริย์ทรงธรรม” และสร้างเอกสารธรรมาภิบาลของตัวเอง คุณสามารถใช้เทมเพลตนี้ทั้งหมด หรือปรับเปลี่ยนตามความต้องการเฉพาะ เช่นเดียวกับข้อมูลส่วนใหญ่ที่เราให้ คุณเพียงระบุว่ามาจาก OSS Watch ก็สามารถใช้เทมเพลตนี้ตามสัญญาอนุญาตครีเอทีฟคอมมอนส์ และนำกลับมาใช้และแก้ไขได้ สำหรับการอภิปรายเกี่ยวกับจุดประสงค์ของโมเดลธรรมาภิบาลหรือข้อดีข้อเสียของโมเดลต่างๆ โปรดดูเอกสารโมเดลธรรมาภิบาลของเรา
บทนำ
แม้โมเดลธรรมาภิบาลแบบคุณธรรมและโมเดล “กษัตริย์ทรงธรรม” มีความแตกต่างชัดเจนในโครงสร้าง แต่ทั้งสองต่างอิงตามปรัชญาโอเพนซอร์สเดียวกัน คือการแบ่งปันโค้ดและส่งเสริมให้ทุกคนมีส่วนร่วมกับชุมชน ดังนั้น จึงไม่น่าแปลกใจที่ทั้ง “กษัตริย์ทรงธรรม” และคณะกรรมการบริหารโปรเจกต์แบบคุณธรรมใช้อำนาจตัดสินใจผ่านความจงรักภักดีมากกว่าวิธีการทางกฎหมาย ทั้ง “กษัตริย์ทรงธรรม” และคณะกรรมการบริหารโปรเจกต์แบบคุณธรรมต่างเข้าใจว่า สมาชิกสามารถนำโค้ดไปใช้และสร้างโปรเจกต์ที่คล้ายกันได้ ความจริงแล้ว ความสามารถในการแตกแขนงนี้มีความสำคัญต่อสุขภาพของชุมชนโอเพนซอร์ส เพราะมันรับประกันว่าผู้ปกครองโปรเจกต์พยายามตัดสินใจที่ถูกต้องเพื่อชุมชน ไม่ใช่เพื่อบุคคลหรือบริษัทใดบริษัทหนึ่ง อย่างไรก็ตาม ทั้งสองโมเดลมีความแตกต่างอย่างมีนัยสำคัญ โดยเฉพาะในเรื่องวิธีการตัดสินใจภายในชุมชน
เทมเพลตเอกสารธรรมาภิบาล “กษัตริย์ทรงธรรม”
ภาพรวม
โปรเจกต์นี้นำโดย “กษัตริย์ทรงธรรม” และจัดการโดยชุมชน นั่นคือ ชุมชนมีส่วนร่วมอย่างแข็งขันในการบำรุงรักษาโปรเจกต์ในชีวิตประจำวัน ในขณะที่ “กษัตริย์ทรงธรรม” รับผิดชอบกำหนดทิศทางยุทธศาสตร์โดยรวมของโปรเจกต์ หากเกิดความขัดแย้ง “กษัตริย์ทรงธรรม” มีสิทธิ์ตัดสินใจขั้นสุดท้าย หน้าที่ของ “กษัตริย์ทรงธรรม” คือการแก้ไขข้อพิพาทภายในชุมชน และรับประกันว่าโปรเจกต์สามารถพัฒนาไปได้อย่างสอดคล้อง หน้าที่ของชุมชนคือการชี้นำการตัดสินใจของ “กษัตริย์ทรงธรรม” ผ่านการมีส่วนร่วมและการมีส่วนร่วมอย่างแข็งขัน
บทบาทและความรับผิดชอบ
“กษัตริย์ทรงธรรม” (หัวหน้าโปรเจกต์)
โดยทั่วไป “กษัตริย์ทรงธรรม” (หรือหัวหน้าโปรเจกต์) สามารถแต่งตั้งตัวเองได้ แต่เนื่องจากชุมชนมีความสามารถในการแตกแขนงเสมอ “กษัตริย์ทรงธรรม” จึงต้องรับผิดชอบต่อชุมชนอย่างเต็มที่ งานของหัวหน้าโปรเจกต์มีความท้าทาย พวกเขารับผิดชอบกำหนดเป้าหมายยุทธศาสตร์ของโปรเจกต์ และสื่อสารกับชุมชนอย่างชัดเจน หัวหน้าโปรเจกต์ยังต้องเข้าใจชุมชนทั้งหมด ตอบสนองความต้องการที่ขัดแย้งกันให้ได้มากที่สุด และรับประกันการพัฒนาระยะยาวของโปรเจกต์
ในหลายๆ ด้าน บทบาทของ “กษัตริย์ทรงธรรม” เหมือนนักการทูตมากกว่าผู้เผด็จการ เมื่อโปรเจกต์ขยายใหญ่ สิ่งสำคัญคือต้องรับประกันว่าคนที่เหมาะสมมีอิทธิพลต่อโปรเจกต์ และชุมชนรวมตัวกันเพื่อบรรลุวิสัยทัศน์ของหัวหน้าโปรเจกต์ ดังนั้น หน้าที่ของหัวหน้าโปรเจกต์คือรับประกันว่าผู้ส่งโค้ด (ดูด้านล่าง) ตัดสินใจที่เป็นประโยชน์ต่อโปรเจกต์ โดยทั่วไป ตราบใดที่ผู้ส่งโค้ดปฏิบัติตามกลยุทธ์ของโปรเจกต์ หัวหน้าโปรเจกต์จะอนุญาตให้พวกเขาส่งโค้ดในแบบที่พวกเขาชอบ
ผู้ส่งโค้ด
ผู้ส่งโค้ดคือผู้เข้าร่วมที่เคยมีส่วนร่วมอันมีค่าต่อโปรเจกต์ และปัจจุบันเขียนโค้ดลงใน repository โดยตรงและคัดกรองโค้ดของผู้อื่น หลายครั้ง ผู้ส่งโค้ดเป็นโปรแกรมเมอร์ แต่บางครั้งอาจเป็นผู้มีส่วนร่วมประเภทอื่น ผู้ส่งโค้ดมักให้ความสนใจกับด้านใดด้านหนึ่งของโปรเจกต์ และได้รับความเคารพจากชุมชนและหัวหน้าโปรเจกต์ด้วยทักษะและความเข้าใจระดับมืออาชีพ ผู้ส่งโค้ดไม่จำเป็นต้องได้รับการแต่งตั้งอย่างเป็นทางการ สมาชิกชุมชนที่มีอิทธิพลซึ่งให้คำแนะนำและการสนับสนุนแก่หัวหน้าโปรเจกต์คือผู้ส่งโค้ด
ผู้ส่งโค้ดไม่สามารถตัดสินใจทิศทางพัฒนาโดยรวมของโปรเจกต์ได้ แต่พวกเขาได้รับความสำคัญจากหัวหน้าโปรเจกต์ หน้าที่ของผู้ส่งโค้ดคือรับประกันว่าหัวหน้าโปรเจกต์เข้าใจความต้องการและเป้าหมายร่วมกันของชุมชน มีส่วนร่วมในการพัฒนาโปรเจกต์หรืออำนวยความสะดวกในการมีส่วนร่วมกับโปรเจกต์ พวกเขามักมีการควบคุมอย่างไม่เป็นทางการในด้านที่รับผิดชอบโดยเฉพาะ และมีสิทธิ์แก้ไขซอร์สโค้ดในบางด้านโดยตรง นั่นคือ แม้ผู้ส่งโค้ดไม่มีอำนาจตัดสินใจอย่างชัดเจน แต่พฤติกรรมของพวกเขามักมีผลเทียบเท่ากับการตัดสินใจของหัวหน้าโปรเจกต์
ผู้มีส่วนร่วม
ผู้มีส่วนร่วมคือสมาชิกชุมชนที่ไม่ต้องการเป็นผู้ส่งโค้ด หรือ “กษัตริย์ทรงธรรม” ยังไม่ได้ให้สิทธิ์เป็นผู้ส่งโค้ด ผู้มีส่วนร่วมมีส่วนร่วมอันมีค่าต่อโปรเจกต์ (ดูรายการด้านล่าง) แต่โดยทั่วไปไม่มีสิทธิ์แก้ไขโค้ดโปรเจกต์โดยตรง ผู้มีส่วนร่วมมีส่วนร่วมในโปรเจกต์ผ่านเครื่องมือสื่อสาร เช่น mailing list และส่งรายงานและแพตช์ใน issue tracker ดูรายละเอียดในเอกสารเครื่องมือชุมชนของเรา
ใครก็ได้สามารถเป็นผู้มีส่วนร่วม ผู้มีส่วนร่วมไม่จำเป็นต้องให้คำมั่นสัญญากับโปรเจกต์ ไม่มีข้อกำหนดทักษะเฉพาะ และไม่ต้องผ่านการคัดเลือก ในการเป็นผู้มีส่วนร่วม สมาชิกชุมชนเพียงมีส่วนร่วมที่เป็นประโยชน์หนึ่งหรือสองอย่างต่อโปรเจกต์
ผู้มีส่วนร่วมบางคนเป็นผู้ใช้โปรเจกต์มาแล้ว และมีผลงานในหนึ่งหรือสองด้านต่อไปนี้:
- สนับสนุนผู้ใช้ใหม่ (ผู้ใช้ปัจจุบันมักสนับสนุนผู้ใช้ใหม่ได้ดีที่สุด)
- รายงาน bug
- ระบุความต้องการ
- ให้บริการด้านศิลปะและการออกแบบเว็บ
- เขียนโปรแกรม
- ช่วยเหลือด้านโครงสร้างพื้นฐานของโปรเจกต์
- เขียนเอกสาร
- แก้ไข bug
- เพิ่มฟังก์ชัน
เมื่อประสบการณ์ของผู้มีส่วนร่วมในโปรเจกต์เพิ่มขึ้นและความเข้าใจในโปรเจกต์ลึกซึ้งขึ้น หัวหน้าโปรเจกต์จะพึ่งพาพวกเขามากขึ้น ในขณะนั้น พวกเขาจะค่อยๆ รับบทบาทผู้ส่งโค้ด ดังที่กล่าวไว้ข้างต้น
ผู้ใช้
ผู้ใช้คือสมาชิกชุมชนที่มีความต้องการต่อโปรเจกต์ พวกเขาเป็นสมาชิกชุมชนที่สำคัญที่สุด: ไม่มีผู้ใช้ โปรเจกต์จะไร้ความหมาย ใครก็ได้สามารถเป็นผู้ใช้ ไม่มีข้อกำหนดเฉพาะ
เราส่งเสริมให้ผู้ใช้มีส่วนร่วมในโปรเจกต์และชุมชนให้มากที่สุด การมีส่วนร่วมของผู้ใช้รับประกันว่าทีมโปรเจกต์สามารถตอบสนองความต้องการของผู้ใช้ กิจกรรมทั่วไปของผู้ใช้รวมถึง (แต่ไม่จำกัด) ด้านต่อไปนี้:
- ส่งเสริมโปรเจกต์
- แจ้งให้นักพัฒนาทราบถึงจุดแข็งและจุดอ่อนของโปรเจกต์จากมุมมองของผู้ใช้ใหม่
- ให้การสนับสนุนทางใจ (คำว่า “ขอบคุณ” คือกำลังใจที่ยิ่งใหญ่)
- ให้การสนับสนุนทางการเงิน
ผู้ใช้ที่มีส่วนร่วมอย่างต่อเนื่องในโปรเจกต์และชุมชนมักพบว่าตัวเองเข้าไปลึกขึ้นเรื่อยๆ ผู้ใช้เหล่านี้อาจพัฒนาไปเป็นผู้มีส่วนร่วม ดังที่กล่าวไว้ข้างต้น
การสนับสนุน
เราส่งเสริมให้ผู้เข้าร่วมชุมชนทุกคนช่วยทีมบริหารโปรเจกต์ให้การสนับสนุนผู้ใช้ใหม่ การสนับสนุนจากผู้เข้าร่วมเป็นหนึ่งในวิธีที่ชุมชนเติบโตและแข็งแกร่ง ผู้ที่ต้องการความช่วยเหลือควรเข้าใจว่า การสนับสนุนทั้งหมดต่อโปรเจกต์เป็นไปโดยสมัครใจ ดังนั้น จะให้การสนับสนุนเมื่อมีเวลาเท่านั้น หากผู้ใช้ต้องการเวลาตอบสนองหรือผลลัพธ์ที่รับประกัน ควรพิจารณาทำสัญญาซื้อบริการสนับสนุนกับผู้ขาย (แน่นอนว่า ผู้ขายรายนั้นต้องเป็นสมาชิกที่แข็งขันในชุมชน) แต่สำหรับผู้ใช้ที่ต้องการมีส่วนร่วมในโปรเจกต์ตามแบบของตัวเองและช่วยเหลือผู้ใช้อื่น การสนับสนุนจากชุมชนเป็นช่องทางที่เหมาะสม
กระบวนการมีส่วนร่วม
ใครก็ได้ ไม่ว่าจะมีทักษะอะไร สามารถมีส่วนร่วมในโปรเจกต์ได้หลายวิธี เช่น ผู้มีส่วนร่วมสามารถมีส่วนร่วมใน mailing list และ issue tracker ของโปรเจกต์ หรือให้แพตช์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการมีส่วนร่วม โปรดดูเอกสารบทบาทในโอเพนซอร์สของเรา
สำหรับผู้มีส่วนร่วมครั้งแรก mailing list ของนักพัฒนาเป็นเครื่องมือที่ดีที่สุดในการขอความช่วยเหลือ
กระบวนการตัดสินใจ
เนื่องจากหัวหน้าโปรเจกต์มีสิทธิ์ตัดสินใจขั้นสุดท้าย โมเดล “กษัตริย์ทรงธรรม” ไม่จำเป็นต้องมีกระบวนการแก้ไขข้อขัดแย้งอย่างเป็นทางการ หากชุมชนตั้งคำถามว่าพฤติกรรมของผู้ส่งโค้ดชาญฉลาดหรือไม่ หัวหน้าโปรเจกต์สามารถตรวจสอบอีเมลที่เก็บถาวร และเลือกที่จะสนับสนุนหรือล้มล้างการตัดสินใจก่อนหน้าของพวกเขา
สรุป
โครงสร้างธรรมาภิบาล “กษัตริย์ทรงธรรม” ไม่ง่ายที่จะจัดการ ต้องแต่งตั้งหัวหน้าโปรเจกต์ที่ทุ่มเท แต่โมเดลธรรมาภิบาล “กษัตริย์ทรงธรรม” มีประสิทธิภาพมากเพราะความเรียบง่าย เทมเพลตในบทความนี้กำหนดโมเดลที่สามารถจัดการได้อย่างสมเหตุสมผล และอธิบายบทบาท กิจกรรม และกระบวนการตัดสินใจหลักของโปรเจกต์โอเพนซอร์สที่เกี่ยวข้อง
เมื่อสร้างเอกสารธรรมาภิบาล “กษัตริย์ทรงธรรม” ต้องรับประกันว่ามีข้อมูลที่จำเป็นเกี่ยวกับบทบาทของหัวหน้าโปรเจกต์และผู้มีส่วนร่วมอื่นๆ อธิบายอย่างชัดเจนว่าผู้เข้าร่วมใหม่ควรมีส่วนร่วมกับโปรเจกต์อย่างไร และการมีส่วนร่วมของพวกเขาได้รับการยอมรับอย่างไร
ต้นฉบับโดย Ross Gardler และ Gabriel Hanganu เผยแพร่เมื่อ 15 กุมภาพันธ์ 2010 อัปเดตล่าสุดเมื่อ 7 พฤศจิกายน 2013
โปรดระบุแหล่งที่มา: ความสัมพันธ์นักพัฒนา »