Opened 7 years ago
Last modified 7 years ago
#950 new task
Static link in FDO
Reported by: | davidji | Owned by: | gregboone |
---|---|---|---|
Priority: | critical | Milestone: | 4.1.0 |
Component: | General | Version: | 4.1.0 |
Severity: | 2 | Keywords: | License |
Cc: | External ID: |
Description
Hi All,
FDO now complies with LGPL v2.1, however, after I read carefully about the terms of LGPL, I happened to find LGPL does have some limitations on static link, you can take a reference from here - https://stackoverflow.com/questions/10130143/gpl-lgpl-and-static-linking. But there are a few fundamental projects which are configured as static library, e.g. providersCommon, schemaMgr, smLogicalPhysical and so on. It is hard to create a 3rd party provider without those static libraries.
I would suggest to add an exception in FDO license to allow 3rd party developers to use static link to open source projects, this can mitigate misunderstanding and potential legal risks, and I don’t think disallowing static link is the original idea of FDO. On the other hand, if we publicly announce the exception for static link, we probably can expand the usage of FDO in GIS world and attract more 3rd party developers.
What do you guys think?
Best regards,
David
Change History (6)
comment:1 by , 7 years ago
comment:3 by , 7 years ago
Shared Libraries such as: providersCommon, schemaMgr, smLogicalPhysical, were never designed to be linked dynamically. The intent was always for 3rdParty developers to statically link to these libraries.
We can create an exception for the specific set of existing libraries that are required. Can you list them in this ticket? I would like to limit the exception to a limited set rather than alter the license to provide a blanket exception for all FDO libraries.
Greg
follow-up: 5 comment:4 by , 7 years ago
Thanks Greg, I have a list for the static libraries, please review:
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
comment:5 by , 7 years ago
I don't know why those "?" are created? Please ignore all "?" in the lib names and project names, sorry for that...
I agree with you.