discuss: Thread: Documentation licensing


[<<] [<] Page 1 of 7 [>] [>>]
Subject: Documentation licensing
From: Chris Riddoch ####@####.####
Date: 23 May 2002 17:29:11 -0000
Message-Id: <87k7pulqhu.fsf@peakpeak.com>

Hi, everyone.

After briefly skimming the recent threads on document licensing
issues, a general issue comes to mind.

I'm sure someone has a simple answer that demonstrates the needs met
by the current system rather than another, but why exactly are the
copyrights of HOWTOs and other documents not simply signed over to the
LDP?

The LDP could make modifications to documents where the original
author has disappeared (a frequent issue, it seems) and could have its
own policy for the republishing of documents which would be consistent
for everything in the LDP.  The Debian issue could have been solved
quickly and easily.  Alternatively, could LDP documents fall under
work-for-hire doctrine?

In short, is this at all a valid answer to to these problems?  No
flames, please. It's just a question.

-- 
Chris Riddoch       | epistemological
####@####.#### | humility
Subject: Re: Documentation licensing
From: David Merrill ####@####.####
Date: 23 May 2002 19:21:00 -0000
Message-Id: <20020523182627.GD1912@lupercalia.net>

On Thu, May 23, 2002 at 11:32:13AM -0600, Chris Riddoch wrote:
> Hi, everyone.
> 
> After briefly skimming the recent threads on document licensing
> issues, a general issue comes to mind.
> 
> I'm sure someone has a simple answer that demonstrates the needs met
> by the current system rather than another, but why exactly are the
> copyrights of HOWTOs and other documents not simply signed over to the
> LDP?

We do not yet have any legal entity, so cannot own copyright. Once we
have a legal organization set up, which we are working on, then we
will have to discuss it as a policy issue.

IMO, all we need is the doc to be under a Free license, but if the
author wants to give us copyright that would be also okay.

-- 
David C. Merrill                         http://www.lupercalia.net
Linux Documentation Project                   ####@####.####
Lead Developer                                 http://www.tldp.org

Dying in America
At the end of the millennium
We're dying in America
To come into our own
And when you're dying in America
At the end of the millennium
You're not alone
Subject: Re: Documentation licensing
From: David Lawyer ####@####.####
Date: 23 May 2002 23:58:30 -0000
Message-Id: <20020523135501.B545@lafn.org>

On Thu, May 23, 2002 at 11:32:13AM -0600, Chris Riddoch wrote:
> Hi, everyone.
> 
> After briefly skimming the recent threads on document licensing
> issues, a general issue comes to mind.
> 
> I'm sure someone has a simple answer that demonstrates the needs met
> by the current system rather than another, but why exactly are the
> copyrights of HOWTOs and other documents not simply signed over to the
> LDP?

Even if the LDP were a legal entity and could own copyrights, there
might still be some danger if LDP owned the copyrights.  Suppose LDP
was taken over by people that wanted to commercialize on documentation
and sell it?  Takeovers can be insidious where people volunteer to help
the LDP, pretending to support free software, and then reveal their true
intentions and commercialize it.  So free documentation needs to have a
free license to keep it free.  Even in this case, the copyright owner
can always change the license on a new version.  The old version remains
under it's original license.

Also free documentation needs a license to allow copying and
distribution of it.  Otherwise it would need to be public domain in
order to be able to copy and distribute it.  The problem with public
domain is that anyone can modify it and then copyright the modified work
with no license at all.

			David Lawyer
Subject: Re: Documentation licensing
From: David Merrill ####@####.####
Date: 24 May 2002 00:40:56 -0000
Message-Id: <20020524013308.GI13311@lupercalia.net>

On Thu, May 23, 2002 at 01:55:02PM -0700, David Lawyer wrote:
> On Thu, May 23, 2002 at 11:32:13AM -0600, Chris Riddoch wrote:
> > Hi, everyone.
> > 
> > After briefly skimming the recent threads on document licensing
> > issues, a general issue comes to mind.
> > 
> > I'm sure someone has a simple answer that demonstrates the needs met
> > by the current system rather than another, but why exactly are the
> > copyrights of HOWTOs and other documents not simply signed over to the
> > LDP?
> 
> Even if the LDP were a legal entity and could own copyrights, there
> might still be some danger if LDP owned the copyrights.  Suppose LDP
> was taken over by people that wanted to commercialize on documentation
> and sell it?  Takeovers can be insidious where people volunteer to help
> the LDP, pretending to support free software, and then reveal their true
> intentions and commercialize it.  So free documentation needs to have a
> free license to keep it free.  Even in this case, the copyright owner
> can always change the license on a new version.  The old version remains
> under it's original license.

That is a good point, David, and I hadn't thought of it. If an author
wants to reassign copyright to someone who can be always counted on to
keep it Free, they might consider the FSF, though.

And honestly I do not see the LDP ever commercializing anything for
profit. Yes, a random individual could work their way in without
showing their true colors, but it would take a majority of the LDP
board to do such a thing, and we all know each other well enough that
we should be comfortable the majority is strongly opposed to such
things.

Now, selling CDs for $5.00 for the LDP, which can also be downloaded
for free, I would be fine with. Selling things is not wrong, even if
they are Free! But turning it proprietary in the licensing I would
never support. Nor would the board of the LDP, Inc., I am sure.

-- 
David C. Merrill                         http://www.lupercalia.net
Linux Documentation Project                   ####@####.####
Lead Developer                                 http://www.tldp.org

The opposite of War isn't Peace. It's Creation!
	-- RENT

Subject: Re: Documentation licensing
From: ####@####.####
Date: 24 May 2002 15:46:27 -0000
Message-Id: <20020524094523.B25024@trib.com>

On Thu, May 23, 2002 at 01:26:27PM -0500, David Merrill wrote:
> On Thu, May 23, 2002 at 11:32:13AM -0600, Chris Riddoch wrote:
> > Hi, everyone.
> > 
> > After briefly skimming the recent threads on document licensing
> > issues, a general issue comes to mind.
> > 
> > I'm sure someone has a simple answer that demonstrates the needs met
> > by the current system rather than another, but why exactly are the
> > copyrights of HOWTOs and other documents not simply signed over to the
> > LDP?
> 
> We do not yet have any legal entity, so cannot own copyright. Once we
> have a legal organization set up, which we are working on, then we
> will have to discuss it as a policy issue.

As I understand the law (not being an attorney), the LDP is an
"unincorporated association", and is perfectly capable of holding
copyrights and otherwise acting as a legal entity.

Perhaps the FSF could suggest an attorney to deal with these issues?

-- 

Charles Curley                  /"\    ASCII Ribbon Campaign
Looking for fine software       \ /    Respect for open standards
and/or web pages?                X     No HTML/RTF in email
http://w3.trib.com/~ccurley     / \    No M$ Word docs in email

--> -->
 
 
<type 'exceptions.IOError'>
Python 2.5.2: /usr/bin/python
Mon Jul 1 16:17:55 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 0x928dc6c>
 /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 0x92a6aac>, 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 0x928d1ec>, 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'Chris Riddoch', 'authorid': 'ghfchikmjmfgednkmncn', 'date': '23 May 2002 17:29:11 -0000', 'month': 200205, 'msgnum': 3170, 'subject': u'Documentation licensing', 'threadid': 'jicghldafngijibhnajo', 'timestamp': 1022174951.0}, {'author': u'David Merrill', 'authorid': 'lagflfnealnmhgbpnfbe', 'date': '23 May 2002 19:21:00 -0000', 'month': 200205, 'msgnum': 3173, 'subject': u'Re: Documentation licensing', 'threadid': 'jicghldafngijibhnajo', 'timestamp': 1022181660.0}, {'author': u'David Lawyer', 'authorid': 'claiepedajakajhoajgg', 'date': '23 May 2002 23:58:30 -0000', 'month': 200205, 'msgnum': 3175, 'subject': u'Re: Documentation licensing', 'threadid': 'jicghldafngijibhnajo', 'timestamp': 1022198310.0}, {'author': u'David Merrill', 'authorid': 'lagflfnealnmhgbpnfbe', 'date': '24 May 2002 00:40:56 -0000', 'month': 200205, 'msgnum': 3177, 'subject': u'Re: Documentation licensing', 'threadid': 'jicghldafngijibhnajo', 'timestamp': 1022200856.0}, {'author': u'ccurley.trib.com', 'authorid': 'hegpelcedccjdcfihhmb', 'date': '24 May 2002 15:46:27 -0000', 'month': 200205, 'msgnum': 3179, 'subject': u'Re: Documentation licensing', 'threadid': 'jicghldafngijibhnajo', 'timestamp': 1022255187.0}, {'author': u'David Merrill', 'authorid': 'lagflfnealnmhgbpnfbe', 'date': '24 May 2002 16:38:12 -0000', 'month': 200205, 'msgnum': 3180, 'subject': u'Re: Documentation licensing', 'threadid': 'jicghldafngijibhnajo', 'timestamp': 1022258292.0}, {'author': u'hayward.slothmud.org', 'authorid': 'opkmkoedmfcdgegfkkkc', 'date': '24 May 2002 16:40:42 -0000', 'month': 200205, 'msgnum': 3181, 'subject': u'Re: Documentation licensing', 'threadid': 'jicghldafngijibhnajo', 'timestamp': 1022258442.0}, {'author': u'Rahul Sundaram', 'authorid': 'ihpahginmljdgbhooeje', 'date': '6 Apr 2004 18:21:04 -0000', 'month': 200404, 'msgnum': 6964, 'subject': u'Documentation Licensing', 'threadid': 'jicghldafngijibhnajo', 'timestamp': 1081275664.0}, {'author': u'Rick Moen', 'authorid': 'pkdleajpekbbaookkgbd', 'date': '6 Apr 2004 19:24:16 -0000', 'month': 200404, 'msgnum': 6965, 'subject': u'Re: Documentation Licensing', 'threadid': 'jicghldafngijibhnajo', 'timestamp': 1081279456.0}, {'author': u'Rahul Sundaram', 'authorid': 'ihpahginmljdgbhooeje', 'date': '6 Apr 2004 21:35:35 -0000', 'month': 200404, 'msgnum': 6966, 'subject': u'Re: Documentation Licensing', 'threadid': 'jicghldafngijibhnajo', 'timestamp': 1081287335.0}], peritem=<function <lambda> at 0x92a679c>)
  128                 write(template % ctxt)
  129                 if peritem:
  130                         peritem()
  131                 ctxt[ROW] += 1
  132 
peritem = <function <lambda> at 0x92a679c>
 /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 0x928d1ec>, 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=3179)
  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 0x928d1b4>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x93093ac>
 /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 0x93093ac>, 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 0x928d1b4>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x930914c>
 /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 0x930914c>, 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 0x928d144>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x930914c>
 /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 0x930914c>)
  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 0x9285e9c>, global html = <function html at 0x9285ed4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x930a448>
 /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 0x9285e9c>, 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 0x921ea7c>, 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 0x9303dec>, 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 0x9303dec>, 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'