= 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 [wiki:FDORfcs 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