On 13 April 2013 00:04, Jesse Phillips <Jessekphillips+d@gmail.com> wrote:
On Friday, 12 April 2013 at 06:25:10 UTC, Manu wrote:
I see this pattern where something is designed, discussed, and then voted
into phobos. At this time the design looks good on paper, but there is very
little practical experience using the library.
The problem then is, once accepted, people start using it, and at some
point some issues are found, or ideas for improvement are made based on
user experience, but the module can no longer be touched due to the general
phobia of making breaking changes...

I think this needs to happen prior to the formal review/voting. I would say it should be a precursor to starting the official review, however this would raise the bar too high for things like Jacob's Serialization library; he has a working library, but it isn't ready for Phobos and it would be silly to require the translation prior to approving it for Phobos.

How we choose to add to the exp module would need some consideration.

I would say, everything, bar nothing.

The serialisation library is a good example. It's a complicated system, and it has some history already, offering some confidence from the start. Experience might suggest that it's more-or-less acceptable into phobos. It's obviously seen a few projects, but once something is accepted into phobos, I think it's fair to anticipate its usage to increase significantly, and in many different kinds of projects.
As an independent library, it might be evaluated by a potential user, and found not to satisfy the requirements for some reason... they move on and continue looking at alternatives, nobody's the wiser. Once it's in phobos, there's a temptation, even an encouragement to use it because it's 'standard'. At this point, it may be found that the project it wasn't suitable for could be worked with some relatively minor changes, which should be made, and the library becomes more useful and robust... phobos doesn't support this pattern at the moment.

I maintain the position that it needs at least a year in the real world before you can truly be confident in it. New things shouldn't be barred from post-release tuning on account of "omg it's a breaking change!".