|
|
@@ -1,14 +1,17 @@ |
|
|
|
# Contributing |
|
|
|
|
|
|
|
I (Andrew Belt) generally do not accept external contributions to the Rack codebase itself. |
|
|
|
I (Andrew Belt) generally do not accept unpaid contributions to the Rack codebase itself. |
|
|
|
|
|
|
|
Before writing a single line of code, most features and bug fixes require |
|
|
|
Writing code is easy. Instead, the difficulty of changing Rack's source code involves |
|
|
|
- research to devise the best solution with a convincing argument |
|
|
|
- testing on relevant platforms, audio/MIDI devices, different plugins, etc. |
|
|
|
- acceptance of API/ABI change proposals |
|
|
|
- testing on relevant platforms, hardware devices, plugins, etc. |
|
|
|
- dedication to maintain the code in the future |
|
|
|
- generalizability to solve similar issues, and flexibility for solving future solutions without an entire rewrite |
|
|
|
- sometimes legal review |
|
|
|
|
|
|
|
Unpaid contributions typically omit many of the above tasks, making the code more expensive for me to accept than if I had written it myself. |
|
|
|
|
|
|
|
Instead, there are many other areas where contributions are much appreciated. |
|
|
|
- Dependencies of Rack. Especially [nanovg](https://github.com/memononen/nanovg)'s performance, [rtaudio](https://github.com/thestk/rtaudio)/[rtmidi](https://github.com/thestk/rtmidi)'s stability and compatibility, and maybe even touch support in [GLFW](https://github.com/glfw/glfw). You would be helping many more projects than just Rack. |
|
|
|
- Your own Rack [plugin](PluginDevelopmentTutorial.html) |
|
|
|