Loading docs/CONTRIBUTE +26 −9 Original line number Diff line number Diff line Loading @@ -6,15 +6,16 @@ To Think About When Contributing Source Code This document is intended to offer some guidelines that can be useful to keep in mind when you decide to write a contribution to the project. This concerns This document is intended to offer some simple guidelines that can be useful to keep in mind when you decide to contribute to the project. This concerns new features as well as corrections to existing flaws or bugs. Join the Community Skip over to http://curl.haxx.se/mail/ and join the appropriate mailing list(s). Read up on details before you post questions. Read this file before you start sending patches! you start sending patches! We prefer patches and discussions being held on the mailing list(s), not sent to individuals. The License Issue Loading @@ -29,9 +30,9 @@ The License Issue What To Read Source code, the man pages, the INTERALS document, the TODO, the most recent Source code, the man pages, the INTERNALS document, the TODO, the most recent CHANGES. Just lurking on the libcurl mailing list is gonna give you a lot of insights on what's going on right now. insights on what's going on right now. Asking there is a good idea too. Naming Loading @@ -39,19 +40,24 @@ Naming names. It doesn't necessarily have to mean that you should use the same as in other places of the code, just that the names should be logical, understandable and be named according to what they're used for. File-local functions should be made static. functions should be made static. We like lower case names. See the INTERNALS document on how we name non-exported library-global symbols. Indenting Please try using the same indenting levels and bracing method as all the other code already does. It makes the source code a lot easier to follow if all of it is written using the same style. We don't ask you to like it, we just ask you to follow the tradition! ;-) just ask you to follow the tradition! ;-) This mainly means: 2-level indents, using spaces only (no tabs) and having the opening brace ({) on the same line as the if() or while(). Commenting Comment your source code extensively. Commented code is quality code and enables future modifications much more. Uncommented code much more risk being Comment your source code extensively using C comments (/* comment */), do not use C++ comments (// this style). Commented code is quality code and enables future modifications much more. Uncommented code much more risk being completely replaced when someone wants to extend things, since other persons' source code can get quite hard to read. Loading @@ -69,6 +75,13 @@ Non-clobbering All Over functionality, try writing it in a new source file. If you fix bugs, try to fix one bug at a time and send them as separate patches. Platform Dependent Code Use #ifdef HAVE_FEATURE to do conditional code. We avoid checking for particular operting systems or hardware in the #ifdef lines. The HAVE_FEATURE shall be generated by the configure script for unix-like systems and they are hard-coded in the config-[system].h files for the others. Separate Patches Doing Different Things It is annoying when you get a huge patch from someone that is said to fix 511 Loading @@ -94,6 +107,10 @@ Document small description of your fix or your new features with every contribution so that it can be swiftly added to the package documentation. The documentation is always made in man pages (nroff formatted) or plain ASCII files. All HTML files on the web site and in the release archives are generated from the nroff/ASCII versions. Write Access to CVS Repository If you are a frequent contributor, or have another good reason, you can of Loading Loading
docs/CONTRIBUTE +26 −9 Original line number Diff line number Diff line Loading @@ -6,15 +6,16 @@ To Think About When Contributing Source Code This document is intended to offer some guidelines that can be useful to keep in mind when you decide to write a contribution to the project. This concerns This document is intended to offer some simple guidelines that can be useful to keep in mind when you decide to contribute to the project. This concerns new features as well as corrections to existing flaws or bugs. Join the Community Skip over to http://curl.haxx.se/mail/ and join the appropriate mailing list(s). Read up on details before you post questions. Read this file before you start sending patches! you start sending patches! We prefer patches and discussions being held on the mailing list(s), not sent to individuals. The License Issue Loading @@ -29,9 +30,9 @@ The License Issue What To Read Source code, the man pages, the INTERALS document, the TODO, the most recent Source code, the man pages, the INTERNALS document, the TODO, the most recent CHANGES. Just lurking on the libcurl mailing list is gonna give you a lot of insights on what's going on right now. insights on what's going on right now. Asking there is a good idea too. Naming Loading @@ -39,19 +40,24 @@ Naming names. It doesn't necessarily have to mean that you should use the same as in other places of the code, just that the names should be logical, understandable and be named according to what they're used for. File-local functions should be made static. functions should be made static. We like lower case names. See the INTERNALS document on how we name non-exported library-global symbols. Indenting Please try using the same indenting levels and bracing method as all the other code already does. It makes the source code a lot easier to follow if all of it is written using the same style. We don't ask you to like it, we just ask you to follow the tradition! ;-) just ask you to follow the tradition! ;-) This mainly means: 2-level indents, using spaces only (no tabs) and having the opening brace ({) on the same line as the if() or while(). Commenting Comment your source code extensively. Commented code is quality code and enables future modifications much more. Uncommented code much more risk being Comment your source code extensively using C comments (/* comment */), do not use C++ comments (// this style). Commented code is quality code and enables future modifications much more. Uncommented code much more risk being completely replaced when someone wants to extend things, since other persons' source code can get quite hard to read. Loading @@ -69,6 +75,13 @@ Non-clobbering All Over functionality, try writing it in a new source file. If you fix bugs, try to fix one bug at a time and send them as separate patches. Platform Dependent Code Use #ifdef HAVE_FEATURE to do conditional code. We avoid checking for particular operting systems or hardware in the #ifdef lines. The HAVE_FEATURE shall be generated by the configure script for unix-like systems and they are hard-coded in the config-[system].h files for the others. Separate Patches Doing Different Things It is annoying when you get a huge patch from someone that is said to fix 511 Loading @@ -94,6 +107,10 @@ Document small description of your fix or your new features with every contribution so that it can be swiftly added to the package documentation. The documentation is always made in man pages (nroff formatted) or plain ASCII files. All HTML files on the web site and in the release archives are generated from the nroff/ASCII versions. Write Access to CVS Repository If you are a frequent contributor, or have another good reason, you can of Loading