From 593203dcd0a08882828937f7bf2bfd59296180d2 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 7 Feb 2026 21:01:00 +0300 Subject: [PATCH] docs: initial comparison document Signed-off-by: NotAShelf Change-Id: Ic50cc37d50c50ef279f65e87011d252f6a6a6964 --- docs/COMPARISON.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 docs/COMPARISON.md diff --git a/docs/COMPARISON.md b/docs/COMPARISON.md new file mode 100644 index 0000000..af66611 --- /dev/null +++ b/docs/COMPARISON.md @@ -0,0 +1,41 @@ + + +# FC vs Hydra + +FC is not exactly a competitor, but a direct replacement to Hydra with a limited +set of features that are prioritized. While FC hopes to be a complete +replacement, not everything can be considered in-scope for a team of FOSS +developers without funding. _Should_ you create any issues, your feature may or +may not be implemented depending on our own needs. Please keep that in mind. + +Below document contains a "feature matrix" of concepts and features that we've +decided to think about. Not all of them will be fully implemented (i.e., we are +a-okay with being less powerful in some regards) but FC _does_ aim to be better +than Hydra in the long term, through different means; reliability, UX and +performance. + +## Executive Summary + +FC currently implements more or less 50% of Hydra's core features, and has +various improvements over Hydra's architecture. As of writing, some gaps (such +as the plugin architecture, VCS diversity and notification integrations) remain. + +### Strengths + +- Modern Rust codebase with better error handling +- Simpler, more maintainable architecture (5 Rust crates vs Perl & C++ monolith) +- Better API-first design with proper REST structure +- User management with argon2 password hashing and granular RBAC +- Cleaner database schema (16 tables vs 70+) +- Better Nix Flake support from day one +- Improved & tested declarative jobsets + +### Weaknesses + +- Limited VCS support (Git only in FC vs 6 types in Hydra) +- No plugin architecture for extensibility +- Missing several notification integrations (Slack, BitBucket, etc.) +- No declarative project specification (coming soon) +- No coverage/build metrics collection + +TODO: add a better comparison matrix