- Tangled là nền tảng cộng tác Git có tính năng xã hội dựa trên AT Protocol, được thiết kế để lập trình viên vẫn giữ quyền sở hữu hoàn toàn với mã nguồn của mình, đồng thời cho phép cộng đồng mã nguồn mở vận hành một cách tự chủ
- Áp dụng cấu trúc cộng tác mã nguồn phân tán kết hợp ưu điểm của mô hình liên hợp lấy ActivityPub(Forgejo) làm trung tâm và mô hình P2P hoàn toàn của Radicle
- Khái niệm cốt lõi “Knot” là một máy chủ Git headless nhẹ, hỗ trợ cả self-hosting cá nhân lẫn môi trường multi-tenant ở quy mô cộng đồng
- App View(tangled.sh) cung cấp góc nhìn hợp nhất cho các kho lưu trữ trên toàn mạng, giúp duyệt, sao chép và đóng góp một cách liền mạch vào các repository nằm trên những Knot khác nhau
- Hiện đang ở giai đoạn beta, nền tảng lấy quyền sở hữu dữ liệu, rào cản gia nhập thấp và bảo toàn trải nghiệm người dùng làm các nguyên tắc cốt lõi, đồng thời hướng tới việc xây dựng một hệ sinh thái Git phân tán hoàn toàn và mở trong tương lai
Tổng quan về Tangled
- Tangled là một nền tảng mới cung cấp môi trường cộng tác Git có thể tương tác xã hội, đồng thời giúp lập trình viên giữ quyền sở hữu đối với mã nguồn và danh tính của mình
- Dựa trên AT Protocol, nền tảng này áp dụng kiến trúc ứng dụng xã hội phi tập trung vào cộng tác Git
- Mục tiêu là đưa việc cộng tác mã nguồn trở lại thành một quá trình cởi mở và thú vị
Mô hình phân tán và AT Protocol
- Các mô hình cộng tác mã nguồn phân tán hiện có gồm những cách tiếp cận sau
- Forgejo(ActivityPub): cộng tác thông qua liên hợp (federation) giữa các máy chủ
- Radicle: cấu trúc P2P(peer-to-peer) hoàn chỉnh
- Tangled kết hợp ưu điểm của cả hai mô hình và chọn atproto để có thể quản lý danh tính theo cách tập trung
- Nhờ đó, người dùng vẫn có thể duy trì ID và cấu trúc xác thực nhất quán ngay cả trong mạng phân tán
Cấu trúc Knot
- Knot là thành phần cốt lõi của Tangled, một máy chủ nhẹ cho phép người dùng trực tiếp host repository Git
- Hỗ trợ cả cấu hình single-tenant lẫn multi-tenant
- Có thể self-hosting ngay cả trên thiết bị nhỏ như Raspberry Pi
- Tangled về cơ bản cung cấp dịch vụ Knot được quản lý miễn phí
- Nhờ cấu trúc này, một mạng Git phân tán kết nối tự nhiên giữa máy chủ cá nhân của người dùng và máy chủ cộng đồng được hình thành
App View và mạng hợp nhất
- App View được cung cấp tại tangled.sh đóng vai trò hiển thị các repository trên toàn bộ mạng dưới dạng một góc nhìn hợp nhất
- Người dùng có thể dễ dàng clone và contribute ngay cả với các repository nằm trên Knot khác
- Thiết kế này giữ nguyên quy trình làm việc vốn có của Git, đồng thời loại bỏ rào cản của môi trường phân tán
Nguyên tắc phát triển
- Để định hướng phát triển, nhóm Tangled đặt ra ba nguyên tắc sau
- 1. Quyền sở hữu dữ liệu — mọi người dùng trực tiếp sở hữu mã nguồn và metadata do mình tạo ra
- 2. Rào cản gia nhập thấp — cung cấp cấu trúc và giao diện đơn giản để bất kỳ ai cũng có thể dễ dàng tham gia
- 3. Tính nhất quán của trải nghiệm người dùng — dù là cấu trúc phân tán, vẫn đảm bảo UX ở mức dịch vụ tập trung
- Các nguyên tắc này được phản ánh xuyên suốt trong lựa chọn công nghệ cũng như thiết kế UI/UX của Tangled
Truy cập và cộng đồng
- Ban đầu, nền tảng hoạt động theo hình thức truy cập bằng lời mời (invite-only), và các lập trình viên có thể tham gia qua kênh IRC
#tangled (libera.chat)
- Hiện tại, hệ thống đã mở đăng nhập công khai, và bất kỳ ai cũng có thể sử dụng tại tangled.sh/login
- Tangled vẫn đang ở giai đoạn đầu, nhưng đang phát triển bằng cách kiểm chứng tính năng thông qua việc tự sử dụng nội bộ (dogfooding)
Kết luận
- Tangled là một nỗ lực mở rộng cộng tác Git thành trải nghiệm được kết nối như mạng xã hội
- Nền tảng này đang thu hút sự chú ý như một hệ sinh thái Git phân tán mới kết hợp tính tự chủ, khả năng tiếp cận và văn hóa phát triển thú vị
2 bình luận
Vì không có container chính thức nên phần thiết lập ban đầu hơi rườm rà.
Ý kiến trên Hacker News