[RFC] Flag the package as abandoned on Packagist
With the introduction of native attributes to the PHP language, the Doctrine Annotations package has become legacy.
Since PHP attributes are an equal or better replacement in every aspect, we should take steps to flush out doctrine/annotations of the package ecosystem. The primary goal would be that no actively maintained composer package should list the doctrine/annotations package as a mandatory dependency in their latest release. Instead, PHP attributes should be offered as an alternative, so downstream projects can migrate at their own pace.
I wonder if flagging the package as abandoned would help in that regard. It would make Composer issue a warning when installing dependencies. Maintainers of PHP applications can check why doctrine/annotations is still in their dependencies.
- If it's being pulled by an upstream dependency, they could work with the maintainers of that dependency on making
doctrine/annotationsoptional. - If they themselves still use Doctrine Annotations, the warning would make them aware that there's a replacement.
Thoughts?
Sure! Two things I think we should do:
- the disclaimer in README and in docs need to be bigger (or maybe just in the readme)
- write a goodbye blogpost, maybe with some small reference (or just pointers) how easy the switch could be?
the disclaimer in README and in docs need to be bigger (or maybe just in the readme)
Agreed.
write a goodbye blogpost, maybe with some small reference (or just pointers) how easy the switch could be?
Well, we have https://www.doctrine-project.org/2022/11/04/annotations-to-attributes.html.
the disclaimer in README and in docs need to be bigger (or maybe just in the readme)
Agreed.
see #486.
Well, we have https://www.doctrine-project.org/2022/11/04/annotations-to-attributes.html.
Totally forgot about it 🙈
This blog post refers to migrating the ORM annotations (the initial parts explaining the history is not specific to the ORM but the rector-based migration is). Given that doctrine/annotations is used by many other packages than Doctrine projects, abandoning the package would deserve a dedicated blog post IMO. It could give it more visibility and explain the expectation for the ecosystem.
Side note: the Symfony framework is currently working on deprecating its support for annotations in its various components. Maybe marking the package as abandoned could wait until after the 6.4 and 7.0 releases of Symfony (scheduled for end of November), to avoid getting tons of reports saying that users of Symfony cannot stop using this abandoned package yet.
This blog post refers to migrating the ORM annotations
Sure, but it showcases how the ORM did the trick.
abandoning the package would deserve a dedicated blog post IMO.
Certainly!
Maybe marking the package as abandoned could wait until after the 6.4 and 7.0 releases of Symfony (scheduled for end of November), to avoid getting tons of reports saying that users of Symfony cannot stop using this abandoned package yet.
But they can! Doctrine Annotations has always been an optional dependency for Symfony and everything they need to replace them is in Symfony 6.3 already.