Skip to content

The future of the hapi project, a prelude #4111

@hueniverse

Description

@hueniverse

First, there is an ongoing detailed and engaging conversation about this on the hapi-hour Slack channel. I am posting this issue here for those looking for the TL;DR version. I will keep this issue up to date with the latest information.

Background

Due to lack of sustainable financial support, I have decided to stop working on all @hapi open source modules by the end of the year. I have spent the past decade building what I believe to (still) be the best web framework for node. It has been a pleasure and a privilege.

For most of that time, I was able to sustain my significant time investment in the project through full time employment, sponsorships, and commercial license sales. However, over the past year that support has dropped significantly to unsustainable levels. I am no longer getting any value out of maintaining this project while continuing to generate immense financial value for major corporations using it.

I appreciate all the ideas and suggestions offered by community members as to how to try and keep my work sustainable. However, with very few generous exceptions, most developers and companies took this news without feeling any obligation to do anything about it other than to announce plans to switch to use another free framework or assume someone else will solve this for them with a fork. This is not a complaint, just the reality of open source.

It is unfortunate that companies are unable to translate the value they get out of hapi (in contrast with other solutions) and the cost of migrating to another framework and translate that into financial support.

Since at this point I have concluded that no last minute burst of support is likely, it is time to set a concrete plan for moving forward.

Community Leadership

A community effort to keep hapi going has been suggested and is being worked on by a few people. I am aware of at least one such group. I expect them to have something to share in the coming weeks. The goal is to have them start working on future versions over the next few months so that companies can evaluate the effort and decide if they want to continue using the open source version of the framework.

I will not be involved in any way in such efforts.

It is possible more than one community "fork" efforts will emerge including private forks. It is premature to say what interaction these forks will have with the official hapi account on GitHub and npm.

Next

Your options moving forward depend on the version you are using and if you feel comfortable using hapi if I am no longer involved.

Any release for a new community fork using the same module name will be a v20 even if it does not include any actual breaking changes. The fact that I will no longer be maintaining it is a social breaking change that should be opted-in explicitly.

If you decide to switch to a future v20, you do not need any commercial license. You just keep using hapi the same as before under a new team. Whether this is something you are comfortable with is up to each company to figure out. I am not going to make any official endorsements or recommendations.

If you are using v18 or older, you are already using an unsupported and unmaintained framework. You should at least upgrade to v19 to buy a commercial license to access the fully maintained v16-v19 distributions.

I will continue to support the open source v19 until the end of the year and then deprecate it. There will be no releases of hapi v19 or older under the @hapi/hapi npm module starting next year. If you stay on v19 or older you will be using a potentially insecure framework. v17 and older already have critical security issues that have not been fixed under an open source license (commercial distributions are available).

Options

  • Switch to another framework by the end of the year. I will not be making any suggestions.

  • Wait to see how potential community forks perform and decide if you want to use them by upgrading to a v20 or switching to a new module name. Hopefully there will be some traction before the end of the year.

  • Keep using the version you have today knowing that it will no longer be maintained at the end of the year (including lack of support for future versions of node). About 40% of current hapi users already use a deprecated and insecure version - unfortunate but true.

  • Buy a commercial license (available for hapi v16, v17, v18, and v19) and continue using your current version with full support including security fixes and future node versions. Commercial support is being offered at $5000/year or $500/month. The commercial license is the same BSD-3 license (you pay and get BSD terms which allow you to do anything you want with the code, same as open source, just not free). Commercial license terms are still being worked on but email [email protected] if you are interested (or DM me on Slack).

Sponsorship

I great appreciate any financial support. If you would like to support my work between now and the end of the year, please consider making a GitHub sponsors contribution. I will cancel all contributions at the end of the year when I plan to stop all my open source work.

Job opportunities

I am not sure yet what I want to do next, but I am looking for new opportunities and would love to hear from you if you have ideas... [email protected]

Note

This issue is not meant as an open discussion. If you have questions about the above and would like clarifications, please feel free to post a comment. However, any mention of other frameworks or general chatter will be removed to keep this space approachable to people who just want to get a quick update.

Metadata

Metadata

Assignees

Labels

breaking changesChange that can breaking existing codecommercialBackport for commercially licensed version

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions