My temporary PHP fix from 2014 has nearly 20M installs. Today I'm deprecating it
Thread
Unofficial Hacker News client; not affiliated with Y Combinator.
My temporary PHP fix from 2014 has nearly 20M installs. Today I'm deprecating it
Unofficial Hacker News client; not affiliated with Y Combinator.
jakeasmith · · focus · HN ↗
dolmen · · focus · HN ↗
> So I had a decision to make. I could dive back into PHP after almost a decade away, hand the package to one of the people who’d offered, or let it keep sitting there.
We are in the AI era. As a maintainer of an open source project that I haven't touched for years, I would first start by asking an AI to produce a fix for the issue and check what it proposes. This definitely reduces the mental load and risk of breaking an old codebase that so many users depend on.
Deprecating the project is playing the open source game in an other dimension: tell the word that depending on this project was a bad idea in the first place and that everyone should move on. But releasing a fix on a deprecated project is fine too.
So both actions are on different dimensions, this isn't a choice between 2 options.
jjice · · focus · HN ↗
mech422 · · focus · HN ↗
lukeify · · focus · HN ↗
iso1631 · · focus · HN ↗
dspillett · · focus · HN ↗
reichstein · · focus · HN ↗
Deprecation is just a tag. You don't have to respect it. And if you want the project to continue, you can freely fork it.
dspillett · · focus · HN ↗
Would you prefer it just sat there unfixed and unsupported?
mech422 · · focus · HN ↗
post-it · · focus · HN ↗
serial_dev · · focus · HN ↗
And yes, if your timeline as a dependency enjoyer is "is this project going to be maintained for 15 years" and you still assumed the answer is yes, it's kind of on you adding a dependency.
dspillett · · focus · HN ↗
Fixing the issue could set an expectation in current users of the package that it might get updates going forward, which it obviously won't from this maintainer, potentially reducing any impetus that might exist to move over to something that is a more correct solution these days. Handing over control of the project where it is has risks which are stated in TFA.
So while both fixing and deprecating could have been done, I think the right choice (just mark it as deprecated) has been made. Not fixing the existing bug(s) will not break anything that is using the package any more than it is already broken. If one of the existing issues had potential to be a security issue then I might err more towards fix+deprecate (with big red text included in any announcement of the fix to the effect that this is the last one and future issues won't get resolved upstream).
nkrisc · · focus · HN ↗
notourproblem · · focus · HN ↗
This requires re-learning the language he's out of practice with.