Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: Moving services

Re: Moving services

From: Thomas Martitz via rockbox-dev <rockbox-dev_at_cool.haxx.se>
Date: Fri, 5 May 2017 07:50:55 +0200

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
Received on 2017-05-05


Page was last modified "Jan 10 2012" The Rockbox Crew
aaa