Subject:
Re: LDP Licence at http://tldp.org/COPYRIGHT.html, and changing
in-place
From:
Guylhem Aznar ####@####.####
Date:
28 Jan 2004 15:26:24 -0000
Message-Id: <20040128113049.1dc9fc15.athome@externe.net>
Bonjour, Hello,
> Ah, thank you for elucidating! (I really wasn't trying to be difficult,
> honest. I honestly didn't understand your suggestion.)
No problem.
> I get the recurring impression that LDP volunteers seriously think that
> changing the document at that URL has the legal effect of changing
> covered documents' terms of usage. That is most unfortunate, in my
I don't think it has the legal effect, I think that it *might* and if that
should ever come to court I wouldn't want to loose one possible interpretation.
> The same variety of problem _could_ theoretically arise with software
> documentation -- except that it's very rare to need to create such a
> combination of disparate documents. If you do, and there's a conflict,
That's the point! I would like to see more combinations, becoming full books,
distributed under a free license - just look at KDE or GNOME : individual
software, when combined, create a whole greater that the parts ("gestalt") : a
full desktop suite.
The same should be possible with documentation. Licensing is currently the 1st
cause it doesn't happen IMHO.
> So, are you saying you want fewer licences, or are you saying you want
> forkable ones? Those are different issues, and you seem to be
> suggesting they're identical.
The result will be. Ideally I'd best like 1 forkable license, to reduce
> Now, having "fewer licences" would no doubt be less messy and easier to
> think about. Good luck convincing authors. ;->
Right - that's the main issue :-)
You know, when I wrote my first application I really didn't want to license it
under the GPL - I feared it may become something completely different than I
intended, that I would be stripped of my work, and that there was no need for
the GPL
I quickly realised why I should overcome these basic fears - to let my work
become part of the future. Maybe it would be completely discarded? Maybe it
would find a new life? Anyway the only decision I could take was "would I like
to improve its chances to be helpful to other people in the future, even if it
may impair the possible benefits I have to do the contrary" ? I said yes and
since then only use the GPL
> 1. New authors updating old documents doesn't require a "common
> licence". It requires either the copyright holder's permission or a
> forkable licence.
Correct, but this will create mutually incompatible groups of documentation -
like GPL and BSD in your exim example - which will depend on individual
permissions.
> 2. It is unclear to me that "merging old documents" occurs more than
> once in a blue moon and isn't fairly easily dealt with (in such rare
> cases) as detailed previously.
Anyway it happens. If we want to fix the licensing issues, it should not be
forgotten.
> 3. Having LDP documents included in distributions where licensing
> issues matter might (in some cases) require forkable licences, but it's
> illogical to suggest that it necessarily requires fewer licences.
Fewer licenses would make it easy to defend our point. Do you think Debian will
ever refuse non GPL software (say BSD ?) They can't afford that - they would
miss major parts such as X11. Can they refuse the GFDL, even without any
invariant section? They sure can - they will only loose a small portion of their
documentation.
> impression that you seek simplicity at the expense of much else, and
> that does not seem to bode well.
Yes I want more simplicity on license issues. If we can just agree to make new
authors or documents newly submitted accept that their document can be
relicensed to XX license if they can't be reached for 6 months, and if XX
license is forkable, I'll be happy.
> I strongly suggest you consult an experienced copyright attorney, if you
> are seriously contemplating this. (I'm not an attorney of any stripe,
> but I greatly doubt that such a contract can confer copyright title --
> leaving aside whether authors are likely to agree to it.)
We have an attorney on the list and we will certainly consult one before taking
any decision. But we should try to agree on some kind of agreement to ask the
lawyer advice on that very agreement.
> 1. If LDP adopts some "standard" licence, is it prepared to refuse
> admission to otherwise attractive contributions that have a slightly
> different forkable licence?
Depending on the proposition of refused documentation, yes.
> 2. If LDP author foo wishes to incorporate 200 lines from incompatibly
> licensed document bar, is his need to either get (or grant) a licence
> exception or rewrite 200 lines an earth-shaking problem?
It is. We can help him recomminding only some licenses.
> Make up your own mind, of course. I'm not here to argue -- but I
> suspect that that policy change would limit LDP's appeal to authors for
> very little gain in return.
No decision will be taken without their feedback. All proposition are
acceptable.
And if we need to make a non-consensual choice, we can run a poll.
> Are you saying such hideous licensing problems _do_ exist, or was this just
> a farfetched hypothetical with no connection to present reality.
I'm saying such problems exist.
> Please note that aggregation of such multiple documents into a printed
> book doesn't require that the constituent documents' licences be either
> forkable or compatible (where "compatibility" relates to creation of
> derivative works).
But it certainly help with the book future maintainance - like moving some
chapter from one document to another.
> 2. In that event, Debian would have the option of asking you to
> dual-licence. Remember, a licence applies to an _instance_ of a
> creative work. The copyright holder is always free to issue additional
Why GPL works so well and is so popular? Because it has reached the critical
mass.
Instead of having to ask to multiple copyright holders, you just choose the same
license and avoid all the issues.
I'd like to see that with documentation.
Best regards,
Guylhem
--
####@####.#### ####@####.####
http://externe.net/geekcode http://externe.net/photos http://externe.net/zaurus
GPG: 92EB37C1 DD11C9C9 20519D01 E8FA1B11 42975AF7 http://externe.net/pubkey
--> -->
<type 'exceptions.IOError'> | Python 2.5.2: /usr/bin/python Wed Jul 3 16:39:31 2024 |
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/opt/ezmlm-browse-0.20/main.py in main() |
424
|
425 if path is not None:
|
426 main_path(path)
|
427 else:
|
428 main_form()
|
global main_form = <function main_form at 0x9e77c6c> |
/opt/ezmlm-browse-0.20/main.py in main_form() |
378 except ImportError:
|
379 die(ctxt, "Invalid command")
|
380 module.do(ctxt)
|
381
|
382 def main():
|
module = <module 'commands.showmsg' from '/opt/ezmlm-browse-0.20/commands/showmsg.pyc'>, module.do = <function do at 0x9edda74>, global ctxt = {'cmd': 'showmsg', 'threadidx': 58, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'} |
/opt/ezmlm-browse-0.20/commands/showmsg.py in do(ctxt={'cmd': 'showmsg', 'threadidx': 58, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}) |
18 write(html('msg-pager') % ctxt)
|
19 write('<hr>')
|
20 sub_showmsg(ctxt, ctxt[MSGNUM])
|
21 write('<hr>')
|
22 write(html('msg-pager') % ctxt)
|
global sub_showmsg = <function sub_showmsg at 0x9e771ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 58, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum' |
/opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'cmd': 'showmsg', 'threadidx': 58, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=6576) |
229 format_timestamp(ctxt, ctxt)
|
230 write(html('msg-header') % ctxt)
|
231 rec_showpart(ctxt, msg, 0)
|
232 write(html('msg-footer') % ctxt)
|
233 ctxt.pop()
|
global rec_showpart = <function rec_showpart at 0x9e771b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 58, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x9ef6fcc> |
/opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 58, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x9ef6fcc>, partnum=1) |
205 else:
|
206 for p in part.get_payload():
|
207 partnum = rec_showpart(ctxt, p, partnum+1)
|
208 else:
|
209 write(html('msg-sep') % ctxt)
|
partnum = 1, global rec_showpart = <function rec_showpart at 0x9e771b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 58, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x9efb04c> |
/opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 58, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x9efb04c>, partnum=2) |
208 else:
|
209 write(html('msg-sep') % ctxt)
|
210 sub_showpart(ctxt, part)
|
211 return partnum
|
212
|
global sub_showpart = <function sub_showpart at 0x9e77144>, ctxt = {'cmd': 'showmsg', 'threadidx': 58, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x9efb04c> |
/opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 58, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x9efb04c>) |
164 type = ctxt[TYPE] = part.get_content_type()
|
165 ctxt[FILENAME] = part.get_filename()
|
166 template = html('msg-' + type.replace('/', '-'))
|
167 if not template:
|
168 template = html('msg-' + type[:type.find('/')])
|
global template = <function template at 0x9e6fe9c>, global html = <function html at 0x9e6fed4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x9efd170> |
/opt/ezmlm-browse-0.20/globalfns.py in html(name='msg-application-pgp-signature') |
40
|
41 def html(name):
|
42 return template(name + '.html')
|
43
|
44 def xml(name):
|
global template = <function template at 0x9e6fe9c>, name = 'msg-application-pgp-signature' |
/opt/ezmlm-browse-0.20/globalfns.py in template(filename='msg-application-pgp-signature.html') |
31 except IOError:
|
32 if not _template_zipfile:
|
33 _template_zipfile = zipfile.ZipFile(sys.argv[0])
|
34 try:
|
35 f = _template_zipfile.open(n).read()
|
global _template_zipfile = None, global zipfile = <module 'zipfile' from '/usr/lib/python2.5/zipfile.pyc'>, zipfile.ZipFile = <class zipfile.ZipFile at 0x9e08a7c>, global sys = <module 'sys' (built-in)>, sys.argv = ['-c', '/opt/ezmlm-browse-0.20'] |
/usr/lib/python2.5/zipfile.py in __init__(self=<zipfile.ZipFile instance at 0x9e8432c>, file='-c', mode='r', compression=0, allowZip64=False) |
337 self.filename = file
|
338 modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'}
|
339 self.fp = open(file, modeDict[mode])
|
340 else:
|
341 self._filePassed = 1
|
self = <zipfile.ZipFile instance at 0x9e8432c>, self.fp = None, builtin open = <built-in function open>, file = '-c', modeDict = {'a': 'r+b', 'r': 'rb', 'w': 'wb'}, mode = 'r' |
<type 'exceptions.IOError'>: [Errno 2] No such file or directory: '-c'
args =
(2, 'No such file or directory')
errno =
2
filename =
'-c'
message =
''
strerror =
'No such file or directory'