Jump to page: 1 2
Thread overview
[D-runtime] druntime license and copypasta bugs
Sep 01, 2011
Walter Bright
Sep 01, 2011
Jonathan M Davis
Sep 02, 2011
Sean Kelly
Sep 03, 2011
Jonathan M Davis
Sep 03, 2011
Sean Kelly
Sep 03, 2011
Jonathan M Davis
Sep 05, 2011
Sean Kelly
Sep 04, 2011
David Nadlinger
Sep 05, 2011
Sean Kelly
Sep 02, 2011
Sean Kelly
Sep 02, 2011
Walter Bright
September 01, 2011
Currently, the template is:

--------------------------------------------------
/**
  * The runtime module exposes information specific to the D runtime code.
  *
  * Copyright: Copyright Sean Kelly 2005 - 2009.
  * License:   $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
  * Authors:   Sean Kelly
  * Source:    $(DRUNTIMESRC core/_runtime.d)
  */

/*          Copyright Sean Kelly 2005 - 2009.
  * Distributed under the Boost Software License, Version 1.0.
  *    (See accompanying file LICENSE_1_0.txt or copy at
  *          http://www.boost.org/LICENSE_1_0.txt)
  */
----------------------------------------------------

This is pointlessly redundant. It should be:

-------------------------------------------------------

/**
  * The runtime module exposes information specific to the D runtime code.
  *
  * Copyright: Copyright Sean Kelly 2005 - 2011.
  * License: Distributed under the Boost Software License, Version 1.0.
  *    (See accompanying file LICENSE_1_0.txt or copy at
  *          $(LINK http://www.boost.org/LICENSE_1_0.txt))
  * Authors:   Sean Kelly
  * Source:    $(DRUNTIMESRC core/_runtime.d)
  */
----------------------------------------------------------

Next, new files like src/core/sys/posix/sys/un.d have:

------------------------------------------------------------
/**
  * D header file for POSIX.
  *
  * Copyright: Copyright Sean Kelly 2005 - 2009.
  * License: <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
  * Authors:   Sean Kelly
  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004
Edition
  */

/*          Copyright Sean Kelly 2005 - 2009.
  * Distributed under the Boost Software License, Version 1.0.
  *    (See accompanying file LICENSE_1_0.txt or copy at
  *          http://www.boost.org/LICENSE_1_0.txt)
  */
-------------------------------------------------------------------

which is missing the source file link, and the copyright dates are obviously wrong.
September 01, 2011
On Thursday, September 01, 2011 16:38 Walter Bright wrote:
> Currently, the template is:
> 
> --------------------------------------------------
> /**
> * The runtime module exposes information specific to the D runtime code.
> *
> * Copyright: Copyright Sean Kelly 2005 - 2009.
> * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License
> 1.0) * Authors: Sean Kelly
> * Source: $(DRUNTIMESRC core/_runtime.d)
> */
> 
> /* Copyright Sean Kelly 2005 - 2009.
> * Distributed under the Boost Software License, Version 1.0.
> * (See accompanying file LICENSE_1_0.txt or copy at
> * http://www.boost.org/LICENSE_1_0.txt)
> */
> ----------------------------------------------------
> 
> This is pointlessly redundant. It should be:
> 
> -------------------------------------------------------
> 
> /**
> * The runtime module exposes information specific to the D runtime code.
> *
> * Copyright: Copyright Sean Kelly 2005 - 2011.
> * License: Distributed under the Boost Software License, Version 1.0.
> * (See accompanying file LICENSE_1_0.txt or copy at
> * $(LINK http://www.boost.org/LICENSE_1_0.txt))
> * Authors: Sean Kelly
> * Source: $(DRUNTIMESRC core/_runtime.d)
> */
> ----------------------------------------------------------

Actually, it doesn't even need to be that verbose.

/**
 * The runtime module exposes information specific to the D runtime code.
 *
 * Copyright: Copyright 2005 - 2011
 * License: $(WEB www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
 * Authors: Sean Kelly
 * Source: $(DRUNTIMESRC core/_runtime.d)
 */

That's how a lot of the Phobos modules do it.

- Jonathan M Davis
September 02, 2011
On Sep 1, 2011, at 4:38 PM, Walter Bright wrote:

> Currently, the template is:
> 
> --------------------------------------------------
> /**
> * The runtime module exposes information specific to the D runtime code.
> *
> * Copyright: Copyright Sean Kelly 2005 - 2009.
> * License:   $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
> * Authors:   Sean Kelly
> * Source:    $(DRUNTIMESRC core/_runtime.d)
> */
> 
> /*          Copyright Sean Kelly 2005 - 2009.
> * Distributed under the Boost Software License, Version 1.0.
> *    (See accompanying file LICENSE_1_0.txt or copy at
> *          http://www.boost.org/LICENSE_1_0.txt)
> */
> ----------------------------------------------------
> 
> This is pointlessly redundant. It should be:
> 
> -------------------------------------------------------
> 
> /**
> * The runtime module exposes information specific to the D runtime code.
> *
> * Copyright: Copyright Sean Kelly 2005 - 2011.
> * License: Distributed under the Boost Software License, Version 1.0.
> *    (See accompanying file LICENSE_1_0.txt or copy at
> *          $(LINK http://www.boost.org/LICENSE_1_0.txt))
> * Authors:   Sean Kelly
> * Source:    $(DRUNTIMESRC core/_runtime.d)
> */
> ----------------------------------------------------------

That's fine with me.  The current format is simply what the Boost license docs require, verbatim.  I didn't want to change it out of ignorance regarding the actual legal requirements.


> Next, new files like src/core/sys/posix/sys/un.d have:
> 
> ------------------------------------------------------------
> /**
> * D header file for POSIX.
> *
> * Copyright: Copyright Sean Kelly 2005 - 2009.
> * License: <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
> * Authors:   Sean Kelly
> * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
> */
> 
> /*          Copyright Sean Kelly 2005 - 2009.
> * Distributed under the Boost Software License, Version 1.0.
> *    (See accompanying file LICENSE_1_0.txt or copy at
> *          http://www.boost.org/LICENSE_1_0.txt)
> */
> -------------------------------------------------------------------
> 
> which is missing the source file link, and the copyright dates are obviously wrong.

Sounds like those files haven't been updated recently.  Than can be taken care of.
September 02, 2011
On Sep 1, 2011, at 4:46 PM, Jonathan M Davis wrote:
> 
> Actually, it doesn't even need to be that verbose.
> 
> /**
> * The runtime module exposes information specific to the D runtime code.
> *
> * Copyright: Copyright 2005 - 2011
> * License: $(WEB www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
> * Authors: Sean Kelly
> * Source: $(DRUNTIMESRC core/_runtime.d)
> */

The copyright owner's name must be in the copyright line.  A module may have multiple authors, and it's possible (though unlikely) that none of those authors are the copyright owner.
September 02, 2011

On 9/2/2011 10:39 AM, Sean Kelly wrote:
> On Sep 1, 2011, at 4:38 PM, Walter Bright wrote:
>
>> Currently, the template is:
>>
>> --------------------------------------------------
>> /**
>> * The runtime module exposes information specific to the D runtime code.
>> *
>> * Copyright: Copyright Sean Kelly 2005 - 2009.
>> * License:   $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
>> * Authors:   Sean Kelly
>> * Source:    $(DRUNTIMESRC core/_runtime.d)
>> */
>>
>> /*          Copyright Sean Kelly 2005 - 2009.
>> * Distributed under the Boost Software License, Version 1.0.
>> *    (See accompanying file LICENSE_1_0.txt or copy at
>> *          http://www.boost.org/LICENSE_1_0.txt)
>> */
>> ----------------------------------------------------
>>
>> This is pointlessly redundant. It should be:
>>
>> -------------------------------------------------------
>>
>> /**
>> * The runtime module exposes information specific to the D runtime code.
>> *
>> * Copyright: Copyright Sean Kelly 2005 - 2011.
>> * License: Distributed under the Boost Software License, Version 1.0.
>> *    (See accompanying file LICENSE_1_0.txt or copy at
>> *          $(LINK http://www.boost.org/LICENSE_1_0.txt))
>> * Authors:   Sean Kelly
>> * Source:    $(DRUNTIMESRC core/_runtime.d)
>> */
>> ----------------------------------------------------------
> That's fine with me.  The current format is simply what the Boost license docs require, verbatim.  I didn't want to change it out of ignorance regarding the actual legal requirements.

I agree with sticking verbatim to their requirements, but the change I suggest does that.
September 03, 2011
On Friday, September 02, 2011 10:40:31 Sean Kelly wrote:
> On Sep 1, 2011, at 4:46 PM, Jonathan M Davis wrote:
> > Actually, it doesn't even need to be that verbose.
> > 
> > /**
> > * The runtime module exposes information specific to the D runtime code.
> > *
> > * Copyright: Copyright 2005 - 2011
> > * License: $(WEB www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
> > * Authors: Sean Kelly
> > * Source: $(DRUNTIMESRC core/_runtime.d)
> > */
> 
> The copyright owner's name must be in the copyright line.  A module may have multiple authors, and it's possible (though unlikely) that none of those authors are the copyright owner.

That's easy enough to fix, but who's the copyright owner if not the authors? Digital Mars?

- Jonathan M Davis
September 03, 2011
For runtime and Phobos I think ts always the original author.  Not so with GCC code though, for example.

Sent from my iPhone

On Sep 3, 2011, at 11:31 AM, Jonathan M Davis <jmdavisProg at gmx.com> wrote:

> On Friday, September 02, 2011 10:40:31 Sean Kelly wrote:
>> On Sep 1, 2011, at 4:46 PM, Jonathan M Davis wrote:
>>> Actually, it doesn't even need to be that verbose.
>>> 
>>> /**
>>> * The runtime module exposes information specific to the D runtime code.
>>> *
>>> * Copyright: Copyright 2005 - 2011
>>> * License: $(WEB www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
>>> * Authors: Sean Kelly
>>> * Source: $(DRUNTIMESRC core/_runtime.d)
>>> */
>> 
>> The copyright owner's name must be in the copyright line.  A module may have multiple authors, and it's possible (though unlikely) that none of those authors are the copyright owner.
> 
> That's easy enough to fix, but who's the copyright owner if not the authors? Digital Mars?
> 
> - Jonathan M Davis
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime
September 03, 2011
On Saturday, September 03, 2011 13:47:53 Sean Kelly wrote:
> For runtime and Phobos I think ts always the original author.  Not so with GCC code though, for example.

Grepping Phobos, it's a mixture. Quite a few list Digital Mars. Some are listed as copyrighted "by authors." Others list specific people. It does make me wonder if we should have some sort of official policy on it.

- Jonathan M Davis
September 04, 2011
On Sep 3, 2011, at 11:31 AM, Jonathan M Davis<jmdavisProg at gmx.com>  wrote:
 > That's easy enough to fix, but who's the copyright owner if not the
authors?
 > Digital Mars?

On 9/3/11 10:47 PM, Sean Kelly wrote:
> For runtime and Phobos I think ts always the original author.  Not so with GCC code though, for example.


First, I am not a lawyer, and indeed it would be great if we could get advise from an actual copyright expert on the subject. But still, a few ideas from my experience with other open source projects, like KDE:

As far as I know, there is no such thing as a single copyright holder or ?original author? per source file, but instead all contributors retain the rights for the code they submit. Thus, the actual copyright for a source file in question is typically scattered among several authors. Because of this, e.g. files from the KDE project includes a copyright line for all authors, like:

Copyright <year>-<year> <name of first author> <first e-mail> Copyright <year> <name of second author> <second e-mail>

If I understand the situation correctly, requiring a single copyright line resp. making a difference between ?Authors:? and ?Copyright:? makes no sense for typical open source projects, but it could well be I am wrong here.

While we are at it, easily being able to reconstruct the ownership status and contact all the authors is one of the key reasons behind Git recording name and email from both author and committer. This obviously doesn't obviate any legal requirements for copyright notices or similar, but can be helpful in tracing down potential claims.

By the way, the copyright being split among many authors is the reason why it near impossible for larger projects (e.g. the Linux kernel) to change the license or to pursue license violations, because it would require obtaining approval from all the people who ever contributed a patch. For this reason, some projects require all contributors to assign their copyright to some central legal entity, usually a nonprofit.

David
September 05, 2011
On Sep 3, 2011, at 2:22 PM, Jonathan M Davis wrote:

> On Saturday, September 03, 2011 13:47:53 Sean Kelly wrote:
>> For runtime and Phobos I think ts always the original author.  Not so with GCC code though, for example.
> 
> Grepping Phobos, it's a mixture. Quite a few list Digital Mars. Some are listed as copyrighted "by authors." Others list specific people. It does make me wonder if we should have some sort of official policy on it.

I think there must be some identifiable copyright holder, though since everything is under the Boost license I don't think it's necessary for everyone to sign rights to Digital Mars or anything like that.
« First   ‹ Prev
1 2