Skip to content

Use Boost Software License#49

Open
alt-graph wants to merge 5 commits into
mainfrom
use_boost_license
Open

Use Boost Software License#49
alt-graph wants to merge 5 commits into
mainfrom
use_boost_license

Conversation

@alt-graph
Copy link
Copy Markdown
Member

With this MR I propose changing our main license for GUL17 to the Boost Software License (BSL) v1.0.

[why]

Read https://www.boost.org/doc/user-guide/bsl.html for a rationale of
why the BSL is a good choice especially for foundational C++ libraries.
In a nutshell, most other licenses require a copyright notice to appear
in the final product even when the library is used in binary form, which
the BSL does not require. This makes the library easier to use in other
software.

[how]

Replace the old license.txt with the LGPL-2.1 text by a LICENSE.md with
the BSL 1.0 text. Move our copyright and license information from the
documentation website into README.md where it is much more accessible.
The website just retains a link to the BSL and to the README.

Finally, replace license information in file headers where necessary.

@alt-graph alt-graph self-assigned this May 28, 2026
alt-graph added 5 commits May 28, 2026 13:47
[why]
Read https://www.boost.org/doc/user-guide/bsl.html for a rationale of
why the BSL is a good choice especially for foundational C++ libraries.
In a nutshell, most other licenses require a copyright notice to appear
in the final product even when the library is used in binary form, which
the BSL does not require. This makes the library easier to use in other
software.

[how]
Replace the old license.txt with the LGPL-2.1 text by a LICENSE.md with
the BSL 1.0 text. Move our copyright and license information from the
documentation website into README.md where it is much more accessible.
The website just retains a link to the BSL and to the README. Adjust
some details of the main Doxygen page accordingly (e.g. move the list
of contributors into README.md).
[why]
We have put GUL17 under the BSL v1.0.
[why]
We have put our source code under the Boost Software License, so the
file headers must reflect that.
@alt-graph alt-graph force-pushed the use_boost_license branch from b1af542 to 3178362 Compare May 28, 2026 11:48
@alt-graph alt-graph marked this pull request as ready for review May 28, 2026 11:52
@soerengrunewald
Copy link
Copy Markdown
Contributor

Is Boost compatible with MIT and CC0 in regards to sub-licensing? Or in other works do we have to mention MIT/CC0 also in binary form?

OT: I always thought that having some form of acknowledgement to the work was a good thing.

@alt-graph
Copy link
Copy Markdown
Member Author

Is Boost compatible with MIT and CC0 in regards to sub-licensing? Or in other works do we have to mention MIT/CC0 also in binary form?

I'm not a lawyer, but I'd say it is compatible with CC0 because in CC0 the authors waive their rights to the maximum possible extent. It is probably incompatible with MIT because it grants an additional freedom (to build a program/library that does not contain copyright information in its binary form). That is why the README lists the date.h header as an exception. It is not under the BSL, but under its original MIT license.

In theory – as far as I understood the Boost argument – a DOOCS server that uses the date.h header might have to display the copyright information of that file somewhere or come with a file with the license text:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

At least some lawyers might read it that way... 🤷

OT: I always thought that having some form of acknowledgement to the work was a good thing.

That is not OT at all. :-)

In fact, the LGPL would theoretically give us more acknowledgement across all possible use cases of the library. But that argument is kind of moot if nobody except us uses it – which seems to be the case. The advantage of the BSL is that it makes it easier to reuse the code for anyone out there. Personally I find that more important for this kind of library.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants