- Tangled คือ แพลตฟอร์มความร่วมมือ Git ที่มีฟีเจอร์โซเชียล บนพื้นฐานของ AT Protocol ซึ่งออกแบบมาให้ผู้พัฒนายังคงมีสิทธิ์ความเป็นเจ้าของโค้ดอย่างสมบูรณ์ ขณะเดียวกันก็ทำให้ชุมชนโอเพนซอร์สสามารถ บริหารจัดการกันเองได้อย่างอิสระ
- ใช้ โครงสร้างความร่วมมือด้านโค้ดแบบกระจายศูนย์ ที่ผสานข้อดีของโมเดลแบบ federated ที่เน้น ActivityPub(Forgejo) และโมเดล P2P เต็มรูปแบบของ Radicle
- แนวคิดหลักอย่าง ‘Knot’ คือเซิร์ฟเวอร์ Git แบบ headless ที่มีน้ำหนักเบา รองรับทั้ง self-hosting ส่วนบุคคล และ สภาพแวดล้อมแบบ multi-tenant ในระดับชุมชน
- App View(tangled.sh) มอบมุมมองรวมของรีโพซิทอรีทั่วทั้งเครือข่าย ทำให้สามารถ สำรวจ·โคลน·ร่วมพัฒนา รีโพซิทอรีที่อยู่บน Knot ต่างกันได้อย่างราบรื่น
- ขณะนี้ยังอยู่ในช่วงเบตา โดยยึด ความเป็นเจ้าของข้อมูล·อุปสรรคในการเริ่มต้นที่ต่ำ·การรักษาประสบการณ์ผู้ใช้ เป็นหลักการสำคัญ และมุ่งสร้าง ระบบนิเวศ Git แบบกระจายศูนย์ที่เปิดอย่างสมบูรณ์ ในอนาคต
ภาพรวมของ Tangled
- Tangled เป็นแพลตฟอร์มใหม่ที่มอบ สภาพแวดล้อมความร่วมมือ Git ที่มีปฏิสัมพันธ์ทางสังคม โดยผู้พัฒนายังคงมีสิทธิ์ความเป็นเจ้าของทั้งโค้ดและตัวตนของตนเอง
- พัฒนาบนพื้นฐานของ AT Protocol และนำสถาปัตยกรรมแอปโซเชียลแบบกระจายศูนย์มาปรับใช้กับความร่วมมือบน Git
- เป้าหมายคือทำให้การร่วมพัฒนาโค้ดกลับมาเป็น กระบวนการที่เปิดกว้างและสนุกอีกครั้ง
โมเดลแบบกระจายศูนย์และ AT Protocol
- โมเดลความร่วมมือด้านโค้ดแบบกระจายศูนย์ที่มีอยู่เดิมมีแนวทางดังนี้
- Forgejo(ActivityPub): ความร่วมมือผ่าน federation ระหว่างเซิร์ฟเวอร์
- Radicle: โครงสร้าง P2P(peer-to-peer) แบบสมบูรณ์
- Tangled ผสานข้อดีของทั้งสองโมเดล และเลือกใช้ atproto ที่รองรับการจัดการตัวตนแบบศูนย์กลางได้
- ด้วยเหตุนี้ ผู้ใช้จึงสามารถรักษา ID และโครงสร้างการยืนยันตัวตนที่สอดคล้องกัน ได้แม้อยู่ในเครือข่ายแบบกระจายศูนย์
โครงสร้าง Knot
- Knot เป็นองค์ประกอบหลักของ Tangled เป็นเซิร์ฟเวอร์น้ำหนักเบาที่ช่วยให้ผู้ใช้สามารถ โฮสต์ Git repository ได้ด้วยตนเอง
- รองรับทั้ง การตั้งค่าแบบ single-tenant และ multi-tenant
- สามารถ self-host บนอุปกรณ์ขนาดเล็กอย่าง Raspberry Pi ได้
- โดยพื้นฐานแล้ว Tangled มี บริการ Knot แบบ managed ฟรี ให้ใช้งาน
- ด้วยโครงสร้างนี้ จึงก่อให้เกิด เครือข่าย Git แบบกระจายศูนย์ ที่เชื่อมต่อกันอย่างเป็นธรรมชาติระหว่างเซิร์ฟเวอร์ส่วนบุคคลกับเซิร์ฟเวอร์ชุมชน
App View และเครือข่ายแบบบูรณาการ
- App View ที่ให้บริการบน tangled.sh ทำหน้าที่แสดงรีโพซิทอรีทั้งเครือข่ายในรูปแบบ มุมมองรวม เดียว
- ผู้ใช้สามารถ โคลน(clone) และ มีส่วนร่วม(contribute) กับรีโพซิทอรีที่อยู่บน Knot อื่นได้อย่างง่ายดาย
- การออกแบบนี้ช่วย ขจัดอุปสรรคของสภาพแวดล้อมแบบกระจายศูนย์ ขณะเดียวกันก็ยังคงเวิร์กโฟลว์เดิมของ Git เอาไว้ครบถ้วน
หลักการพัฒนา
- ทีม Tangled ได้กำหนด หลักการ 3 ข้อ สำหรับทิศทางการพัฒนา ดังนี้
- 1. ความเป็นเจ้าของข้อมูล — ผู้ใช้ทุกคนเป็นเจ้าของโค้ดและเมตาดาต้าที่ตนสร้างขึ้นโดยตรง
- 2. อุปสรรคในการเริ่มต้นต่ำ — มอบโครงสร้างและอินเทอร์เฟซที่เรียบง่ายเพื่อให้ทุกคนเข้าร่วมได้ง่าย
- 3. ความสม่ำเสมอของประสบการณ์ผู้ใช้ — แม้จะเป็นโครงสร้างแบบกระจายศูนย์ แต่ยังคงรับประกัน UX ในระดับบริการแบบรวมศูนย์
- หลักการเหล่านี้สะท้อนอยู่ในการเลือกเทคโนโลยีและการออกแบบ UI/UX ของ Tangled โดยรวม
การเข้าถึงและชุมชน
- ในช่วงแรกให้บริการแบบ invite-only และนักพัฒนาสามารถเข้าร่วมผ่านช่อง IRC
#tangled บน libera.chat
- ปัจจุบันเปิด ล็อกอินสาธารณะ แล้ว และทุกคนสามารถใช้งานได้ที่ tangled.sh/login
- แม้ Tangled จะยังอยู่ในระยะเริ่มต้น แต่ก็เติบโตไปพร้อมกับการตรวจสอบฟีเจอร์ผ่านการใช้งานจริงภายในทีม (dogfooding)
บทสรุป
- Tangled คือความพยายามที่จะขยายการทำงานร่วมกันบน Git ให้เป็น ประสบการณ์ที่เชื่อมต่อกันเหมือนโซเชียลเน็ตเวิร์ก
- กำลังได้รับความสนใจในฐานะ ระบบนิเวศแพลตฟอร์ม Git แบบกระจายศูนย์ รูปแบบใหม่ที่ผสาน ความเป็นอิสระ การเข้าถึงได้ง่าย และวัฒนธรรมการพัฒนาที่สนุก
2 ความคิดเห็น
ไม่มีคอนเทนเนอร์อย่างเป็นทางการ เลยทำให้การตั้งค่าเริ่มต้นค่อนข้างยุ่งยากนิดหน่อยครับ
ความคิดเห็นจาก Hacker News