Phabricator Administrator's Handbook/Compare Phabricator and ...


People often compares Phabricator to other technologies like Bitbucket, GitLab[1], GitHub[2], Launchpad[3], ecc.

Having said that no solution is just "better" than another one, this page will help in having a background in how some various similar technologies are designed and how they differ.

Differences between Phabricator and other solutionsEdit

Often it's just a matter of subjective choices and habits, but there are some differences, some different business workflows, etc.

Some key differences between Phabricator and other software and services:

License and solutionsEdit

GitLab, Launchpad and Phabricator are all free software. This means you have the freedom to study, modify, improve and share them. This means you can:

  • self-host these platforms on your own servers (100% data ownership)
  • have an on-premise solution (your servers but official assistance)
  • find a service provider (someone taking care of everything on their infrastructure)

Bitbucket and GitHub, instead, are proprietary software as a service and this means they take care of everything but you have not the freedom to study, modify, improve and share the platform (you can't install it on your server ecc.).

GitHub, GitLab, Phabricator and Launchpad can be used "as a service", provided by their respective companies. Actually Phabricator official service does not allow gratis registration to everyone. Anyway, Phabricator, GitLab and Launchpad may be used "as a service" by some providers (not promoted from this book).

Source version controlEdit

Phabricator supports multiple source version control systems (git, Subversion, Mercurial).

GitLab and GitHub are built over git. Launchpad supports Bazaar[4] and git.

Collaboration systemsEdit

In Phabricator, software collaboration is preferred over patches (handled by a web interface and using the Differential tool).

GitLab, GitHub are built over pull requests (separate repositories that can interact). Launchpad is built over merge requests (similar to pull requests).

PermissionsEdit

In Phabricator the privileges of almost every object can be tuned. For example every Phabricator Task can be configured for custom visibility and edit privileges.

In GitHub, GitLab and Launchpad this is limited—but maybe simpler.

Permanent deletionsEdit

Phabricator is somehow paranoid about permanent destruction of objects from the web interface. Usually, objects can be archived, marked as deleted, but not permanently deleted. You may need the command line to do some important operations (like repository deletions). The reasons about this choice are explained here: Permanently destroying data in Phabricator

Other notesEdit

There is also an interesting and quite neutral comparison between Phabricator and GitLab, talking also about Bugzilla, GOGS, gitea and Pagureprovided.

You can further read it from the GNOME wiki:

NotesEdit

  1. wikipedia:GitLab
  2. wikipedia:GitHub
  3. wikipedia:Launchpad (website)
  4. wikipedia:Bazaar (software)