• Manganin คือ Git forge ที่กำลังพัฒนาด้วย Zig โดยมีเป้าหมายด้านการจัดการซอร์สโค้ดสมัยใหม่แบบไม่ประนีประนอม ไม่ได้คัดลอกโมเดลแบบ GitHub เดิม แต่พยายามค้นหาแนวทางการทำงานร่วมกันรูปแบบใหม่
  • ผู้มีส่วนร่วมต้องได้รับการรับรองจากสมาชิกเดิมก่อนจึงจะสร้าง issue และ PR ได้ โดยใช้ ต้นไม้การรับรอง (vouch tree) เพื่อติดตามเส้นทางความรับผิดชอบของผู้ใช้แต่ละราย และปกป้องเวลาและความสนใจของทีมหลัก
  • ออกแบบบนแนวคิด self-hosting เพื่อตัดรูปแบบข้อมูลแบบปิดและการผูกติดกับผู้ให้บริการ โดยเก็บข้อมูลทั้งหมดเป็น ไฟล์ข้อความธรรมดาของ Git และต้องการฮาร์ดแวร์เพียงขั้นต่ำ
  • สามารถตั้งค่าให้แม้แต่การโคลนรีโพซิทอรีก็ต้องมีการรับรอง จึงบล็อกบอตที่ไม่ได้รับอนุญาตและ ตัวสแครปสำหรับฝึกโมเดล ได้โดยไม่ต้องพึ่ง JavaScript, การรีไดเรกต์ หรือการทำให้ช้าลง
  • ตั้งใจลดแรงเสียดทานและความไม่สะดวกของโมเดล GitHub เดิม ผ่าน เวิร์กโฟลว์แบบ local-first ที่ให้เขียนและแก้ไข issue แบบออฟไลน์ในเอดิเตอร์ที่ชอบ แล้วซิงก์ด้วย Git

โครงสร้างการมีส่วนร่วมบนพื้นฐานของความไว้วางใจ

  • Manganin เป็น Git forge) ที่เขียนด้วย Zig
    • ชื่อนี้มาจากโลหะผสมแมงกานีส-ทองแดงที่มีค่าความต้านทานไฟฟ้าค่อนข้างคงที่แม้อุณหภูมิเปลี่ยนแปลง
  • จำนวนบรรทัดโค้ดใน PR ไม่ได้แปรผันตรงกับคุณภาพหรือความพยายามที่ลงไปเสมอ และเวลาและความสนใจของผู้ดูแลโอเพนซอร์สก็ยิ่งขาดแคลนมากขึ้นจาก ภาวะหมดไฟ
    • กระแสในโซเชียลมีเดียทำให้แม้แต่คนที่ยังไม่เคยลองใช้จริงก็มีความเห็นที่หนักแน่นต่อโปรเจ็กต์ได้
  • ใน ต้นไม้การรับรอง ผู้มีส่วนร่วมใหม่ต้องได้รับการรับรองจากผู้มีส่วนร่วมเดิม
    • ผู้รับรองให้คำมั่นว่าผู้ใช้ที่ตนรับรองจะปฏิบัติตามกฎของโปรเจ็กต์
    • ผู้ใช้ที่ได้รับการรับรองจะได้สิทธิ์มีส่วนร่วมในโปรเจ็กต์ เช่น การสร้าง issue และการส่ง PR
    • สามารถติดตามความสัมพันธ์ด้านความรับผิดชอบจากผู้ใช้แต่ละรายขึ้นไปจนถึงยอดบนสุดของต้นไม้ และผู้ที่รับรองผู้ใช้ที่จงใจรบกวนโปรเจ็กต์ก็อาจต้องรับผลตามไปด้วย
    • ต้องการสร้าง สภาพแวดล้อมที่มีความไว้วางใจสูง โดยผูกขอบเขตที่ผู้ใช้จะทำให้ทีมหลักเสียเวลาได้เข้ากับระดับความไว้วางใจ
    • ยก โครงสร้างผู้ใช้ของ lobste.rs ซึ่งโดยมากถกเถียงประเด็นยาก ๆ กันอย่างสุภาพและแทบไม่มีกรณีแบน มาเป็นกรณีเปรียบเทียบ

self-hosting และความเป็นเจ้าของข้อมูล

  • โครงสร้างที่เน้น self-hosting เพื่อหลีกเลี่ยงรูปแบบข้อมูลแบบปิดและการผูกติดกับผู้ให้บริการ พร้อมทั้งลดความต้องการฮาร์ดแวร์ให้ต่ำที่สุด
    • ผู้ดูแลระบบเป็นเจ้าของทั้งสภาพแวดล้อมการติดตั้งใช้งานและข้อมูลโดยตรง และข้อมูลจะถูกเก็บเป็นไฟล์ข้อความธรรมดาใน Git
    • สามารถตั้งค่าให้เฉพาะผู้ใช้ที่ได้รับการรับรองเท่านั้นที่โคลนรีโพซิทอรีได้ เพื่อบล็อกบอตที่ไม่ได้รับอนุญาตและตัวสแครปสำหรับฝึกโมเดล

การจินตนาการใหม่ของโมเดล Git forge แบบเดิม

  • ท่ามกลาง Git forge เดิมที่ส่วนใหญ่ให้ฟีเจอร์คล้ายกัน Manganin ต้องการเพิ่มความหลากหลายให้ระบบนิเวศของการควบคุมซอร์ส ด้วย โมเดลการทำงานร่วมกันแบบใหม่
    • อย่างน้อยก็หวังจะนำเสนอโมเดลที่มีเอกลักษณ์ให้กับการพัฒนาในอนาคต และในกรณีดีที่สุดคือเป็นเครื่องมือที่ช่วยเร่งการพัฒนาโปรเจ็กต์โอเพนซอร์สที่มีอยู่
  • GitHub มีสถานะสำคัญในงานพัฒนาซอฟต์แวร์ถึงขั้นถูกมองแทบจะเป็นคำเดียวกับ Git
    • Forgejo และ Codeberg ถูกออกแบบให้เป็น ตัวแทนแบบ drop-in ของ GitHub แต่ Manganin มุ่งสู่การโฮสต์ซอร์สโค้ดบน Git ที่ไม่ถูกผูกไว้กับการตัดสินใจด้านการออกแบบจากเมื่อหลายสิบปีก่อน
  • มีแนวคิดเป็นกระบวนการที่ให้สร้างและแก้ไข issue แบบออฟไลน์ในโปรแกรมแก้ไขข้อความที่ชอบ แล้วซิงก์ด้วยเครื่องมือเดิมที่ผ่านการพิสูจน์แล้ว ในรูปแบบ Git-native และ local-first
  • ต้องการลดแรงเสียดทานและความไม่สะดวกที่โมเดล GitHub สร้างขึ้น ด้วยความรอบคอบในทุกขั้นของการออกแบบและการพัฒนา พร้อมเสนอทางออกที่ดีกว่าสำหรับปัญหาเวิร์กโฟลว์ทั่วไป
  • เป้าหมายสุดท้ายไม่ใช่ตัวเครื่องมือเอง แต่คือ การรับใช้ผู้ใช้

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น