ฟอร์จจำเป็นต้องมีการเฟเดอเรชัน
(blog.tangled.org)- การทำงานร่วมกันแบบโอเพนซอร์ส ตั้งอยู่บนมุมมองปัญหาว่า การผสานกันของโปรโตคอลแบบกระจายศูนย์ที่แยกหน้าที่การส่งโค้ดและการสื่อสารออกจากกัน เป็นแนวทางที่พึงประสงค์มากกว่าโครงสร้างที่พึ่งพาผู้ให้บริการรายเดียวอย่างหนัก
- เดิมทีการทำงานร่วมกันด้านโค้ดเกิดขึ้นจากการผสาน git กับอีเมล ต่อมาจึงย้ายไปเป็น git กับเว็บไซต์ GitHub และ ForgeFed ก็สานต่อด้วยการผสาน git กับ ActivityPub ส่วน Tangled กำลังต่อยอดด้วยการผสาน git กับ AT protocol
- Tangled ใช้โครงสร้างที่เฟเดอเรตเหตุการณ์ระหว่าง git server โดยเรียกแต่ละเซิร์ฟเวอร์ว่า knot และรองรับทั้งการทำงานร่วมกันบน repository แม้อยู่คนละเซิร์ฟเวอร์, fork ข้ามเซิร์ฟเวอร์, และ pull request ไปยัง repository ที่อยู่บนเซิร์ฟเวอร์อื่น
- สำหรับ Authenticated Transfer รอบตัวโค้ดนั้นใช้ AT โดยดูแลทั้ง issues, pull requests, event timeline, follows, stars และยังใช้สำหรับการเชิญผู้ร่วมพัฒนาและการแชร์ SSH public key
- แนวทางนี้คล้ายกับการรัน cgit instance เองแล้วส่งแพตช์ผ่านอีเมล แต่ก็แสดงทิศทางที่ต้องการรักษาความเป็นสังคมและความสนุกของการทำงานร่วมกัน พร้อมก้าวออกจาก GitHub monoculture
ความจำเป็นของการเฟเดอเรชันสำหรับฟอร์จ
- โครงสร้างที่พึ่งพาผู้ให้บริการรายเดียวสำหรับ การทำงานร่วมกันแบบโอเพนซอร์ส เป็นสัดส่วนมากนั้นไม่พึงประสงค์ และตั้งอยู่บนมุมมองว่า โปรโตคอลแบบกระจายศูนย์อยู่ได้นานกว่าระบบรวมศูนย์
- การทำงานร่วมกันด้านโค้ดใช้สองโปรโตคอลควบคู่กันมาเสมอ โดยตัวหนึ่งรับหน้าที่ การส่งโค้ด และอีกตัวรับหน้าที่ การสื่อสาร
- ในช่วงแรกเป็นการผสานระหว่าง git กับอีเมล
- ต่อมาจึงเปลี่ยนเป็นการผสานระหว่าง git กับเว็บไซต์ GitHub
- ForgeFed เปิดความเป็นไปได้ของการผสานระหว่าง git กับ ActivityPub
- Tangled กำลังสร้างขึ้นบนการผสานระหว่าง git กับ AT protocol
- Tangled ทำหน้าที่เฟเดอเรตเหตุการณ์ระหว่าง git server ต่าง ๆ และเรียกแต่ละเซิร์ฟเวอร์ว่า knot
- ไม่ว่า repository จะอยู่บนเซิร์ฟเวอร์ใดก็ทำงานร่วมกันได้
- รองรับ fork ข้ามเซิร์ฟเวอร์
- หลังจาก push ไปยัง repository บนเซิร์ฟเวอร์ของตัวเองแล้ว ก็สามารถเปิด pull request ไปยัง repository ที่โฮสต์อยู่บนอีกเซิร์ฟเวอร์หนึ่งที่ต่างออกไปโดยสิ้นเชิงได้
- วิธีนี้คล้ายกับการรัน cgit instance เองและส่งแพตช์ผ่านอีเมลในหลายแง่มุม
บทบาทที่ Tangled รับผิดชอบ
- Tangled ใช้ AT สำหรับ Authenticated Transfer ของเหตุการณ์รอบตัวโค้ด
- ใช้สำหรับการส่งต่อเหตุการณ์อย่าง issues และ pull requests
- ดูแลฟีเจอร์เชิงสังคมอย่าง event timeline, follows และ stars ไปพร้อมกัน
- vouches ก็มีกำหนดจะเพิ่มเข้ามาในเร็ว ๆ นี้
- AT ยังถูกใช้สำหรับการเชิญผู้ร่วมพัฒนาและการแชร์ SSH public key ส่วนอื่น ๆ นอกเหนือจากนั้นยังคงใช้ git แบบเดิม
- โอเพนซอร์สจำเป็นต้องก้าวออกจาก monoculture แบบ GitHub และในขณะเดียวกันก็ต้องรักษาความเป็นสังคมและความสนุกของการทำงานร่วมกันด้านโค้ดไว้
- tangled alpha
- docs
- source
- discord
- bluesky
- twitter (x)
- feed
ยังไม่มีความคิดเห็น