Spruce-Basin/doc/2.0_DEVELOPMENT/2.7_LIBRARIES
Aidan C. Mullen d460a7ca93 Add utilities and documentation
Add portable filesize and logging C libraries and documentation for development.
2025-03-06 19:55:35 -05:00

32 lines
1.6 KiB
Text
Executable file

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 ---