My impression from reading http://llvm.org/docs/DeveloperPolicy.html#clp is that it's intended to be possible to compile programs using llvm and distribute the resulting binaries freely. This does not seem to be the case. I'm assuming no portion of LLVM is included in the compiled binaries, only the runtime library components, so that the compiled binaries are not derived from LLVM. Is that true? The runtime library components state that they are licensed under http://www.opensource.org/licenses/mit-license.php which does not contain a specific clause regarding binary redistribution. This seems to have been interpreted as not placing any restrictions on binary redistribution, i.e. that "all copies" has somehow been interpreted as "copies in source code form". (Different licenses such as Boost, zlib, and bzip2 etc. do not require copyright notices for binary redistributions.) Is it sufficient to include the MIT copyright notices from http://llvm.org/svn/llvm-project/compiler-rt/trunk/LICENSE.TXT / http://llvm.org/svn/llvm-project/libcxx/trunk/LICENSE.TXT for programs compiled with LLVM? (Probably including the respective CREDITS.TXT files as a courtesy, although there doesn't seem to be any actual requirements to indicate that it's for Compiler-RT/libc++) And finally, could it be possible to change the licensing (again) so that no notices would be required? - Tor Gunnar
Other than having you read: http://llvm.org/docs/DeveloperPolicy.html#license your best bet is to consult your lawyer with questions like this. -eric On Jul 5, 2011, at 7:37 AM, Tor Gunnar Houeland wrote:> My impression from reading http://llvm.org/docs/DeveloperPolicy.html#clp > is that it's intended to be possible to compile programs using llvm and > distribute the resulting binaries freely. This does not seem to be the case. > > I'm assuming no portion of LLVM is included in the compiled binaries, > only the runtime library components, so that the compiled binaries are > not derived from LLVM. Is that true? > > The runtime library components state that they are licensed under > http://www.opensource.org/licenses/mit-license.php which does not > contain a specific clause regarding binary redistribution. This seems to > have been interpreted as not placing any restrictions on binary > redistribution, i.e. that "all copies" has somehow been interpreted as > "copies in source code form". (Different licenses such as Boost, zlib, > and bzip2 etc. do not require copyright notices for binary redistributions.) > > Is it sufficient to include the MIT copyright notices from > http://llvm.org/svn/llvm-project/compiler-rt/trunk/LICENSE.TXT / > http://llvm.org/svn/llvm-project/libcxx/trunk/LICENSE.TXT for programs > compiled with LLVM? (Probably including the respective CREDITS.TXT files > as a courtesy, although there doesn't seem to be any actual requirements > to indicate that it's for Compiler-RT/libc++) > > And finally, could it be possible to change the licensing (again) so > that no notices would be required? > > - Tor Gunnar > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Jul 5, 2011, at 7:37 AM, Tor Gunnar Houeland wrote:> My impression from reading http://llvm.org/docs/DeveloperPolicy.html#clp > is that it's intended to be possible to compile programs using llvm and > distribute the resulting binaries freely. This does not seem to be the case. > > I'm assuming no portion of LLVM is included in the compiled binaries, > only the runtime library components, so that the compiled binaries are > not derived from LLVM. Is that true?This is true if you use clang. If you use the LLVM libraries to build other compilers, it depends on that compiler.> The runtime library components state that they are licensed under > http://www.opensource.org/licenses/mit-license.php which does not > contain a specific clause regarding binary redistribution. This seems to > have been interpreted as not placing any restrictions on binary > redistribution, i.e. that "all copies" has somehow been interpreted as > "copies in source code form". (Different licenses such as Boost, zlib, > and bzip2 etc. do not require copyright notices for binary redistributions.) > > Is it sufficient to include the MIT copyright notices from > http://llvm.org/svn/llvm-project/compiler-rt/trunk/LICENSE.TXT / > http://llvm.org/svn/llvm-project/libcxx/trunk/LICENSE.TXT for programs > compiled with LLVM? (Probably including the respective CREDITS.TXT files > as a courtesy, although there doesn't seem to be any actual requirements > to indicate that it's for Compiler-RT/libc++)There is no need to include any notices in the binaries of an application built with clang, or some with some other application that links to the LLVM runtime libraries that are dual licensed.> And finally, could it be possible to change the licensing (again) so > that no notices would be required?Not sure what you mean. -Chris
On 07/06/2011 05:13 AM, Chris Lattner wrote:> On Jul 5, 2011, at 7:37 AM, Tor Gunnar Houeland wrote: >> The runtime library components state that they are licensed under >> http://www.opensource.org/licenses/mit-license.php which does not >> contain a specific clause regarding binary redistribution. This seems to >> have been interpreted as not placing any restrictions on binary >> redistribution, i.e. that "all copies" has somehow been interpreted as >> "copies in source code form". (Different licenses such as Boost, zlib, >> and bzip2 etc. do not require copyright notices for binary redistributions.) >> >> Is it sufficient to include the MIT copyright notices from >> http://llvm.org/svn/llvm-project/compiler-rt/trunk/LICENSE.TXT / >> http://llvm.org/svn/llvm-project/libcxx/trunk/LICENSE.TXT for programs >> compiled with LLVM? (Probably including the respective CREDITS.TXT files >> as a courtesy, although there doesn't seem to be any actual requirements >> to indicate that it's for Compiler-RT/libc++) > There is no need to include any notices in the binaries of an application built with clang, or some with some other application that links to the LLVM runtime libraries that are dual licensed.Thanks for your response. Is this ability to distribute binaries without notices based on your personal assertion that the MIT license used does not require them? (I do not use clang but I assumed you were just clarifying front-end vs back-end, and that it's not because of a guarantee offered to clang users, an automatic inclusion of the notice stuffed inside binaries created using clang, or anything like that?) The license in LICENSE.TXT actually lists the following conditions, which do not exclude binaries: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. (See e.g. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=610257 , http://ideas.opensource.org/ticket/45 , about:license#expat in Firefox compared to about:license#optional-notices , or Help->Acknowledgments in Safari) Is there anything else that would permit distributing the runtime libraries without complying with the LICENSE.TXT conditions? - Tor Gunnar
On Tue, Jul 05, 2011 at 04:37:14PM +0200, Tor Gunnar Houeland wrote:> I'm assuming no portion of LLVM is included in the compiled binaries, > only the runtime library components, so that the compiled binaries are > not derived from LLVM. Is that true?Yes. Code compiled with LLVM is not a derived work of LLVM and as such not subject to the LLVM license.> The runtime library components state that they are licensed under > http://www.opensource.org/licenses/mit-license.php which does not > contain a specific clause regarding binary redistribution. This seems to > have been interpreted as not placing any restrictions on binary > redistribution, i.e. that "all copies" has somehow been interpreted as > "copies in source code form". (Different licenses such as Boost, zlib, > and bzip2 etc. do not require copyright notices for binary redistributions.)If you want a hard answer, you have to ask a copyright lawyer. The normal interpreation is that all copies include binary versions and if you ship compiled code (e.g. compiler_rt), you have to include a copy of the license file or the copyright note in your distribution. The MIT license is generally considered equivalent to the 2-clause BSD license in this regard. Note that the GCC runtime doesn't differ in this regard, even with the exception clause.> Is it sufficient to include the MIT copyright notices from > http://llvm.org/svn/llvm-project/compiler-rt/trunk/LICENSE.TXT / > http://llvm.org/svn/llvm-project/libcxx/trunk/LICENSE.TXT for programs > compiled with LLVM? (Probably including the respective CREDITS.TXT files > as a courtesy, although there doesn't seem to be any actual requirements > to indicate that it's for Compiler-RT/libc++)Yes, if you distribute them with (or in the case of static linkage, as part of) your program.> And finally, could it be possible to change the licensing (again) so > that no notices would be required?I don't think that's likely to happen. Joerg