On Sat, Jan 19, 2008 at 03:24:09AM +0100, Louise Hoffman wrote:
I never really got a clear sense of how such a merge would be carried out. Merging the codebases looked to be quite challenging technically, since despite the outward UI similarities, they were implemented considerably differently.
So perhaps it would be easier to use the Xara source as a spec. on how to make a certain functionality?
Yes.
Merging the *projects* (the human element) looked even more challenging, and didn't really get much discussion.
Inkscape is a very community-driven, community-owned project, with decisions made bottom-up through merit and hard work; this sort of structure encourages and incentivizes volunteers. Xara is a more traditional corporate entity, with decisions and directions driven top-down by the management; this type of structure can be less appealing to volunteers (especially ones accustomed to the more free approaches of projects like Inkscape). Fitting those two organizational philosophies together without completely ruining the result would be a major, major achievement.
I got the understanding that Xara would not interfere with the Inkscape community or how Inkscape works (code wise). Xara would then implement the functionality that they felt were important in the case where the community prioritized feature X over feature Y.
I'm not sure it would have been that simple.
If it had been a case where Xara would "wrapper" Inkscape, dropping their own product in favor of our codebase, and layering their commercial goodness atop, it might have been feasible that way.
The alternative would be for the Inkscape community to discard Inkscape's code and en masse shift focus to learning and working on Xara's code. Perhaps there were some expectations on their end that this would happen, and I suppose if they had gone 100% open source, and had respectfully engaged our community the right way, there might have been a chance of that. But I think Inkscape contributors loved inkscape too much to discard it; furthermore, their code was open but encumbered by a non-open renderer. The "developer agreement" we were required to sign felt weird, and made the situation feel not quite as free as just working in Inkscape.
A third option would be some form of merging of the codebases. We did look into this, and as I mentioned before it just didn't look doable technically.
Isn't Cairo superior?
It is, although not for the reasons you might expect. With renderers, people often look at the performance and mathematical correctness as the primary measures. At the time Xara was looking at it, they claimed that their engine was much, much faster than Cairo; cworth was very interested in this, but could never get the benchmarks from them to verify their results. So we don't know if they were using a recent or old version of Cairo, what sorts of optimizations were done, etc. As well, cworth began a long program of focusing on performance starting about that point, and it's possible that today he's closed that gap. It's impossible to say, however, without rerunning the tests; it's conceivable Xara could still rank better on those benchmarks.
Today I looked at the splash sceens for 0.46, and that was the first time ever I felt that Inkscape wasn't crisp in regards to speed on my 2GHz AMD64 and onboard nForce6 GPU.
Please keep in mind that by definition, those screens use new features to Inkscape that are relatively new.
I don't know of one, but would expect their website to carry it if it is available anywhere.
I have started a thread at Talk Graphics Forum, so let's see what that brings. Otherwise that could be a Google SoC project to sort out the functions from Xara? =)
Might be a good idea. If you'd like to start crafting up some thoughts on that subject, feel free to start a Blueprint (http://blueprints.launchpad.net/inkscape/), we could draw from when doing GSoC proposals if they choose to include Inkscape in their program again this summer.
One thing I definitely would like to see is importing of Xara files.
What would it take to implement that? Copy/paste from Xara source, or write loader from scratch?
There were a couple efforts on their end to implement this, although I don't know what status they're at so you'd want to research into it a bit to see whether it'd be worth building off of it vs starting a third effort. The file format also has public documentation, which would make creating a converter a hopefully straightforward task regardless. I imagine it'd require a good bit of testing to address all the various corner cases.
What I would do is create a standalone xar2svg program, maybe with options for whether to use Inkscape namespaced SVG or plain. I believe both the previous efforts were geared towards this approach.
Bryce