Am 20.04.2017 um 14:23 schrieb Björn Stenberg via rockbox-dev:
Hello all patient devs.

Let me make a case for Phabricator, see https://www.phacility.com

We use Phabricator at work for a pretty large code base for about one and a half years now, and we truly appreciate it. It offers most (all?) of features that we are going to move/replace, and is completely free (as in speech and beer).

Foreword: At work, I was searching for a code review systems (just for our department). We still use SVN, so git-only systems were not qualified. Precisely I looked at Phabricator, ReviewBoard (at that time used by KDE), Rietveld and Crucible. Other features, such as Wiki or Project Management, were not looked after since we had company-wide solutions in place already (though in hindsight, I would argue that Phabricator is better than those).

Phabricator came about as the most promising choice and we went for it. Since then I also maintain our Phabricator instance, so I also know about the internals (how to backup, upgrade, etc.). In the meantime, KDE also switched to Phabricator and is pretty happy. I think that a huge project as KDE is using it successfully is quite telling.

Phabricator uses itself for ongoing development, so you can have a look at Phabricator on their live instance: https://secure.phabricator.com/. You'll also see that the development is really active, even though it's basically a two-man project.

Phabricator is a commercial project, but it has no commercial edition. That means the developers make a business from it, but only by the means of paid development for features that go into the open, hosting services and consulting. Phabricator itself is fully open source (no open core).

Features:
* Repository hosting including a decent source code browser.
* Excellent code review
* Code auditing (post-commit review)
* Bug tracker
* A Wiki
* Email notifications, for example when someone requests a code review for a code area of your interest (can be used to implement subsystem maintainership) * Lots of authentication options, including local username/password, google, facebook, amazon, github accounts and more.
* A REST-API for client access (json parsing yay)
* A local tool to interact (so push/pulling doesn't require the web interface), the tool uses the above REST Apis.
* Advanced ACL rules (we probably don't need that)
* Methods to run static code analysis and linting as part of the code review process.
* Per-user dashboards for tracking activity.
* The modules have cool names, often emphasizing the "Ph"
* Many more that I don't have discovered yet.

Additionally it has simplistic build system support. It doesn't have a complete build system solution but it has a module to trigger builds externally, wait for completion and retrieve results, which will be displayed in the code review or source code browser. This way we can support building non-master trees, such as feature branches or individual code reviews (this was always on our TODO, right?)

Please go to https://secure.phabricator.com/ and have a look how it works in action.

I wholeheartedly recommend Phabricator, as both a user and administrator. Github is can't compete with most features and is closed source too. I don't know Gitlab really much, but it always looked like a Github clone so it wasn't of interest to me.

On Phacility, they can set up a 30 day trial to see how it works. Afterwards we can leave Phacility and host Phabricator somewhere, so it's free for us. I would volunteer to administer / maintain the instance but I don't own server that is fail-safe or has a backup plan.

Best regards

Reply via email to