3rd-Party Libraries

From Cloudrexx Development Wiki
Jump to: navigation, search

Using 3rd-Party libraries

If you decide to use a 3rd-party library, you'll have to make sure its license is compatible with the Contrexx license.

List of currently used 3rd-party libraries: http://api.contrexx.com/latest/third_party_libraries.html

Compatible Licenses

A list of known licenses that are compatible with Contrexx are as follows:

Incompatible Licenses

A list of known licenses that are incompatible with Contrexx are as follows:

  • GPL
  • Original "BSD License"
  • XFree86 (MIT/X Consortium License)

Include 3rd-Party library

To include a library into the Cloudrexx source, create folder for it under /lib (e.g. /lib/ADOdb) and copy the library's source to it. Make sure that the license and version of the library are easily detectable within the source (normally this is easy to achieve by simply keeping the license and readme files of the library).

Tip: For JavaScript libraries it is a good idea to copy them to a sub-folder named after its version (e.g. /lib/CKEditor/4.6.2). This way, browsers need to fetch the new versions of the JavaScript files after any update to the library.

Update 3rd-Party library

Simply update the source in /lib. The same rules as for new libraries apply.

Customize a 3rd-party library

Customizing a 3rd-party library within /lib is prohibited. Most newer libraries allow extensions via OOP inheritance and/or dependency injection. The only exception to this rule are fixes that will be in the next version of the library anyway.