discuss: LDP Licence at http://tldp.org/COPYRIGHT.html, and changing in-place


Previous by date: 25 Jan 2004 22:03:59 -0000 Re: SSH Howto, Machtelt Garrels
Next by date: 25 Jan 2004 22:03:59 -0000 Re: ISBN numbers for LDP docs?, Guylhem Aznar
Previous in thread: 25 Jan 2004 22:03:59 -0000 Re: LDP Licence at http://tldp.org/COPYRIGHT.html, and changing in-place, Rick Moen
Next in thread: 25 Jan 2004 22:03:59 -0000 Re: LDP Licence at http://tldp.org/COPYRIGHT.html, and changing in-place, Rick Moen

Subject: Re: LDP Licence at http://tldp.org/COPYRIGHT.html, and changing in-place
From: Guylhem Aznar ####@####.####
Date: 25 Jan 2004 22:03:59 -0000
Message-Id: <20040120081730.6a0a722d.athome@externe.net>

Hello,

On Sun, 18 Jan 2004 23:11:24 -0800
Rick Moen ####@####.#### wrote:
> > Whabout about creating a separate "history" page in the copyright section?
> 
> I'm not sure I understand this question.  Sorry.

COPYRIGHT.html would contain our default/agreed/basic/whatever license, with a
link at the beginning to the past versions and a proeminent warning "Previous
versions for historic purposes only"

> Huh?  I'm afraid that, once more, I do not follow.

Keeping too many licenses impers interoperability - if only because of the
number of licenses to choose from

> It is unclear to me in what regard these are "problems" in any respect
> that particularly concerns LDP.

Take some old interesting document with an uncommon license, banning the
document from Debian for ex. - this is a problem since it can't be updated and
removing it won't be easy if most people like it.

It's a causing more problems to TLDP because unlike software the BSD and GPL are
not the most common licenses : much more restrictive licenses are preferred.

> It is likewise unclear to me why you would wish to "agree on a common
> licence", and unclear to me what would be achieved by doing so.  (I hope

We would in one step fix license-boud problems such as :
 - new authors updating old documents
 - merging old documents (ex: the lilo linux/nt/os2/fat/etc serie)
 - having our documents included in distributions where licensing issues matters

I'm sorry that you don't see these problems and how they affect TLDP.

> you are aware that "relicensing" is something possible only to copyright
> holders, in any event.)

I do - I think the author could possibly agree to a contract which would cause
his document to be relicensed on some event (ex: can't be reached for 6 months)
and passed to a new authors following some criterias (ex: new title, old author
name indicated in a table of former authors). Another possibility is to ask
authors to transfer their copyright but I think we shouldn't do that until a
board with clear rules exist.

> > This would ensure interoperability.
> 
> I'm not sure what you mean by the term "interoperability".  It is
> extremely rare for a dervative work of documentation to be created using
> material from two upstream original documents, let alone two such
> documents under incompatible licence terms without the opportunity to
> secure licence-exception permission from the copyright owners.

The only reason why it's rare is exactly the license problems. And even in you
consider it's just a minor factor, why don't you want to fix it?

For ex, 2 of my documents where created upon an existing basis (Mail & UUCP
HOWTO) which was then split (Mail Administrator / Mail User HOWTO) etc. What if
in the future we want to integrate different documents in a printed book? Or
simply in one big online guide covering everything from email to system security
? What if some chapters on new email subsystems are to be added and my document
can't be included in Debian because of my past license choice GFDL?


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
Fri Jul 5 09:15:49 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/<string> in ()
 /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 0x9bb0c6c>
 /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 0x9c16a74>, global ctxt = {'cmd': 'showmsg', 'threadidx': 54, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}
 /opt/ezmlm-browse-0.20/commands/showmsg.py in do(ctxt={'cmd': 'showmsg', 'threadidx': 54, '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 0x9bb01ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 54, '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': 54, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=6550)
  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 0x9bb01b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 54, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x9c2ffcc>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 54, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x9c2ffcc>, 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 0x9bb01b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 54, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x9c3410c>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 54, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x9c3410c>, 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 0x9bb0144>, ctxt = {'cmd': 'showmsg', 'threadidx': 54, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x9c3410c>
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 54, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x9c3410c>)
  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 0x9ba8e9c>, global html = <function html at 0x9ba8ed4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x9c37170>
 /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 0x9ba8e9c>, 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 0x9b41a7c>, 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 0x9bbd50c>, 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 0x9bbd50c>, 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'