[Zope3-dev] lxml / elementtre inclusion
Martijn Faassen
faassen at infrae.com
Fri May 6 10:46:59 EDT 2005
Jim Fulton wrote:
> Martijn Faassen wrote:
>
>> Jim Fulton wrote:
>
>> Well, libxml2/libxslt cannot be relicensed by me, so the MIT
>> license will stay.
>
> Of course. I don't think we should include those libraries in the
> release. I suggest we simply make those prerequisites of Zope 3.
>
> Most 'nix platforms seem to have it already. (I hope lxml doesn't
> depend on particular recent versions.)
It's likely not going to work in a significant set of cases, as Unix
platforms sometimes have rather old versions of libxml2 floating around.
Debian unstable is okay for now (it wasn't though until some update a
few months ago), and Mac OX Tiger (10.4) seems to be okay for now too,
but Panther (10.3) is too old (people have got it going by using a
differently installed libxml2 though). A Solaris box I checked a few
years ago had a then-already-ancient version of libxml2 (don't know
where from, whether this came with the OS or not). I also have no idea
what the status is for non-Debian/non-Ubuntu Linux distributions.
By working on lxml, I found bugs in libxml2 that got fixed in more
recent versions. Eventually I'd obviously like to start relying on those
fixes. Right now libxml2 works with 2.2.16 and newer, which goes back to
november last year. The current release of libxml2 is 2.6.19 from april
this year, and this does contain bugfixes I'd like to start relying on
at some point.
So, in summary, making libxml2/libxslt prerequisities of Zope 3 will
make installation of Zope 3 unfortunately a bit harder initially due to
the new binary requirement. I got reports of lxml working on Mac OS X
and Windows besides the Linux I develop on, so it's all possible, but
it'll increase the installation burden somewhat. The libxml2 libraries
do offer a huge featureset though, which may weigh against the drawbacks.
>> If it helps to also license lxml under the ZPL besides the
>
>> existing BSD license, that shouldn't be an issue, though I myself
>> do not comprehend why adversiting-clause-less BSD should be an
>> issue; as far as I understood it could be safely combined with
>> absolutely anything.
>
> This issue is that users of Zope should have as few different
> licenses to deal with as possible. Some people care about IP issues
> and fewer different licenses is a significant advantage.
It also means an extra hurdle whenever an external library is used in
Zope 3. For incompatible libraries such as GPL this cannot be avoided.
As someone who just spent a lot of time updating copyright headers in
the Five source code as I merged a new version into Zope 2.8, I'm not
particularly looking forward to doing something similar with lxml as
well.. Perhaps with lxml it is as simple as adding a note to the license
information that this thing is dual-licensed, though.
If someone that is not interested in Zope 3 in the first place wrote a
Python library we'd like to include, the relicensing hurdle will be
larger, though. What's to be done with Twisted integration, for instance?
Relying on new external libraries with the core of Zope 3 will always be
a big step. Then again, I also think that this way large amount of new
features can be made available to Zope 3 without us having to reinvent
wheels. It makes Zope 3 a more open platform. Perhaps the procedure for
adopting externally written code should be spelled out. There are quite
a few shapes this could take (external library, included in Zope 3
tree), and right now it seems nobody but Jim knows what is required, or
whether such inclusion is allowable at all in the first place.
Regards,
Martijn
More information about the Zope3-dev
mailing list