Page MenuHomePhabricator

Let community to fund features and bug fixes for increased priority and earlier delivery
Closed, WontfixPublic

Description

Sorry if I made it wrong, but I believe creating separate task would be better in this case, to not spam about not related discussion on to the parent task, additionally I have no right to create a new task, so sub-task was sort of HACK for me while not spamming because I am still not member of Community.

In T8552#233072, @mejaz wrote:

Why is Phriction being kept on such a low priority? This task has been since 2014 if we take into account this: T5254: Allow top-level wiki doc to display entire document hierarchy instead of only 2 levels

This is created based on question above and it it sort of off topic discussion, but since many of features of Phabricator (important for me and other) are on the way for few years already I would like to remind about one the the modules of Phabricator - Fund.
Currently initiatives can be done by administrators only, but what if this would be the way how community could support some of the features they really need to have faster then what it is put now on the actual road map or even star map. Like for example this is planned for Phriction v3 from what I see it is waiting in stack to be done for about a year+. Anyways.
This discussion might possible cover some parts of the T12681 or T12904, but I see them as a different approach. Instead of one company / group paying for the feature they need (and others enjoy that clapping hands) I believe there could be a different approach of funding, with the fund module I mentioned. Yes I know fund itself is a prototype application, only mentioned in Starmap with one key sentence:

We have no specific plans around Fund.

@epriestley Evan, I know you are busy, but maybe this will catch your attention and you will atleast try / help to evolve this idea further for everyone to be happy - you making the needed money while also making your product even more cool and community getting the features they need earlier depending on the funding.

How this could work?

As with many other features / bugs and etc. we have a related task this this one. Then we have some subscribers where some of them are sort of interested into this and some even maybe want this or that ASAP. Of course when it comes to paying money for things to happen faster most just hide in the woods while bloody tax collectors are passing by (trying to make my story more interesting here).
But hell I believe that there would be community members willing to pay buck or two to reach some funding level where actual changes would happen, like increase in priority and maybe more.

So at start there could be an action on manifest task panel on the right near subscribe Make Initiative or something like that, which if used then would create a child object on Fund which would let all the community to fund this and support somehow. Then when initiative is created it could be seen on task and instead of Make Initiative there would be something like Fund This. Of course this sort of working would require quite a few changes, but I believe it would make a difference and at start it could be done partly manually with the existing Fund only it would need you to manually create the initiatives.

Anyways next would be funding levels / targets. When for example certain funding level for issue/ task would reach, Phabricator guys would see this is what is sort of important for community and you increase a priority for it - but I mean increase it for real. It depends of course on the issue / task but I guess that could be defined some how and maybe a starting point would be this:

  • 150 buck level initial rewiew.
  • 300 buck level make deeper analysis with expected release date based on current situation.
  • 1500 buck level put higher priority (i mean really higher not just for eyes)
  • 3000 move from Starmap to Roadmap or other major change in the planning.

Levels are imaginary, but the idea first for you to check how much funding additionally it is needed to get it done like in a few months or so and then additional levels to get it done faster. This is a whole scratch idea, I believe there could be some very similar points discussed with your Supporting Mana changes, but this is also sort of different approach.

Event Timeline

epriestley claimed this task.

Generally, this sort of discussion is better on Discourse (https://discourse.phabricator-community.org) than here.

We considered doing something like this in the past, but we haven't had luck with community funding when we've tried it before. For example, we explicitly tried funding T4245 (in I3). This raised only $525, of which $300 was from @chad (who was a Phacility employee at the time, and just trying to get the ball rolling) over nearly a year, despite significant interest in the task itself.

Although we didn't explicitly community fund it, another task which I think is informative here is T9640. The actual amount we charged the company which eventually funded it was $300, and it took about 2 hours from the time they prioritized it until it was implemented. But there was a large amount of discussion about prioritization for a year or so before that, some of which was critical of how we prioritize things.

More broadly, I think efforts in this vein in other projects (like Gratipay and BountySource) have generally not been successful. It looks like the most popular projects on Gratipay are earning less than $10K/year, and only two users on Bountysource have earned more than $500/month in the last 90 days.

And, in general, when we've suggested that users pay us for our time in the past, more have responded with frustration or indignation than interest in learning more.

Based on these experiences, I believe community funding is very unlikely to find enough support to get anywhere.

If you think there's an real opportunity here, you're welcome to sort of perform arbitrage on support pacts: collect $1,000 from the community, buy a month of support, and direct us to work on whatever the community asked for. You could probably even do this through an established platform like Kickstarter (although I'm not sure if the Kickstarter rules allow this, exactly). If they don't, IndieGoGo, or GoFundMe, or some other similar platform might work. If you do pursue this, I'd recommend assuming it will be a huge amount of work and taking a cut of the money for your project management services (e.g., raise $2K, give us $1K, keep $1K for yourself). Generally, we recognize this kind of project management work as valuable and are open to third parties building businesses on top of our support services if they're adding value.

I think some of the other challenges with this idea include:

Many Users Will Never Pay: A large part of the community isn't willing to pay anything for Phabricator. In fact, a large part of the community wasn't willing to even take the time to file good bug reports or feature requests by following simple instructions when access to this install was open (see T12134 for concrete details). This is just a part of building open source.

Overhead: Small transactions ("a buck or two") will mostly be eaten up by credit card processing fees. And, if you collect a large number of small transactions, especially for a future product, you may need to deal with a lot of fraud / chargeback issues. (Using an external platform could help with this, but this is a reason why we'd be hesitant to do the payment processing ourselves.)

Large Businesses Often Can't Crowdfund: Larger businesses often can't commit funds to this sort of thing. Small businesses just give employees credit cards; large businesses have separate purchasing departments and vendor management personnel, and are often unequipped for this kind of purchase. They're also more likely to have legal departments who want additional assurances (nondisclosure, poaching, indemnity, etc). Basically, any install that can spend more than $1,000/month is probably better served by a support pact than by crowdfunding, so you're unlikely to see support from large contributors.

Nebulous Nature of Development: Part of the reason we've moved away from feature-by-feature prioritization and toward a more traditional support model is that many requests from installs don't parcel up nicely into feature requests. Some do, but most of the stuff that businesses are actually interested in paying us for don't.

Upshot:

  • The evidence we have today suggests that crowdfunding is not worth pursuing.
  • If you want to try it, you can try to fund a community support pact via Kickstarter/IndieGoGo/GoFundMe (just make it clear that you are not affiliated with Phacility) and ask for feature development in that way. If this was successful, we'd be more open to considering upstream crowdfunding.