[Python-Dev] what license for a module derived from Objects/dictobjec.c
Anthon van der Neut
anthon at mnt.org
Fri Oct 12 16:33:27 CEST 2007
I would like to get some advice on which license to include/refer to in
my setup.py (and probably the source files).
This is for an extension module that is clearly (for the knowledgeable)
derived from Python's Objects/dictobject.c and Include/dictobject.h.
I first of all don't want to infringe any original license on that code.
I second would like to make sure the license for code is not a problem
to make it into Linux distributions like Ubuntu/Debian (assuming of
course the code is acceptable and fills enough of a gap that these
distros want to pick it up in the first place).
And thirdly, I although I would like my name to be associated on further
derivations of this module, that is not a strict requirement.
Should I refer to MIT, LGPL or BSD. Any particular copy of a license I
should put up on my website and refer to with a URL?
Any examples or references with a brief explanation would be much
I know I could look at what other modules use, but at this point I
rather spent time on finishing implementing the "insert" method (and
some tests) and getting my first release out (and hopefullysome
feedback), than comparing other modules for the license they chose and
try to deduct what I should use/specify for a license.
Thanks in advance
For the curious: the module is called ordereddict. It is an
implemenation in C of a dictionary with ordered keys based on Key
Insertion Order. Value updating of existing Key/Value pairs does not
reorder the keys, although I probably implement that as an
(instantiation) option after the initial version.
orderdict() does all that dict() does, except for instantiation it will
only take another ordereddict() (not a dict) or an ordered list of
pairs. Some extras (reverse(), index()) are already implemented and work
like Larosa/Foord's odict.OrderedDict() (theirs is also the example I
took for the representation of the ordereddict).
ordereddict() is 5-10% slower than dict() (especially key deletion is
'expensive') and it is 5-9 times faster than odict.OrderedDict()
I have done all of the development under Linux but will be proably be
able to test things under Windows and may, at some point even dig up my
old G4 to see how things go on OS X. I am fairly confident that the C
code is still portable, or close to it.
More information about the Python-Dev