[<<] [<] 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 Sat Jul 6 03:18:09 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 0x8fa1c6c> |
/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 0x8faca74>, 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 0x8fa11ec>, 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 0x8facbfc>) |
128 write(template % ctxt) |
129 if peritem: |
130 peritem() |
131 ctxt[ROW] += 1 |
132 |
peritem = <function <lambda> at 0x8facbfc> |
/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 0x8fa11ec>, 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 0x8fa11b4>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x9002e4c> |
/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 0x9002e4c>, 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 0x8fa11b4>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x9002fcc> |
/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 0x9002fcc>, 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 0x8fa1144>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x9002fcc> |
/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 0x9002fcc>) |
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 0x8f99e9c>, global html = <function html at 0x8f99ed4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x900d250> |
/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 0x8f99e9c>, 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 0x8f32a7c>, 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 0x9002e0c>, 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 0x9002e0c>, 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'