[isabelle-dev] Further plans for https://isabelle.sketis.net/repos

Makarius makarius at sketis.net
Fri Aug 23 21:59:01 CEST 2019

On 22/08/2019 23:05, Makarius wrote:
> To get more repository infrastructure, my research at that time  ended
> at Phabricator by Phacility, see https://www.phacility.com/phabricator
> Despite strange product/company name, this looks fairly good at first
> sight. It is an open-source project backed by a small company: both
> self-hosting and paid hosting is possible.
> My plan was (and still is) to try this out on my own server
> https://isabelle.sketis.net (which merely costs 5 EUR per month at a
> well-respected small hosting provider in Germany; it could be any other
> provider).
> The Bitbucket incident is further motivation to continue working on this
> soon.

I've briefly experimented with Phabricator in the meantime: it was very
easy to install on a local Ubuntu LAMP server (Linux Apache MySQL PHP):
approx. 1h for basic setup + 30min initial configuration. A proper setup
will require careful studies of the extensive documentation; there are
many fine points to consider. (E.g. if and how to import identifies from
Github or Bitbucket.)

Phabricator generally looks very clean and professional, although with a
slight tendency of over-featurism. In fact, it is much more than a
hosting platform: it includes trackers, review boards, blogs etc. There
are also plugin "apps". That is much more than I was asking for (and
thus a potential problem).

Some years ago, I came around the Phabricator, because I was looking for
public tracker and TODO item support for Isabelle. I keep repeating old
pending tasks on the mailing lists over and over again, so the extra
maintenance for such a platform might pay off eventually. We also have
the problem that people today often don't know how to communicate on a
classic mailing list.

Here is an example Phabricator installation, which happens to be for the
Mercurial project itself: https://phab.mercurial-scm.org/diffusion/HG/

And here is someone on ycombinator who likes it a lot:

neandrake on June 6, 2018 [-]

A few years back I went through and evaluated multiple different tools
primarily for their code review capabilities. I looked at quite a few
including GitLab, Gogs, ReviewBoard, SmartBear, and Phabricator. We use
Mercurial for source control and nearly considered migrating to Git
because that's where the majority of tooling exists. We set up
Phabricator and haven't looked back. Getting developers to use
Phabricator/Arcanist was fairly organic -- learning to use a command
line tool for creating the reviews was probably the most challenging but
devs learned it because of the convenience of the code review.

It's very well-designed and has support for enterprise features like
ldap, clustered servers, CI, etc. and there's no distinction between
community/enterprise versions -- it's all open source. Other great
features are task management, wiki, blogs, question/answer (a la
StackOverflow), and of course memes/macros which add some lighthearted
fun to code review. The engineering behind the product is top-notch
which is evident from reviewing the tasks/discussions behind features
[1], or even reviewing the source code. One killer feature for my
company was Spaces, which allows setting up "walled gardens" -- we use
it to allow external collaborators to create tasks, etc. without being
able to see anything outside their own space.

Managing and maintaining Phabricator is pretty straightforward. It's a
standard LAMP type of product (Linux, Apache, MySQL, PHP) which is easy
for myself or IT to jump on and diagnose issues. It's the only tool I've
seen which will also alert administrators to identified issues with
configuration (when logged into web page). Additionally administrators
of the tool do not have blatant all-access to projects, though that
might be niche.

I'm glad it's getting more notice now, even if it's largely due to
Microsoft acquiring GitHub. I don't know if Facebook uses Phabricator
still but WikiMedia does and I belive the Mercurial development team is
considering it [2]. Phabricator is a great product and worth trying out.
Their community is located at [3] - they used to allow open access to
their self-hosted Phabricator instance but it became too noisy as the
user base grew so they've moved to discourse forums.

[1] https://secure.phabricator.com

[2] https://phab.mercurial-scm.org/

[3] https://discourse.phabricator-community.org/

That is a solid starting point for proper evaluation of the technology ...


More information about the isabelle-dev mailing list