146 comments

[ 3.1 ms ] story [ 206 ms ] thread
"Phabricator is a LAMP (Linux, Apache, MySQL, PHP) application."
So?
So this post has absolutely zero context.
Try to give it some, get mod bombed. So it goes.
You got downvoted the boring way.
Ya gotta laugh at this stuff.
I think what this application does add more context than its tech stack.
being LAMP stack doesn't make software bad or otherwise more likely to fail commercially. The whole web (excluding some older perl/cgi-bin stuff) was built on it before Rails became popular.
I don't see anything in that comment about good or bad. I do see at least some information about what Phabricator is.
Point is the description is about as useful as describing a car as an cage with an engine and wheels.

Yes it is correct.

But it can be anything:

- a car

- a truck

- a trailer with a power generator

Phabricator was a (very) different take on the same class of tooling as GitLab: source code management, task management, code reviews etc integrated.

And if I ask "What the heck is a camry?", then that vague description is much better than nothing.

> Phabricator was a (very) different take on the same class of tooling as GitLab: source code management, task management, code reviews etc integrated.

Great. If you made that comment 11 hours ago then maybe some downvotes on smitty1e would have been justified. Instead it's "how dare you improve the situation somewhat!".

> that vague description is much better than nothing.

It's not "better than nothing". It, itself, is nothing at best.

Pretend the initial comment didn't say LAMP but just said "web app". That's clearly not useless, right? You can tell from context that it must be software, but "web app" is an obvious improvement from there.

You could argue that "LAMP (Linux, Apache, MySQL, PHP) application" instead of "web app" adds nothing more than "web app", and I won't fight you on that.

But surely it's still at least as good as "web app"!

Also "that vague description" was referring to "cage with an engine and wheels". It's crazy to say that's a useless description, when the starting point is "anything in the world".

> Pretend the initial comment didn't say LAMP but just said "web app". That's clearly not useless, right?

Yes. Yes, it is useless.

> You can tell from context that it must be software, but "web app" is an obvious improvement from there.

No. No, it's not. It still provides exactly zero context, and contributes exactly zero to the discussion.

> But surely it's still at least as good as "web app"!

Yes. Yes, it is: it contrbutes just as much, nothing.

> Also "that vague description" was referring to "cage with an engine and wheels".

Are we still talking about a top-level comment on a link that says "Phacility is winding down, Phabricator no longer actively maintained"?

So, let me see your alternatives:

- "Phabricator is a LAMP (Linux, Apache, MySQL, PHP) application."

What does this contribute, exactly? Nothing. It's an out-of-context statement that doesn't describe what Phabricator actually is, and why this is relevant to the actual news, of, you know, "Phacility winding down, Phabricator no longer actively maintained"

- just said "web app"

What does this contribute, exactly? Nothing. It's an out-of-context statement that doesn't describe what Phabricator actually is, and why this is relevant to the actual news, of, you know, "Phacility winding down, Phabricator no longer actively maintained"

So, no. It's not "better than nothing". Because it is just that, nothing.

I really don't understand why you think "web app" is not better than "software?" as a description. But I can't think of any way to convince you, so oh well.

>> Also "that vague description" was referring to "cage with an engine and wheels".

> Are we still talking about a top-level comment on a link that says "Phacility is winding down, Phabricator no longer actively maintained"?

Phabricator is the overall topic. But the line you quoted was responding to a specific argument, which said "the description is about as useful as describing a car as an cage with an engine and wheels". That's why the line you quoted had the word "camry" in it, in the part you cut out.

> Phabricator is the overall topic.

The topic is literally "Phacility is winding down, Phabricator no longer actively maintained".

> That's why the line you quoted had the word "camry" in it, in the part you cut out.

Doesn't really matter whether I cut it out or not. The original comment on the topic had as much relevance, context, or usefulness, as describing a car as a "cage on wheels": exactly zero.

And if you asked "What the hell is Camry?", and the answer was "a cage of wheels", that answer would still have no usefulness whatsoever. It would even be actively unuseful. Because this is a cage on wheels: https://images-na.ssl-images-amazon.com/images/I/81ra8W7ndGL..., and this is a Camry: https://www.motortrend.com/uploads/sites/5/2020/01/2020-Toyo...

> The topic is literally

...yes we agree.

> It would even be actively unuseful. Because this is a cage on wheels

You can go argue with eitland if you want, but their intent was a phrase that could signal "a car, a truck, a trailer with a power generator, etc."

As in a phrase that's vague but correct. I'd rather know something vague than know nothing.

I agree that being misleading is bad. But the LAMP comment wasn't misleading.

By the way, do you ever care if programs are web apps? If no, that's crazy, it matters a lot to how you can use it. If yes, then what is the difference between the situations you care and someone explaining phabricator?

If someone explained what you do with phabricator, but left it ambiguous whether you run it on your desktop or on a webserver, wouldn't you feel like that explanation was missing something?

-

Let's say someone had a list of facts about Phabricator to provide context:

1. It's software.

2. It's a web app. This also implies 1.

3. It's used for code and task management.

4. It uses linux, apache, mysql, php. This also implies 2.

When I go in knowing nothing, most of these facts are useful.

It's possible to guess from the article that it's software, but saying fact 1 is still good in making that clear.

Saying 1+2 gives even more info and makes it easier to understand the situation.

Saying 3 is also useful to understanding.

Saying 1+2+3 combines to give a great picture.

Once you've said all those, adding 4 doesn't help much.

But if someone didn't already know the previous facts, saying 4 also implies 1+2. Which is way better than nothing.

> I agree that being misleading is bad.

How it started: "I do see at least some information about what Phabricator is" and " vague description is much better than nothing."

How it's going: "I agree that being misleading is bad."

Number of times I said or implied anything about information being misleading: 0. Number of times I said the comment provided zero useful information: many.

> By the way, do you ever care if programs are web apps

> If someone explained what you do with phabricator, but left it ambiguous

> Let's say someone had a list of facts about Phabricator to provide context

Too many words that are as useful or as pertinent to the discussion as the original comment: not at all.

> Number of times I said or implied anything about information being misleading: 0.

Here, I will quote what you said about misleading information: "And if you asked "What the hell is Camry?", and the answer was "a cage of wheels", that answer would still have no usefulness whatsoever. It would even be actively unuseful. Because this is a cage on wheels:"

> Too many words that are as useful or as pertinent to the discussion as the original comment: not at all.

Either you're badly misreading me and/or skipping half of what I said, in which case I give up, or you think it's not even useful to know that phabricator is software, in which case you are ridiculous and I give up.

> it's not even useful to know that phabricator is software

For some unknown reason you seem to assume that any and all information, however useless, is "better than nothing". Go enjoy your cage on wheels.

When the topic is a company stopping making a thing, it's useful to know what the thing is.
Indeed. And the original comment provided exactly zero useful info on what the thing is.

Let's say someone doesn't know what Phabricator is. After the insightful comment that is "better than nothing" that someone will no exactly the same amount about what Phabricator is: zero. And will have to Google or rely on other comments to understand what it is.

The fact that "it's a LAMP (Linux, Apache, MySQL, PHP) application" has exactly zero value or use to anyone who wants to what Phabricator is.

Here's an actual useful comment that would actually provide actual useful context:

"For those who don't know, Phabricator is a collection of tools for collaborating on software (for example, code reviews). It's gained some popularity and Facebook is even running a custom fork of it. Fun trivia: it runs on a LAMP stack."

If you ask some friends to order the following statements in terms of usefulness:

A: X company is shutting down development on their web software product.

B: X company is shutting down development on something.

C: X company is shutting down development on their web software product, which is used for collaborating on software development.

Then I bet that if your friends find any difference at all, they will rank C better than A better than B.

The headline alone tells us B, and the headline plus the LAMP comment tells us A.

Compare the useless comment you're so eagerly defending with other examples of useless comments to this comment: https://news.ycombinator.com/item?id=27348692
I'm well aware that it would have been possible and even easy to make a much better description.

But the world isn't divided into good and useless. Narrowing it from any product in the world down to web app is about a 3 stars out of 10 description. It's a bad score but it's not 1 star.

Being LAMP is a sign of a good project that probably will work out of the box.

Remember the P was for PHP or Perl.

> Remember the P was for PHP or Perl.

Or Python.

You are right. Was it used for anything else? The m could be mysql or microsoft sql but rarely was anything aside from mysql (and postgres but the name never fit)
No, that was it. There were alternative acronyms of course, like WAMP (Windows, etc.) or LAPP (incorporating Postgres as you mentioned).
Your "context" was about as useful as noting that this post went out on a day of the week. Or that there's weather outside.
Too bad. Phabricator was a great tool for handling various aspects of a software project(SCM integration, task tracking, messaging, code reviews, etc). I used it on a couple of projects and it seemed to work very well.
Not familiar with it, but their installation guide is one of the best I've ever seen.
Phabricator had seemed to be the only good product in this space when I had looked; what are people even using instead? (I guess they just put up with GitHub :/.)
The UI is atrocious, unfortunately.
(comment deleted)
Check again - it got a serious makeover recently. It's still far from intutive, but so much better than it used to be.

It's a power user tool that has a slight learning curve.

Gerrit is a code review tool first, with code browsing not being a core focus.

GitHub and others are frequently code browsing tools first, with code review coming second. "Code hosting has look like GitHub" is unfortunately a common myopia.

Phabricator (from the little I used it) seems closer to Gerrit than other code hosting.

Ack! Recently moved from Phabricator to Gerrit and deleting Arcanist was a plus.
Does it still desperately want you to squash all your patches, or does it do a good job of handling an ordered stack of patches these days?
It does an excellent job handling stacks! You may be mistaking it for Phabricator, which defaults to squashing.
I suspect that JoshTriplett is complaining about the `amend` workflow required to update a single gerrit patch with revisions.

If you're used to the GitHub pull request style, you'd be more likely to make a small commit and add it to the request. In gerrit that approach results in a separate patch for review, which isn't what such a person would want.

(Personally, I've come to appreciate gerrit's model for strongly encouraging building patches that are encapsulated single-reviewable-changes, in a way that lends itself to never having a commit that'd break the build if you landed on it e.g. during a git bisect.... But it's also something that surprises people who've not used gerrit before, in my experience.)

That's part of it. But also, if you start with a 4-patch series, and you want to publish a v2 that's changed to a 3-patch series, Gerrit doesn't seem to handle that very well. In general, I'd prefer if patches are kept together in one review, rather than a separate review for each.
Gerrit handles this perfectly - you can just add the third commit to your stack (and even amend the earlier ones) and it works as expected, adding it to the relation chain.
Gerrit is good, if opinionated in ways that we have to put work into onboarding for. That said, it only covers a small subset of what Phabricator does -- it's missing the entire issue tracker part, most importantly.
It'd be nice if it had a tightly integrated issue tracker and CI.
Yeah: the only feature I thought gerrit provided--active blocking code review--is actually the one feature of Phabricator that I had no interest in... I loved all of the other features.
gitlab is good and can still be self hosted
Yes but unfortunately Gitlab’s choice of features that go into the non free vs the open source version seem increasingly designed to deter use of the open source version.

Even on installing the self hosted Gitlab, the open source version is hidden, with the free yet closed source version being pushed.

Most of the stuff that Phabricator was used at our company is now done in (self-hosted) Gitlab. I think the only thing that's still actively there is credential management, and I can only imagine there are better solutions for that than Phabricator.
Is the issue tracker in GitLab a lot better than GitHub? I always was under the impression that they had simply been trying to copy GitHub, but I find most of GitHub's features toy-level unusable :(.
GitLab employee here.

It started that way for sure, but we’ve evolved with boards, milestones, epics, swim lanes, burn down charts and a lot more.

We have a whole group in our engineering and product org focused on making it even better: https://about.gitlab.com/direction/plan/

I used reviewable.io at my last company, and now use phabricator. I actually still prefer reviewable, so give that a look.
That's a shame, heard only good things about those tools.

Shameless but timely plug: I'm building a much better code review tool for teams on GitHub. Check out https://codeapprove.com and if you're interested to hear more just email me (sam at habosa dot com).

Reviewable is another similar review improvement tool for GitHub: https://reviewable.io

...or just use Gerrit[1], which can do everything these do out of the box, and has a much nicer workflow than GitHub once you got over the learning curve.

[1]: https://www.gerritcodereview.com

I've never actually used Gerrit personally, but I've twice been on teams that had recently dropped Gerrit at the time I joined (once for Bitbucket/Stash, once for Github Enterprise), and neither seemed to ever look back.
Is there a summary of why this product is not maintained anymore? From time to time I would hear about Phabricator, but I didn't know that the project was in trouble.
I'd guess it's not profitable for them?
Maybe Evan just got sick of it, or decided to get a different job which wouldn't allow a side-project like that. Hazards of a single-person company.

That said, as a single-person company, the listed support costs [1] were probably sufficient to pay him a reasonable salary assuming there were any paying hosting/support customers at all. (Which is why I jumped to "he wants to do something else" rather than "it's not making enough to survive".)

[1]: https://admin.phacility.com/book/phacility/article/support_p...

I always had a good experience with Phabricator, especially its customization/dashboards.

Wikimedia still uses it[1].

[1]: https://phabricator.wikimedia.org/

It's a shame that Wikimedia couldn't donate money to Phabricator for it to stay alive, considering it raised ~$30mil in 2019.
Wikimedia has been maintaining a phabricator fork for years and have sponsored upstream with monetary contributions on more than one occasion.

It doesn’t seem like there is much interest in finding ways to keep phacility alive.

Note: I work on phabricator at Wikimedia. My opinions do not necessarily match those of the foundation and I’m speaking from personal experience not from any position of authority.

Do you already know whether wikimedia will continue to maintain its fork, or plan to move away?
No decision has been made. I'm attempting to make a case for maintaining it.
To clarify: this applies not just to phabricator-dot-com, but Phabricator the software: https://github.com/phacility/phabricator/commit/9ceb66453501...

This is unexpected. Many companies, among them as well-resourced as Facebook, use Phabricator. I wonder if it will be forked soon by some party interested in keeping it around. OTOH it looks like none such party exists, because the public sources have not been updated literally for years. Maybe everyone interested just runs their private fork :(

Phabricator should be reasonably easy to self-host anyway.

FB's phabricator went its own way long ago. I imagine this has exactly zero impact on their day to day.

Put it this way: the last time I saw it, they still had the "clowncopterize" button. Try finding that anywhere else.

I heard this was still in the non-fb version if you uncheck "super serious business mode" in the settings somewhere
That sounds fun! What did it do?
It was the reviewers "Approve" button for a submitted patch. The options are/were (approximately) "Reject", or "Clowncopterize"
Do you mean Facebook is running a fork of Phabricator, or what?
Facebook’s diff tool looked similar maybe 5 years ago but there’s been constant improvements to it in that time. There was a dedicated team maintaining and improving it. Today it bears only a passing resemblance to Phabricator.

GP’s claim that Facebook uses Phabricator is an overstatement.

What I remember of Phabricator when I used it years ago was the very confusing naming of things, that didn't improve the user experience. It did have a nice command line tool to help you in your workflow.

I think Phabricator's heyday was during a time when everyone was trying to formalize their workflow, another project of that time was git flow.

> This is unexpected.

They've been down to only one developer (Evan himself) for a while. Still sad :(

https://secure.phabricator.com/differential/query/all/

And upstream made it pretty clear that they weren't interested in contributors or building a community :( https://secure.phabricator.com/book/phabcontrib/article/cont...

> To contribute to the Phabricator upstream, you must first pass a series of ancient trials and be invited to register an account in the ancestral homeland of Phabricator, here on secure.phabricator.com. The nature and location of these trials is a closely guarded secret.

epriestly has a weird sense of humor. The "trials" were probably sending him a friendly email. (I worked at FB at the same time as him)
Maybe, but I could also see it deterring would-be contributors.
I think it was to encourage companies to sign up for support accounts. You can't even comment on issues without one.
I think that's just being honest. Most open source projects make you jump through hoops, they just usually pretend they dont exist.
That’s humor. And based on it the location of the URL to create an account is likely very obvious.
I think Blender and KDE uses Phabricator as well.
KDE has been in the process switching away (to Gitlab) for a while.
Yeah, we already switch to Gitlab for code review. But the task management utility in Phabricator are far superior to Gitlab, so it's a bit complicated to switch to Gitlab for now.

There has been three big reasons why we are trying to switch from phab to Gitlab:

* Upstream wasn't very interested in external contributions or hearing our suggestions

* arcanist was a real pita to use for new contributors. Switching to gitlab really increased the number of occasional contributors.

* Setting up CI with Phabricator to run on Diff (the Phabricator equivalent to merge request) was not easy.

GitLab team member here.

What are biggest task management features from Phabricator you don’t find in GitLab?

Issue dependencies with a graph showing all up- and downstream blocking/blocked issues.
Add Mozilla, Mercurial and LLVM to the list.
LLVM switching off will be a big deal. They might even move to Github after this as they moved their repositories to github, too.
Lubuntu uses it. We'll have to get this sorted out at some point.
> Phabricator should be reasonably easy to self-host anyway.

It's a bit of a mixed bag compared to other self-hostable applications. There are a lot of moving parts, and the initial setup requires 60 different unique databases. It has a handful of background daemon-like processes that occasionally get wedged.

But, overall, there are some really interesting pieces of architecture in it, it's a really big project, and it does a lot of things pretty well.

I'm sad but not surprised to see this news.

5-10ish years ago I stood up both gitlab and phabricator. The latter was much easier. I really, really liked phabricator, though much of it's advantages went away when using DVCS; for SVN, it's command line tools were just a joy to use by comparison.
Man, in my opinion, in software, things don't really get started until after surviving for about 10 years or so. Everything else is fleeting.

Quite nice to see it saw 11 years, though.

Whoa. Really, really disappointed about this. The Phabricator approach to reviews and merges was incredibly impactful on a previous team. It encouraged discipline and an informative main branch that was always linked to reviews, and free of commits like "fixing lint errors" and "actually fix lint errors, for real". https://secure.phabricator.com/book/phabflavor/article/recom...

The task management system isn't bad either, considering how weak Github's is and how bloated JIRA is.

This post about shuttering operations is quite devoid of reasons. I can’t imagine customers would be happy about that.
I mean, if you're whole company is shutting down (as opposed to being sold and carrying its goodwill with it), it doesn't really matter what your customers thing anymore--you won't be around for them to think badly of.
Well, it's possible to donate or transfer assets as part of a liquidation.
Phabricator is used at some very large companies like Pinterest. It’s easily the best general purpose tools of its kind I’ve used. I won’t be surprised if management gets picked up by someone soon.
I got to meet evan once when i was in SF and he was awesome to hang out with im curious what he is going to be up to next. Phabricator was one of a few pieces of software that actually brought me joy when using. I will always miss the diff review process now that my current company is moving from phabricator to github and i’ll be unlikely to ever use it at a company again with this update.

Thanks Evan for all the work you have put in over the years. Some of my biggest learnings as an engineer have been from reading and interacting with you on the phabricator secure server and reading your code when extending phab for companies.

I've always enjoyed the Phabricator landing page, because it looks like a joke.

> Pre-Commit Code Review

> Review others' code with Differential, because they can't be trusted.

> Shows code so you can look at it.

> Leave helpful comments and anecdotes.

> Challenge the intern's test plan.

> Gently place bad code back in the author's queue.

My personal favorite:

> Written in PHP so literally anyone can contribute, even if they have no idea how to program.

My favorite was:

> Facebook engineers rave about Phabricator, describing it with glowing terms like “okay” and “mandatory”

I'm pretty sad about this. I hate Jira. Phabricator was pretty nice.
Seems like there might be a business opportunity here
Phabricator-the-software is a really good tool for code reviews and lightweight task management.

It's used at my current workplace (self-hosted) for both. We aren't big enough to effectively take over maintenance – but I hope someone does. It would be a shame for it to be replaced by 10 other tools that reimplement the same features poorly.

There seems to be a bit of momentum building for a community supported fork. Feel free to join #phabricator on libera.chat irc if you'd like to follow along.
Really sad. Phabricator is excellent and IMO unmatched by other tools, even today, and Evan's sharp eye for design decisions was really inspiring to me. 10 years is a good ride, though.

Evan, if you're reading this and I'm ever in San Francisco soon, I'll have to buy you lunch!

As others have mentioned, this is a shame. I found the Phabricator review model much more flexible and easy to work with than GitHub and Github-clone workflows.

It's basically the traditional ultra-scalable mailing-list + patches workflow, but with very nice tooling and UI on top.

I'm going to miss it when I leave FB some day.

as an addon, I'd love to see more organizations try to tackle this problem without just lifting the flawed GitHub model.
I have no experience with phabricator but it sounds like sourcehut - are you familiar with that one?
It's similar, but Phabricator patches are submitted via API to Differential instead of to a mailing list. Phabricator provides Arcanist (arc) to interact with its API from command-line, but some projects has their own tooling around it (e.g. Mozilla uses moz-phab as a wrapper around Arcanist).

Though I think the main selling point of Phabricator is its issue tracker (Maniphest). It is very, very, very nice. May be even the best in class. The company I'm working for switched to JIRA and we still miss Phabricator's.

Contrary to the other comments in this thread, I've had a bad experience with Phabricator. With other solutions like Github, you can commit or create a PR straight on the website easily. This makes things like fixing typos in the README a joy, where everyone technical or not can participate.

Github is also well known and has issues, PRs and a CI all integrated into one, while with Phabricator each of these are either a self-host Jenkins (again, friction) or in a totally different/confusing location.

It's sad to see a tech company that many liked go, but hopefully this means the higher ups will reconsider Phab usage in my company :)

I have had a similar bad time using Phabricator, but I think it was because of the procedures implemented by our customer and me expecting it to work more like Stash/Bitbucket.

Phabricator seems like it was the right choice for many large project, and I’m sad to see it go on their behalf. It won’t sadden me to never having to use it again though.

Doesn't GPL seem more palatable now?

All the big companies have their own private fork resulting in zero contributions to the main project.

GPL wouldn't prevent that. If a big company is running their own fork of GPL software on a server they control there's no obligation to provide the code to anyone else.

Maybe you're thinking of AGPL? That seems as likely to lead to no adoption as adoption with code contributions.

It's interesting to see so many people with positive experiences with Phabricator - I work somewhere with a Phab install and onboarding new employees who've only ever used github/gitlab and branching workflows incurs a _significant_ cost. That, coupled with conduit being frustrating to develop against and lots of nice open source tooling basically being unusable without heavy modification due to assuming you're using a branching workflow has soured me on Phab. I'm hoping this can be used as additional justification to push us towards ... well... anything else. That being said, Herald is awesome and compared to basically any "modern" replacement, the UI is actually snappy and things don't get moved every 6 months for no goddamn reason (thanks Atlassian)