Actions
  Contributing to Exiv2 » History » Revision 7
      « Previous |
    Revision 7/14
      (diff)
      | Next »
    
    Robin Mills, 12 Apr 2015 16:49 
    
    
Contributing to Exiv2¶
All help is appreciated. All contributors are unpaid volunteers. If you really want to see something added to Exiv2 - volunteer!
Principles:- Make code as simple as possible.
 - Shorter code is almost always better.
 - Every time you find a bug, update the code AND the test harness.
 - Every time you find a bug, consider if there are more instances of the same fault and fix them.
 - Deal with things immediately. Avoid putting things off for another day. There will never be more time than today.
 - Always inspect the build server when you've submitted code to be sure it has built and passed the test suite.
http://exiv2.dyndns.org:8080 - If you break the build on the trunk, please fix it immediately or revert the build breaker.
 
- Look for patterns in the code and refactor them into functions.
 - Only use MACROs for simple things. (Professor Stroustrup would say NEVER use macros).
 - Eliminate constants in the code. Put them into a header file as a #define or enum to give it a symbolic name.
 - Be consistent. (that mostly follows from refactoring into functions).
 
- Robin is available on Saturday afternoon in England for 1-to-1 with team members via Skype/Hangout/FaceTime/Messenger.
 - If you have to delay anything by more than a day, log an issue in Redmine to be certain it isn't forgotten.
 - Read the Forum and contribute. Everybody who asks a question might become a contributor. Courtesy earns rewards.
 
- New contributors are asked to provide changes by sending a patch file.
 - You'll be granted write access when we know each other.
 - We have four servers: Apache, Redmine, SVN and Jenkins.
 - Exiv2 is open source. All contributors are required to wave all commercial and intellectual property rights to their contributions.
 
- Most of the code in Exiv2 is beautiful and for that we have to thank Andreas. Read the code. Copy the style.
 - If in doubt, please ask for help. Remember, Exiv2 is used by millions of people. As a team our strength comes from working together.
 - Discuss things openly in an issue report or Forum discussion. If you are confused and uncertain, take the conversation off-line. However you should publicly report the conclusion of an off-line discussion.
 
- You don't need to be a C++ Expert.
 - Testing, forum correspondence, documentation, build, test and other skills are all very useful.
 - C++ to work on the core code
 
Updated by Robin Mills over 6 years ago · 7 revisions