Giao thức & ngăn xếp Radicle Heartwood
- Radicle Heartwood là phiên bản thứ ba của giao thức Radicle, một ngăn xếp xuất bản và cộng tác mã nguồn ngang hàng.
- Kho lưu trữ này bao gồm toàn bộ triển khai của Heartwood, gồm giao diện dòng lệnh thân thiện với người dùng (
rad) và daemon mạng (radicle-node).
- Radicle được thiết kế để thay thế các code forge như GitHub và GitLab, như một lựa chọn mạnh mẽ, an toàn và phi tập trung nhằm bảo toàn chủ quyền và quyền tự do của người dùng.
Yêu cầu cài đặt
- Cần hệ điều hành Linux hoặc dựa trên Unix.
- Cần Git phiên bản 2.34 trở lên.
- Cần OpenSSH phiên bản 9.1 trở lên và
ssh-agent.
Cài đặt từ binary
Cài đặt từ mã nguồn
- Cần bộ công cụ Rust.
- Trong kho lưu trữ này, có thể chạy các lệnh sau để cài ngăn xếp Radicle từ mã nguồn:
cargo install --path radicle-cli --force --locked
cargo install --path radicle-node --force --locked
cargo install --path radicle-remote-helper --force --locked
- Hoặc có thể cài trực tiếp từ seed node:
cargo install --force --locked --git https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git \ radicle-cli radicle-node radicle-remote-helper
Chạy
- Các tệp unit Systemd cho daemon hệ thống và daemon HTTP được cung cấp trong thư mục
/systemd. Có thể dùng chúng làm điểm khởi đầu để tùy biến thêm.
- Ngoài ra, cả hai crate đều đi kèm Dockerfile.
- Xem
HACKING.md để biết cách chạy ở chế độ debug.
Đóng góp
- Để biết phần giới thiệu về cách đóng góp cho Radicle, hãy xem
CONTRIBUTING.md và HACKING.md.
Giấy phép
- Radicle được phân phối theo các điều khoản của giấy phép MIT và Apache License (Version 2.0).
- Xem
LICENSE-APACHE và LICENSE-MIT để biết chi tiết.
Ý kiến của GN⁺
- Radicle là một nền tảng cộng tác mã nguồn phi tập trung, như một giải pháp thay thế cho các dịch vụ lưu trữ mã tập trung, nhằm tăng cường chủ quyền mã nguồn của người dùng. Điều này mang lại giá trị rất quan trọng cho các nhà phát triển bằng cách trao cho họ quyền kiểm soát đối với quyền sở hữu dữ liệu và quyền riêng tư.
- Mạng phi tập trung mà Radicle cung cấp không phụ thuộc vào máy chủ trung tâm, nên có ưu điểm là không bị ảnh hưởng bởi gián đoạn dịch vụ hay kiểm duyệt. Tuy nhiên, điều này cũng có thể ảnh hưởng đến độ ổn định và tốc độ của mạng, từ đó tác động tiêu cực đến trải nghiệm người dùng.
- Radicle là một dự án mã nguồn mở, liên tục phát triển nhờ đóng góp từ cộng đồng lập trình viên. Đây là lợi thế giúp phản ứng nhanh trong việc giải quyết vấn đề kỹ thuật hoặc bổ sung tính năng mới.
- Trước khi áp dụng Radicle, cần cân nhắc khả năng tương thích với các dịch vụ tập trung hiện có, yêu cầu bảo mật của dự án và rào cản triển khai trong nội bộ nhóm.
- Các dự án khác cung cấp tính năng tương tự gồm phiên bản tự lưu trữ của GitLab hoặc các lựa chọn mã nguồn mở như Gitea; chúng cho phép người dùng quản lý mã trên máy chủ của riêng mình.
1 bình luận
Ý kiến Hacker News
Lời chào từ đồng sáng lập dự án kèm liên kết giải thích cách giao thức hoạt động. Tài liệu vẫn đang được hoàn thiện.
Có vẻ phù hợp với mục tiêu của dự án, nhưng cũng có ý kiến rằng git vốn đã là mã nguồn mở và P2P. git có thể kết nối tới máy chủ khác để trực tiếp kéo hoặc hợp nhất mã mà không cần thêm binary nào. Điều còn thiếu trong git là issue mã nguồn, wiki, thảo luận, GitHub Pages, và quan trọng nhất là mạng lưới hồ sơ nhà phát triển. Cần có cách đưa metadata của dự án vào chính
.git, và có thể cần các tham chiếu độc lập để tránh nhầm lẫn giữa wiki và issue.Việc theo dõi sự phát triển của Radicle rất thú vị. Sau khi tham dự workshop tại Protocol Berg 2023, có cảm giác họ đã xây dựng được thứ gì đó rất mạnh mẽ và mới mẻ. Khía cạnh cộng tác của giao thức cũng theo hướng local-first là điểm hấp dẫn nhất. Có thể gửi patch và issue ngay cả khi không có Internet, và cả nhóm không bị ảnh hưởng khi GitHub gặp sự cố.
Thắc mắc vì sao lại dùng đồng thời cả giấy phép MIT và Apache. Liệu giấy phép MIT có cho phép lách các trách nhiệm bổ sung mà giấy phép Apache đưa ra hay không, đặc biệt là điều khoản cấp phép bằng sáng chế. MIT không đề cập tới bằng sáng chế, nên cũng đặt câu hỏi vì sao không chỉ dùng mỗi MIT.
Thắc mắc người dùng phổ thông có thể tìm thấy các kho lưu trữ này dễ đến mức nào. Có vẻ không có file
robots.txt, nên các công cụ tìm kiếm có thể crawl. Kết quả có xuất hiện trên Google và DDG nhưng chưa ở thứ hạng cao. Thứ hạng có thể được cải thiện. Các công cụ tích hợp hỗ trợ CI (tích hợp liên tục) cũng sẽ rất đáng quan tâm. Cần công cụ tốt hơn để chỉ cho phép push từ các danh tính đáng tin cậy. Cuối cùng là vấn đề kho artifact. Radicle không cần phải giải quyết mọi thứ, nhất là khi việc chia sẻ binary dung lượng lớn qua mạng phân tán có thể nhanh chóng bị dùng sai mục đích.Chúc mừng dự án ra mắt, đồng thời bày tỏ sự hào hứng khi theo dõi dự án trưởng thành hơn. Hỏi cách di chuyển các dự án đang ở trên GitHub sang đây, và liệu có chế độ mirror trong thời gian thử nghiệm hay không.
Tài liệu có nói rằng chỉ nên công bố các kho do mình sở hữu hoặc quản lý, và cần trao đổi với các quản trị viên khác để tránh khởi tạo trùng định danh kho. Nhưng nhiều người có thể không đọc kỹ tài liệu hoặc không chú ý, nên khả năng cao sẽ bỏ qua yêu cầu này. Trang chủ chỉ hướng dẫn cách push code, trong khi yêu cầu quan trọng này lại chỉ xuất hiện trong hướng dẫn người dùng, nên có thể trở thành vấn đề.
Mong muốn có định nghĩa chính xác cho các thuật ngữ như "peer to peer" hoặc "distributed". Khi những từ này bị dùng như buzzword, chúng có thể trở nên rất mơ hồ.
Chúc mừng ra mắt và gợi nhớ đến nest.pijul.com, một dự án tương tự nhưng dùng pijul thay vì git.
Một nhận xét ngoài lề, gợi nhớ đến NESticle.