Closed surekav closed 2 years ago
@kdrodger Could you please take a look or refer to the right person for this? Thanks!
As Db2 Community Edition is free and it includes the header files for developers, it would be ok for someone to use it for development of a vendor library. Or would this require a vendor to license at least some Db2?
@surekav Which header files are required? Can you post some additional details
@irinadel @tasdevil13 There are quite a few header files that I believe are needed for building the vendor library. The sample vendor.C implementation provided by IBM here: https://github.com/IBM/db2-samples/blob/master/BARVendor/vendor.C includes 3 header files. These are:
These header files are located in the DB2 install directory (more specifically at /opt/IBM/db2/V11.5/include/
on a host where Db2 is installed). This Db2 install directory path is provided during compilation and linking as mentioned here: https://github.com/IBM/db2-samples/blob/master/BARVendor/README#L72
These header files, in turn, uses other header files present in /opt/IBM/db2/V11.5/include/
as well.
Similarly, to build and use db2APIs such as the ones mentioned here https://github.com/IBM/db2-samples/tree/master/cpp other header files from /opt/IBM/db2/V11.5/include/
are needed.
For e.g. the sample file here: https://github.com/IBM/db2-samples/blob/master/cpp/ininfo.C makes use of
So in reality, these header files don't need to reside in this repo. They can just be pointed to when you're compiling the examples against an existing db2 installation. I am not sure what value it will provide to have all dependent header files extracted in this repo.
@irinadel Well, this repo specifies that it comes under Apache2.0-Licence and therefore anyone is free to use code from this repo. The same may not be true with the header files which are installed as part of Db2 installation. They may be under a different licence which may have certain restrictions on its usage.
Would copying the header files from Db2 install directory to our organisation repository and building application using the structures and definitions from these header files require any licensing ?
I think I'm wondering about the same questions as Irina -- is there value and a use case for having a copy of the SDK and header files here, without the rest of some Db2 deployment release? Those vendor interfaces are an interesting case, as opposed to most of the other samples which actually require a Db2 instance to build and execute.
It might be possible to put a copy of SDK here as well, although even then it would likely only be for 64-bit x86 Linux, and only for the most recent Db2 release, and so I'm wondering if that breaks the value prop since the SDK APIs could change and no longer reflect the Db2 level that you intend to build for and support.
Thank @kdrodger @irinadel for the quick response. Agree with you that header files need not be part of this repo. For vendor interfaces case which needs Db2 header files, do you think the below approach attracts any licensing issues:
Closing due to inactivity. Feel free to re-open if necessary.
Hello, For developing a vendor library solution for Db2 backup and restore, it seems that we need to include some header files from the Db2 install directory (e.g.
/opt/IBM/db2/V11.5/include
).The compilation steps listed in the README https://github.com/IBM/db2-samples/tree/master/BARVendor require the header files from the Db2 install directory. As these header files are not part of this repository
db2-samples
, I wanted to understand the licensing model for the usage of these header files. Could someone please assist in providing the licensing model for these header files? Is it fine to copy from the Db2 install directory and send a PR to this repository?Thanks