Phacility is winding down, Phabricator no longer actively maintained(admin.phacility.com) |
Phacility is winding down, Phabricator no longer actively maintained(admin.phacility.com) |
I like the simpler approach offered by Bitbucket/GitHub/Gitlab. Reviewing is easy and painless.
Thank you to everyone who has worked on it over the years!
I'm sad, because:
- 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.
- They was a lot of humor back then: https://secure.phabricator.com/T10000, https://secure.phabricator.com/T10054#151066, https://secure.phabricator.com/T6389
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.
Anyway, so long and thanks for the fish !
All the big companies have their own private fork resulting in zero contributions to the main project.
Maybe you're thinking of AGPL? That seems as likely to lead to no adoption as adoption with code contributions.
Remember the P was for PHP or Perl.
Or Python.
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.
> 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!".
It's not "better than nothing". It, itself, is nothing at best.
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".
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.
>> 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.
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...
...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.
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.
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.
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.
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."
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.
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.
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.
Put it this way: the last time I saw it, they still had the "clowncopterize" button. Try finding that anywhere else.
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.
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.
They've been down to only one developer (Evan himself) for a while. Still sad :(
> 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.
The task management system isn't bad either, considering how weak Github's is and how bloated JIRA is.
If you’re using GitHub try “Allow squash merging” https://docs.github.com/en/github/administering-a-repository...
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.
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.
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 :)
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.
* 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
[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.
SourceHut is more up my street.
SourceHut is terryfying to junior members
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.
Wikimedia still uses it[1].
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.
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.
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.
Shame, the code review was good and one of the few that supported task dependencies :(
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.
> 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.
https://secure.phabricator.com/phame/post/view/777/quick_loo...
> 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.
Evan, if you're reading this and I'm ever in San Francisco soon, I'll have to buy you lunch!
Quite nice to see it saw 11 years, though.
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...
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.
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.
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).
...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.
Even on installing the self hosted Gitlab, the open source version is hidden, with the free yet closed source version being pushed.
GP’s claim that Facebook uses Phabricator is an overstatement.
It's a power user tool that has a slight learning curve.
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.
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.
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/
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.
What are biggest task management features from Phabricator you don’t find in GitLab?
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.)