
Phabricator, Wikimedia’s new collaboration platform - asb
https://blog.wikimedia.org/2014/11/24/welcome-to-phabricator-wikimedias-new-collaboration-platform/
======
brokentone
Confusing title - this is the (formerly) Facebook Phabricator project that
Wikimedia is now using, not something they built from scratch.

~~~
asb
I submitted it with the title "Wikimedia has completed its migration from
Bugzilla to Phabricator".

~~~
brokentone
That would be much better

~~~
chris_wot
Perhaps the mod might like to put it back to its less misleading title?

------
keeperofdakeys
I've been using the code review portions recently. The pre-commit workflow
doesn't work too well with git, since the review happens before you upload the
code. So everyone needs a local php program to both upload code diffs, and
download the code diffs (to support multiple VCS systems). And once it's
approved, you need to merge and push it locally (there is a command in the
program to do this in one step).

Writing unit tests also requires making (a small) php program to call out to
them. And from what I've seen, it only supports them locally, and not through
another system. There is a post-commit review system, but it has less
features, and is based only on commits.

But after looking around, there really wasn't much else that fulfilled the
project-management aspects as well as code-review.

~~~
tom9729
Shopping around for these kinds of tools recently. Phabricator looks great,
but the point you mentioned is a show stopper for me. I would love to see
Phabricator have GH-style code review, even if it meant dropping support for
non-DVCS. Arcanist is neat but I don't want to learn a proprietary CLI tool
just to do code review.

Atlassian is expensive and only supports GIT, but the UI for VCS is way better
(as is the Jenkins integration).

~~~
SEJeff
It isn't proprietary, it is open source php. Not wonderful, but the cli works
well and hits all of the phabricator bits you need. I've been using it for ~6
months and like it quite a bit.

~~~
tom9729
Maybe proprietary isn't the right word. I don't like that the only way to do
pre-commit code review is using a CLI tool that only works with Phabricator.
Contrast this with the GH-style system where you use a standard Git client and
a web app. The GH-style system is just much more accessible.

~~~
piotrkaminski
While GitHub isn't that great, it's sufficiently popular that there's a bunch
of tools built on top of its API that supplement its failings. For example,
for code reviews you can hook up
[https://reviewable.io](https://reviewable.io) (disclosure: my project), which
automatically inserts links to itself into PR descriptions and doesn't require
using any new CLI tools.

------
yid
Phabricator is a legend within Facebook. For an example of some truly funny
marketing copy, check out its homepage:
[http://phabricator.org/](http://phabricator.org/)

~~~
GFischer
You weren't kidding, I like that kind of self-deprecating humor :)

~~~
zaven
Evan Priestley (main lead developer from the article) is hilarious. He's also
responsible for this fantastic description
[http://www.javelinjs.com/](http://www.javelinjs.com/)

~~~
syaz1
Can't tell if the hacked ribbon is serious or part of the joke...

~~~
zaven
Part of the joke! He gives the backstory here [http://www.quora.com/Whats-the-
story-behind-Javelins-hilario...](http://www.quora.com/Whats-the-story-behind-
Javelins-hilarious-website)

------
jamwt
Dropbox uses Phabricator _extensively_ for all our projects. Integrations into
CI and deployment systems, etc. Great project.

I've used trac, redmine, bugzilla, github/github enterprise, over the last ~10
years, and taken across the whole feature set, Phabricator outshines all of
them. All the integrations across the product suite are nice, and the arc tool
is really convenient once you get used to its quirks.

It's not the simplest thing in the world, but if you have a bigger shop with
some nontrivial workflows, lots of projects, lots of teams, blocking reviews,
mandatory security reviews, etc... Phabricator is a great way to wrangle it.

------
ausjke
Every time I saw a project management tool I instantly want to compare it to
redmine which is based on Ruby. I failed to see obvious advantages from
Phabricator yet.

~~~
adamors
Seriously, Redmine is your standard? It has to be one of the clunkiest,
slowest and all around uncomfortable project management tools out there. We
use it at our place of work, and out of 30+ developers, only a handful of
people are content with it.

~~~
leonardinius
What would you recommend / advise then?

~~~
vaceletm
If you are looking for something that does "more than just git" and if being
open source is valuable to you, you can have a look at Tuleap[1].

It comes with git and svn for source control, built-in tracking technology
(big difference with redmine/jira, anyone can customize models & workflows),
code review with gerrit, agile dashboard for scrum (kanban on going). Last but
not least, it does scale quite well (10k users, 200k tickets, TB of git repo,
...)

Full disclosure: I'm dev on that very tool.

[1] [http://tuleap.org](http://tuleap.org)

~~~
annnnd
Looks nice! A hint though: I was looking for an open source tool and I didn't
stumble across yours, so you might want to put some effort in SEO, presence on
blogs,...

I find the information on your download page ([https://www.tuleap.org/try-and-
go](https://www.tuleap.org/try-and-go)) a bit confusing. What do you charge
for? I need to know that up-front before investing my time... There are many
products which are "free" until you need some (basic) functionality.

Also, you might want to check spelling on that (and probably other) page(s),
but I don't personally mind that. :)

~~~
vaceletm
Thanks for the feedback, indeed we are not very know yet but we try to improve
(I've heard this place is good at it :D).

Tuleap is 100% libre and open source, you don't have to pay anything to use
it. All the things you see on tuleap.org are immediatly available and usable
without "freemium" or "open core" principle.

My company (Enalean) does have a business around Tuleap but it's service (SLA,
support & co) as well as crowd-fund developments
([https://www.enalean.com/en/product-services/open-
roadmap](https://www.enalean.com/en/product-services/open-roadmap))

~~~
annnnd
Thanks for the answer - I misunderstood completely. This is the text that
confused me:

> There is no differences between an “evaluation” and an “enterprise” version.
> We want you to experience the full power of the Tuleap software. Just follow
> the instructions to install your instance.

The way I understood it there are two versions, "enterprise" and "evaluation",
and there is no difference between them (well, except for probably price,
support and maybe some other hidden goodies). So next thing I tried to find
info on this "enterprise" version, and could find none. :)

I would suggest you word it a bit differently... Your answer is much better at
conveying the business model than the current page.

Thanks for the info, will try it out. Good luck!

~~~
vaceletm
Humm, interesting. Thanks for the proof read, we gonna rewrite that to avoid
confusion.

------
spicyj
Phabricator rocks, primarily as a code review tool – we've been using it at
Khan Academy since 2012. It's sad how much better it is than GitHub PRs,
especially for a large team. I'm looking forward to watching it continue to
grow. :)

~~~
chralieboy
Could you elaborate on its benefits vs. GitHub? Having used Phabricator in
production for over a year and a half, I have been consistently disappointed
by its horrendous user experience, lack of integrations, and overall
difficulty of use.

Compared to GitHub, it has really been night and day.

~~~
spicyj
GitHub doesn't have a way to assign reviews to more than one person or to see
the code reviews that you need to take action on (meaning code you need to
review or reviews you authored that need updating, without showing reviews
that you're waiting for another person on) on a single repo, let alone across
all repos. GitHub's emails are incredibly noisy to the point that I'm
reluctant to make inline comments for fear of spamming people's inboxes. When
someone updates a PR, it's hard to see what's changed since the last version
you saw.

Phabricator also has other niceties like syntax highlighting within diffs,
two-column diffs (which admittedly GitHub added about a month ago), and a
solid command-line tool ("arc") for sending off reviews, etc.

~~~
chralieboy
GitHub does have the ability to assign to
([https://help.github.com/articles/assigning-issues-and-
pull-r...](https://help.github.com/articles/assigning-issues-and-pull-
requests-to-other-github-users/)) and filter by assignee
([https://help.github.com/articles/filtering-issues-and-
pull-r...](https://help.github.com/articles/filtering-issues-and-pull-
requests-by-assignees/)). If you want to pull in multiple reviewers, you can
@mention them.

Even in Phabricator, though, when you have multiple reviewers only one has to
accept for it to be accepted. Oftentimes it is _more_ confusing to have
multiple reviewers because you don't know who should have the final say.

Github has Hub
([https://github.com/github/hub](https://github.com/github/hub)) which is as
powerful, if not more so, than arc.

The commenting system is a matter of preference, but having forgotten to
"Clowncopterize" (a great demonstration of the professionalism of those who
hack on Phabricator) comments, and given that they thread in email, it hasn't
been a problem for me. Though I understand where you're coming from.

~~~
gcb0
I have no idea where that help page took those screen shots from... but it is
definitely not from github.com or github enterprise. I see no way to assign
pull requests... i don't even see the checkbox they mention on the PR list!

~~~
frossie
You need to have someone to assign the PR _to_. Either you need a second
contributor on the repo, or you need to be in an organisation with more than
one member.

------
languagehacker
It's too bad they didn't use this as an opportunity to ditch Gerrit. Gerrit is
terrible, and now they essentially have two code review platforms.

~~~
kouiskas
It will happen later:
[https://www.mediawiki.org/wiki/Phabricator#Migration_timelin...](https://www.mediawiki.org/wiki/Phabricator#Migration_timeline)

------
aidenn0
I started playing around with phabricator a few months ago. It was by far the
easiest web application install I've ever done, and works really well.

The only downside is that it doesn't allow you to do code review via git pull
request. It originally was just SVN, but now has git and hg support, and it
uses the same code-review tool for all of them, so it's a bit less git-centric
than github.

That being said, they have a command line tool for submitting pre-push code
reviews that is really really nice. I haven't figured out a way to easily do a
github pull-request from the command line (though I'm sure there's a tool to
do ti somewhere).

------
tachion
Interestingly, the FreeBSD project also started using Phabricator as a code
review tool, under reviews.freebsd.org. As of now its only used by committers
and developers, but there is work being done to open it for the wide audience.

~~~
techdragon
It's a shame FreeBSD can't move more things to Phabricator. The bigger the
project the better having all the pieces in one tool makes things. Relating
code changes to issues and tasks being the most obvious.

------
bkanber
I introduced Phabricator to my company about 9 months ago. The trick with
Phabricator is that each individual applet/tool is a little bit janky. Taken
individually, there are better ticket management tools, better wikis, better
code review tools, etc.

But Phabricator's power is in the whole being greater than the sum of the
parts. As a unified ecosystem we've found huge power in our code reviews
living next to our wiki living next to our user stories living next to our
wireframes (pholio).

And yes -- even the business, operations, and account management departments
are using it now too!

~~~
techdragon
This is why it's my new standard for this kind of tool. Having a single
unified system for all this stuff is so much better than the patchwork of
things I used to have to maintain.

~~~
ausjke
And that's why I am using Redmine, who has pretty everything a development
team needs.

Will check this one soon.

------
contingencies
Evaluated this when it was still a Facebook project. Decided not to use it as
too hacky what with the _arc_ stuff, what looked like weird technical-debt-
laden feature creep, and a PITA install. Glad to hear they've fixed the
install and they're cleaning it up. Might take another look.

Incidentally, _arc_ offers some cool command line features:
[https://secure.phabricator.com/book/phabricator/article/arca...](https://secure.phabricator.com/book/phabricator/article/arcanist/#overview)

------
quadrangle
Why does Phabricator's own site (phabricator.org) link to their own source on
GitHub? If Phabricator is great for code hosting, shouldn't they be hosting
their own code with it?

~~~
dfullarton
Phabricator isn't code hosting, it's repository viewing. The code is still
hosted in whatever existing SCM tool is being used. It does have a lot of
features that overlap with github which is why it is a bit confusing.

~~~
epriest
Phabricator does have code hosting, and the Phabricator master repository is
self-hosted on Phabricator and mirrored to GitHub.

We link to GitHub because they have more infrastructure than we do for
handling heavy read loads.

~~~
dfullarton
How is the code hosting done in the backend, do you reuse git or is there
something bespoke in action back there?

~~~
epriest
Underlying writes go to Git, Mercurial and SVN.

Generally speaking, we proxy requests and pass them through to the VCS after
performing authentication and broad permission checks. Requests are rewritten
slightly to remap user-facing display paths to actual paths on disk. Some
additional features act through commit hooks.

------
preillyme
This is really good news for the Phacility folks... for sure. Nice work folks.

------
dominotw
meh...

