Proposal: Line item, community-based funding for Meteor core development


#1

The recent discussion about Blaze as well as about testing has the community arguing vociferously with each other about the best way for MDG to use its limited resources. What is interesting to note is that the fundamental issue is really about the best way to split up a limited size pie, not about the technologies in question (no one seems to think that testing should not be well supported, nor that it wouldn’t be nice to have both Blaze and React as options.)

So, instead of fighting over a too small pie, why not try to figure out how to make the pie bigger?

To that end, I propose the idea of “line item, community-based funding” for certain aspects of Meteor core development. Let’s imagine that every six months to a year, there are a set of “core” projects (specific enhancements to Blaze, specific testing enhancements) that MDG cannot support with its current resources but which MDG could implement using short-term employees if they were funded by the community. Then, the community has a limited time to “pledge” money toward whichever development projects they are passionate about.

I pay $10/month for Spotify. I just paid $29 for the Meteor Testing Book, primarily in hopes that it would help fund improved testing support. I pay nothing for Meteor. I could easily see myself “pledging” $100/year if I knew it would yield significantly better testing capabilities. If there were 999 other individuals like myself, that would yield $100K, seemingly enough to fund a skilled Meteor dev for a year or so to work almost exclusively on testing. If we take into account corporate funding, getting to the $100K level might take only a few hundred individuals.

The React vs. Blaze controversy is even more amenable to this approach. There appear to be a substantial number of developers with significant sunk costs into Blaze. It’s way cheaper for them to finance maintenance and simple upgrades to Blaze than to convert to React. Let’s say maintaining Blaze requires a .5 FTE developer; let’s say that’s roughly $75K. I do not think that would be difficult to raise from the community.

It would be cool to have some sort of online application that would support the development of projects, cost estimation, community voting, and funding pledges. It would be nice if one could pledge but only have their credit card charged if the goal was met. MDG would supervise the funding process because ultimately they would need to supervise the development process, and they would need to cost out each proposal.

Note that this has a positive feedback effect: if the community can guide and fund development of core features of interest to themselves, it will increase the size of the community. A bigger community creates more donors for the next round of enhancements.

Line-item funding has advantages over traditional “subscription” models, where you pay some money but don’t have control over where it goes.

Finally, it changes the nature of some discussions on the forum. Instead of complaining about or lobbying to change MDG’s strategic decisions, the community can instead focus on how it can generate additional resources to support technologies it finds important.

Philip


#2

I don’t think money translates into high-quality code in this way, but perhaps there is some governance structure that can make it work?


#3

Well, that’s a great idea. There are still too many things that are needed in a core, but only available as “unmaintained” community packages, just f.e. CollectionFS. It’s a nice package but doesn’t work with multiple instances, and a file upload should be a core feature like it is in other frameworks, too. Another example is the discussion about the router, since Iron Router isn’t active anymore.

I think the people who use and love Meteor, and are successful with it, should have a way to give that love back to it. The current ways I only see at the moment are Galaxy or a developer subscription, but that are things I don’t really need. Having a platform where some developers can requests features and the community can fund them, would be very nice.


#4

Why not contribute money directly to the maintainers of CollectionFS? I don’t see why MDG needs to become a middleman to those transactions. @msavin has had a great time selling his package I think, but I’m sure package authors would also love to have donations for their open-source packages.


#5

@sashko And we don’t need a platform to manage all that feature requests, including the amount to found them? As Philip already said, we talk about group funding. If I would donate $100 to CollectionFS, do you think one or two donations are enough to maintain a whole package? Just to expand that example, I can’t find any contribution information on their page. Also a contribution doesn’t guarantee that the package still gets developed, it’s only a “thank you” for the current work.


#6

I agree that money doesn’t directly translate into decent code, but if the idea works, there will be social and financial pressure on developers to fulfill expectations. I can imagine a cadre of “soft money” Meteor devs that MDG hires on a project-by-project basis. If a developer does not consistently deliver, then not only will MDG not use him/her in future, but the whole approach of community funded projects will be put in jeopardy.


#7

If you hire well known devs in India/sri lanka, the cost will come down to ~45k/year. Remember Arunoda is from Sri lanka. There are very smart devs to be found in India, Sri-Lanka and other countries. And 40k/year will be 6 times the average salary in those places. With that money you can even hire a whole team.


#8

No need to make it so complex. Why not set up a kickstarter project?


#9

I like that idea. KS have the required infrastructure…but do they accept such projects? I.e. A project where pledges are not rewarded anything…


#10

Give them a free copy of Meteor, heh.

There’s more than one crowdfunding service. I’ve seen ‘Help my kid’s school go to the pumpkin festival’ and whatnot linked on facebook quite often. Sure there’s one that will suit.


#11

Haha yeah. Worth trying


#12

Sashko I am interested in hearing more about the “governance structure” you mentioned. I am curious if you mean something similar to what Node has with their Collaborators and the Technical Steering Committee?


#13

It would also indicate to MDG how much true support there is for a Blaze upgrade. 200 people each giving $50-$100 would go a lot further down that road than 5 people posting walls of angry text.

However, if only a few hundred to a thousand dollars is raised… well it might end up being somewhat embarrassing :slight_smile:


#14

Blaze was free, now you need to pay for its development. I would be pissed off as a developer if I used it. Expect new walls of text. Maybe even articles. :slight_smile:


#15

I really like this idea. The direct analogy for me is https://www.coreinfrastructure.org/

Core infrastructure, like Blaze and testing, supported by the community and businesses which rely on it. I would fund this.

I know there are some packages where money is not the limiting factor. But there are others where funding would definitely help. Sanjo has explicitly stated that funding would help speed improvements for testing:


#16

I guess it comes down to what the core issue is to speeding up maintenance and development of Meteor… Is it a code quality issue or a lack of time issue?


#17

This sounds interesting to me, @benstr! Would love to figure out how to get some key people ‘off the bench’ and into the game.


#18

@philipmjohnson:

Basically, I think community funding is a good idea for pure community projects. But as long as I understand things right, MDG got some decent funding by well-known VC’s and is trying to establish a business model around this (I guess Galaxy is the core of it).

So before setting up community-based funding, it would be interesting to have some more transparency about the actual current funding situation of MDG. Things may get too complicated if you have to match the interests and expectations of the VC’s with the community-based funding approach.

I think the biggest problem of Meteor at the moment is that it is lacking a stable and reliable set of core libraries that go beyond the pure basics. @XTA already mentioned CollectionFS, which definitely needs more love at the moment and is in principle such a core feature that should something like it should be included in the core stack IMHO. Same goes for SASS support, prefixers and things like that. Sometimes I spend more time with (unnecessary) refactoring, because community-based packages became broken, than with developing the features of my application. This is quite disappointing.

So, coming back to the original question: For me, it’s a question about MDG’s future strategy to involve the community, and how this fits to the interests of their other stakeholders.


#19

RE: Kickstarter. This is a nonstarter from my perspective. I don’t want to have to do due diligence on the Kickstarter group to figure out if they are qualified and able to do the work. My assumption is that MDG knows who are qualified to (say) maintain Blaze and who they feel comfortable working with. My preference is for the funding process to be “officially sanctioned and managed” by MDG because that minimizes (but does not eliminate) several risk factors, and I think maximizes the odds that the project succeeds.

RE: MDG’s “decent VC funding”. If it’s the case that MDG has plenty of cash and simply doesn’t want to deal with (for example) continued development of Blaze, then that’s probably also a showstopper for my vision.

RE: Being pissed at having to pay for Blaze. If you don’t want to pay for it, don’t. No one is forcing you, and no one is suggesting that the improvements paid for won’t be available to all. You can also feel free to continue to rant at MDG for not supporting it with their VC money. I’m just proposing a third alternative: a “curated” funding model for development that the community feels is important enough to sponsor. Such development might not be on the VC’s critical path in terms of ROI, but that doesn’t mean it can’t be very important to a lot of people.

RE: what is MDG’s future strategy to involve the community? Yes, I agree that is the central question. Hopefully this thread gives them another option to consider.


#20

I like the idea your @philipmjohnson and I am ready to pledge like you ($100/year)

Regards,
Sanjay Kumar