[odb-users] Re: Gentoo ODB package
Boris Kolpackov
boris at codesynthesis.com
Wed Jan 23 07:26:42 EST 2013
Hi Hugo,
I've CC'ed the odb-users mailing list in case anyone else is interested
in ODB packages for Gentoo.
Hugo.Mildenberger at web.de <Hugo.Mildenberger at web.de> writes:
> I'm thinking about to write a Gentoo package for ODB.
That would be fantastic! I would be happy to help if you run into
any issues. Also, when you are done, please send a note to odb-users
so that we can mention your work on the website, etc.
> However, Gentoo requires the package developer to name the licences,
> which in turn are stored verbatim somewhere on disk. Hence, I checked
> http://www.codesynthesis.com/products/odb/license.xhtml and encountered
> several problems:
>
> 1.) odb-2.1.1 sources are distributed with GPLv3, whereas your licence
> page above states ODB would be licensed under GPLv2.
> 2.) The text or version of CPL is not available
> 3.) The text of NCUEL is not available
> 4.) The text of FPL is not available
Ok, let me try to explain how ODB is licensed. The important thing to
keep in mind is that ODB consists of multiple components, and they have
different licenses, specifically:
- odb
This this the ODB compiler itself. Because it is implemented as a
GCC plugin, we didn't have much choice other than license it under
the GPLv3 (the same license as GCC). Note, however, that the source
code produced by the ODB compiler is not copyrighted.
- libodb
libodb-{mysql, sqlite, pgsql}
libodb-{qt, boost}
These are the common runtime, database runtimes for the open source
databases, as well as the profile libraries for Qt and Boost,
respectively. All of these are licensed under the GPLv2.
Because the code produced by the ODB compiler is not copyrighted and
these runtimes are licensed under the GPLv2, from the point of view
of the application developer who uses ODB with one of the open source
database, ODB is under GPLv2. Which is why we say ODB is GPLv2 in the
introduction.
- libodb-{oracle, mssql}
These are database runtimes for the commercial databases and are licensed
under our own, non-open source Non-Commercial Use or Evaluation License
(NCUEL). The text of NCUEL comes with the above packages and is also
available online:
http://www.codesynthesis.com/licenses/ncuel.txt
Now, some people don't want to be bound by the terms of the GPLv2/NCUEL.
In this case, there are two options:
1. If the object model is fairly small (the generated database support
code is under 10,000 lines), then they can use ODB under the Free
Proprietary License (FPL) which doesn't have any of the GPLv2
restrictions.
We don't publish the text of FPL and every individual/company will
need to contact us to get it.
2. Otherwise, there is the Commercial Proprietary License (CPL). Again,
we do not publish its text.
3. For completeness, we are also open to granting license exceptions
to other open source projects that wish to use ODB but are
incompatible with GPLv2. For more information on this, see the blog
post on the topic:
http://www.codesynthesis.com/~boris/blog/2012/08/22/odb-license-exception/
Also, here are my thoughts on packaging ODB for open source GNU/Linux
distributions like Gentoo, Debian/Ubuntu, Fedora, etc.:
1. Don't package libodb-{oracle, mssql}. These are not licensed under
the open source license and probably won't be accepted to the
repository. Also, their prerequisites are not open source either
(Oracle OCI, SQL Server Native Client) so they won't be in the
repository.
2. For the ODB compiler, state the license as GPLv3 and include its
text in the package.
3. For the runtimes, state the license as GPLv2 and include its text
in the package. You can also mentioned that other licenses are
available and give a link to:
http://www.codesynthesis.com/products/odb/license.xhtml
> Regarding FPL, I tend to solve the problem by creating a file
> referring the reader to your licence site.
Yes, that sounds good and is pretty much what I suggested in (3)
above.
Boris
More information about the odb-users
mailing list