2017-04-07 02:09:13 -07:00
Contributing
============
Quick Links for Contributing
----------------------------
2021-05-02 02:46:54 +02:00
- Compiling and building OBS Studio:
https://github.com/obsproject/obs-studio/wiki/Install-Instructions
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
- Our bug tracker:
https://github.com/obsproject/obs-studio/issues
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
- Discord Server: https://obsproject.com/discord
2018-12-06 09:17:27 -08:00
2021-05-02 02:46:54 +02:00
- Development chat: #development on the Discord server (see above)
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
- Development forum:
https://obsproject.com/forum/list/general-development.21/
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
- Developer/API Documentation:
https://obsproject.com/docs
2017-12-14 10:48:22 -08:00
2021-05-02 02:46:54 +02:00
- To contribute language translations, do not make pull requests.
Instead, use crowdin. Read here for more information:
https://obsproject.com/forum/threads/how-to-contribute-translations-for-obs.16327/
2017-04-07 02:09:13 -07:00
2021-11-22 15:29:39 +01:00
- To add a new service to OBS Studio please see the service submission guidelines:
https://github.com/obsproject/obs-studio/wiki/Service-Submission-Guidelines
2017-04-07 02:09:13 -07:00
Coding Guidelines
-----------------
2021-05-02 02:46:54 +02:00
- OBS Studio uses kernel normal form (linux variant), for more
information, please read here:
https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
- Avoid trailing spaces. To view trailing spaces before making a
commit, use "git diff" on your changes. If colors are enabled for
git in the command prompt, it will show you any whitespace issues
marked with red.
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
- Tabs for indentation, spaces for alignment. Tabs are treated as 8
columns wide.
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
- 80 columns max
2017-04-07 02:09:13 -07:00
2018-07-25 12:00:44 +03:00
Commit Guidelines
-----------------
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
- OBS Studio uses the 50/72 standard for commits. 50 characters max
for the title (excluding module prefix), an empty line, and then a
full description of the commit, wrapped to 72 columns max. See this
link for more information: http://chris.beams.io/posts/git-commit/
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
- Make sure commit titles are always in present tense, and are not
followed by punctuation.
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
- Prefix each commit's titles with the module name, followed by a colon
and a space (unless modifying a file in the base directory). After
that, the first word should be capitalized.
2019-04-13 08:17:01 +02:00
2021-05-02 02:46:54 +02:00
So for example, if you are modifying the obs-ffmpeg plugin::
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
obs-ffmpeg: Fix bug with audio output
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
Or for libobs::
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
libobs: Fix source not displaying
2017-04-07 02:09:13 -07:00
2021-05-02 02:46:54 +02:00
Note: When modifying cmake modules, just prefix with "cmake".
2019-04-13 08:17:01 +02:00
2021-05-02 02:46:54 +02:00
- If you still need examples, please view the commit history.
2021-08-03 21:14:53 -04:00
Conduct Guidelines
------------------
2021-08-07 20:39:00 +10:00
- Contributors to the OBS Project are expected to abide by the OBS Project Code of Conduct: https://github.com/obsproject/obs-studio/blob/master/COC.rst