For most open source projects, integration of patches provided by willing users if not an easy task and it often falls behind. The burden of patches is both on the user himself and on the project member doing the integration.
Generating a patch is not straightforward for the user (he needs to compare with the original version if he still has it) and worst, he doesn’t get the benefits of version control systems.
On the other side, the project member integrating the patch has to find the correct version against which the patch applies, he has to fight with the line breaks if the patch was submitted by email.
The more obvious solution is to give access to the version control system to the potential contributors: this way, they can fully contribute and the integration is easy. But that raises another question: do you really want anybody to be able to put his/her contribution without any check? Sometimes, the contribution could break another capabilities, sometimes a different solution to fix the problem might be more appropriate, sometimes, this is not the time to integrate risky modifications… That the case why in most open source projects, the core team of people with commit access is limited.
With the availability of distributed VCS (mercurial, git, bazar), part of this problem disappear: the user can work locally and benefit from the VCS, it also makes the patch generation easier. But there is still the problem of sharing. The main argument of the DVCS is that a contributor can go out and say “hey guys, here is my cool version, come and pull from it”, but that involve him setting up a public repository. Unlikely if he is just interested in using the program and on his way fixed a bug.
To make this process easier, we’ve just created a “sandbox” repository for OTB which works as a testing environment that isolates untested code changes and outright experimentation from the production environment or repository. Here is how it works:
- Clone the main OTB repository:
hg clone http://hg.orfeo-toolbox.org/OTB
- Set up your mercurial identity, in Linux, edit the ~/.hgrc and put the following lines:
[ui] username = Your Name <email@example.com>
- work as usual, commit locally as you would do for your own project
- when you are happy, push to the sandbox
hg push http://hg.orfeo-toolbox.org/OTB-SandBox
If necessary, use the -f option (we will sort out the mess). When ask for the login use “anonymous” with the password “otb”.
- We will be informed that something new is in the sandbox, but you can also drop a mail at firstname.lastname@example.org to provide more explanations.
- We will then review the corrections, test them and then merge them into the main repository.
This way, the fix, the new capability, etc will be maintain in the upcoming version of OTB. And also, the user will have the chance to appear in our latest codeswarm.
7 thoughts on “Contribute easily to OTB”
Nice work … may be we will get more of those guys on the mailing list putting stuff back. I so with NASA would do the same for worldwind.
How could i download OTB example data pictures? the zip file from sourceforge.com does not contain any data. i go to hg.orfeo-toolbox.org/data/ ,but don’t know which ones are what i need.
Lookinf forward to your help!Thank u!
Sorry to put up a question here, but i cannot access google groups.
Look at http://hg.orfeo-toolbox.org/OTB-Data/file/tip/Examples and at the top of the example file, you’ll find the name of the image used to generate the result.
Thank u very much for your quick help. And yes, i’ve been to that place, but every time i click the link of a png picture for example, i don’t get a png picture, instead it’s some page with words. so how could i get that png picture?
I’ve been always using windows and never used linux or other systems before, and the total structure of these files stored in this site is not that easy for u to understand.
sorry, it should be ‘not that easy for me to understan’. mistyping…:)
After clicking the image, on the top left of the page, you should have a link saying ‘raw’: that will give you the image.
You don’t need to access google group, you can just send an email directly to email@example.com
Thank u very much!