Sourcehut 2025: Hướng dẫn toàn diện cho người mới bắt đầu muốn thay thế GitHub
Bài viết này so sánh chi tiết giữa Sourcehut và GitHub, làm nổi bật những ưu điểm của Sourcehut về quyền riêng tư, sự minh bạch và hiệu suất. Hãy cùng khám phá các tính năng cốt lõi như quản lý patch qua email, hệ thống CI/CD và wiki để xem liệu đây có phải là lựa chọn tối ưu cho các nhà phát triển hay không.

Bài viết này dành cho những người dùng và người đóng góp hiện đang lưu trữ các kho lưu trữ git của họ thông qua GitHub. Mục tiêu của bài đăng này là thuyết phục các nhà phát triển từ bỏ GitHub hoàn toàn. Tôi sẽ phân tích các tính năng cốt lõi phổ biến nhất của GitHub và cung cấp chi tiết về phương pháp thay thế của SourceHut cho từng tính năng đó. Hy vọng vào cuối hướng dẫn này, các nhà phát triển sẽ thử SourceHut hoặc ít nhất là bắt đầu đặt câu hỏi tại sao họ vẫn đang sử dụng GitHub.
Điều quan trọng cần làm rõ là: tôi hoàn toàn không liên quan đến SourceHut, cũng không được tiếp cận để viết hướng dẫn này. Tôi đơn giản là một người dùng SourceHut hạnh phúc và muốn thấy cộng đồng phát triển thrive!
Bạn cũng cần tiếp cận hướng dẫn này với một tâm trí cởi mở. Nếu bạn bắt đầu với sự tức giận hoặc cảm thấy đây là một cuộc tấn công vào bạn vì đang sử dụng (và có thể cả việc yêu thích!) GitHub, thì bạn nên quay lại sau khi tâm trạng tốt hơn. Đây chỉ là một hướng dẫn chi tiết về cách đạt được sự tương đương tính năng vững chắc giữa GitHub và SourceHut.
Thôi không nói chuyện dài dòng nữa, hãy cùng bắt đầu nào!
Quyền riêng tư và Sở hữu dữ liệu
GitHub thuộc sở hữu của Microsoft, một công ty nổi tiếng với các hoạt động thu thập dữ liệu mạnh mẽ. Điều này nên gây lo ngại cho hầu hết các nhà phát triển về quyền riêng tư và cách dữ liệu của họ được xử lý.
Chính sách về thông tin và quyền riêng tư của SourceHut rất rõ ràng: Ngoài thông tin bạn chọn công khai trong quá trình sử dụng sr.ht và thông tin bạn tự nguyện chọn chia sẻ với bên thứ ba cụ thể, không có thông tin nào của bạn được chia sẻ với bên thứ ba.
GitHub theo dõi hành vi người dùng thông qua dữ liệu telemetria, bao gồm các tương tác trên nền tảng. Không để nói rằng, ứng dụng Visual Studio Code mặc định cũng gửi thêm telemetria (trừ khi các nhà phát triển chọn sử dụng biến thể "mã nguồn mở").
Chính sách thu thập và theo dõi dữ liệu của SourceHut:
Dữ liệu duy nhất chúng tôi yêu cầu đối với tài khoản của bạn là địa chỉ email; tên người dùng do bạn chọn, phải duy nhất trong số tất cả người dùng; và mật khẩu.
Hơn thế nữa, điều đó chỉ áp dụng nếu bạn tạo tài khoản. Đóng góp cho các dự án hiện có chỉ cần một địa chỉ email. Bạn sẽ thấy điểm này xuất hiện vài lần trong bài viết này.
Phi tập trung và Khóa nhà cung cấp (Vendor Lock-in)
GitHub là một nền tảng độc quyền, hạn chế quyền kiểm soát của người dùng đối với dữ liệu và hạ tầng của họ so với các giải pháp thay thế tự lưu trữ (self-hosted) hoặc mã nguồn mở. Nếu bạn không thể thấy mã nguồn - bạn không nên tin tưởng nó.
Ngoài ra, các tính năng như GitHub Actions, Copilot và Codespaces tạo ra sự phụ thuộc vào nhà cung cấp, khiến người dùng khó chuyển sang các giải pháp thay thế hơn.
Một vấn đề lớn là GitHub Copilot sử dụng các kho lưu trữ mã công khai để đào tạo AI của mình. Điều này gây ra nhiều lo ngại về vi phạm bản quyền và việc sử dụng nội dung của người dùng trái phép. Ngoài ra, việc Copilot mặc định là tính năng opt-out (tự động tham gia trừ khi hủy) là rất đáng ngờ.
SourceHut đang chuyển thực thể của mình ra khỏi Mỹ và sẽ chỉ đặt tại Liên minh Châu Âu:
Chúng tôi đang trong quá trình chuyển SourceHut sang Liên minh Châu Âu và đã thành lập tại Hà Lan. Do đó, các điều khoản đã được cập nhật để làm rõ rằng người dùng được yêu cầu tuân thủ luật pháp Hà Lan ngoài luật pháp Mỹ. Yêu cầu tuân thủ luật pháp Mỹ sẽ được loại bỏ trong bản cập nhật tương lai sau khi chúng tôi đóng thực thể tại Mỹ.
GitHub đại diện cho sự tập trung hóa của hệ sinh thái mã nguồn mở, điều này đi ngược lại triết lý phi tập trung của phần mềm mã nguồn mở. Các người đóng góp cũng bị yêu cầu phải có tài khoản GitHub, tạo ra ma sát và sinh ra nhiều sự phụ thuộc vào nền tảng hơn. SourceHut chỉ yêu cầu bạn có một email hoạt động để đóng góp cho dự án. Bạn thậm chí không cần tài khoản!
Triết lý thiết kế: Tương tác vs Phần mềm
GitHub được xây dựng với mục đích duy nhất là thúc đẩy sự tương tác. Điều này thậm chí được ưu tiên hơn việc phân phối và quảng bá phần mềm chất lượng. Nó giống như một mạng xã hội hơn là một nền tảng git.
SourceHut không có hệ thống "sao" (star) hay động lực để chạy theo "lượt thích". Không có dự án được đề xuất hay nguồn cấp tin xu hướng. Nếu bạn đang muốn quảng bá hoặc tìm kiếm người đóng góp cho dự án của mình, làm việc thông qua một hệ thống bị "thao túng" không phải là cách tiếp cận tốt nhất về lâu dài.
So sánh tính năng cốt lõi
Dưới đây là tập hợp các tính năng phổ biến nhất mà chúng ta sẽ so sánh:
Quản lý mã nguồn và Đóng góp (Pull Requests vs Email Patches)
Đây là phần "thịt và khoai tây" của nền tảng GitHub. Có lẽ đây là lý do cốt lõi khiến các nhà phát triển chọn GitHub làm git forge chính của họ. Tôi hiểu điều đó. Nó có lợi thế trong việc cung cấp trải nghiệm tốt hơn khi xem xét một tập hợp các thay đổi ban đầu. Nhưng nếu tôi nói với bạn rằng曾经 có một thời điểm gửi các bản vá dựa trên email là tiêu chuẩn cho kiểm soát phiên bản thì sao?
Xem xét, gửi, thay đổi và chấp nhận các bản vá git qua email hoàn toàn không khó khăn chút nào. Nếu một người đơn giản như tôi có thể xử lý được, thì các nhà phát triển dày dạn kinh nghiệm sẽ không gặp bất kỳ vấn đề nào. Tốt nhất của tất cả, SourceHut bao gồm giao diện trực quan riêng của nó để giúp bạn khi làm việc với các tập bản vá:
Danh sách các patchsets trên Sourcehut
Kiểm tra các thay đổi cục bộ rất dễ dàng. Giao diện người dụng ở thanh bên cung cấp cho bạn tất cả các hướng dẫn cần thiết. Vì vậy, đừng để ai đó nói với bạn rằng "không có giao diện người dùng" để xử lý các đóng góp. Điều đó đơn giản là không đúng.
Theo dõi vấn đề (Issue Tracking)
Theo dõi vấn đề trên SourceHut tương đương (nếu không muốn nói là tốt hơn!) so với GitHub. Sự khác biệt lớn nhất mà hầu hết người dùng sẽ nhận thấy ngay lập tức là có khả năng tìm kiếm chức năng. Việc GitHub liên tục gặp khó khăn trong khía cạnh này thực sự khó hiểu. Có thể nó liên quan đến quá nhiều sự thừa thãi, nhưng việc nhảy qua lại giữa các vé (tickets) hoặc tìm kiếm các thuật ngữ cụ thể cảm thấy chậm chạp trên GitHub. Thực hiện các hành động tương tự trên SourceHut cảm thấy cực kỳ nhanh nhẹn.
Màn hình theo dõi vấn đề trên Sourcehut
Hãy lưu ý hành động gửi qua email trong ảnh chụp màn hình ở trên. Điều này cho phép các nhà phát triển đóng góp vào dự án của bạn mà không cần tài khoản. Điều đó mở ra các dự án của bạn cho một nhóm nhân tài rộng lớn hơn và tránh được những lo ngại về quyền riêng tư mà những người tập trung nhiều vào bảo mật có thể gặp phải.
SourceHut cũng bao gồm các nhãn (labels), tương tự như GitHub. Bạn có thể tạo các tập hợp nhãn và xem các vé liên quan của chúng trực tiếp trong trang UI tạo (hoặc tìm kiếm qua thuật ngữ bộ lọc):
Thêm nhãn cho vấn đề trên Sourcehut
Tự động hóa và CI/CD (Builds)
Cả hai nền tảng đều cho phép người dùng tự động hóa các tác vụ như chạy kiểm thử, xây dựng dự án và triển khai mã bằng cách sử dụng quy trình làm việc. Đối với GitHub, các tác vụ này được đặt dưới "Actions", trong khi SourceHut gọi chúng là "Builds". Actions được định nghĩa trong .github/workflows/, trong khi Builds được đặt tại thư mục gốc. Cả hai đều sử dụng tệp .yml để cấu hình.
Mặc dù GitHub Actions đi kèm với tùy chọn "trực quan" hơn cho những người thích sử dụng giao diện web, cấu trúc cơ bản của tệp .build.yml của SourceHut khá đơn giản. Dưới đây là ví dụ về việc xây dựng một trang web Jekyll cơ bản và triển khai nó trực tiếp đến SourceHut Pages:
image: alpine/edge
packages:
- jekyll
sources:
- https://git.sr.ht/~username/repo
tasks:
- build: |
cd repo
jekyll build
- package: |
cd repo
tar -C _site -cz . > ../site.tar.gz
artifacts:
- site.tar.gz
Rất dễ đọc và hiểu từng phần của cấu hình build đang làm gì. Bạn cũng có thể tạo các cấu hình phức tạp hơn nhiều. Tôi đề nghị bạn đọc qua tài liệu chính thức về builds và thử nghiệm nó!
Lưu trữ trang web (Pages)
Thực sự không có nhiều điều để nói ở phần này. Cả GitHub và SourceHut đều cung cấp lưu trữ web "tĩnh" dễ sử dụng. Lấy một số thông tin trực tiếp từ trang web SourceHut Pages:
Pages là một dịch vụ lưu trữ trang web tĩnh đơn giản dành cho các dự án trên sr.ht. Nó hỗ trợ các trang web tĩnh, cũng như các trang web được tạo bởi các công cụ tạo trang tĩnh như Hugo, Jekyll và Pelican.
Thật vô cùng nhanh chóng để đưa một trang web lên và chạy trên SourceHut. Kết hợp nó với "Builds" đã đề cập ở trên, bạn có thể cấu hình triển khai tự động trong vòng dưới 5 phút.
Wiki
Điều đáng tiếc về GitHub là thiếu các nhà phát triển bao gồm Wikis hoặc tài liệu phù hợp cho các dự án lớn hơn của họ. Vì vậy, tôi nghi ngờ có bao nhiêu dev thực sự cần quy trình làm việc wiki tốt. Nhưng đối với những người trong số các bạn làm vậy - các trang wiki của SourceHut rất tuyệt. Giống như mọi thứ khác dưới thương hiệu sr.ht, mọi thứ được giữ đủ đơn giản mà không mất quá nhiều chức năng cốt lõi mà bạn mong đợi.
Việc các wiki được quản lý ở cấp cao nhất dưới man.sr.ht cũng khá tuyệt vời. Với GitHub, bạn cần tìm kho mong muốn của mình, sau đó chuyển sang các trang wiki. SourceHut cho phép bạn xem chế độ xem "master" của tất cả các wiki hiện có, trải dài trên bất kỳ số lượng kho nào.
Màn hình quản lý Wiki trên Sourcehut
Bất kỳ điều chỉnh UX nào tiết kiệm thời gian đều là một lợi thế đối với tôi.
Chi phí sử dụng
GitHub thực sự là "miễn phí". Tôi đặt từ này trong ngoặc kép vì những gì không lấy từ ví tiền của bạn, thì được lấy ở nơi khác. Thông tin cá nhân của bạn, dữ liệu việc sử dụng sản phẩm của bạn và mã công khai là chi phí thực sự để sử dụng GitHub. Vậy, SourceHut tốn bao nhiêu?
Bạn cũng có thể kiếm được dịch vụ miễn phí trong một số tình huống tài chính nhất định hoặc bằng cách đóng góp trực tiếp cho dự án SourceHut:
Nếu bạn cần hỗ trợ tài chính để sử dụng sourcehut, vui lòng gửi email giải thích hoàn cảnh của bạn và chúng tôi sẽ cố gắng hết sức để đáp ứng nhu cầu của bạn.
Sourcehut bản thân nó là một dự án mã nguồn mở. Người dùng gửi các bản vá cho dự án thượng nguồn (upstream) đủ điều kiện nhận dịch vụ miễn phí.
Và nếu không có điều nào nghe hấp dẫn đối với bạn - bạn có thể tự lưu trữ SourceHut của riêng mình! Chỉ để so sánh, bạn có thể tự lưu trữ một bản sao một-một của GitHub không?...
Tôi biết rằng còn có nhiều nền tảng git "forge" khác có sẵn. Gitea, Codeberg và Forgejo đều được nhắc đến. Những nền tảng đó cũng tuyệt vời. Nếu bạn thích những lựa chọn đó thay vì SourceHut thì cũng ổn! Chuyển sang bất kỳ lựa chọn nào trong số đó vẫn là một sự cải tiến khổng lồ so với GitHub.
Thật không may, tôi thấy việc cần có tài khoản để đóng góp cho các dự án là một yếu tố "break the deal" (giao dịch thất bại). Nó gây ra quá nhiều ma sát mà không có lợi ích thực tế nào. Quy trình làm việc dựa trên email sẽ luôn tối thượng. Nó là "nguyên bản" (OG) của các đóng góp mã.
Nếu bạn đã đọc đến đây, tại sao không thử nó? Có thể bắt đầu bằng cách giữ một bản sao từ xa của các dự án GitHub hiện có của bạn trên SourceHut. Cung cấp cho người dùng và người đóng góp của bạn tùy chọn làm việc với nền tảng nào. Sau một thời gian, tôi thực sự nghĩ bạn sẽ thích cách sr.ht làm mọi thứ và cuối cùng sẽ để GitHub phía sau.
Bài viết này có thể không hoàn hảo 100%. Không có gì trong cuộc sống là như vậy. Nếu bạn thấy một lỗi hoặc nhận thấy tôi đã bỏ sót điều gì đó, vui lòng gửi một bản vá trên SourceHut.
Bài viết liên quan
Công nghệ
Chạy trình thông dịch PostScript năm 1991 của Adobe trực tiếp trên trình duyệt
01 tháng 5, 2026

Công nghệ
Gần một nửa doanh nghiệp tại Anh bị tấn công mạng trong năm qua: Lừa đảo qua email vẫn hiệu quả như năm 2005
30 tháng 4, 2026

Công nghệ
Website không phải là dành cho bạn: Bài học về thiết kế trải nghiệm người dùng
01 tháng 5, 2026
