48 comments

[ 3.6 ms ] story [ 111 ms ] thread
(comment deleted)
It's a wider problem with open source in general. Starting a project to build your career is great, but a lot of projects end up with the creator "not having the time to maintain it anymore".

Sure, in the open source world nobody owes anybody anything. And it is the responsibility of the user to choose carefully the libraries he is going to use.

But when asked, creators often refuse to delegate, add contributors with merge rights ... so the project is abandoned and of course the issues accumulate on Github. Or someone forks the project and make it his own then the cycle continue.

That's personally why I stopped using Coffee-script for instance. "J is busy" was often used as an excuse to let things rot for 2 years... except it's a fn programming language people depend on... so busy J needs to delegate or give stewardship of the project to someone who has the time ...

It's obvious to me that a corporation backed or foundation backed opensource project is always preferable to one lead by a single person that will sooner or later abandon the whole thing.

It's not mutually exclusive Hapi was backed by Walmart which is still the largest user of Hapi.
Then why isn't Walmart funding it ? doesn't sound like a Walmart project. Of course plenty of OS projects backed by corporations are abandoned. My point is a project backed by a corp has higher chances being maintained in the long run. So that aspect matters to me when I decide to use something or not.
It does not matter whose is the project. Many, many companies uses that framework and for them Eran like a the goose that lays the golden eggs. That is the key. Who is going to pay anything for that they can get for free.
Someone smart ? It's fairly decent way to ensure a critical piece of your infrastructure will see continued development.
Maybe those companies don't need continued development? If it's already a critical piece of their infrastructure that must mean it's at least good enough (and probably better). And if things blowup, or a "must have" feature is identified then they can always pay Eran his hourly rate to get what they want when they want.
IIRC Hapi and its ecosystem was borne out of Walmart Labs while Eran was employed there. I would guess that Walmart was "funding" it at the time by paying him a salary.

Once he left they probably felt like they had a team that could contribute to Hapi core themselves if needed, and had no desire to sponsor continued work on the project other than having employees spend time on features/fixes they required. I could be way off -- just a guess at their reasoning.

So basically they are probably still using it but don't contribute back to the open source version?
I have no basis for any of this, but I wouldn't be surprised if that's the case. The licensing allows it and allows them to maintain more control.
Not necessarily. They could still be pushing meaningful changes upstream even if they have forked the project (I have no idea if they've forked or not).
I think the author is handling "not having time to maintain it anymore" well. Rather than just throwing up his hands, he's offering a clear and disciplined economic argument, and a way to balance the equation back in favor of the project.

Despite the blog post, hapi.js has only 8 open issues, 2 of which are bugs. Seems like they've done a good job maintaining a stable framework.

>> It's obvious to me that a corporation backed or foundation backed opensource project is always preferable to one lead by a single person that will sooner or later abandon the whole thing.

I've been working on a popular open source project for 3 years and I have no plans of stopping. There are only three conditions which would cause me to quit:

1. People stop using it.

2. I become physically/mentally incapacitated.

3. I die.

Also, I'm sure someone from the community would step up and take over of the project if I got hit by a bus.

I think that there is no correlation (single person vs corporation); there are pros and cons in both cases. Hapi was backed by Walmart Labs (corporation). SailsJS started running into issues with their community precisely when things started to get commercial.

I think that a lot of popular 'single person' (started by a single person) projects might actually last longer because the original authors tend to feel more responsible to the people/companies who have entrusted them personally. Also, in the single-person scenario, the author might perceive 100 users as being a lot; while a corporation might think that 10K users is not a lot.

Small projects not backed by corporations are usually more tight-knit.

> 2. I become physically/mentally incapacitated.

You're lucky if your job does not wear you down to the point at which this is the case; most people are not.

Sure, but it's about balance and setting expectations with the users of your open source framework. Being transparent and delegating responsibility. Your project can only scale as well as you can and that is limited by the number of hours in the day. It's called "open source" for a reason and typically the nature of open source is not money but shared knowledge and contributions. If you're looking for money it probably should just be closed source.
In the Ethereum ecosystem, we're experimenting with a model for building decentralized foundations to fund open source software. When the Red Cross asks for your money to help disaster victims, your money doesn't actually go to that disaster. It goes to the next one. Similarly, we can build organizations that use the volunteer work they're already doing as fundraising campaigns so they can spend it to fund contract work once they've collected enough.

Most work gets done within organizations because we know how to use them to build economic power. If we want to get things done outside of formal organizations, we need to figure out how to build economic power from scratch. That's what Benefactory is about.

https://blog.benefactory.cc/how-benefactory-groups-tokenize-...

I doubt I am going to pass it on to someone else as long as I am an end user of the framework. You get a great free framework and I get a framework that works exactly the way I want it to with the ability to jump into the code at any time and make adjustments that improve it for me. That's the open source deal.

He can totally find another maintainer, or a group of maintainers that would do a great job. Kind of selfish of him to hang onto it, tbh.

He could, but I agree with his logic that overall quality of the codebase could degrade without his attention to core. The core project is a result of his ideas and vision, so having others jump in and take over would be difficult.

Parse is in a similar state. Stable, maintained by the community, but no longer under a company umbrella. It had a lot of promise, and it's unfortunate Facebook decided to spin it down.

A lot of these tools will fall to the wayside as other more efficient, shiny tools replace them, i.e. Angular 1.

In general, tool turnover is quite high in the Javascript community. I would expect Hapi to share the same fate as every other Javascript framework that stopped being actively maintained.

As a user, I'd much rather Eran hold on to control until he finds 3-4 people that he absolutely trusts. Saying no to the 90% of bad ideas and non-issues is one of most difficult and disciplined tasks of maintainership of this type of project. That's coming from someone who recently opened one such non-issue (though my PR was merged to my surprise[1]).

1. https://github.com/hapijs/hapi/pull/3380

Why doesn't he launch on Patreon? Evan You, the creator of Vue.js, is up to $9K a month which is triple what he's asking to maintain Hapi.js.
Keep in mind that Vue's funding success is based on the large donors, which are less than 10% of the volume of donors. Lose even a few of those and Evan may have to shift his time to consulting.
That's the nature of the beast. Pareto/power law distributions are very common in economic transactions. 80% of a lot of sales orgs revenue comes from 20% of deals, 80% of many freelancer's income of many freelancer's income comes from 20% of their clients, etc... Many people do sales or consulting anyway.
Of course. I just hear alot of references to Vue's funding and the number of donors, which misses the fact that 80%+ comes from such a small number (you could say that Pareto distribution will always be true, so many donors = larger amount, but it's really a matter of getting the right donors in my opinion, but when budget cuts come, those projects will be first to go I'd think)
He explains it as if the project only costs him money. However, it also helps build his resime/image, which may contribute to him being able to ask such a high rate ($250/hour).
Opportunity cost is still a cost. If he was not working on the project he could be billing clients for that time
Yes, but the point being is that if he wasn't the core maintainer would he still get that same rate?
Exactly. Even at 20 hours a week you're looking $20k/month. As a freelancer that is a great rate with little overhead. There is no doubt that being the author of Hapi is a major reason why he can charge that rate. I get being burned out and/or wanting support but not recognizing the correlation just comes across as entitled.
Hapi is so good. I don't have any problems with it. Eran does a great job maintaining it.
I was just listening to a podcast interview with the creator of sqlite [1] and how they manage funding despite the product being in the public domain with a completely unrestricted license. SQLite is used everywhere, therefore they probably could find sponsors easily. It's amazing that hapi.js is so stable in the rapidly changing world of web (I'm a webdev noob so probably don't understand how it works)

[1]:https://changelog.com/podcast/201

One should not confuse "funding this project" with "funding my time spent on the project because I'm the original author" or with "funding my attempt to keep me in the head maintainer position of this project".

Part of "funding this project" is implementing structures that the effort of all its user-developers is used to the projects improvement. That may mean to add more maintainers if one doesn't have enough time. That may mean to include other users in the search for investors. That may mean to stop public engagement publicly to see who else is engaged in keeping it going.

With what I read in the article it looks like this project will either die in a few months because the maintainer is drained of his energy, or if other people are really engaged as well it will be forked and all but his best clients will switch to the fork.

Unrelated but 250$ an hour sounds to me to be really high (though I'm not from SV so maybe there it isn't?) , anyone know what kind of clients he has or what type of consulting does he do? (it's obviously programming from the blog, but what kind of programming freelance work gets 250$/h)

Or rather, how do you get to be able to charge so much (and obviously being valued so much by so many companies)

It's about knowing the right people and maintaining a reputation. Also, I suppose that since he maintains Hapi, he would understand it really well and would be extremely efficient when using it for his clients.
Consultants usually charge $200-$300 an hour for domain expert level experience. It can be more, but that's a reasonable range.

This isn't SV specific, I've had quotes in that range from DC, NYC, and the UK.

Long story short: you have to be an expert and be able to get known as an expert in your field enough to be able to justify charging that much. It's easier when you're part of a consulting firm - who obviously takes their cut out of that rate first.

What I am trying to do with rediSQL[1] (a redis module that embedded sqlite) is to sell commercial software that add values to the OS version... In this way small companies or projects can take advantage of my work, but if they need more performance or features they will have to contribute to the project.

[1]: https://github.com/siscia/rediSql

what actually is hapi.js?

it looks like a http/web framework for server-side js?

> A rich framework for building applications and services

is really nonsense. from the example's it really looks like a http framework for server-side js but it's really unclear from the description.

Yes it's a node server side framework
Am I the only one who think this kind of goes against the spirit of open source? I thought the idea is to allow everyone to contribute to shared solutions for the common good. Here instead one engineer has convinced his employer to share some of the code they invested on, so that he could then quit the company and go and charge a fortune working as a consultant.

The obvious solution would be to pass on the torch, or at least share the burden. But he's unwilling to do so. I guess being the main maintainer of Hapi is what allows him to charge $2k per day to his clients.