I think having a badge in a project's readme with their business model is a good idea.
For instance:
maintenance: enterprise supported with a link to the enterprise backingmaintenance: company supported with a link to the company backing statementmaintenance: individual supported with a link to their patreon page or whatevermaintenance: free time supported with no linkmaintenance: bounty supported with a link to their used bounty servicesmaintenance: abandonedOr something like this. If this becomes popular, then the different tiers will get more wider understanding, and help in people making their decisions.
https://github.com/bevry/projectz and https://github.com/bevry/badges could automate this so that in an entry in the package.json file is all that is needed to generate this meta information, which could even be scanned by tooling to look for free time supported packages as warnings. Projectz would also be able to automate the insertion of say a npm keyword or a github topic.
I'm not necessarily fond of having this in a badge, mainly because it's a lot of information to convey. However +1 to disclosing this information explicitly.
A badge isn鈥檛 programmatically usable; perhaps a package.json field, like the spdx-compliant license field, would be more useful?
related: https://maintained.tech and http://unmaintained.tech
and agreed on utility of a badge being limited and non-programmable
perhaps a package.json field, like the spdx-compliant license field, would be more useful?
Agreed. This enables tooling like projectz to take that field and render it as a badge as well as a readme section, as well as "business model" / "maintenance" linters to scan deps for unsupported packages.
Will need to have a discussion of what the different tiers should be. The one's in the OP I think are good enough, but are probably likely to need revision.
I suggested something similar for a "support statement" in https://github.com/nodejs/package-maintenance/issues/119. I was thinking of support levels, but the "business model" is a different dimension from what level of support is targeted. I might not call it business model but instead maybe "sponsorship".
So I think we may want 2 new package.json entries:
I'm also thinking that this fits into the "baseline" practices being discussed in #119. A baseline practice would be to state your level of sponsorship and then we define/maintain the list to make it easier for the module owners to choose. We might also want to talk to npm to see if we can have the default which is generated by npm init be "individual" supported.
Another level to add to the list might also be project supported (or maybe foundation?), with the ability to list that project. This would be useful, for example for modules that are under the 'nodejs' org and for modules that are part of the JavaScript foundation.
First cut at a baseline practice which incorporates this suggestion: https://github.com/nodejs/package-maintenance/pull/139
This has been addressed in #220
Closing
Feel free to reopen if we miss some point
Most helpful comment
A badge isn鈥檛 programmatically usable; perhaps a package.json field, like the spdx-compliant license field, would be more useful?