[MMIXER] Fix additional data size initialization for different audio formats (#6753)
[reactos.git] / CONTRIBUTING.md
index 49a1837..d73b712 100644 (file)
@@ -2,13 +2,13 @@
 
 There are several ways to contribute to the development of ReactOS. The most often encountered problem is not knowing where to begin or what to do. If you are able to program or understand the technical information that is pertinent to this project, helping the development can be easy.
 
-- [What To Do?](#what-to-do?)
-- [How To Contribute?](#how-to-contribute?)
-- [Where To Start?](#where-to-start?)
+- [What To Do?](#what-to-do)
+- [How To Contribute?](#how-to-contribute)
+- [Where To Start?](#where-to-start)
 
 **Legal notice:** If you have seen Microsoft Windows source code, your contribution won't be accepted because of potential copyright violation. Before contributing, you must affirm that the following is true:
->I hereby swear that I have not used nor seen the source code to any version of the Windows operating system 
->nor any Microsoft product that may be related to the proposed project that is under a license incompatible 
+>I hereby swear that I have not used nor seen the source code to any version of the Windows operating system
+>nor any Microsoft product that may be related to the proposed project that is under a license incompatible
 >with contribution to ReactOS, including but not limited to the leaked Windows 2000 source code and the Windows Research Kernel.
 
 ## What To Do?
@@ -53,7 +53,7 @@ Since our [migration to GitHub] we gladly accept __[Pull Requests]__. Pull reque
 
 ### Patches
 
-A __[patch]__ is a set of changes to existing source code. The changes in a patch can be merged into existing source code. This process is referred to as applying a patch (to source code). Which changes a patch contains and the way the patch is structured can have significant impact on the consequences that can happen from applying the patch. 
+A __[patch]__ is a set of changes to existing source code. The changes in a patch can be merged into existing source code. This process is referred to as applying a patch (to source code). Which changes a patch contains and the way the patch is structured can have significant impact on the consequences that can happen from applying the patch.
 
 See [Submitting Patches] for details.
 
@@ -63,37 +63,47 @@ Our commit style is defined in a __[commit template]__. Use it as a reference or
 
 ### Rules and Recommendations
 
-- *Use your __real name__ and __real email__.* We do not accept anonymous contributions!
+- *Use your __real name__ and __real email__.* We do not accept anonymous code contributions!
+  - Every commit that changes code or translations should have author's full legal name (in latin letters, diacritics allowed).
+  - It's recommended to have the same full name set in GitHub profile (in the [Name field here][GitHub Profile Settings]) that matches one specified in commits.
+- There is an exception for media changes, such as changes of art (wallpapers, themes, icons, sounds) and out-of-code documentation.
+  - In these specific cases it's allowed to use a nickname or alias as author's name, and it's recommended to have the same name set in GitHub profile (in the [Name field here][GitHub Profile Settings]) matching one specified in commits.
+- In any case the author must use a real e-mail address, this includes git commits (`user.email` setting) and GitHub [e-mail settings][GitHub Email Settings] - the checkbox "Keep my email addresses private" must be unchecked there.
+  - In order to *keep your privacy*, select appropriate "Primary email address" that will be applied to your commits in GitHub [e-mail settings][GitHub Email Settings].
 - *Ensure your contribution is properly described.* Include the relevant issue number if applicable.
 - *Put only related changes.* It will make reviewing easier as the reviewer needs to recall less information about the existing source code that is changed.
 - *Search for similar pull requests/patches before submitting.* It may be that a similar pull request or issue was opened previously. Comment and review on that one instead.
 - *Keep your contribution small and focused on the topic.* It can be tempting to fix existing issues as you come across them while reading the source code. Resist the temptation and put in a note in the source code instead, or (even better) put the issue in the issue tracking system.
 - *Respect our __[Coding Style]__ and __[Programming Guidelines]__.*
-- *Do not be afraid to ask questions.* Ask our developers on JIRA or [IRC] channel.
+- *Do not be afraid to ask questions.* Ask our developers in the [chat].
+
+To amend your commit with your name and e-mail (in any case you've forgot to set your name/e-mail) please take a look at this [guide](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Amending_your_commit_with_name.2FE-mail). To set your name/e-mail globally for future commits that you push, [read this](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Assign_commits_with_your_name_.26_E-mail_automatically).
 
 ## Where To Start?
 
 Finding a good project to start with can be a challenge, because when starting out you are (usually) not aware of all the possibilities. To help you find a project, here are some ideas to try:
 
-- Find a test that fails, and try to make it succeed: <https://www.reactos.org/testman/>
+- Find a test that fails, and try to make it succeed: <https://reactos.org/testman/>
 - Look around in JIRA, and if you have problems finding nice projects to start with, there is a label for this: <https://jira.reactos.org/issues/?jql=labels%20%3D%20starter-project>
-- Ask for help on [IRC]
+- Ask for help in the [chat]
 - Additionally, there are some tests that cause crashes/hangs, but these might be slightly harder: <https://jira.reactos.org/browse/ROSTESTS-125>
 
   [clean room reverse engineering]:                              https://en.wikipedia.org/wiki/Clean_room_design
   [debug]:                                                       https://reactos.org/wiki/Debugging
   [JIRA]:                                                        https://jira.reactos.org/
   [filing a bug report]:                                         https://reactos.org/wiki/File_Bugs
-  [testman]:                                                     https://www.reactos.org/testman/
-  [migration to GitHub]:                                         https://www.reactos.org/project-news/reactos-repository-migrated-github
+  [testman]:                                                     https://reactos.org/testman/
+  [migration to GitHub]:                                         https://reactos.org/project-news/reactos-repository-migrated-github/
   [humans are terrible at tracking large amount of information]: https://www.eurekalert.org/pub_releases/2005-03/aps-hmc030805.php
   [Pull requests]:                                               https://help.github.com/articles/about-pull-requests/
-  [tips for reviewing patches]:                                  https://drupal.org/patch/review
+  [GitHub Profile Settings]:                                     https://github.com/settings/profile
+  [GitHub Email Settings]:                                       https://github.com/settings/emails
+  [tips for reviewing patches]:                                  https://www.drupal.org/patch/review
   [missing functionality]:                                       https://reactos.org/wiki/Missing_ReactOS_Functionality
   [patch]:                                                       https://git-scm.com/docs/git-format-patch
   [Submitting Patches]:                                          https://reactos.org/wiki/Submitting_Patches
   [Coding Style]:                                                https://reactos.org/wiki/Coding_Style
-  [IRC]:                                                         https://reactos.org/wiki/Connect_to_the_ReactOS_IRC_Channels
+  [chat]:                                                        https://reactos.org/wiki/Mattermost
   [Programming Guidelines]:                                      https://reactos.org/wiki/Programming_Guidelines
   [3rd Party Files.txt]:                                         /media/doc/3rd_Party_Files.txt
   [README.WINE]:                                                 /media/doc/README.WINE
@@ -101,3 +111,7 @@ Finding a good project to start with can be a challenge, because when starting o
   [Coverity]:                                                    https://scan.coverity.com/projects/reactos
   [request-coverity]:                                            https://scan.coverity.com/memberships/new?project_id=reactos
   [commit template]:                                             .gitmessage
+
+# See Also
+
+- [Rules for managing Pull Requests](PULL_REQUEST_MANAGEMENT.md)