V1.0: To release or not to release ?
As the author of Config::Model, I’ve often pondered whether my project was mature enough to be released as 1.0. After all, every time I seriously use it, I find new bugs or need to make it easier to use or even add some new features. So I thought that my software was not good enough for V1.0.
Then again, all other software have the same issues: fix bugs, improve usage and follow user requirements.
Then, I’ve realized that wondering about software quality is not the right question. Sure, you need a decent quality level for 1.0. But the more important is not there. The most important is the compatibility pledge. Do I pledge to keep backward compatibility so people can rely on me and my software? Will I do my utmost to preserve the work done by others ?
In fact, that’s what I’ve been doing for several months now, all the changes I’ve made are backward compatible (even if warnings are issued) and people have a smooth migration path.
So, yesterday, I’ve released Config::Model V1.001.