www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Copyright for Phobos to D Foundation

reply Seb <seb wilzba.ch> writes:
One thing that confused me a lot in the beginning, is that every 
Phobos module has it's own copyright - I am not a lawyer, but it 
sounded for me pretty weird that in theory I could get sued by a 
lot of Oracle-like patent trolls.
I imagine the same effect also for companies when they read a 
different copyright on every module in Phobos.

Now that D foundation finally got its own page [1], it's probably 
time to start this dicussion.
Is it safe to assume that the entire Phobos source code (except 
for the external C modules), belongs to the D foundation?

Ping  WalterBright,  andralex & people with legal experience.

[1] https://github.com/dlang/dlang.org/pull/1311
May 28 2016
next sibling parent reply Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On Saturday, 28 May 2016 at 17:50:46 UTC, Seb wrote:
 Now that D foundation finally got its own page [1], it's 
 probably time to start this dicussion.
 Is it safe to assume that the entire Phobos source code (except 
 for the external C modules), belongs to the D foundation?
No, not at all, and you don't need legal experience to recognize that. Copyright is extremely under-reported for Phobos, in my experience -- authors of significant components of modules do not necessarily add their name to the copyright list or even the author list. But without any paperwork to transfer copyright (and note, not all legal jurisdictions recognize the possibility to do so), copyright still belongs to these authors for the significant parts they have written. Note, having multiple copyright holders isn't necessarily a problem, given that Phobos is Boost-licensed. It tends to be more an issue for copyleft-licensed works (where having multiple copyright holders can e.g. complicate a license upgrade), or in the case where there is a copyright violation and it is convenient to have a single entity that can launch a claim against the violator (this is why e.g. the Free Software Foundation requests copyright transfer for contributions to their major projects). But the Boost license makes any copyright violation claim unlikely -- pretty much the only scenario I can see that flying is if somebody redistributes the source code while stripping off the copyright/license/authorship information.
May 28 2016
parent reply Seb <seb wilzba.ch> writes:
On Saturday, 28 May 2016 at 18:11:16 UTC, Joseph Rushton Wakeling 
wrote:
 Copyright is extremely under-reported for Phobos, in my 
 experience -- authors of significant components of modules do 
 not necessarily add their name to the copyright list or even 
 the author list.
Yes that's a huge problem. I tried to tackle this with this https://github.com/dlang/dlang.org/pull/1307 It's currently pending, so make noise if you find this useful too ;-)
May 28 2016
parent reply Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On Saturday, 28 May 2016 at 18:30:03 UTC, Seb wrote:
 On Saturday, 28 May 2016 at 18:11:16 UTC, Joseph Rushton 
 Wakeling wrote:
 Copyright is extremely under-reported for Phobos, in my 
 experience -- authors of significant components of modules do 
 not necessarily add their name to the copyright list or even 
 the author list.
Yes that's a huge problem. I tried to tackle this with this https://github.com/dlang/dlang.org/pull/1307 It's currently pending, so make noise if you find this useful too ;-)
Er ... not that I wish to dampen your enthusiasm, but don't you have another project to be working on? ;-) Specifically on that PR: I think it's problematic to try auto-adding all contributors to modules, because author (and copyright) credits should generally be given for _significant_ contributions -- authoring functions and data structures, etc. -- not for minor tweaks and fixes. Historically with Phobos, I think there's an extent to which adding one's name to the author list was also taken as an indication of being willing to take some level of active maintenance duty for its contents. (I don't personally agree with that idea, but it was mentioned to me at a point where I was adding my name to the authors list of a module.)
May 28 2016
parent Seb <seb wilzba.ch> writes:
On Saturday, 28 May 2016 at 18:39:20 UTC, Joseph Rushton Wakeling 
wrote:
 On Saturday, 28 May 2016 at 18:30:03 UTC, Seb wrote:
 On Saturday, 28 May 2016 at 18:11:16 UTC, Joseph Rushton 
 Wakeling wrote:
 Copyright is extremely under-reported for Phobos, in my 
 experience -- authors of significant components of modules do 
 not necessarily add their name to the copyright list or even 
 the author list.
Yes that's a huge problem. I tried to tackle this with this https://github.com/dlang/dlang.org/pull/1307 It's currently pending, so make noise if you find this useful too ;-)
Er ... not that I wish to dampen your enthusiasm, but don't you have another project to be working on? ;-) Specifically on that PR: I think it's problematic to try auto-adding all contributors to modules, because author (and copyright) credits should generally be given for _significant_ contributions -- authoring functions and data structures, etc. -- not for minor tweaks and fixes.
Oh this wasn't thought to conflict with the (often not-updated) authors list which is displayed at the top of the page. It was just an attempt to give people (small) credits and motivation. Btw how about moving this part of the conversation to the PR?
 Historically with Phobos, I think there's an extent to which 
 adding one's name to the author list was also taken as an 
 indication of being willing to take some level of active 
 maintenance duty for its contents.  (I don't personally agree 
 with that idea, but it was mentioned to me at a point where I 
 was adding my name to the authors list of a module.)
I agree - there should be a separate maintainer(s) field which are be in charge of merging PRs to the module and can be contacted for questions. It seems to me that this is already the case for many modules, but more on an informal, not documented basis. However I guess having fixed maintainer(s) is too rigid for an open source project, but it would be a great change which also might help to tackle the PR bottleneck problem.
May 28 2016
prev sibling next sibling parent reply Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Sat, 2016-05-28 at 17:50 +0000, Seb via Digitalmars-d wrote:
 One thing that confused me a lot in the beginning, is that every=C2=A0
 Phobos module has it's own copyright - I am not a lawyer, but it=C2=A0
 sounded for me pretty weird that in theory I could get sued by a=C2=A0
 lot of Oracle-like patent trolls.
 I imagine the same effect also for companies when they read a=C2=A0
 different copyright on every module in Phobos.
I am not sure of the situation with GDC since the GCC folk are involved with that =E2=80=93 Iain may be able to take a view on this. Also I am not totally sure of the LDC situation. However I think it would be a very good idea if DMD, LDC, GDC, Phobos, druntime, and Dub and the repository were all copyright the D Foundation, and that all contributions had a copyright share or transfer. Contribution agreements are notoriously complicated, cf. the situation over the Canonical one. However, it is not beyond the bounds of possibility that there is lawyer with licence to operate in the jurisdiction that the D Foundation is incorporated in who could draw up a suitable copyright share/transfer agreement that can be digitally signed. This agreement would then be required for any new contributions. Dealing with retrospective can be difficult but not impossible. Contribution agreements sometimes cause a lot of grief, cf. the original Gradle one as well as the aforementioned Canonical one. However, it can be done and to great effect. The benefit of getting over the problems so as to allow all ownership to at least include D Foundation is unquantifiable per se, but anecdotally is very great. Having a clear central owner of a technology gives organizations confidence that the technology is not going away. I know D has been around over a decade and isn't going away, but organizations (and their lawyers) do not think that way. They want a clear central organization as owner with responsibility. I have seen this with Apache Groovy and SCons over the years. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 29 2016
next sibling parent reply rikki cattermole <rikki cattermole.co.nz> writes:
On 29/05/2016 10:54 PM, Russel Winder via Digitalmars-d wrote:
 On Sat, 2016-05-28 at 17:50 +0000, Seb via Digitalmars-d wrote:
 One thing that confused me a lot in the beginning, is that every
 Phobos module has it's own copyright - I am not a lawyer, but it
 sounded for me pretty weird that in theory I could get sued by a
 lot of Oracle-like patent trolls.
 I imagine the same effect also for companies when they read a
 different copyright on every module in Phobos.
I am not sure of the situation with GDC since the GCC folk are involved with that – Iain may be able to take a view on this. Also I am not totally sure of the LDC situation. However I think it would be a very good idea if DMD, LDC, GDC, Phobos, druntime, and Dub and the repository were all copyright the D Foundation, and that all contributions had a copyright share or transfer. Contribution agreements are notoriously complicated, cf. the situation over the Canonical one. However, it is not beyond the bounds of possibility that there is lawyer with licence to operate in the jurisdiction that the D Foundation is incorporated in who could draw up a suitable copyright share/transfer agreement that can be digitally signed. This agreement would then be required for any new contributions. Dealing with retrospective can be difficult but not impossible. Contribution agreements sometimes cause a lot of grief, cf. the original Gradle one as well as the aforementioned Canonical one. However, it can be done and to great effect. The benefit of getting over the problems so as to allow all ownership to at least include D Foundation is unquantifiable per se, but anecdotally is very great. Having a clear central owner of a technology gives organizations confidence that the technology is not going away. I know D has been around over a decade and isn't going away, but organizations (and their lawyers) do not think that way. They want a clear central organization as owner with responsibility. I have seen this with Apache Groovy and SCons over the years.
Uninstall dmd and have ldc installed. Hey dub defaults to ldc! With a little bit of shell magic no need to uninstall and is easy to work with.
May 29 2016
next sibling parent reply Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Sun, 2016-05-29 at 22:59 +1200, rikki cattermole via Digitalmars-d
wrote:
 [=E2=80=A6]
=C2=A0
Uninstall dmd and have ldc installed. Hey dub defaults to ldc! With a little bit of shell magic no need to uninstall and is easy to=C2=
=A0
 work with.
There is also that ldc and gdc Debian packages cannot both be installed and have gdc work :-( --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 29 2016
parent reply rikki cattermole <rikki cattermole.co.nz> writes:
On 29/05/2016 11:10 PM, Russel Winder via Digitalmars-d wrote:
 On Sun, 2016-05-29 at 22:59 +1200, rikki cattermole via Digitalmars-d
 wrote:
 […]

 Uninstall dmd and have ldc installed. Hey dub defaults to ldc!
 With a little bit of shell magic no need to uninstall and is easy to
 work with.
There is also that ldc and gdc Debian packages cannot both be installed and have gdc work :-(
So you want gdc and ldc to both be default at the same time? Because with --compiler switch, and a little bit of shell magic its not all that hard to switch between them for default and one offs.
May 29 2016
parent Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Sun, 2016-05-29 at 23:43 +1200, rikki cattermole via Digitalmars-d
wrote:
 On 29/05/2016 11:10 PM, Russel Winder via Digitalmars-d wrote:
=C2=A0[=E2=80=A6]
 There is also that ldc and gdc Debian packages cannot both be
 installed
 and have gdc work :-(
=20 So you want gdc and ldc to both be default at the same time? =20 Because with --compiler switch, and a little bit of shell magic its not=C2=A0 all that hard to switch between them for default and one offs.
Sorry I didn't add enough detail: this is not to do with Dub, or SCons, it is to do with Debian packaging, gdc, and ldc. The gdc module search path and the ldc module search path both have the same directory as the primary directory for search even though the install directories are different. Given that gdc and ldc are generally many D versions apart, gdc is trying to use modules from the future and it breaks. Using ldc is fine. So to use gdc you cannot have ldc installed from packages. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 29 2016
prev sibling parent reply Iain Buclaw <ibuclaw gdcproject.org> writes:
On Sunday, 29 May 2016 at 10:59:57 UTC, rikki cattermole wrote:
 Uninstall dmd and have ldc installed.
Until the maintainers fix their problem with not sharing or upstreaming bug fixes and contributions. Then I would not make such endorsements.
May 29 2016
parent reply rikki cattermole <rikki cattermole.co.nz> writes:
On 30/05/2016 4:53 AM, Iain Buclaw wrote:
 On Sunday, 29 May 2016 at 10:59:57 UTC, rikki cattermole wrote:
 Uninstall dmd and have ldc installed.
Until the maintainers fix their problem with not sharing or upstreaming bug fixes and contributions. Then I would not make such endorsements.
I was making the point that dub could handle ldc as the default if dmd is not on the PATH variable.
May 29 2016
parent Martin Nowak <code dawg.eu> writes:
On Monday, 30 May 2016 at 04:42:24 UTC, rikki cattermole wrote:
 I was making the point that dub could handle ldc as the default 
 if dmd is not on the PATH variable.
That's already done since a long time. Since 0.9.25 you can also configure your default compiler. https://github.com/dlang/dub/blob/d642e93b4765970b585e5e3533aa392834593d26/source/dub/dub.d#L225
May 30 2016
prev sibling parent Iain Buclaw <ibuclaw gdcproject.org> writes:
On Sunday, 29 May 2016 at 10:54:34 UTC, Russel Winder wrote:
 On Sat, 2016-05-28 at 17:50 +0000, Seb via Digitalmars-d wrote:
 One thing that confused me a lot in the beginning, is that 
 every
 Phobos module has it's own copyright - I am not a lawyer, but 
 it
 sounded for me pretty weird that in theory I could get sued by 
 a
 lot of Oracle-like patent trolls.
 I imagine the same effect also for companies when they read a
 different copyright on every module in Phobos.
I am not sure of the situation with GDC since the GCC folk are involved with that – Iain may be able to take a view on this. Also I am not totally sure of the LDC situation. However I think it would be a very good idea if DMD, LDC, GDC, Phobos, druntime, and Dub and the repository were all copyright the D Foundation, and that all contributions had a copyright share or transfer.
Licensing the common parts of the frontend and library as under the D Foundation should be no problem. Walter may have to let the FSF know though incase a clause needs changing in the copyright assignments.
May 29 2016
prev sibling next sibling parent reply Dicebot <public dicebot.lv> writes:
On 05/28/2016 08:50 PM, Seb wrote:
 One thing that confused me a lot in the beginning, is that every Phobos
 module has it's own copyright - I am not a lawyer, but it sounded for me
 pretty weird that in theory I could get sued by a lot of Oracle-like
 patent trolls.
 I imagine the same effect also for companies when they read a different
 copyright on every module in Phobos.
 
 Now that D foundation finally got its own page [1], it's probably time
 to start this dicussion.
 Is it safe to assume that the entire Phobos source code (except for the
 external C modules), belongs to the D foundation?
 
 Ping  WalterBright,  andralex & people with legal experience.
 
 [1] https://github.com/dlang/dlang.org/pull/1311
Ideally not a single line of code should be accepted into Phobos without explicit copyright transfer to D Foundation. However, situation is so messy already any small attempts to clean it up make no difference - it would need some major paperwork. From a practical point of view though, you (as a Phobos user) are guarded from abuse by Boost license.
May 29 2016
parent reply Seb <seb wilzba.ch> writes:
On Sunday, 29 May 2016 at 11:10:16 UTC, Dicebot wrote:
 On 05/28/2016 08:50 PM, Seb wrote:
 One thing that confused me a lot in the beginning, is that 
 every Phobos
 module has it's own copyright - I am not a lawyer, but it 
 sounded for me
 pretty weird that in theory I could get sued by a lot of 
 Oracle-like
 patent trolls.
 I imagine the same effect also for companies when they read a 
 different
 copyright on every module in Phobos.
 
 Now that D foundation finally got its own page [1], it's 
 probably time
 to start this dicussion.
 Is it safe to assume that the entire Phobos source code 
 (except for the
 external C modules), belongs to the D foundation?
 
 Ping  WalterBright,  andralex & people with legal experience.
 
 [1] https://github.com/dlang/dlang.org/pull/1311
Ideally not a single line of code should be accepted into Phobos without explicit copyright transfer to D Foundation. However, situation is so messy already any small attempts to clean it up make no difference - it would need some major paperwork. From a practical point of view though, you (as a Phobos user) are guarded from abuse by Boost license.
It could all be made electronically & automated, if it's important to us. See e.g. how the Python Software Foundation handles this: https://www.python.org/psf/contrib Can't we at least make it a requirement for future submissions? So that we can slowly cleanup the mess instead of creating more.
May 29 2016
parent Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Sun, 2016-05-29 at 11:24 +0000, Seb via Digitalmars-d wrote:
 [=E2=80=A6]
=20
 It could all be made electronically & automated, if it's=C2=A0
 important to us.
 See e.g. how the Python Software Foundation handles this:
=20
 https://www.python.org/psf/contrib
=20
 Can't we at least make it a requirement for future submissions?=C2=A0
 So that we can slowly cleanup the mess instead of creating more.
I note that the current Chair of the PSF is a practicing lawyer. Whatever the D Foundation does re copyright and ownership, it should not do it on the basis of what programmers say. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 29 2016
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 05/28/2016 01:50 PM, Seb wrote:
 Ping  WalterBright,  andralex & people with legal experience.
I have none, sorry. We have an attorney at least temporarily to help our nonprofit status application, I can forward precise questions if needed. -- Andrei
May 30 2016
parent Piotrek <piotrek unknownuniverse.net> writes:
On Monday, 30 May 2016 at 16:03:05 UTC, Andrei Alexandrescu wrote:
 On 05/28/2016 01:50 PM, Seb wrote:
 Ping  WalterBright,  andralex & people with legal experience.
I have none, sorry. We have an attorney at least temporarily to help our nonprofit status application, I can forward precise questions if needed. -- Andrei
AFAIK, there is no trick to defend you entirely from trolls (bad guys in general). The Boost and MIT seem to be the best we can do. I would leave any copywrite line as it is. We can always add more holders. Is there any reason to remove the old ones? Piotrek
May 30 2016