Last week we had our first OSLD and started with the usual hopes and fears:
- how much time will be consumed setting the project up?
- will we find issues that are small enough to be finished in one day?
- the hope to learn something new: a new technology, language or tool
- the hope to improve our skills in reading a different code style and a new codebase
As an additional challenge we tried to do object calisthenics (which we will covered in a different blog post). In short they are a list of coding guide lines which try to bend your mind to get more flexible when coding/designing software.
After an initial meeting we decided to work on EGit/JGit. This project was on a familiar ground (Java) and had enough new tools (Git) and technologies (plugin development under Eclipse). Setup was very easy and fast (thanx to the EGit/JGit team!) and we started to look at the low hanging fruits linked from the EGit wiki which are basically issues that are categorized as easy. This is a very good idea for project newbies to start (in theory…). But the reality was that most of them were already patched and other had not enough information to make any sense for us (which could be also our lack of knowledge of the GIT wording and its internal concepts and function). At the end of the day we had worked on issues which were definitely too big for us (requiring changes in the infrastructure of JGit) and reported some issues as non-reproduceable.
So we learned a few things from the first day:
- project setup can be very fast and easy
- low hanging fruits are a very good idea
- avoid infrastructure changes
- a basic familiarity with the concepts involved is key to get along
- don’t do too much on one day, instead: focus!
- scratching your own itch would benefit the understanding of the issue and your motivation
So in the next month we give OSLD another chance and hope to learn even more.