discuss: Thread: Proposal for revised license and license requirements.


[<<] [<] Page 1 of 3 [>] [>>]
Subject: Proposal for revised license and license requirements.
From: David Lawyer ####@####.####
Date: 5 Jun 2005 02:26:33 -0000
Message-Id: <20050605022515.GA821@lafn.org>

PS: This topic has been discussed previously, but no resoluting has
ever been reached.

While I support the right of an author (in some cases) to not allow
modification without the author's consent, what about the case where
the document needs revision and author can't be located?  I think our
manifesto needs to be changed to require that any license must allow
modification if the author can't be located after searching on the
Internet.

But if this requirement is put in the manifesto, I think there should
be at least one license that provides for this.  Otherwise the author
is faced with the job of writing his own license and then there's the
problem of classifying such a license.  It's desirable to keep the
number of licenses to a minimum if feasible.

So I'm proposing that a no-modify option to LDP's the Boilerplate
License be included with it, to be effective only if the author
selects this option:  Modification would be prohibited unless the
author can't be located.  Furthermore, while LDP would permit this
option we would not encourage it as is currently stated in the
manifesto: "It is not required that the documents be modifiable, but
it is encouraged."  

Then for licenses that don't meet the new manifesto requirement, we
could contact the authors and suggest that they change their license.
What to do with the docs that remain in violation of the new manifesto
is a question to be decided later since it depends on just what they
are.  They might be all obsolete, since I think that most authors
who now don't allow modification would be willing to allow
modification if they can't be located.

So what I'm proposing is modifying both the Boilerplate License and
the Manifesto for the purpose of allowing modification to documents
in all cases where the author can't be located.

			David Lawyer
Subject: Re: Proposal for revised license and license requirements.
From: Alex Nordstrom ####@####.####
Date: 5 Jun 2005 03:54:47 -0000
Message-Id: <200506051154.38089.lx@se.linux.org>

On Sun, 5 Jun 2005 10:25, David Lawyer wrote:
> I think our manifesto needs to be changed to require that any license
> must allow modification if the author can't be located after searching
> on the Internet.

Wording a legally acceptable definition of what constitutes a reasonable 
effort and appropriate procedure for attempting to locate an author 
(and evidencing thereof) is a potential can of worms. It risks being 
perceived as too weak by protective authors or too dangerous by 
potential maintainers (or both).

Also, what happens when this hypothetical clause is invoked? Does the 
new maintainer assume the original author's modification rights? Does 
he share them with the original author? Do the rights become 
non-exclusive?

What happens when a document with such a license is created by several 
authors and some but not all are unreachable? What are the powers of 
the remaining author(s) to withhold rights or invoke the suggested 
clause?

All these (and other) legal considerations aside, I think it would serve 
to disguise the complications of read-only works and unduly entice some 
authors to choose a non-free licence. I appreciate that the intention 
is to encourage authors who would not otherwise write Free 
documentation to allow their works to be maintained, but I fear it 
would also allure some Free documentation authors with the promise of 
more individual control.

-- 
Alex Nordstrom
http://lx.n3.net/
Please do not CC me in followups;
I am subscribed to the tldp discussion list.

--> -->
 
 
<type 'exceptions.IOError'>
Python 2.5.2: /usr/bin/python
Mon Jul 1 15:06:40 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 0x8544c6c>
 /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.showthread' from '/opt/ezmlm-browse-0.20/commands/showthread.pyc'>, module.do = <function do at 0x854fa74>, global ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}
 /opt/ezmlm-browse-0.20/commands/showthread.py in do(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'})
    9         ctxt.update(ezmlm.thread(ctxt[THREADID]))
   10         header(ctxt, 'Thread: ' + ctxt[SUBJECT], 'showthread')
   11         do_list(ctxt, 'msgs', ctxt[MSGSPERPAGE], ctxt[MESSAGES],
   12                         lambda:sub_showmsg(ctxt, ctxt[MSGNUM]))
   13         footer(ctxt)
global sub_showmsg = <function sub_showmsg at 0x85441ec>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in do_list(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, name='msgs', perpage=10, values=[{'author': u'David Lawyer', 'authorid': 'claiepedajakajhoajgg', 'date': '5 Jun 2005 02:26:33 -0000', 'month': 200506, 'msgnum': 9360, 'subject': u'Proposal for revised license and license requirements.', 'threadid': 'ajdblngbheknbbnkmcla', 'timestamp': 1117938393.0}, {'author': u'Alex Nordstrom', 'authorid': 'ddjlkhedkoddjdpcpnpi', 'date': '5 Jun 2005 03:54:47 -0000', 'month': 200506, 'msgnum': 9361, 'subject': u'Re: Proposal for revised license and license requirements.', 'threadid': 'ajdblngbheknbbnkmcla', 'timestamp': 1117943687.0}, {'author': u'J. Greenlees', 'authorid': 'legpmkjmgpgggkpeopdk', 'date': '5 Jun 2005 04:16:51 -0000', 'month': 200506, 'msgnum': 9362, 'subject': u'Re: Proposal for revised license and license requirements.', 'threadid': 'ajdblngbheknbbnkmcla', 'timestamp': 1117945011.0}, {'author': u'Alex Nordstrom', 'authorid': 'ddjlkhedkoddjdpcpnpi', 'date': '5 Jun 2005 05:27:39 -0000', 'month': 200506, 'msgnum': 9363, 'subject': u'Re: Proposal for revised license and license requirements.', 'threadid': 'ajdblngbheknbbnkmcla', 'timestamp': 1117949259.0}, {'author': u'Andrew M.A. Cater', 'authorid': 'hoagepkcnjdblohdlnep', 'date': '5 Jun 2005 18:11:00 -0000', 'month': 200506, 'msgnum': 9364, 'subject': u'Re: Proposal for revised license and license requirements.', 'threadid': 'ajdblngbheknbbnkmcla', 'timestamp': 1117995060.0}, {'author': u'Mendel Cooper', 'authorid': 'gogpemcpgmjdagijfkka', 'date': '5 Jun 2005 18:21:51 -0000', 'month': 200506, 'msgnum': 9365, 'subject': u'Re: Proposal for revised license and license requirements.', 'threadid': 'ajdblngbheknbbnkmcla', 'timestamp': 1117995711.0}, {'author': u'Randy Kramer', 'authorid': 'poadlponoakpmcghbdhm', 'date': '5 Jun 2005 19:06:44 -0000', 'month': 200506, 'msgnum': 9366, 'subject': u'Re: Proposal for revised license and license requirements.', 'threadid': 'ajdblngbheknbbnkmcla', 'timestamp': 1117998404.0}, {'author': u'David Lawyer', 'authorid': 'claiepedajakajhoajgg', 'date': '6 Jun 2005 00:02:07 -0000', 'month': 200506, 'msgnum': 9367, 'subject': u'Re: Proposal for revised license and license requirements.', 'threadid': 'ajdblngbheknbbnkmcla', 'timestamp': 1118016127.0}, {'author': u'Alex Nordstrom', 'authorid': 'ddjlkhedkoddjdpcpnpi', 'date': '6 Jun 2005 05:26:11 -0000', 'month': 200506, 'msgnum': 9368, 'subject': u'Re: Proposal for revised license and license requirements.', 'threadid': 'ajdblngbheknbbnkmcla', 'timestamp': 1118035571.0}, {'author': u'Rick Moen', 'authorid': 'pkdleajpekbbaookkgbd', 'date': '6 Jun 2005 05:50:31 -0000', 'month': 200506, 'msgnum': 9369, 'subject': u'Re: Proposal for revised license and license requirements.', 'threadid': 'ajdblngbheknbbnkmcla', 'timestamp': 1118037031.0}], peritem=<function <lambda> at 0x854fbfc>)
  128                 write(template % ctxt)
  129                 if peritem:
  130                         peritem()
  131                 ctxt[ROW] += 1
  132 
peritem = <function <lambda> at 0x854fbfc>
 /opt/ezmlm-browse-0.20/commands/showthread.py in ()
    9         ctxt.update(ezmlm.thread(ctxt[THREADID]))
   10         header(ctxt, 'Thread: ' + ctxt[SUBJECT], 'showthread')
   11         do_list(ctxt, 'msgs', ctxt[MSGSPERPAGE], ctxt[MESSAGES],
   12                         lambda:sub_showmsg(ctxt, ctxt[MSGNUM]))
   13         footer(ctxt)
global sub_showmsg = <function sub_showmsg at 0x85441ec>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=9361)
  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 0x85441b4>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x85a5dec>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x85a5dec>, 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 0x85441b4>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x85a5f8c>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x85a5f8c>, 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 0x8544144>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x85a5f8c>
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x85a5f8c>)
  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 0x853ce9c>, global html = <function html at 0x853ced4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x85b0250>
 /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 0x853ce9c>, 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 0x84d5a7c>, 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 0x85a5fac>, 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 0x85a5fac>, 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'