From c359201e611d7181f1e0faef7aafa9d567813e7c Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 13 Feb 2026 10:58:05 +0500 Subject: [PATCH 1/3] docs(licenses): add odb-license.md which contains information about the rules for licensing and distributing the project when using odb --- docs/images/odbLicenseTable.png | Bin 0 -> 61462 bytes docs/odb-licenses.md | 67 ++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 docs/images/odbLicenseTable.png create mode 100644 docs/odb-licenses.md diff --git a/docs/images/odbLicenseTable.png b/docs/images/odbLicenseTable.png new file mode 100644 index 0000000000000000000000000000000000000000..29c35f694a074f527033f8929f8d21a1cab3293b GIT binary patch literal 61462 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 database support code?? + +The ODB compiler analyzes classes and generates the necessary code for working with the database. Such files have the following extensions: *.cxx, *.hxx, and *.ixx. + +To start using ODB under FPL, you must obtain a copy of the license agreement. + +![odb-license-table](./images/odbLicenseTable.png) + +## Conclusion + +The repository cannot have an MIT license while continuing to use ODB, as ODB has a GNU GPL v2 license, which is not backward compatible with MIT. + +In the case of commercial use requiring closed source code, a license will be required, unless the generated database support code is less than 10,000 lines in size. + +## References + +[Licensing section on the Code Synthesis website.](https://www.codesynthesis.com/products/odb/license.xhtml#1) +[Answers to questions about the GNU GPL v2 license, including an answer to a question about a closed-source project and the GNU GPL v2 license.](https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.en.html#GPLRequireSourcePostedPublic) +[Report from the C++ Russia conference “Software licenses: theory that saves you from financial disaster”.](https://cppconf.ru/archive/2025/talks/06ea4864b2244143baefe7a725f12177/) From 70dd252bc26c5fb3be3849143cfdc1ca0729456e Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 13 Feb 2026 11:45:01 +0500 Subject: [PATCH 2/3] docs(licenses): adding references to the license in the odb-licenses.md document so that you can read the license terms --- docs/odb-licenses.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/odb-licenses.md b/docs/odb-licenses.md index b689af3..5181d25 100644 --- a/docs/odb-licenses.md +++ b/docs/odb-licenses.md @@ -1,7 +1,7 @@ # ODB (Object-Relational Mapping) license ODB has a dual licensing scheme: -1. GNU General Public License (GPL) version 2 +1. [GNU General Public License (GPL) version 2](https://www.codesynthesis.com/licenses/gpl-2.txt) 2. Commercial Proprietary License (CPL) (+ Free Proprietary License (FPL)) ## GNU General Public License (GPL) version 2 @@ -62,6 +62,8 @@ In the case of commercial use requiring closed source code, a license will be re ## References +[Reference to GNU General Public License (GPL) version 2.](https://www.codesynthesis.com/licenses/gpl-2.txt) +[Reference to the ODB Non-Commercial Use and Evaluation License (NCUEL).](https://www.codesynthesis.com/licenses/ncuel.txt) [Licensing section on the Code Synthesis website.](https://www.codesynthesis.com/products/odb/license.xhtml#1) [Answers to questions about the GNU GPL v2 license, including an answer to a question about a closed-source project and the GNU GPL v2 license.](https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.en.html#GPLRequireSourcePostedPublic) [Report from the C++ Russia conference “Software licenses: theory that saves you from financial disaster”.](https://cppconf.ru/archive/2025/talks/06ea4864b2244143baefe7a725f12177/) From 6e3f686cfd253a85a709a86156870c3c043f6ee8 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 13 Feb 2026 15:08:17 +0500 Subject: [PATCH 3/3] docs(licenses): adding information about additional project packages and their licenses to understand which package licenses may affect the project license --- docs/odb-licenses.md | 49 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/docs/odb-licenses.md b/docs/odb-licenses.md index 5181d25..7545b65 100644 --- a/docs/odb-licenses.md +++ b/docs/odb-licenses.md @@ -1,12 +1,29 @@ # ODB (Object-Relational Mapping) license -ODB has a dual licensing scheme: -1. [GNU General Public License (GPL) version 2](https://www.codesynthesis.com/licenses/gpl-2.txt) -2. Commercial Proprietary License (CPL) (+ Free Proprietary License (FPL)) +We use several packages in the project: +| Package | License* (which we are now experiencing) | +| ---------------- | -------------------------------------------------------------- | +| odb | [GNU GPL v3](https://www.codesynthesis.com/licenses/gpl-3.txt) | +| libodb | [GNU GPL v2](https://www.codesynthesis.com/licenses/gpl-2.txt) | +| libodb-dev | [GNU GPL v2](https://www.codesynthesis.com/licenses/gpl-2.txt) | +| libodb-pgsql | [GNU GPL v2](https://www.codesynthesis.com/licenses/gpl-2.txt) | +| libodb-pgsql-dev | [GNU GPL v2](https://www.codesynthesis.com/licenses/gpl-2.txt) | -## GNU General Public License (GPL) version 2 +We comply with the specified licenses because: +1. The repository is public (open source) +2. We do not use this project for commercial purposes. -There are two cases: +In addition to the licenses listed in the table, ODB offers other project licensing alternatives: +1. Commercial Proprietary License (CPL) +2. Free Proprietary License (FPL) + +*License information is taken from the official [ODB repository](https://github.com/codesynthesis-com/odb/blob/master/LICENSE). + +## GNU General Public License (GPL) version 2 and GNU General Public License (GPL) version 3 + +The GNU General Public License (GPL) version 2 and the GNU General Public License (GPL) version 3 have the same licensing rules. + +ODB has a license in the following cases: 1. If the application is used only within the organization, for example, running it on company servers, then publication of the source code is not required. As ODB itself says, such an application is unlikely to become a source of significant earnings, so ODB can be used free of charge under the GPL license. Quote: @@ -31,13 +48,24 @@ If ODB has this license, then the project must also be licensed under the GNU Ge ODB can also be used free of charge non-commercially or for evaluation with non-free editions of commercial databases (Oracle, SQL Server) under the terms of the ODB Non-Commercial Use and Evaluation License (NCUEL) (a source-available license). ``` -## Commercial Proprietary License (CPL) (+ Free Proprietary License (FPL)) - -### Commercial Proprietary License (CPL) +## Commercial Proprietary License (CPL) If you do not want to be bound by the terms of the GPL, you can purchase a Commercial Proprietary License (CPL). -### Free Proprietary License (FPL) +This type of license allows the project to be used for commercial purposes, even in cases where the source code is closed. + +Quote: +``` +Additional benefits of the CPL include: +-Royalty-free runtime (no runtime licenses) +- Application source code stays private +- Legal assurances, warranties, and indemnification +- Commercial-grade technical support +- Full-time, dedicated development team provides ongoing maintenance, development, testing, and documentation +- Single vendor to hold accountable +``` + +## Free Proprietary License (FPL) This is a free version of the Commercial Proprietary License (CPL). It allows you to use ODB in a closed application free of charge and without any GPL restrictions, provided that the amount of generated database support code in any individual release of the application does not exceed 10,000 lines. @@ -62,7 +90,8 @@ In the case of commercial use requiring closed source code, a license will be re ## References -[Reference to GNU General Public License (GPL) version 2.](https://www.codesynthesis.com/licenses/gpl-2.txt) +[Reference to GNU General Public License (GPL) version 2.](https://www.codesynthesis.com/licenses/gpl-2.txt) +[Reference to GNU General Public License (GPL) version 3.](https://www.codesynthesis.com/licenses/gpl-3.txt) [Reference to the ODB Non-Commercial Use and Evaluation License (NCUEL).](https://www.codesynthesis.com/licenses/ncuel.txt) [Licensing section on the Code Synthesis website.](https://www.codesynthesis.com/products/odb/license.xhtml#1) [Answers to questions about the GNU GPL v2 license, including an answer to a question about a closed-source project and the GNU GPL v2 license.](https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.en.html#GPLRequireSourcePostedPublic)