outmoded / hapi-contrib

Discussion forum for project contributors
Other
79 stars 26 forks source link

State of the core module #110

Closed hueniverse closed 5 years ago

hueniverse commented 7 years ago

I am sure most of you have seen my rants on Twitter last few days (and the older post here). I wanted to offer a bit more information and a place to discuss it if you have questions or concerns.

Maintaining the core module takes about 20-30 hours a month and another 16-24 hours per major release (2-4 a year as needed). This assumes issues are triaged by the community and changes are reviewed before I get to them to make the process more effective. If I need to do the full research in to an issue, it can far exceed the numbers above.

These hours have to come from somewhere and since I am no longer a full time employee, these hours come directly at the expense of my billable hours. An hour I work on hapi on an issue I personally don't care about, is an hour I lose money on (or time away from my family).

Since this is not charity and the people using this framework are not poor (most are employed by very wealthy successful corporations), I do not feel the need to make any personal sacrifice. None. I do feel strongly that those building highly profitable products on top of this work should pay to sustain it at the level they have gotten used to (and why they picked this framework).

Up until 2 months ago, I sucked it up and went far above the hours allocation supported by donations on my Patreon page. As of last month, the $850 a month supported just a few hours. Last month I decided to limit myself to that exact time duration and the result was pretty obvious. My hapi.js unread issue list got over 200 issues with dozens of PRs. I also have a few security issues reported privately via email that have not yet been addressed.

Needless to say, I am not happy about this situation. But what I am unwilling to do is either hand over control to someone else or take a personal financial hit.

What can people do? the community has been fantastic over the last year. Questions and issues are addressed quickly (and since most are not actual bugs, closed quickly). PRs are reviewed and improved before I get to see them. This is all great.

In addition, if it wasn't clear already, anyone with access writes can merge documentation and test changes without waiting for me. Ideally, changes are reviewed by 2 or more community members before they are merged, but there is no need to wait for me. The line is very simple - if a change doesn't impact running production code, it can be merged by any community member with the needed rights: everything outside of lib, package.json, and npm-shrinkwrap.json. SPONSORS.md is also restricted to me.

But at the end of the day, I am not going to let anyone else merge production code to the hapi core module. If you have been paying attention, you know that almost no PR gets merged as-is. I am very (very) particular about the core codebase and as long as I use hapi for my own needs, I am going to retain this level of control.

I am hoping more companies step up and provide financial support for my work. If I end up with more funds than needed to cover my cost (I actually keep track of every hour as if it was a paid contact) over a few months, I will use those funds to pay others to improve other parts of the project. I also have a wish list of new features I would love to add to the core module, but those have been on the backlog for a while now.

If you have any questions, feedback, or complaints, please do share here or directly with me.

AdriVanHoudt commented 7 years ago

If you have any feedback on issue triaging and PR reviewing also please do share!

Also thank you for sharing this and clarifying, helps a lot.