On Thu, Apr 05, 2007 at 10:55:28PM +1000, kaver wrote:
Elwin Estle wrote the following on 4/5/2007 7:48 AM:
Sometime back I remember seeing something about how Inscape was planning
to merge
with/share code with the open source version of Xara extreme. I was
just curious,
whatever happened to this idea?
Yes, I'd be interested as well in knowing what the developers have done along these lines. It seemed at the time that there was a genuine effort to achieve some sort of sharing and mutual benefit. Did this happen or are the two projects just too far along their respective paths to allow easy cross-fertilisation?
Right, we discussed this with Xara at last year's LGM.
Actually, despite how similar the projects look and how similar their feature sets are, there are some big differences in implementation. For the UI, Inkscape uses Gtk while Xara is based on wxWidgets; thus directly collaborating on user interface code is difficult. For the internal document structure, Inkscape uses a system built atop an XML/SVG oriented architecture, whereas they use their own that is optimized for their file format, neither of which would be particularly easy to swap out.
For the renderer, Xara keeps theirs closed source; if they open sourced it, that would definitely be something we'd be interested in sharing. At LGM we talked about both projects switching to Cairo, which seems like a good approach. I don't know how Xara is doing with that, but Bulia has been experimenting with slotting Cairo in; we've been working with the Cairo folks as we discover issues, and they've been quite helpful at making our needs a priority.
We'd also considered collaborating with Xara on file format converters and some other things like that, but these are dependent on having SVG support in Xara. Xara was interested in collaborating on bitmap filter capabilities; Inkscapers have been putting time into these for the past year (esp. through Google's Summer of Code program), but we haven't heard anything from Xara about it.
Also, aside from the technical issues, there's a fairly big process issue that would make collaboration pretty challenging. In Inkscape, like in many open source projects, it's rare for one guy to implement something alone; generally he is incrementally adding code to someone else's stuff, copying algorithms, tweaking configs, etc. Or one guy will do the bulk of the implementation but a couple others will go through and fix up bugs, add docs, and so on. This is hardly ever an issue; everyone just agrees to do it under the GPL, and that's that.
However, due to Xara's business needs, they ask that in addition to being GPL'd, each contributor must also submit a 'Contributor Agreement', that allows Xara to use the code in their non-GPL'd licensed version. This seems pretty innocuous, but consider if I wished to port over a chunk of Inkscape code into Xara. Even if I were the primary author of that chunk of code, chances are that several other people worked on it; the larger the chunk of code, the more people. Thus, to simply move a feature or two from Inkscape to Xara could involve a flurry of paperwork from a bunch of people. If even just a few did not agree to having their work used commercially, that puts the whole thing off. Further, a number of people named as copyright holders are no longer active in Inkscape (Sodipodi developers for instance), so even if everyone in Inkscape agreed, we'd still have that as a core issue.
The other way round - moving Xara code into Inkscape - would not have these licensing complexities, just the technical challenges mentioned above. I don't know of anyone working on doing this, however.
Hope this covers it? Let me know if there's any other questions.
Bryce