This document describes how to contribute code to PoDoFo.\\n\\n     2010 Dominik Seichter <domseichter@web.de>\\n\\n0. Code quality\\n===============\\n\\nBefore you submit or commit code to PoDoFo (assuming you made a modification),\\nyou should make sure that your code adheres to the codingstyle guidelines (see\\nCODINGSTYLE.txt). Note that the codingstyle guidelines also include\\ndocumenting every newly introduced method (Doxygen syntax).\\n\\nAdditionally, your code should work on at least Linux and Windows operating\\nsystems. Portability is one main goal of PoDoFo, so it is important that the\\ncode is always buildable and runnable on all supported platforms. We usually\\ntest at least using GCC on Linux and using Visual Studio on Windows. Both\\n32bit and 64bit systems are target platforms. So if your code needs to work at\\nbit and byte-levels, take this into account.\\n\\nLast but not least, all unit tests - especially test/unit/podofo-test - should\\nrun after your modification. \\n\\n\\n1. Submitting code\\n==================\\n\\nIf you are contributing code for the first time, the usual procedure is to\\nsend a patch containing your modifications to the PoDoFo mailing list\\n<podofo-users@lists.sourceforge.net>. We will check your code and commit it\\nfor you to the repository.\\n\\nA patch should always be created against latest SVN trunk. Such a patch can be\\ncreated using  the SVN command \\\"svn diff\\\" on the commandline. \\n\\nIt is recommended that you also add a unit test for the modification you have\\nmade. If your modification is a bug fix, a unit test assures that no\\nregression for this bug is introduced at a later point of time (as everyone\\nruns the unit tests after every modification and before every commit). If you\\nadded a new feature, the unit test guarantees that the new code was at least\\ntested once. Another very useful test is to run the test/ParserTest executable\\nand see if is able to parse and write the PDFReference1*.pdf from Adobe\\ncorrectly.\\n\\n2. Getting a SVN account\\n========================\\n\\nAfter we integrated some patches of yours successfully into SVN, you usually\\ncan also get a SVN account. Feel free to ask for it, or if we think of it we\\nwill offer an SVN account to you. Frequent submitters of patches are\\nencouraged to ask for an SVN account, as it is easier for everyone if\\nsubmitters of good quality patches can integrate these themselves.\\n\\n\\n3. Committing code\\n==================\\n\\nUsing a SVN account you can commit your code\\nyourself. If you are working on the main part of PoDoFo, you should announce\\nor discuss your intended changes on the mailing lists. If you are maintaining\\na tool (under tools/) you can add features or make changes as you like.\\n\\nAn important point is that every commit has to go with a commit log message\\nthat tells the other developers what your change does and why you made\\nit. These changes can be tracked and discussed on the PoDoFo SVN mailinglist\\n<podofo-svn@lists.sourceforge.net>. Every commit is automatically send to this\\nlist.\\n\\n4. Non-code contributions\\n=========================\\n\\nBesides to code, we are also interested in other contributions like\\ndocumentation, feedback, examples, webpage, articles ...\\n\\nAsk on the mailinglist if you are interested in helping or joining the\\nproject.\\n