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.
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.
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.
> 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.
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.
> 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.
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.
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.
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.
Phabricator has been a huge part of my career. Having spent the past 11ish years maintaining phabricator installs this really hit me hard. Fwiw phabricator is very stable and maintainable code. I would be happy to work with anyone who is interested in collaborating on a community maintained fork.
First OTRS goes closed source and now Phabricator decides to call it quits.
The Wikimedia foundation seems to be a bit on a bad luck streak regarding some of the OSS projects it uses. Would be really cool to see a Phabricator fork though. Especially the issue managment is unmatched in my opinion. Having a single pool of issues works way better then having issues per repo if your working in an organization.
Without Evan im curious how the project will carry on. He really knew every part of that codebase and all the edge cases. Time and time in the forums I would propose seemingly good ideas but be shown very quickly and kindly by Evan why doing so was going to increase tech debt and wasn’t the best way forward for the project. Not to say it cant be done but losing Evan on the project is just such a huge loss.
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 :/.)
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.
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.
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 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.
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 :(.
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.
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.
What I really like about Phabricator as a review tool:
* keyboard shortcuts to navigate through the changes
* ability to add a comment to multiple lines of code
* ability to suggest changes inline
* comments are saved as I type them, so an accidental tab close saves my work
* comments are submitted in batches when I choose to, not one-by-one after saving each one. Its's sooo useful, because it often happens that I ask a question about some piece of code and upon further reading I find the answer, so I can delete the question before submitting all the comments and the author won't be bothered by it
If anyone knows of a feview tool with similiar set of features, please please let me know :)
When it comes to task management in Phab, I like how the tasks can be arranged in a dependency tree. We have our "todo" view set up so it only shows tasks without dependencies and sorted by prioroty, so the work on the project self-organizes
I have to say I’m not all that into GH[1]. However, if the above is what you want from a review tool I think it meets most, if not all, of those requirements.
[1]I mainly am not a fan of the PR model, GH’s performance if often terrible, availability like a yo-yo, and the UI is not as good as it could be. I’m also not a fan of centralising a distributed tool with a load of vendor lock-in to boot. There are some odd things you can’t turn off (such as PRs) and the issue management is weak, so you have to use something over the top of it for project management such as ZenHub.
Gitlab (as of 11.something) has lots of nice keyboard shortcuts including search projects, searching merges, searching particular files etc.
Comments are saved as you type.
You can submit a review ith all your comments in one go.
I have not tried multiline or inline comments or changes.
The main differentiator between self-hosted and enterprise seems to be w.r.t. auditing capabilities.
My impression is that the developers (or perhaps the remaining single developer, as mentioned elsewhere in this thread) has lost interest in maintaining it, rather than been unable to continue.
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.
I contributed to Phabricator a few times, and Evan was a pleasure to work with. I'm sorry to see it go but I hope for the best for Evan. I really hope this is a goodbye on to something great.
Phabricator will hold a great place in my heart as software written by a developer for developers that is well thought out, dog-fooded to the max, and fun.
My hope is that it can be well stewarded by a company into continuity. I wish I had the time to do so.
In short, thank you Evan and all those in the community for many years of wonderful software development.
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)
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.
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.
> Starting in 2020 Week 20 (Late May), you can suggest an edit when leaving an inline comment in Differential. This feature makes it much easier to get syntax errors and untested code into production quickly.
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 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.
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!
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.
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".)
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.
I find the announcement confusing. Is the company shutting down?
Existing instances will continue running "indefinitely". How can a company be shutdown and promise to run forever at the same time?
How does this affect phabricator on premise and phabricator online?
The 1st of June is tomorrow, today is a week end. This is a zero day notice for users, including paying users. Hope you weren't planning to start a new project on Monday. Ouch.
We've been using Phabricator for several years and just recently started to use Gitlab in parallel. One of the main reasons was Phabricator's confusing and esoteric use of "spaces" for access control that made it hard to include external developers on projects. On the other hand the Phabricator GUI is much less confusing than Gitlab.
There are other ways besides spaces to control access in a fine grained way by using projects as access control lists and policies on the areas you want to restrict.
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.
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.
I wonder if this will be good for Phabricator. The commercialisation / support model made it basically impossible to contribute code to (or at least enough of a pain that only the most determined people would bother). If a community fork emerges we might see more contributions.
Well this is sad news to start the week with. I'd be interested in contributing to a community fork if one emerges. I don't want to see this project die.
Thank you to everyone who has worked on it over the years!
- I started using Phabricator in 2012 and tried some contribution back then, when I was still learning. I learn PHP working on contribution.
- The product is really awesome and back then, the difference with GH and others was even more striking. Draft PRs years before GH, proper issue management with work board years before GH, a lot of automation (Herald) and an yet unmatched ability to customize the interface, and build extensions to the program. In peculiar, behind able to define custom lint and unit test and have them integrated to the UI is awesome. I've seen others good ideas come before its time, in peculiar with integrated CI/CD, being able to see links between everything (issues, diffs, wikis, ect)
- The codebase is awesome. I mean, they build a fully modular system from nothing, just raw PHP. In my sense, they build one of the best PHP framework along the product. The architecture is nice, and they had really great ideas (overheating queries https://secure.phabricator.com/T13133, EditEngine/ApplicationEditor: https://secure.phabricator.com/T9132). Bob, Chad, and Evan are awesome devs. They helped me improve and shaped me as a developers. They also created a fondation of craftmanship with stances like: "Don't create to much config, it is a sign of badly designed product" and so on
- I learned a lot about infra deploying phabricator.
For all this, thanks Evan, and others. It was a nice adventure. I will really miss this...
... but for me that was expected, the contributions shrinked, the core team went from 3 to 1. External contribution was also more and more difficult and while I understand the reason (reviewing and maintaining is more expensive than doing all yourself), it build a model that only depend on the willingness of one man. Also lack of proper integration with Gitlab/Github (Nuance https://secure.phabricator.com/T12739), sticking to an old, pre React area JS framework called Javelin did make the end inevitable. I did see the contribution decrease overtime(see https://github.com/phacility/phabricator/graphs/contributors). In the last years, Phabricator was just a ghost to me, sadly...
I hopes that Evan is well, and the end of adventure is not to bitter.
I think too much depends on Phabricator for it too end like that, and I'm looking forward to @20after4 or others to fork. Maybe it will have a second breath.
Phabricator was an inspiration to me when starting GitLab. It is shutting down now. Many of its features were years ahead of its time https://news.ycombinator.com/item?id=27334511 and there was a lot of humor in the product. As a tribute to it shall we add Clowcoptarize as a way to merge? This would be an opt in option introduced in GitLab 14.0 https://gitlab.com/gitlab-org/gitlab/-/issues/332215
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.
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.
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)
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!".
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.
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.
> 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.
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.
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."
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.