June 22, 2004
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
June 23, 2004
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