LIBRARIES ========= Each library used should be widely portbale and should lack platform-dependent features. Components that are not written in standard C/C++ or D should be disabled by default at compilation; only being enabled by flags. Note: libraries licensed under any version of the GNU GPL should be avoided, due to the fact that these licenses require that the software linking them is provided under the same terms. The LGPL is an exception, but instructions for replacing the library with a different version must be provided, as the LGPL requires that users can easily modify the LGPL code in contrast to the common misconception that this license forbids static linking. In general, copyleft and strongly reciprical licenses must be avoided. 1.) Libraries should always be included as Git submodules. 2.) Libraries should only be included if writing the same functionality would take an unreasonably long period of time. 3.) Libraries should be platform-agnostic, or they should at least provide the ability to replace components with those required on a different system. 4.) All libraries must be disabled by default at compilation and must only be enabled via compilation options. Adding on, all contributions must be original and not be derived from the work of another person, company, software, or any other entity that may generate the content in question within this document. Header files should only be used to declare functions. --- end of 2.7 LIBRARIES ---