
On Fri, 7 Nov 2003, bulia byak wrote:
I just uploaded a patch to the sf patch tracker enabling arrow keys in node editor. This turned out to be simpler than I expected. Perhaps I will implement more of
http://sodipodi.sourceforge.net/index.php3?section=development/tasks/keyboar...
when I have time. Please review the patch and let me know if it will be accepted.
Nice, this'll be a good addition. I've applied the patch and added it to CVS.
I've also added your account to SourceForge so that you can work on the codebase directly.
Now, a question for your FAQ: why the fork? Was Lauris unwilling to collaborate? Being very busy lately I could not check the mailing list often, so please enlighten me. I understand that sometimes a fork may be the only thing to do, but was it really necessary in this case?
There were several different reasons; looking at each individually it seemed like they should have been resolvable with some effort, but after working at it for a few months it just got clear to a lot of us that looking at the differences as a whole we were really dealing with two different projects.
I guess I'd boil the differences down into two: Development approach, and objectives.
One of the things that has made Sodipodi so successful is Lauris' close attention and intimate knowledge of it. All changes to the code are vetted by him for both quality and adherance to his vision. This has gotten the program very well along. However, there's a downside in that it poses a bottleneck for more widespread development. When Lauris takes a long break from Sodipodi, as has happened several times, it halts development - patches fall by the wayside, bugs go unfixed, etc. For us other developers, stepping into that role to pick up the slack is very awkward.
Other approach-related differences include, for example, Lauris' preference to avoid third-party library dependencies, disinterest in testing, etc. In theory we might be able to hash out each of these and come up with compromises, but there's quite a few and tend to be kind of polarized. As well, it's uncertain if compromise positions would even be a wise course for some of them, and arguing them through might only lead to an ill atmosphere and bad feelings. It felt like just recognizing we have different approaches and allow ourselves the freedom to pursue them more freely.
An important approach difference to us is the need for using a more open development process. There are downsides to this, of course, in that it requires extra efforts to achieve concensuses and in that it requires a greater degree of trust between the developers. Without a single patch reviewer, there is a greater risk of unexpected problems creeping into the codebase. To avoid this requires care in planning and ample communication, and understanding when stuff gets messed up. The potential gain to be gotten is of the 'many hands make short work' variety; we can tap into a larger pool of talent and achieve a higher development velocity without putting too much burden on any one person.
There are also legitimate differences in objectives. This was well discussed on the Sodipodi list so I won't belabor it. The point is very clear. Inkscape seeks full SVG-compliance and wishes to provide graphic editing for a variety of different uses, including illustration, technical drawing, animation, and so forth. Sodipodi wishes to be a powerful illustration tool with the freedom to go above and beyond what can be done with SVG.
To be clear, this is not a spur-of-the-moment decision, and is not being done due to ill feelings. We've been contributing patches for bugs we find in Inkscape back to Sodipodi as appropriate, and encourage others to do so; this will probably taper off as the changes become more dependant on C++-isms, but we'll see how it goes. We hope to continue to have good relations between the projects. I kind of like to think of this as, we felt like there were too many cooks in the kitchen, and before someone got burnt a bunch decided to go out back and cook on the BBQ where there's more elbow room.
What are you planning to do that was impossible to do without a fork? My reason for asking these questions is simple - I just want to know if I have to provide my patches to both Inkscape and Sodipodi or I can safely concentrate on one of them without being afraid that the other one will win in the long run :)
*Nod* Obviously this is something you'll need to decide for yourself. I would love to see if people felt Inkscape was a friendly place for working up their ideas, and submit them to Sodipodi for review and possible inclusion in that.
I hope we can make Inkscape distinctive enough from Sodipodi that the two apps can legitimately co-exist, with discrete and independent purposes.
Bryce