Add (untested) device detection using sansapatcher.
[Rockbox.git] / docs / CONTRIBUTING
blob1bd055860b8a17cef59cdfda3734c917e6bb2ce0
1 $Id$
3                __________               __   ___.
4      Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
5      Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
6      Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
7      Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
8                        \/            \/     \/    \/            \/
9                                  Contribution Policies
12 In order for the project to run as smoothly as possible, it's best if all
13 contributors adhere to a few simple source code conventions:
15 Exceptions
16 ----------
17 This project borrows and imports quite a lot of code from other free software
18 projects. We do not change style of such code unless we really have to, even
19 though they might be using style very different from others.
21 Language
22 --------
23 Write all code in C. Sometimes assembly is faster, but C is always more
24 readable and maintainable.
26 Language features
27 -----------------
28 Write normal C code. Don't redefine the language. No new types (structs are
29 structs, not typedefs), no C++isms or Javaisms.
31 Names
32 -----
33 Variables and function names should be all lower case.
34 Preprocessor symbols should be all uppercase.
36 Comments
37 --------
38 We only use plain old /* C standard comments */.
39 If you want to comment out large blocks containing other comments, use #if 0.
41 Style
42 -----
43 When changing code, follow the code style of the file you are editing.
45 When writing new files, you may use the brace placement style of your choice.
47 Always indent your code with four spaces. Don't use TAB characters, as that
48 will mess up code display in CVS, printing, and a zillion other places.
50 Keep lines below 80 columns length. Use whitespace and newlines to make the
51 code easy to browse/read.
53 Text format
54 -----------
55 Use "unix style" line feeds: "LF" only. Do not use "CR+LF".
57 Use ISO-8859-1 character set, but try to refrain from using any non-ascii
58 letters as they will only appear weird in some camps no matter what.
60 Patches
61 -------
62 Create a patch using 'svn diff > mychanges.patch
63 Trim your patches so they only contain relevant changes.
65 Submit your patch to the project via our patch tracker:
66 http://www.rockbox.org/tracker/index.php?type=4
68 Credits
69 -------
70 We believe in crediting all contributors by name. Before committing a patch to
71 SVN, we ask that you give us your full real name (no pseudonyms or nicknames)
72 for adding to the credits list.