
Hi, I encountered a open source project that is released under GPL and uses Boost - that's OK, because GPL and Boost license should be compatible. But the developers of those project copied code from Boost into their own library. The question is, is this new library now GPL or Boost license? Additionally, because they copied the code from several Boost files into one, they mixed up copyright statements. As a result, some people get copyright on code they never wrote. Seams to me that's not correct. Oliver

On 04/01/17 07:20, Oliver Kowalke via Boost wrote:
Hi,
I encountered a open source project that is released under GPL and uses Boost - that's OK, because GPL and Boost license should be compatible.
But the developers of those project copied code from Boost into their own library. The question is, is this new library now GPL or Boost license?
[Standard disclaimer that I'm not a lawyer, and the following is my understanding.] Boost license (BSL) requires to "be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor." So the copied part is still under the Boost license (and the license must be present in that project in a way that makes it clear what code it applies to). However, the developers of that project can distribute their project as a whole under the GPL, including the parts under the BSL. They cannot distribute the BSL parts alone under another license, such as GPL. Here are some related info: Explains about including public domain code into a GPL-ed program; I don't see why the same wouldn't apply to BSL-ed code: https://www.gnu.org/licenses/gpl-faq.en.html#CombinePublicDomainWithGPL Describes combining a module with a GPL-ed program: https://www.gnu.org/licenses/gpl-faq.en.html#GPLModuleLicense Describes how GPL applies to combined work: https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleAlone
Additionally, because they copied the code from several Boost files into one, they mixed up copyright statements. As a result, some people get copyright on code they never wrote.
Yes, the copyright list is confusing, IMHO. As I understand it, the list of copyright holders shows the parties that have written/modified substantal *parts* of the source file. This follows from the normal use of this list: when you modify a lot of content in a file, you typically *add* yourself to the existing list of copyright holders; you don't have to rewrite the file from scratch for that. The point is that, for example, in case of changing the license on the code all copyright holders in the list have to be contacted for approval, even though each copyright holder alone did not write the whole file. Each copyright holder can give the permission on the part he wrote. Determining who wrote which part can be difficult, so "all or none" approach is quite possible in such cases.

"Andrey Semashev via Boost" wrote:
[Standard disclaimer that I'm not a lawyer, and the following is my understanding.]
Likewise.
Boost license (BSL) requires to "be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor." So the copied part is still under the Boost license (and the license must be present in that project in a way that makes it clear what code it applies to).
Makes sense. Since most Boost files don't include the entire license, it probably needs to be included somewhere else along with the source code.
However, the developers of that project can distribute their project as a whole under the GPL, including the parts under the BSL.
That's what I'm reading too. The Free Software Foundation believes the Boost Software License is "compatible" with the GPL: https://www.gnu.org/licenses/license-list.html#boost There is a definition of "compatible" in the gpl-faq you linked. Another is here: https://en.wikipedia.org/wiki/License_compatibility But if they distribute the whole thing saying "this is licensed under the GPL", doesn't that kind of contradict the requirement to include the Boost Software License and the copyright notices? It would feel better to me if they said "this is licensed under the GPL and, in part, other compatible licenses". Regards, Niklas Angare

2017-04-01 20:22 GMT+02:00 Niklas Angare via Boost
Boost Software License is "compatible" with the GPL: https://www.gnu.org/licenses/license-list.html#boost
I'm refer to https://softwareengineering.stackexchange.com/questions/204410/how-are-gpl-c... : '*Where it gets tricky* Let's say we have project Foo licensed under Boost, and project Bar licensed under GPL and which wants to use Foo. Bar+Foo is allowed since the licenses are compatible, and the release of Bar+Foo must be GPL as Bar is GPL. Foo, by itself and without Bar *or* Bar+Foo, is still available under the Boost license. Said another way, Bar+Foo has no license impact upon Foo itself. The resulting license of the project combination is a forward acting event for the combination only. It is *not* a retroactive event. So if someone else wants to take Foo and do something else with it, they are still free to do so without the copyleft provision of the GPL. However, if they take Bar+Foo, delete Bar and only use +Foo then they are still bound by the terms of the GPL since Bar+Foo was GPL'd.'
There is a definition of "compatible" in the gpl-faq you linked. Another is here: https://en.wikipedia.org/wiki/License_compatibility
But if they distribute the whole thing saying "this is licensed under the GPL", doesn't that kind of contradict the requirement to include the Boost Software License and the copyright notices? It would feel better to me if they said "this is licensed under the GPL and, in part, other compatible licenses".
Kicad: Program License KiCad is free software. KiCad is made available under the GNU General Public License(GPL) version 3 or greater. There is no requirement to assign your copyright to anyone to get code included into KiCad. The only thing we do require is complying with the GPLv3+ license both in the code you may write and code you may import from others. If I understand it correctly, the copied boost code is now licensed under GPLv3

On Sat, Apr 1, 2017 at 9:33 PM, Oliver Kowalke via Boost
2017-04-01 20:22 GMT+02:00 Niklas Angare via Boost
: That's what I'm reading too. The Free Software Foundation believes the
Boost Software License is "compatible" with the GPL: https://www.gnu.org/licenses/license-list.html#boost
I'm refer to https://softwareengineering.stackexchange.com/questions/204410/how-are-gpl-c... :
'*Where it gets tricky*
Let's say we have project Foo licensed under Boost, and project Bar licensed under GPL and which wants to use Foo.
Bar+Foo is allowed since the licenses are compatible, and the release of Bar+Foo must be GPL as Bar is GPL. Foo, by itself and without Bar *or* Bar+Foo, is still available under the Boost license. Said another way, Bar+Foo has no license impact upon Foo itself.
The resulting license of the project combination is a forward acting event for the combination only. It is *not* a retroactive event.
So if someone else wants to take Foo and do something else with it, they are still free to do so without the copyleft provision of the GPL. However, if they take Bar+Foo, delete Bar and only use +Foo then they are still bound by the terms of the GPL since Bar+Foo was GPL'd.'
The important part here is that you were distributed Foo+Bar, and this combination is under the GPL. I.e. if you want to use Foo+Bar, even if you don't directly interface with Bar, you have to comply with the GPL. You can remove Bar from this combination and use Foo alone under the BSL, according to the FAQ entry I linked earlier: https://www.gnu.org/licenses/gpl-faq.en.html#CombinePublicDomainWithGPL Another important part is that the distributor has no right to distribute Foo alone under the GPL. He must also comply with the BSL as he deals with Foo.
There is a definition of "compatible" in the gpl-faq you linked. Another is here: https://en.wikipedia.org/wiki/License_compatibility
But if they distribute the whole thing saying "this is licensed under the GPL", doesn't that kind of contradict the requirement to include the Boost Software License and the copyright notices? It would feel better to me if they said "this is licensed under the GPL and, in part, other compatible licenses".
Kicad: Program License
KiCad is free software. KiCad is made available under the GNU General Public License(GPL) version 3 or greater.
There is no requirement to assign your copyright to anyone to get code included into KiCad. The only thing we do require is complying with the GPLv3+ license both in the code you may write and code you may import from others.
If I understand it correctly, the copied boost code is now licensed under GPLv3
Does their code distribution (as a package or VCS) contain BSL text? Do the BSL-licensed files still contain the copyrights and a link to the BSL? If not, they are clearly violating the BSL and should be notified.

2017-04-01 21:27 GMT+02:00 Andrey Semashev
If I understand it correctly, the copied boost code is now licensed under GPLv3
Does their code distribution (as a package or VCS) contain BSL text? Do the BSL-licensed files still contain the copyrights and a link to the BSL?
The license statement of Kicad is: 'it is licensed under GPLv3' - the BSL ist not mentioned. Kicad has copied all files from the boost lib into one file - including all copyrigth statements + BSL (all put at the top of the file) - and a new library, which is now intergral part of kicad, was created.

On Sat, Apr 1, 2017 at 10:34 PM, Oliver Kowalke
2017-04-01 21:27 GMT+02:00 Andrey Semashev
: If I understand it correctly, the copied boost code is now licensed under GPLv3
Does their code distribution (as a package or VCS) contain BSL text? Do the BSL-licensed files still contain the copyrights and a link to the BSL?
The license statement of Kicad is: 'it is licensed under GPLv3' - the BSL ist not mentioned. Kicad has copied all files from the boost lib into one file - including all copyrigth statements + BSL (all put at the top of the file) - and a new library, which is now intergral part of kicad, was created.
As long as they don't distribute this new library separately from Kicad, it sounds like they fulfilled the terms of the BSL.

"Oliver Kowalke via Boost"
2017-04-01 21:27 GMT+02:00 Andrey Semashev
: If I understand it correctly, the copied boost code is now licensed under GPLv3
Does their code distribution (as a package or VCS) contain BSL text? Do the BSL-licensed files still contain the copyrights and a link to the BSL?
The license statement of Kicad is: 'it is licensed under GPLv3' - the BSL ist not mentioned. Kicad has copied all files from the boost lib into one file - including all copyrigth statements + BSL (all put at the top of the file) - and a new library, which is now intergral part of kicad, was created.
Where have they included the full text of the BSL? I can't find it. Regards, Niklas Angare

Am 02.04.2017 12:13 vorm. schrieb "Niklas Angare via Boost" <
boost@lists.boost.org>:
"Oliver Kowalke via Boost"
2017-04-01 21:27 GMT+02:00 Andrey Semashev
: If I understand it correctly, the copied boost code is now licensed > under
GPLv3
Does their code distribution (as a package or VCS) contain BSL text? Do the BSL-licensed files still contain the copyrights and a link to the BSL?
The license statement of Kicad is: 'it is licensed under GPLv3' - the BSL ist not mentioned. Kicad has copied all files from the boost lib into one file - including all copyrigth statements + BSL (all put at the top of the file) - and a new library, which is now intergral part of kicad, was created.
Where have they included the full text of the BSL? I can't find it. http://docs.kicad-pcb.org/doxygen/libcontext_8cpp_source.html

On 04/02/17 07:24, Oliver Kowalke via Boost wrote:
Am 02.04.2017 12:13 vorm. schrieb "Niklas Angare via Boost" < boost@lists.boost.org>:
"Oliver Kowalke via Boost"
wrote: 2017-04-01 21:27 GMT+02:00 Andrey Semashev
: If I understand it correctly, the copied boost code is now licensed > under
GPLv3
Does their code distribution (as a package or VCS) contain BSL text? Do the BSL-licensed files still contain the copyrights and a link to the BSL?
The license statement of Kicad is: 'it is licensed under GPLv3' - the BSL ist not mentioned. Kicad has copied all files from the boost lib into one file - including all copyrigth statements + BSL (all put at the top of the file) - and a new library, which is now intergral part of kicad, was created.
Where have they included the full text of the BSL? I can't find it.
http://docs.kicad-pcb.org/doxygen/libcontext_8cpp_source.html
Then that's a problem. BSL requires a copy of the license to be included.

If I understand it correctly, the copied boost code is now licensed > under
GPLv3
Does their code distribution (as a package or VCS) contain BSL text? Do the BSL-licensed files still contain the copyrights and a link to the BSL?
The license statement of Kicad is: 'it is licensed under GPLv3' - the BSL ist not mentioned. Kicad has copied all files from the boost lib into one file - including all copyrigth statements + BSL (all put at the top of the file) - and a new library, which is now intergral part of kicad, was created.
Where have they included the full text of the BSL? I can't find it.
http://docs.kicad-pcb.org/doxygen/libcontext_8cpp_source.html
Then that's a problem. BSL requires a copy of the license to be included.
Disclaimer: I'm not a lawyer... As regular developer I see the licensing very very clear. There is clear link pointing to the license so I don't see anybody being stripped of his rights as the license of the file is very clear and easy to get. If the author of the project forget to include the text of the license or embed it into the source code or mistakenly thought that what he did is more than enough you are welcome to write a patch and send one to the author or open the ticket mentioning that the license text should be included explicitly. Note it was clear from the code that the author didn't want to hide someones copyrights or claim his ownership on the code but probably did not all the bureaucracy 100% correctly. Bottom line: 1. There are no "brutal" violations but rather probably improper reuse of the code licensed under BSL - because it didn't include full text of license. 2. If you want your name to be mentioned **in front page** as one of copyright owners choose 4 clause BSD license instead of BSL (and... nobody will use your code) 3. If you distribute your code under BSL... expect that others will " prepare derivative works of the Software " as mentioned in the license Artyom Beilis

2017-04-02 13:37 GMT+02:00 Artyom Beilis via Boost
1. There are no "brutal" violations but rather probably improper reuse of the code licensed under BSL - because it didn't include full text of license. 2. If you want your name to be mentioned **in front page** as one of copyright owners choose 4 clause BSD license instead of BSL (and... nobody will use your code) 3. If you distribute your code under BSL... expect that others will " prepare derivative works of the Software " as mentioned in the license
I was wondering if it is correct to copy all files into one and add the copyright improperly - for instance Martin H. is mentioned in the copyright statement, but the file contains no code from Martin.

On Sat, Apr 1, 2017 at 9:22 PM, Niklas Angare via Boost
But if they distribute the whole thing saying "this is licensed under the GPL", doesn't that kind of contradict the requirement to include the Boost Software License and the copyright notices?
It does, if their distributed source (as a package or a VCS snapshot) does not contain BSL with a clear indication of what code is under BSL.
It would feel better to me if they said "this is licensed under the GPL and, in part, other compatible licenses".
It doesn't work like that. A product, as a whole, must be distributed under a single license. (It can be distributed under multiple licenses, e.g. proprietary and copyleft, but that is another off-topic case; each such distribution is independent and whole.) As I understand it, a license, among other things, defines two sets: a set of rights granted to the user, and a set of restrictions or obligations imposed on the user. Two licenses are compatible if the sets defined by the licenses are non-contradictory and can be fulfilled combined. BSL is less restrictive than GPL, and in order for the two of the licenses to be fulfilled the code must be distributed under the GPL. It doesn't make that BSL part on its own licensed under the GPL (or rather, you cannot enforce GPL on that part because the original copyright holders did not allow that).

"Andrey Semashev via Boost" wrote:
On Sat, Apr 1, 2017 at 9:22 PM, Niklas Angare via Boost
wrote: But if they distribute the whole thing saying "this is licensed under the GPL", doesn't that kind of contradict the requirement to include the Boost Software License and the copyright notices?
It does, if their distributed source (as a package or a VCS snapshot) does not contain BSL with a clear indication of what code is under BSL.
I can't find the Boost license in the KiCad source.
It would feel better to me if they said "this is licensed under the GPL and, in part, other compatible licenses".
It doesn't work like that. A product, as a whole, must be distributed under a single license. (It can be distributed under multiple licenses, e.g. proprietary and copyleft, but that is another off-topic case; each such distribution is independent and whole.)
Why does the whole source package have to be distributed under a single license?
As I understand it, a license, among other things, defines two sets: a set of rights granted to the user, and a set of restrictions or obligations imposed on the user. Two licenses are compatible if the sets defined by the licenses are non-contradictory and can be fulfilled combined. BSL is less restrictive than GPL, and in order for the two of the licenses to be fulfilled the code must be distributed under the GPL. It doesn't make that BSL part on its own licensed under the GPL (or rather, you cannot enforce GPL on that part because the original copyright holders did not allow that).
The requirement that the entire BSL be included is not a part of the GPL, so for that particular detail the BSL is more restrictive than the GPL. Maybe I'm nitpicking. Regards, Niklas Angare

On Sun, Apr 2, 2017 at 1:13 AM, Niklas Angare via Boost
"Andrey Semashev via Boost" wrote:
On Sat, Apr 1, 2017 at 9:22 PM, Niklas Angare via Boost
wrote: It would feel better to me if they said "this is licensed under the GPL and, in part, other compatible licenses".
It doesn't work like that. A product, as a whole, must be distributed under a single license. (It can be distributed under multiple licenses, e.g. proprietary and copyleft, but that is another off-topic case; each such distribution is independent and whole.)
Why does the whole source package have to be distributed under a single license?
Because the package is distributed as a whole. There is a common set of rights and restrictions on that package which constitutes the license. A package is probably the wrong term here, because we tech people tend to imagine it as a set of files, which could potentially have different licenses. I believe, the lawyer language uses the term work, which is understood as an atomic entity, an item with associated value and terms of use. At least, that's how I see it.
As I understand it, a license, among other things, defines two sets: a set of rights granted to the user, and a set of restrictions or obligations imposed on the user. Two licenses are compatible if the sets defined by the licenses are non-contradictory and can be fulfilled combined. BSL is less restrictive than GPL, and in order for the two of the licenses to be fulfilled the code must be distributed under the GPL. It doesn't make that BSL part on its own licensed under the GPL (or rather, you cannot enforce GPL on that part because the original copyright holders did not allow that).
The requirement that the entire BSL be included is not a part of the GPL, so for that particular detail the BSL is more restrictive than the GPL.
GPL also requires to distribute a copy of the license. Similar requirement of BSL does not contradict the GPL. My point is if you have Foo under BSL and Bar under GPL and you want to distribute FooBar then you have to fulfill both BSL and GPL. You can do this if you include BSL in the source code and distribute FooBar under the GPL.

"Oliver Kowalke via Boost" wrote:
I encountered a open source project that is released under GPL and uses Boost - that's OK, because GPL and Boost license should be compatible. ... Additionally, because they copied the code from several Boost files into one, they mixed up copyright statements. As a result, some people get copyright on code they never wrote.
I don't believe copyright notices have any bearing on who actually owns the copyright. Someone else getting the copyright for your work because someone put their name in the copyright notice would be absurd. The Berne convention does not require a copyright notice to retain copyright: https://en.wikipedia.org/wiki/Berne_Convention This list shows when the convention came into effect in different countries: https://en.wikipedia.org/wiki/List_of_parties_to_international_copyright_agr... But as Andrey notes, copyright notices can be useful in practice. Regards, Niklas Angare
participants (4)
-
Andrey Semashev
-
Artyom Beilis
-
Niklas Angare
-
Oliver Kowalke