In my opinion, it depends greatly on how we advertise the initial launch. If we initially advertise named references as a new experimental feature, then not that much is still needed. At the very least, we should remove support for subscripted references (
workers/54363), which only work in the simplest cases. The other pending patches would also be nice. Ideally, for a solid initial launch, I would prefer to be able to finish my review of the code. However, once subscripted references have been removed, named references could in principle be launched any time as an experimental feature. I'm aware of a number of things that are still broken but I'm not aware of anything major and I would be surprised to still find a major issue.
How much time is still needed for a solid launch?
I will post another message where I list what I still have on my todo list. Currently the main bottleneck is by far the review time and then my energy and motivation. If I could just commit my patches or if someone had the time and energy for quick reviews, I could most likely finish what I have in mind for a solid launch in 1-2 months. Quick reviews would for sure improve my motivation and pressure to release soon would certainly help me focus. Unfortunately some patches are rather intricate and may require quite some time to review (even I sometimes need quite some time to re-understand them when I have to revisit them). Anyone interested in helping with reviews would also need to get familiar with what's going on in
params.c.
What do I mean with an experimental feature?
The main point would be to indicate that some behaviors may still change in the next release. Nobody should use the new feature in any critical code. Instead, interested users should try out the new feature and tell us how it works for them and whether they think some aspects should be changed. There were a number of design discussions. Some of them still haven't been resolved. One reason being that most of these discussions ended up being just between me and Bart. Having more people, especially actual users of the feature, could greatly help. An experimental launch could be a good way to get such additional feedback. We could even give a list of areas for which we are most interested in receiving feedback.
What to do next?
Here is my preferred course of action:
- Submit the pending patches
- Work on my todo list to get to a state where there are no more know bugs, only open design questions
- Release version 5.10 that includes named references, no-fork substitutions, and namespaces as experimental features with a call for feedback and a promise to release these features for general use 6-12 months later in version 6.0.
Philippe