← Back to team overview

subunit-dev team mailing list archive

Re: relicencing subunitt [or some parts anyway]

 

On Tue, Sep 22, 2009 at 11:54 AM, Robert Collins
<robertc@xxxxxxxxxxxxxxxxx> wrote:
> Hi, you've been CC'd to this because you have code of some sort within
> subunit.
>
> If you're also on the subunit-dev list, feel free to drop your name from
> the CC list :).
>
> As the title says, I want to relicence subunit.
>
> I'm considering something LGPL/BSDish. Details to be determined by
> consensus [and if someone is utterly against this relicencing, then I'll
> need to back their contribution out of the tree].
>
> Why relicence?
> --------------
> Subunit is GPL. Many thing things that subunit wants to work well with
> are not GPL, and its hard for folk in those communities to use subunit.
> Contagious copyleft isn't beneficial for us the authors of Subunit, nor
> for the users. There is a large ethical debate that can happen, but I'd
> rather not have this discussion focus on that. If any contributor wish
> that, we can do so in a parallel thread.
>
> Pragmatically, the GPL is a hurdle for subunit:
>  - cppunit, is LGPL 2.1+. Currently if they apply the subunit-linked
> module it would defacto make cppunit GPL. So cppunit is unlikely to ever
> take the patch languishing in their bugtracker.
>  - googletest/gtest is BSD
>  - JUnit is 'CPL' (now eclipse common license) - a LGPL-alike, with
> focus on indemnity, patent grants and the like.
>  - Python's unittest is under the PSF
>  - 'check' is LGPL - they've taken a subunit patch, but licencing was
> never raised; I suspect now that if it had been it would have been an
> issue.
>
> Subunit defines a network protocol; while there is value in having
> multiple implementations, it doesn't make sense to force folk to write
> such an implementation just to output from their preferred language if
> the thing they are outputting from isn't GPL. In particular, making
> someone do that just causes extra work, and doesn't buy the commons of
> GPL code anything - once a test stream is on the wire, Subunit will read
> it - thats what its there for!
>
>
> What about proprietary knockoffs?
> ---------------------------------
> I'd be delighted to find rational products, or other such things, using
> Subunit regardless of whether they use libsubunit or reinvent. Better
> software all around is a Good Thing.
>
> What to relicence? And how?
> ---------------------------
> I want to do the following:
>  - get all code that is in the Subunit tree and arguably part of some
>   larger external whole - such as the python API extensions, or the
>   cppunit patch - to be viable for inclusion in those projects - or at
>   a minimum linkable-with-without-headaches.
>  - Get future code that seems likely to be in that category to come with
>   an agreement that it can be donated to an appropriate home (e.g. the
>   PSF) in the future. This is something that I'll ask for case by case
>   - all I ask committers to the project to do is to do ask for it when
>   reviewing contributions.
>  - licence the UI and non utility code that really looks like it belongs
>   in Subunit proper to be compatible with whatever it links with, to
>   minimise headaches in future - I don't want to end up being an
>   openssl [great library, noone can use]
>  - make subunits licencing as consistent as possible given the above.
>   Currently we have a README that says 'GPL 2 or later', some filters
>   saying 'GPL 3 or later' - and possibly more confusion.
>
> Concretely, I think the following would be appropriate:
> - put all the python code under the PSL [MIT]
> - put the sh library under MIT/BSD [its a) tiny and b) wtf is linking in
> a dynamic world]
> - put the C library under MIT/BSD: while LGPL can be argued to preserve
> the commons more strongly, I think given were Subunit wants to live in
> the ecosystem that a BSD licence is more fitting: anyone can use it, and
> thus we expand the network.
>
> This can be a passionate subject for many people, I hope it doesn't
> become one here :). The reason I'm proposing this is I'm trying to close
> of various loose ends in Subunit, and I ran smack bang into this looking
> at the cppunit patch. When I looked wider it just got messier and
> messier. Subunit is a gift [hopefully a good one :)] to the world, I
> want folk to be able to use it.
>
> I don't have to act on this immediately; however I will need to act on
> it. So:
>  - please reply in some way as soon as you can.
>  - where we go from here will depend on responses :).
>

I'm happy to relicense to anything that's DFSG free.

I'd lean toward MIT, since that seems to work well for Twisted.

jml



References