discuss: Proposal for revised license and license requirements.


Previous by date: 5 Jun 2005 05:27:39 -0000 Re: Proposal for revised license and license requirements., J. Greenlees
Next by date: 5 Jun 2005 05:27:39 -0000 Re: Proposal for revised license and license requirements., Andrew M.A. Cater
Previous in thread: 5 Jun 2005 05:27:39 -0000 Re: Proposal for revised license and license requirements., J. Greenlees
Next in thread: 5 Jun 2005 05:27:39 -0000 Re: Proposal for revised license and license requirements., Andrew M.A. Cater

Subject: Re: Proposal for revised license and license requirements.
From: Alex Nordstrom ####@####.####
Date: 5 Jun 2005 05:27:39 -0000
Message-Id: <200506051327.31238.lx@se.linux.org>

On Sun, 5 Jun 2005 12:16, J. Greenlees wrote:
> Alex Nordstrom wrote:
> > 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.
> >
> > 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?
>
> new author has those rights, only on the parts of the document that
> they have written.

This presumes modifications are limited to atomic passages of 
exclusively authored material added to the existing material. It's more 
or less a given that one can take material that one has singlehandedly 
authored as part of another work and use it in a different context.

However, the result of the effort to modify a document is not 
necessarily severable from the result of the effort to write the 
original document. A more interesting question is what happens to the 
document as a whole.

For example, if the original author resurfaces, what are his rights in 
relation to the derived work, and how does this situation affect the 
author of a derived work?

> > 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?
>
> generally, each contributor has copyright on the parts they
> contributed. such a group should work out details for righte before
> submitting any works. ( this helps tldp to track down correct person
> in case of alteration requirement )

Again, this presumes the work is severable. Consider the situation where 
persons A and B agree to write a document to be published according to 
the proposed licence. A writes the document in German and B translates 
it to English. B subsequently gets flattened by a bus. Person C now 
wishes to correct some spelling mistakes in the English document. Can 
he do so without the permission of A? Can he prevent others from 
modifying the resulting work? Is he in fact forced to do so? What 
rights does A have to modify C's modified translation?

Even if work is severable, issues remain. Suppose persons A and B write 
passages 1 and 2, respectively, to form a document to be published 
according to the proposed licence. Nothing gives either party the right 
to distribute even unchanged copies of the document as a whole other 
than the licence. If A (or a person who has attempted to contact A) 
makes changes to passage 1 with which B disagrees, is publishing a 
document based on this modified passage 1 and the original passage 2 
allowed?

Now suppose persons A, B, and C write three separate passages, and C 
dies. If A and B disagree on changes to be made, can either of them 
release a derived work based in part on C's work?

Provisions can be made for these situations (and should be part of the 
licence rather than collaboration agreements), but it will make the 
licence very complicated. (Remember that most people find the simple 
GPL difficult to grasp.)

-- 
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
Wed Jul 3 10:16:11 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 0x8ec5c6c>
 /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 0x8ecda74>, global ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}
 /opt/ezmlm-browse-0.20/commands/showmsg.py in do(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...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 0x8ec51ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=9363)
  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 0x8ec51b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x8f26ccc>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x8f26ccc>, 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 0x8ec51b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x8f26c6c>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x8f26c6c>, 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 0x8ec5144>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x8f26c6c>
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x8f26c6c>)
  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 0x8ebde9c>, global html = <function html at 0x8ebded4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x8f301a8>
 /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 0x8ebde9c>, 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 0x8e56a7c>, 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 0x8f26d8c>, 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 0x8f26d8c>, 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'