For the project, code contributed and written by NYPL and partner libraries is under Apache License, Ver 2.0
3rd Party Components are under BSD or commercial license.
Any third-party libraries (e.g. Node / Python / Swift / Java / Maven Dependencies) required to compile or run SimplyE must be included. The license of any required jar/dependency MUST be compatible with BSD. It must not prevent any commercial use of SimplyE, nor have any impact on the rest of the code by its inclusion. It is not acceptable to require additional downloads of dependencies to make SimplyE compile or function.
Examples of acceptable licenses:
Examples of unacceptable licenses:
Why is GPL (and similar) unacceptable?
In addition, the Apache Software Foundation has a good explanation of why they are also forced to avoid GPL-based (copyleft) licenses because of its one-way compatibility with Apache License 2.0:
"This licensing incompatibility applies only when some Apache project software becomes a derivative work of some GPLv3 software, because then the Apache software would have to be distributed under GPLv3.
We avoid GPLv3 software because merely linking to it is considered by the GPLv3 authors to create a derivative work. We want to honor their license. Unless GPLv3 licensors relax this interpretation of their own license regarding linking, our licensing philosophies are fundamentally incompatible. This is an identical issue for both GPLv2 and GPLv3."
While SimplyE is released under Apache licensing, the same issues exist between BSD licenses and GPL-based licenses.
Database schema changes will be done only on major revisions to the source; this is when the version number takes the form x.0 (e.g. 2.0). When making patches which cause schema changes, it is necessary to update all of the relevant SQL/migration files with your sequences, tables, views etc.