
Hi, I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files. //===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Is the LLVM License (http://llvm.org/docs/DeveloperPolicy.html#license) compatible with the Boost Software License? Can we include files with this comment on a Boost library? Best, _____________________ Vicente Juan Botet Escribá http://viboes.blogspot.com/

On Sep 27, 2010, at 3:17 PM, vicente.botet wrote:
Hi,
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===//
Is the LLVM License (http://llvm.org/docs/DeveloperPolicy.html#license) compatible with the Boost Software License?
That's for a lawyer to answer, I suppose.
Can we include files with this comment on a Boost library?
Good question. The file would have to *also* carry the BSL, I think. -- Dave Abrahams BoostPro Computing http://boostpro.com

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 09/27/2010 03:42 PM, David Abrahams wrote:
On Sep 27, 2010, at 3:17 PM, vicente.botet wrote:
Hi,
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===//
Is the LLVM License (http://llvm.org/docs/DeveloperPolicy.html#license) compatible with the Boost Software License?
That's for a lawyer to answer, I suppose.
Can we include files with this comment on a Boost library?
Good question. The file would have to *also* carry the BSL, I think.
-- Dave Abrahams BoostPro Computing http://boostpro.com
I'm currently working on a project that uses both llvm/clang and Boost code. I came across this; http://www.mail-archive.com/llvm-commits@cs.uiuc.edu/msg26065.html When searching for license compatibility information. It looks like LLVM uses Boost code in their ADT (containers) library. Oddly, they have since removed Boost attribution, despite the fact that the ADT OwningPtr seems to be a modified version of Boost scoped_ptr. https://llvm.org/svn/llvm-project/llvm/trunk/include/llvm/ADT@44161 introduces an import of Boost's scoped_ptr svn checkout https://llvm.org/svn/llvm-project/llvm/trunk/include/llvm/ADT@45274 removes Boost scoped_ptr and introduces OwningPtr. Glancing over or diffing the two files reveals a lot of similiarities. I'm possibly being a bit nitpicky here. - - Bryce Lelbach -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyg/SAACgkQO/fqqIuE2t5+kACfQE4FqzqaZSDLtTgl1PK6fVyp HVwAoIxRIkeY0rmncIWRgt+AoeF/kQPW =wrZP -----END PGP SIGNATURE-----

vicente.botet wrote:
Hi,
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===//
Is the LLVM License (http://llvm.org/docs/DeveloperPolicy.html#license) compatible with the Boost Software License?
I think the right question is whether that license meets Boost requirements on license. To the best of my knowledge, there's no requirement that Boost compoments use BSL. It appears that this Boost requirement: Must not require that the license appear with executables or other binary uses of the library. directly contradicts LLVM's license. - Volodya

----- Original Message ----- From: "Vladimir Prus" <vladimir@codesourcery.com> To: <boost@lists.boost.org> Sent: Monday, September 27, 2010 10:05 PM Subject: Re: [boost] LLVM license compatibility with BSL
vicente.botet wrote:
Hi,
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
Is the LLVM License (http://llvm.org/docs/DeveloperPolicy.html#license) compatible with the Boost Software License?
I think the right question is whether that license meets Boost requirements on license. To the best of my knowledge, there's no requirement that Boost compoments use BSL.
It appears that this Boost requirement:
Must not require that the license appear with executables or other binary uses of the library.
directly contradicts LLVM's license.
Yes, LLVM license says: "Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution.". In my particular case, as I need to adapt files that are for test purposes, I will be required to add the LLVM license file, but users of the library will not need to add it as far as they don't use the test files, right? Could the Boost requirement be interpreted as applicable only to the header and source files, and let some freedom for the test files? Vicente

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I am at this point quite certain that the two files I mentioned previously in this thread are, in fact, both derived from Boost scoped_ptr.h. I've put them up on github; http://gist.github.com/599780 http://gist.github.com/599781 While I'm sure most smart pointers have a similar implementation, the comment on line fourty-two in the first file (scoped_ptr.h) is reproduced almost word for word in the second file, line twenty-one (OwningPtr.h). This, plus the very similiar implementation, indicates to me that OwningPtr is a derived work produced from Boost code. Perhaps someone should talk to LLVM about having a citation added? I'm sure this is not intentional on LLVM's part but it certainly seems that this particular piece of code originated from Boost and was released under BSL. - Bryce Lelbach -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyhAskACgkQO/fqqIuE2t4UGQCgv9rPVjKNVhcEXPJONE4bTEKH nXIAoJcw/DErAv8fINvKSVijqL1/fhXZ =ZzR7 -----END PGP SIGNATURE-----

Bryce Lelbach wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I am at this point quite certain that the two files I mentioned previously in this thread are, in fact, both derived from Boost scoped_ptr.h. I've put them up on github;
http://gist.github.com/599780 http://gist.github.com/599781
While I'm sure most smart pointers have a similar implementation, the comment on line fourty-two in the first file (scoped_ptr.h) is reproduced almost word for word in the second file, line twenty-one (OwningPtr.h). This, plus the very similiar implementation, indicates to me that OwningPtr is a derived work produced from Boost code. Perhaps someone should talk to LLVM about having a citation added? I'm sure this is not intentional on LLVM's part but it certainly seems that this particular piece of code originated from Boost and was released under BSL.
The comment is similar. The implementation seem to be sufficiently different. I am not sure anybody would care much about a comment, but if somebody does, why not talk to LLVM folks indeed -- they are pretty reasonable. Anyway, I guess there's no point to discuss this here. - Volodya

I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
The following requirement on that license: * Binaries derived from LLVM must reproduce the copyright notice (e.g. in an included readme file). Is incompatible with the BSL. Sorry, John.

John Maddock <boost.regex@virgin.net> writes:
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
The following requirement on that license:
* Binaries derived from LLVM must reproduce the copyright notice (e.g. in an included readme file).
Is incompatible with the BSL.
That was my concern. However, this is *test* code. Do we require the BSL (or a compatible license) for the tests as well as the main library code? Anthony -- Author of C++ Concurrency in Action http://www.stdthread.co.uk/book/ just::thread C++0x thread library http://www.stdthread.co.uk Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976

-------- Original-Nachricht --------
Datum: Tue, 28 Sep 2010 10:34:58 +0100 Von: Anthony Williams <anthony.ajw@gmail.com> An: boost@lists.boost.org Betreff: Re: [boost] LLVM license compatibility with BSL
John Maddock <boost.regex@virgin.net> writes:
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
The following requirement on that license:
* Binaries derived from LLVM must reproduce the copyright notice (e.g. in an included readme file).
Is incompatible with the BSL.
That was my concern. However, this is *test* code. Do we require the BSL (or a compatible license) for the tests as well as the main library code?
How do you want to test a boost library, without deriving a work (testcase) from it? regards, Jens Weller -- GMX DSL SOMMER-SPECIAL: Surf & Phone Flat 16.000 für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl

"Jens Weller" <JensWeller@gmx.de> writes:
-------- Original-Nachricht --------
Datum: Tue, 28 Sep 2010 10:34:58 +0100 Von: Anthony Williams <anthony.ajw@gmail.com> An: boost@lists.boost.org Betreff: Re: [boost] LLVM license compatibility with BSL
John Maddock <boost.regex@virgin.net> writes:
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
The following requirement on that license:
* Binaries derived from LLVM must reproduce the copyright notice (e.g. in an included readme file).
Is incompatible with the BSL.
That was my concern. However, this is *test* code. Do we require the BSL (or a compatible license) for the tests as well as the main library code?
How do you want to test a boost library, without deriving a work (testcase) from it?
Tests are uses of the library, but the library does not use the tests. If the license on the tests requires a notice on distributed binaries (like the LLVM license does) then you only need to put such a notice on your application if your application itself derives from those tests. If you write your own code that uses the library then you are not subject to the license restrictions on the tests, only those on the library itself. Anthony -- Author of C++ Concurrency in Action http://www.stdthread.co.uk/book/ just::thread C++0x thread library http://www.stdthread.co.uk Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976

At Tue, 28 Sep 2010 10:34:58 +0100, Anthony Williams wrote:
John Maddock <boost.regex@virgin.net> writes:
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
The following requirement on that license:
* Binaries derived from LLVM must reproduce the copyright notice (e.g. in an included readme file).
Is incompatible with the BSL.
That was my concern. However, this is *test* code. Do we require the BSL (or a compatible license) for the tests as well as the main library code?
IIRC, we require the BSL (exactly) for all code in Boost. -- Dave Abrahams BoostPro Computing http://www.boostpro.com

David Abrahams wrote:
At Tue, 28 Sep 2010 10:34:58 +0100, Anthony Williams wrote:
John Maddock <boost.regex@virgin.net> writes:
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
The following requirement on that license:
* Binaries derived from LLVM must reproduce the copyright notice (e.g. in an included readme file).
Is incompatible with the BSL.
That was my concern. However, this is *test* code. Do we require the BSL (or a compatible license) for the tests as well as the main library code?
IIRC, we require the BSL (exactly) for all code in Boost.
Can you give a link to such requirement, and to mailing list discussion about same? - Volodya

At Tue, 28 Sep 2010 18:34:52 +0400, Vladimir Prus wrote:
David Abrahams wrote:
IIRC, we require the BSL (exactly) for all code in Boost.
Can you give a link to such requirement, and to mailing list discussion about same?
Not offhand; that's just what I recall. We made a big effort to get all Boost code on the BSL and my understanding was that the intention thereafter was to require the BSL. -- Dave Abrahams BoostPro Computing http://www.boostpro.com

On Tue, Sep 28, 2010 at 02:34, Anthony Williams <anthony.ajw@gmail.com> wrote:
That was my concern. However, this is *test* code. Do we require the BSL (or a compatible license) for the tests as well as the main library code?
We should, since people may read the code when figuring out how to use the library, which can be enough to make their code a derivative work: See <http://rosenlaw.com/lj8.htm>.

On Sep 27, 2010, at 3:17 PM, vicente.botet wrote:
Hi,
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===//
Is the LLVM License (http://llvm.org/docs/DeveloperPolicy.html#license) compatible with the Boost Software License?
Can we include files with this comment on a Boost library?
Best, _____________________ Vicente Juan Botet Escribá http://viboes.blogspot.com/ _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
We have just managed to change the license under which llvm/libc++ is released. It is now dual licensed under *both* the UIUC and MIT license. The code can be used under either license (see the top of the file), LICENSE.txt contains the full wording of both licenses. The MIT license does not contain the binary redistribution clause. More details here: http://llvm.org/docs/DeveloperPolicy.html#license It is our hope that this will ease the concerns expressed here regarding compatibility with the boost license. -Howard

Howard Hinnant <howard.hinnant@gmail.com> writes:
We have just managed to change the license under which llvm/libc++ is released. It is now dual licensed under *both* the UIUC and MIT license. The code can be used under either license (see the top of the file), LICENSE.txt contains the full wording of both licenses. The MIT license does not contain the binary redistribution clause.
More details here:
http://llvm.org/docs/DeveloperPolicy.html#license
It is our hope that this will ease the concerns expressed here regarding compatibility with the boost license.
That is good news for boost. Anthony -- Author of C++ Concurrency in Action http://www.stdthread.co.uk/book/ just::thread C++0x thread library http://www.stdthread.co.uk Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976

On Wed, Nov 17, 2010 at 6:28 AM, Anthony Williams <anthony.ajw@gmail.com> wrote:
Howard Hinnant <howard.hinnant@gmail.com> writes:
More details here:
http://llvm.org/docs/DeveloperPolicy.html#license
It is our hope that this will ease the concerns expressed here regarding compatibility with the boost license.
That is good news for boost.
+1 Not only for Boost, but for projects which will need either llvm or libc++. Thanks for the update Howard! -- Dean Michael Berris deanberris.com

----- Original Message ----- From: "Anthony Williams" <anthony.ajw@gmail.com> To: <boost@lists.boost.org> Sent: Tuesday, November 16, 2010 11:28 PM Subject: Re: [boost] LLVM license compatibility with BSL
Howard Hinnant <howard.hinnant@gmail.com> writes:
We have just managed to change the license under which llvm/libc++ is released. It is now dual licensed under *both* the UIUC and MIT license. The code can be used under either license (see the top of the file), LICENSE.txt contains the full wording of both licenses. The MIT license does not contain the binary redistribution clause.
More details here:
http://llvm.org/docs/DeveloperPolicy.html#license
It is our hope that this will ease the concerns expressed here regarding compatibility with the boost license.
That is good news for boost.
+1. Thank you so much Howard. So if I want to use a file from llvm/libc++ in Boost I need to preserv the llvm/libc++ comment. //===-------------------------- finename ----------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Should I add the LICENSE.TXT file? and if yes,where it should be placed? Should I add the comment including Copyright and Boost License? //===----------------------------------------------------------------------===// // Copyright xxxx Author name // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt //===----------------------------------------------------------------------===// Best, Vicente

On Nov 17, 2010, at 1:55 PM, vicente.botet wrote:
So if I want to use a file from llvm/libc++ in Boost I need to preserv the llvm/libc++ comment.
//===-------------------------- finename ----------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===//
Should I add the LICENSE.TXT file? and if yes,where it should be placed?
Should I add the comment including Copyright and Boost License?
//===----------------------------------------------------------------------===// // Copyright xxxx Author name // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt //===----------------------------------------------------------------------===//
Disclaimer: Not only am I not a lawyer, I'm usually less informed about legal issues than most people in this group. I would think that it would be fine to add the boost license, but that is up to whatever boost policies are in place. Yes, add LICENSE.TXT and CREDITS.TXT. As for placement, I think where ever seems to make most sense to you and other contributors to boost. As long as it can be found, I really can't see how anyone could make a fuss. -Howard

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
So if I want to use a file from llvm/libc++ in Boost I need to preserv the llvm/libc++ comment.
No - I'm afraid you cannot use anything from llvm/libc++. Only libc++ and compiler_rt are dual licensed. LLVM and Clang are not dual licensed as a whole. - -- Bryce Lelbach aka wash http://groups.google.com/group/ariel_devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkzlUxIACgkQO/fqqIuE2t5rPgCg5YQeHaK7utAa2Dm40ir+JV3U lnYAoNA+Wu52AGMgLVplUMzcWUNaGEqo =DADH -----END PGP SIGNATURE-----

Bryce Lelbach aka wash wrote:
So if I want to use a file from llvm/libc++ in Boost I need to preserv the llvm/libc++ comment.
No - I'm afraid you cannot use anything from llvm/libc++. Only libc++ and compiler_rt are dual licensed. LLVM and Clang are not dual licensed as a whole.
Sorry I was not clear. I mean the libc++ associated to the llcm compiler when I wrote llvm/libc++. Best, Vicente -- View this message in context: http://boost.2283326.n4.nabble.com/LLVM-license-compatibility-with-BSL-tp271... Sent from the Boost - Dev mailing list archive at Nabble.com.

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Um. No, this is inaccurate. libc++ and compiler_rt are dual licensed. That's all. -ONLY- libc++ and compiler_rt can be used in Boost. Original announcement from the LLVM list: Hi All, I just wanted to let you know that libc++ and compiler_rt and now dual licensed under *both* the UIUC and MIT license. The reason for this is that the UIUC license (like many BSD licenses) requires that binaries that link LLVM code contain a notice that they are derived from LLVM. This clause doesn't make sense for libraries like libc++ and compiler_rt: these get implicitly added to the link line by the clang driver, so users of the clang compiler don't know that they're linking in pieces of LLVM. For example, if Mozilla was every shipped built with Clang, it should not have to have a notice saying that it has code derived from LLVM (unless they were using the JIT or something other LLVM component). Since copyright is distributed among all the contributors, we got approval from everyone who has contributed to these two projects, and had to revert one libc++ patch (whose author did not respond to numerous requests). Going forward, contributions to these two projects will require that you allow your code to be used under either license. One bad thing about this change is that it is no longer valid to move code from a "just UIUC licensed" codebase to libc++ or compiler_rt unless the copyright owner approves, but I don't expect this to be a significant issue in practice. I added a paragraph here to explain this, please let me know if the wording doesn't make sense: http://llvm.org/docs/DeveloperPolicy.html#license - -Chris _____________________ On Tue, 16 Nov 2010 17:21:19 -0500 Howard Hinnant <howard.hinnant@gmail.com> wrote:
On Sep 27, 2010, at 3:17 PM, vicente.botet wrote:
Hi,
I have found quite useful to adapt the test for llvm/libc++ ratio/chrono to test Boost.Ratio and Boost.Chrono. But Anthony has signaled me that maybe there is a compatibility problem with the license included in these files.
//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===//
Is the LLVM License (http://llvm.org/docs/DeveloperPolicy.html#license) compatible with the Boost Software License?
Can we include files with this comment on a Boost library?
Best, _____________________ Vicente Juan Botet Escribá http://viboes.blogspot.com/ _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
We have just managed to change the license under which llvm/libc++ is released. It is now dual licensed under *both* the UIUC and MIT license. The code can be used under either license (see the top of the file), LICENSE.txt contains the full wording of both licenses. The MIT license does not contain the binary redistribution clause.
More details here:
http://llvm.org/docs/DeveloperPolicy.html#license
It is our hope that this will ease the concerns expressed here regarding compatibility with the boost license.
-Howard
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
- -- Bryce Lelbach aka wash http://groups.google.com/group/ariel_devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkzj17cACgkQO/fqqIuE2t5DuQCfcM5P1xa5GkdbQdjvH5DCryY5 Ow8AoO0QC1r6jFoP2oEAUsDuvsVL5I/L =0cew -----END PGP SIGNATURE-----
participants (11)
-
Anthony Williams
-
Bryce Lelbach
-
David Abrahams
-
Dean Michael Berris
-
Howard Hinnant
-
Jens Weller
-
John Maddock
-
Scott McMurray
-
viboes
-
vicente.botet
-
Vladimir Prus