|
12345678910111213141516171819202122232425262728 |
-
- VCV Rack is [open-source](https://opensource.org/osd) but not [open-contribution](https://opensource.guide/how-to-contribute/).
- I am unable to accept free code contributions to Rack for the following reasons.
- - **Quality.**
- Most contributions to open-source projects typically only contain code, but writing code is just a small percentage of the effort required to maintain a large software project.
- Additional tasks for fully supporting a feature include
- - debating the best design before any code is written
- - considering all use cases and corner cases of the implementation
- - generalizability to allow other features to be built on top if needed
- - testing across all supported operating systems and hardware
- - dedication to support the feature for >4 years
- - **Time.**
- In the past, free code contributions have cost far more time to review, iterate, fix, and test than writing the implementation from scratch.
- There have been exceptions to this, but they are rare.
- - **Legal.**
- A proprietary fork of VCV Rack is planned (see [*Rack for DAWs*](https://vcvrack.com/manual/FAQ.html#is-vcv-rack-available-as-a-vst-au-aax-plugin-for-daws)), so VCV must own all GPLv3 code.
- To accept a contribution, all authors of the contribution need to either
- - declare the patch under the [CC0](https://creativecommons.org/publicdomain/zero/1.0/) license.
- - complete a copyright reassignment form.
- - perform the work under a paid agreement.
-
- Except in exceptional circumstances, contributions are only accepted as paid work under detailed guidelines.
-
- However there are several areas you may contribute Rack project.
- - [creating high-quality issues](https://vcvrack.com/manual/FAQ.html#i-found-a-bug)
- - responding to [issues](https://github.com/VCVRack/Rack/issues) and answering questions in the [VCV communities](https://vcvrack.com/manual/Communities.html)
- - [developing and maintaining your own plugins](https://vcvrack.com/manual/PluginDevelopmentTutorial.html)
- - contributing to Rack's open-source dependencies, like [GLFW](https://www.glfw.org/), [nanovg](https://github.com/memononen/nanovg), [RtAudio](https://www.music.mcgill.ca/~gary/rtaudio/), and [RtMidi](https://www.music.mcgill.ca/~gary/rtmidi/).
|