Phobos' slow descent into madness

Berni44 someone at somemail.com
Sat May 8 10:01:27 UTC 2021


On Saturday, 8 May 2021 at 01:20:34 UTC, H. S. Teoh wrote:
> I think his point is to collect the current criticisms of 
> Phobos into a single point of reference, perhaps on the wiki or 
> something, that could serve as a list of improvements to be 
> made.

+1 (would be nice to have forum feature to do that without adding 
a new post)

Recently there were rumors of Phobos 2.0. I think, that would be 
a chance to get us out of the muds. But for that we need such a 
signpost. It would help us to make us run all in more or less the 
same direction.

To a certain extend it will be possible to improve already on 
Phobos 1.0. But we quite often reach points, where we need 
deprecation cycles (or even 
preview-switch-and-later-deprecation-cycles) which takes quite a 
long time and is annoying for users too.

n8sh 
[recently](https://github.com/dlang/phobos/pull/7775#issuecomment-831996462) pointed me to [Dear Google Cloud: Your Deprecation Policy is Killing You](https://steve-yegge.medium.com/dear-google-cloud-your-deprecation-policy-is-killing-you-ee7525dc05dc). This made me thoughtful.

I would probably like to have a policy like Java has (see the 
article above for more details). But before starting such a 
thing, I'd prefer to reach something really stable (compared to 
stable with the meaning of changing things all two months, which 
for me is somewhat a self-contradiction).

So what I would like to do, would be:

- Let Phobos 1.0 be as is (maybe even remove the deprecation 
cycles).
- Move over to Phobos 2.0 (e. g.) until summer 2023 (with a list 
of goals at hand, e.g. no auto-*coughing*, a better range/string 
concept, etc.). This will include several breaking changes.
- End of 2022 Phobos 2.0 will be frozen: Nothing new is accepted, 
only bugfixes.
- From summer 2023 on, Phobos 2.0 is stable. We guarantee 
backward compatibility forever, but things may be deprecated.
- We may then start working on Phobos 2.1, which will be released 
in summer 2025 and frozen at end of 2024. And so on.


More information about the Digitalmars-d mailing list