
I've been helping Bryce recently with the experimental Gtkmm codebase. Today I was thinking about all the work involved, what it means, and version numbering...
A top-level UI replacement in Gtkmm is a pretty big change in the architecture of Inkscape; and though creating it isn't terribly difficult, tying the existing application (the canvas/viewport, tool and feature implementations, etc.) and all its functionality into the hollow shell of the Gtkmm UI will present more of a challenge.
And it may take longer than we hope (a quarter of a year, maybe).
If 0.4* stayed stable for a while, that might be nice. We could probably use more than one stable release before the work of transitioning Inkscape to the new top-level GUI is up to snuff with what we've got now in the 0.4 tree.
There's going to be a lot of things to hunt down and tear out of Inkscape to make way for The New Way(tm)... And I imagine it's going to be fairly tedious hooking everything up.
But I think we can wrangle two codebases at once, as they're not all that radically different. And many development communities are familiar with the concepts of separate "stable" and "development" trees. The people working a lot on 0.4 can keep working a lot there. In about a month or so, we'll probably be ready for 10% of your coding time to help move your bits to the development tree.
Once everything is moved over to the new shell, and is stable and ready for general users, we could then tag and release the development tree as 0.50.
I could see us getting well into 0.45 before 0.50 is ready to replace the old codebase.
But I also imagine that the 0.5 codebase could become stable and interesting enough early on in the process to attract new developers and alpha/beta users.
I just thought going about the next major release this way might give us developers more room to breathe, instead of trying to cram all this work between 0.41 and 0.42 (although that approach might be more "exciting" :).
Any thoughts?
Derek