FDO RFC 73 - Update FDO license agreement to allow GenericRbdms static library linkage
This page contains an change request (RFC) for the FDO Open Source project. More FDO RFCs can be found on the RFCs page.
Status
RFC Template Version | (1.0) |
Submission Date | April 26, 2018 |
Last Modified | Greg Boone - April 26, 2018 |
Author | Greg Boone |
RFC Status | Adopted |
Implementation Status | |
Proposed Milestone | 4.2.0.0 |
Assigned PSC guide(s) | Greg Boone |
Voting History | |
+1 | Jackie, Greg, Simon |
+0 | |
-0 | |
-1 |
Overview
FDO now complies with LGPL v2.1 licensing.
Re-reading the terms of LGPL 2.1, David Ji indicated that LGPL specifies certain limitations when dealing with static linkage to open source libraries.
Please refer to reference - https://stackoverflow.com/questions/10130143/gpl-lgpl-and-static-linking.
There are a series of GenericRdbms projects in FDO which are designed and configured as static libraries, e.g. providersCommon, schemaMgr, smLogicalPhysical and so on. It would not be possible to create a new GenericRdbms 3rd party provider without using those static libraries.
The FDO Steering Committee suggests that the FDO project add an exception to the LPGL license to allow 3rd party developers to link to a published set open source projects. This can mitigate misunderstanding and potential legal risks for our developers.
Please refer to https://trac.osgeo.org/fdo/ticket/950 for additional details.
Motivation
Clarify the FDO LPGL license requirements for FDO GenericRdbs Provider development.
Proposed Solution
Update the FDO License agreement to provide static library exceptions for the following:
Static libraries:
ProvidersCommon.lib
FdoGenericOra.lib
Gdbi_Oracle.lib
GrdSchemaMgr.lib
LockManager.lib
LongTransactionManager.lib
SchemaMgrNew.lib
SchemaMgr_LPNew.lib
SchemaMgr_OVNew.lib
SchemaMgr_PHNew.lib
FDONLS.lib
Corresponding project names:
Utilities\Common\FdoCommon.vcxproj
Providers\GenericRdbms\Src\Fdo\Fdo_Oracle.vcxproj
Providers\GenericRdbms\Src\Gdbi\Gdbi_Oracle.vcxproj
Providers\GenericRdbms\Src\SchemaMgr\GrdSchemaMgr.vcxproj
Providers\GenericRdbms\Src\LockManager\LockManager.vcxproj
Providers\GenericRdbms\Src\LongTransactionManager\LongTransactionManager.vcxproj
Utilities\SchemaMgr\SchemaMgr.vcxproj
Utilities\SchemaMgr\LogicalPhysical.vcxproj
Utilities\SchemaMgr\Overrides.vcxproj
Utilities\SchemaMgr\Physical.vcxproj
Fdo\Unmanaged\Nls.vcxproj
Implications
FDO will adopt a custom licensing scheme that uses LPGL 2.1 as a base but provides the necessary exceptions.
Test Plan
N/A
Funding/Resources
N/A