www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Yet again, Phobos licensing

reply =?ISO-8859-1?Q?Sigbj=F8rn_Lund_Olsen?= <sigbjorn lundolsen.net> writes:
I still miss a concise license file in the phobos source root directory, 
speciying the general licensing of Phobos where it is not overridden in 
the specific source files, and also states the policy that where 
overriden by file-specific licenses, said licenses should be compatible 
with the general license policy of Phobos (which I understand to be that 
Phobos should be as close to an open BSD-style license allowing anything 
and everything, requiring no external notices).

While this has been stated numerous times by Walter on this newsgroup, 
it has not been put into action, casting severe doubts about the legally 
*actual* licensing (the one that would hold up even in the most 
braindead courts of law on the planet). If we were not to consider the 
posts Walter has made, and only the source contents (as most of us 
(must) do, living in this paranoid age), then the vast majority of 
Phobos is *not* open, and in line with the stated licensing policy. Some 
cases are more injurious than others:

Matthew Wilson / Synesis Software: I would ask that you switch the 
license to a less restrictive one for your contributions, such as a 
BSD-style license without documentation requirements, or LGPL without 
documentation requirements *and* an exception to LGPL infectiveness 
where compile-time source inclusions happen.

Pavel "EvilOne" Minayev: I would ask that you remove the requirement of 
documentation notice. (Having not seen him active on the NG for some 
time, I would ask Walter to e-mail him and ask for this)

"src/phobos/internal/qsort.d": Could Walter please clarify the nature of 
the license granted to Digital Mars, and prove its fitness for inclusion 
in Phobos within the licensing policy. Specifically, I am curious as to 
why the notice refers to "copyright" and "public domain" in the same 
breath, so to speak. The two terms afaik legally exclude each other.

"src/phobos/std/md5.d": Dunno what we can do about this one, except 
perhaps write a new module based on the algorithm but not on the 
original reference source provided by RSA.

"src/phobos/std/random.d": Could Walter please clarify the implications 
of the fact that segments of the code are "Copyright (c) 1997 by Rick 
Booth From "Inner Loops" by Rick Booth, Addison-Wesley".

I would simultaneously encourage Walter / Digital Mars to
remove the modules that aren't under compatible licensing untill they 
are in line with the stated licensing policy of Phobos.

It is all well and commendable that you wish to let DMD / Phobos be used 
freely, and support related open-source developments, but in the case of 
Phobos licensing, the licensing must be explicit and bundled with the 
redistributed source code. The current situation with Phobos (and DMD) 
licensing is bound to scare off many wishing to use D for projects, a 
fact that does not gain anybody. I do no think those people mentioned 
above *wish* to use the current licensing situation malignantly, but 
that is only an assumption, and in some parts of the world assumptions 
don't hold up in court.

I believe it is *imperative* that this is resolved, and as soon as 
possible. To help with this, I have compiled a list of every file in the 
DMD/Phobos 0.92 source distribution, and their respective licenses. It 
does not cover the cases where open licenses rely on source covered by 
closed ones. I think every "open" file in there possibly does, with the 
possible exception of the zlib headers.

So, with no further ado:

src/phobos/

crc32.d
	by Pavel "EvilOne" Minayev
	Restrictive "Open" license: requires documentation notice

errno.c
linux.mak
object.d
win32.mak
	no license/copyright notice
	(by Digital Mars / Walter Bright assumed)

gcstats.d
unittest.d
	by Digital Mars / Walter Bright
	"All rights reserved"

minit.obj
	binary
	(by Digital Mars / Walter Bright assumed)

src/phobos/etc/c

zlib.d
	by Jean-loup Gailly and Mark Adler
	modified by Walter Bright
	Open license

src/phobos/etc/c/recls/*.*
src/phobos/etc/c/stlsoft/*.*
	by Synesis Software / Matthew Wilson
	Dubious license:

	"Redistribution and use in source and binary forms, with or
	without modification, are permitted provided that the following
	conditions are met:"
	
	(...)
	
	"(ii) Any derived versions of this software (howsoever modified)
	remain the sole property of Synesis Software."

src/phobos/etc/c/zlib

*.*
	by Jean-loup Gailly and Mark Adler
	Open license

src/phobos/internal/

aApply.d
	by Digital Mars / Walter Bright

adi.d
alloca.d
critical.c
deh.c
deh2.d
llmath.d
minit.asm
monitor.c
obj.d
aaA.d
gc/gc.d
gc/gcbits.d
gc/gclinux.d
gc/gcx.d
gc/testgc.d
gc/win32.d
	by Digital Mars / Walter Bright
	"All rights reserved"

arraycast.d
arraycat.d
cast.d
cmath2.d
complex.c
dmain.d
invariant.d
mars.h
memset.d
switch.d
gc/linux.mak
gc/win32.mak
	no license/copyright notice
	(by Digital Mars / Walter Bright assumed)

qsort.d
	"Copyright Prototronics, 1987"
	(...)
	"Licensed to Digital Mars.

	June 11, 1987 from Ray Gardner's
	Denver, Colorado) public domain version"

src/phobos/std

array.d
asserterror.d
compiler.d
moduleinit.d
stdint.d
switcherr.d
system.d
uri.d
zip.d
zlib.d
c/process.d
c/stdio.d
c/stdlib.d
c/time.d
c/linux/linux.d
c/windows/com.d
c/windows/windows.d
typeinfo/*.*
windows/iunknown.d
	no license/copyright notice
	(by Digital Mars / Walter Bright assumed)

conv.d
ctype.d
date.d
dateparse.d
file.d
gc.d
intrinsic.d
math.d
outbuffer.d
outofmemory.d
path.d
process.d
regexp.d
string.d
syserror.d
thread.d
utf.d
c/math.d
c/linuxextern.d
	by Digital Mars / Walter Bright
	"All rights reserved"

base64.d
socket.d
socketstream.d
	Christopher E. Miller
	Open license

loader.d
recls.d
windows/registry.d
	by Synesis Software / Matthew Wilson
	Dubious license:

	"Redistribution and use in source and binary forms, with or
	without modification, are permitted provided that the following
	conditions are met:"
	
	(...)
	
	"(ii) Any derived versions of this software (howsoever modified)
	remain the sole property of Synesis Software."

math2.d
stream.d
	by Pavel "EvilOne" Minayev
	Restrictive "Open" license: requires documentation notice

md5.d
	by RSA Data Security, Inc.
	Restrictive "Open" license: requires documentation notice

mmfile.d
	by Digital Mars / Walter Bright and Synesis Software / Matthew Wilson
	"All rights reserved"

random.d
	by Digital Mars / Walter Bright and Rick Booth
	Dubious license:

	// Segments of the code in this file Copyright (c) 1997 by Rick Booth
	// From "Inner Loops" by Rick Booth, Addison-Wesley

c/stdarg.d
	by Hauke Duden and Walter Bright
	Public domain
Jun 22 2004
parent "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
Walter's indicated several times that all license issues will be sorted prior to
the release of 1.0. AFAIK, that remains the case.

"Sigbjørn Lund Olsen" <sigbjorn lundolsen.net> wrote in message
news:cba6ci$d71$1 digitaldaemon.com...
 I still miss a concise license file in the phobos source root directory,
 speciying the general licensing of Phobos where it is not overridden in
 the specific source files, and also states the policy that where
 overriden by file-specific licenses, said licenses should be compatible
 with the general license policy of Phobos (which I understand to be that
 Phobos should be as close to an open BSD-style license allowing anything
 and everything, requiring no external notices).

 While this has been stated numerous times by Walter on this newsgroup,
 it has not been put into action, casting severe doubts about the legally
 *actual* licensing (the one that would hold up even in the most
 braindead courts of law on the planet). If we were not to consider the
 posts Walter has made, and only the source contents (as most of us
 (must) do, living in this paranoid age), then the vast majority of
 Phobos is *not* open, and in line with the stated licensing policy. Some
 cases are more injurious than others:

 Matthew Wilson / Synesis Software: I would ask that you switch the
 license to a less restrictive one for your contributions, such as a
 BSD-style license without documentation requirements, or LGPL without
 documentation requirements *and* an exception to LGPL infectiveness
 where compile-time source inclusions happen.

 Pavel "EvilOne" Minayev: I would ask that you remove the requirement of
 documentation notice. (Having not seen him active on the NG for some
 time, I would ask Walter to e-mail him and ask for this)

 "src/phobos/internal/qsort.d": Could Walter please clarify the nature of
 the license granted to Digital Mars, and prove its fitness for inclusion
 in Phobos within the licensing policy. Specifically, I am curious as to
 why the notice refers to "copyright" and "public domain" in the same
 breath, so to speak. The two terms afaik legally exclude each other.

 "src/phobos/std/md5.d": Dunno what we can do about this one, except
 perhaps write a new module based on the algorithm but not on the
 original reference source provided by RSA.

 "src/phobos/std/random.d": Could Walter please clarify the implications
 of the fact that segments of the code are "Copyright (c) 1997 by Rick
 Booth From "Inner Loops" by Rick Booth, Addison-Wesley".

 I would simultaneously encourage Walter / Digital Mars to
 remove the modules that aren't under compatible licensing untill they
 are in line with the stated licensing policy of Phobos.

 It is all well and commendable that you wish to let DMD / Phobos be used
 freely, and support related open-source developments, but in the case of
 Phobos licensing, the licensing must be explicit and bundled with the
 redistributed source code. The current situation with Phobos (and DMD)
 licensing is bound to scare off many wishing to use D for projects, a
 fact that does not gain anybody. I do no think those people mentioned
 above *wish* to use the current licensing situation malignantly, but
 that is only an assumption, and in some parts of the world assumptions
 don't hold up in court.

 I believe it is *imperative* that this is resolved, and as soon as
 possible. To help with this, I have compiled a list of every file in the
 DMD/Phobos 0.92 source distribution, and their respective licenses. It
 does not cover the cases where open licenses rely on source covered by
 closed ones. I think every "open" file in there possibly does, with the
 possible exception of the zlib headers.

 So, with no further ado:

 src/phobos/

 crc32.d
 by Pavel "EvilOne" Minayev
 Restrictive "Open" license: requires documentation notice

 errno.c
 linux.mak
 object.d
 win32.mak
 no license/copyright notice
 (by Digital Mars / Walter Bright assumed)

 gcstats.d
 unittest.d
 by Digital Mars / Walter Bright
 "All rights reserved"

 minit.obj
 binary
 (by Digital Mars / Walter Bright assumed)

 src/phobos/etc/c

 zlib.d
 by Jean-loup Gailly and Mark Adler
 modified by Walter Bright
 Open license

 src/phobos/etc/c/recls/*.*
 src/phobos/etc/c/stlsoft/*.*
 by Synesis Software / Matthew Wilson
 Dubious license:

 "Redistribution and use in source and binary forms, with or
 without modification, are permitted provided that the following
 conditions are met:"

 (...)

 "(ii) Any derived versions of this software (howsoever modified)
 remain the sole property of Synesis Software."

 src/phobos/etc/c/zlib

 *.*
 by Jean-loup Gailly and Mark Adler
 Open license

 src/phobos/internal/

 aApply.d
 by Digital Mars / Walter Bright

 adi.d
 alloca.d
 critical.c
 deh.c
 deh2.d
 llmath.d
 minit.asm
 monitor.c
 obj.d
 aaA.d
 gc/gc.d
 gc/gcbits.d
 gc/gclinux.d
 gc/gcx.d
 gc/testgc.d
 gc/win32.d
 by Digital Mars / Walter Bright
 "All rights reserved"

 arraycast.d
 arraycat.d
 cast.d
 cmath2.d
 complex.c
 dmain.d
 invariant.d
 mars.h
 memset.d
 switch.d
 gc/linux.mak
 gc/win32.mak
 no license/copyright notice
 (by Digital Mars / Walter Bright assumed)

 qsort.d
 "Copyright Prototronics, 1987"
 (...)
 "Licensed to Digital Mars.

 June 11, 1987 from Ray Gardner's
 Denver, Colorado) public domain version"

 src/phobos/std

 array.d
 asserterror.d
 compiler.d
 moduleinit.d
 stdint.d
 switcherr.d
 system.d
 uri.d
 zip.d
 zlib.d
 c/process.d
 c/stdio.d
 c/stdlib.d
 c/time.d
 c/linux/linux.d
 c/windows/com.d
 c/windows/windows.d
 typeinfo/*.*
 windows/iunknown.d
 no license/copyright notice
 (by Digital Mars / Walter Bright assumed)

 conv.d
 ctype.d
 date.d
 dateparse.d
 file.d
 gc.d
 intrinsic.d
 math.d
 outbuffer.d
 outofmemory.d
 path.d
 process.d
 regexp.d
 string.d
 syserror.d
 thread.d
 utf.d
 c/math.d
 c/linuxextern.d
 by Digital Mars / Walter Bright
 "All rights reserved"

 base64.d
 socket.d
 socketstream.d
 Christopher E. Miller
 Open license

 loader.d
 recls.d
 windows/registry.d
 by Synesis Software / Matthew Wilson
 Dubious license:

 "Redistribution and use in source and binary forms, with or
 without modification, are permitted provided that the following
 conditions are met:"

 (...)

 "(ii) Any derived versions of this software (howsoever modified)
 remain the sole property of Synesis Software."

 math2.d
 stream.d
 by Pavel "EvilOne" Minayev
 Restrictive "Open" license: requires documentation notice

 md5.d
 by RSA Data Security, Inc.
 Restrictive "Open" license: requires documentation notice

 mmfile.d
 by Digital Mars / Walter Bright and Synesis Software / Matthew Wilson
 "All rights reserved"

 random.d
 by Digital Mars / Walter Bright and Rick Booth
 Dubious license:

 // Segments of the code in this file Copyright (c) 1997 by Rick Booth
 // From "Inner Loops" by Rick Booth, Addison-Wesley

 c/stdarg.d
 by Hauke Duden and Walter Bright
 Public domain
Jun 22 2004