Modified through pull requests from a forked repo only. See Contribute below.
Organization: Arduino/Processing-accessible library folders directly at top level. Other libraries within appropriately named top level folders, e.g. Ruby, Python, C++, etc.
Externally Sourced Libraries: Copied as-is without modification except for appropriate change to the containing folder name for IDE compatibility (e.g., Arduino and other Processing-based IDEs).
Modified Externally Sourced Libraries: Do not directly modify an externally sourced library. Make your own copy, rename it and then modify.
-
At the least, add a few maningful characters to the original name. For example, "RADIOFH" is the "RADIO" library modified for Far Horizons use, and "HMC5883L_T" is the "HMC5883L" gyro library modified by Far Horizons for Teensy.
-
At the least, add notes of what you did at the top of a readme file or the main header file. Be sure credit to the original source is retained and licensing requirements for such credit are honored.
Modifying Far Horizons Libraries: Modify existing non-externallhy sourced libraries to fix a bug or extend functionality. Be careful to keep backward compatibiity and not use excessive additional RAM. If in doubt, create a new, renamed library instead.
New Original Library Name it descriptively without making it too long. Search the web, esp. GitHub for the name before using it. We do not want to create a library that will cause confusion in the community. If the name is already taken, add "Alt", your initials, or something to the end if nothing else. Use UPPERCASE or CamelCase styles.
Library Info Entry: Each library, externally sourced and otherwise, must have an entry in the LibraryInfo.md file.
Contribute: Fork -> clone -> commit -> push -> pull request. See:
GitHub App: https://guides.github.com/activities/forking/
Command Line: https://help.github.com/articles/fork-a-repo.