You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CONTRIBUTING.md 2.2KB

12345678910111213141516171819202122232425262728
  1. VCV Rack is [open-source](https://opensource.org/osd) but not [open-contribution](https://opensource.guide/how-to-contribute/).
  2. I am unable to accept free code contributions to Rack for the following reasons.
  3. - **Quality.**
  4. 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.
  5. Additional tasks for fully supporting a feature include
  6. - debating the best design before any code is written
  7. - considering all use cases and corner cases of the implementation
  8. - generalizability to allow other features to be built on top if needed
  9. - testing across all supported operating systems and hardware
  10. - dedication to support the feature for >4 years
  11. - **Time.**
  12. In the past, free code contributions have cost far more time to review, iterate, fix, and test than writing the implementation from scratch.
  13. There have been exceptions to this, but they are rare.
  14. - **Legal.**
  15. 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.
  16. To accept a contribution, all authors of the contribution need to either
  17. - declare the patch under the [CC0](https://creativecommons.org/publicdomain/zero/1.0/) license.
  18. - complete a copyright reassignment form.
  19. - perform the work under a paid agreement.
  20. Except in exceptional circumstances, contributions are only accepted as paid work under detailed guidelines.
  21. However there are several areas you may contribute Rack project.
  22. - [creating high-quality issues](https://vcvrack.com/manual/FAQ.html#i-found-a-bug)
  23. - responding to [issues](https://github.com/VCVRack/Rack/issues) and answering questions in the [VCV communities](https://vcvrack.com/manual/Communities.html)
  24. - [developing and maintaining your own plugins](https://vcvrack.com/manual/PluginDevelopmentTutorial.html)
  25. - 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/).