Send mail to the author(s)

    August 14, 2007

    Open Source Contribution FAQ

    Below are some answers to what I think will be common questions. Please refer to these first before emailing me.  

    • Which version of Visual Studio should I use?

      All our projects require Visual Studio 2005.

    • What other prerequisites are required?

      The usual device development pre-requisites apply, including the Windows Mobile 5.0 (both Pocket PC and Smartphone) SDKs and the Windows Mobile 6 SDKs (Standard and Professional). In addition to these, you will need a Subversion client for access the Subversion repositories.

    • Which Subversion client should I use? Do any integrate with Visual Studio?

      This is really a matter of personal choice. Some people, like me, are command-line junkies, so CLI client, svn.exe, is enough. Others prefer a standalone client, such as RapidSVN. I could ramble on at length about the evils of using a VSSCC integrated client, but I'll save you the pain. If that's your perference, then TortoiseSVN seems to be the top dog.

    • I've got a great idea for a feature, I've coded it and it works. How do I commit this to the repository?

      If this is for an OpenNETCF project, like the Desktop Communication library, then we have imposed a set of rules for those who want commit rights. As developers, we're good, but no one is perfect, so your first task is to submit and have accepted a minimum of 4 patches for the product you wish to gain commit rights to. Having commit access to one project does not automatically entitle you to commit access to other projects. You must go through the same procedure for each project. Patches should only contain bug fixes and no new features. For details on submitting patches, see the FAQ "How do I submit a patch?". OpenNETCF reserve the right to revoke commit rights with or without warning. This procedure is also detailed in the README.txt which can be found in the root folder for each OpenNETCF project.

      Commit access for non-OpenNETCF projects will be at the discretion of the project owner. Project owners will be advise to post a FAQ to their project discussion list detailing the requirements and procedures.

    • I've found a bug what should I do?

      The first thing you should do is check Bugzilla to see if the bug has previously been reported and/or fixed. Each project will listed as a product in Bugzilla. If your bug is not listed, you should file a bug report. These will be automatically sent to the project discussion list so that feedback can be given by the other list members.

      If you have already fixed the bug in your working copy, submit a bug report to Bugzilla and then send a patch to the mailing list.

    • How do I submit a patch?

      The easiest way to do this is to perform a diff on your working copy against the code in the repository. Using the command-line Subversion client, you do this by issuing the following command in the project working directory:

      svn diff > patch.txt

      Other Subversion clients will provide diffs in various ways, so consultant the documentation for your Subversion client.

      The next step is to mail this to the project discussion list with details on what the bug was and how you fixed it. Include the prefix "PATCH: " in the subject header. The project owner will then review the patch and provide feedback on it. Should the patch be accepted, it will be merged into the source tree and an email will be sent when this is done. Should the patch be rejected, the project owner will provide an explanation.

    • How do I go about hosting my own project with OpenNETCF?

      Drop me an email explaining who you are and what your project is all about. I'll then review the idea with my OpenNETCF colleagues and discussion your needs with you.

    I'll continue to update this document as new FAQs spring to mind. If you have any questions, please feel free to email, Skype, or IM me. Details are below:

    Email: neilc@opennetcf.com
    Skype: neilcowburn
    MSN IM: neilc@opennetcf.com