Crossings: Read the Source, Luke
Read the Source, Luke

Opensource software has been a gift to the development community. We think about how we get access to great software, which we can build on, and utilize.

One of the oft-forgotten benefits of opensource software is the obvious fact that you can read the source code. In my opinion this is like gold. What better way to learn about how to code, than by reading the code of quality software! It can even help to read BAD code of course.

So, an interesting process, involves having your dev team take one opensource project every month/quarter, and have someone on the team read it. This person, or the group as a whole, can go through the code picking up particular interesting areas.

The Spring Framework is an interesting choice. The coding in this project is top notch. It has fantastic test coverage, is modular, offers core OO techniques, and you will find it very easy to read. You can also see how the codebase has grown over time, and how the flexible design has allowed the add features in a clean way.

Another good example is the JUnit codebase. Developers are often surprised at how simple the project is, and this allows you to get up to speed in one short sitting. As well as being able to learn from the code, you will also come out with another great side effect. You will know JUnit a hell of a lot better after you read through the source.

So, as good candidates, consider looking through the source of projects that you are using in your own daily toil. You will end up learning a lot about the project.

It is amazing how little some teams invest in learning an opensource API, and how they jump right in. One example is how a team that I worked with have JUnit tests, and each test method called setUp() and
tearDown() at the beginning and the end of the methods. Had they looked a little at the documentation, they would have seen that JUnit calls these methods for them.

Just because opensource is "free" doesn't mean that you shouldn't invest in it. Take some time to learn from some of the great developers out there, and end up with better results in your own code.


Name (Required)
Comments are moderated. Your email address will not be published and is only required in the event the editors need to contact you. All comments become property of the Crossings™ knowledge blog.
Email (Required)
Comment (Required)
EuroOSCon: Amsterdam, October 17-20
Opensource Conference in Europe
Community Co-creation
Developing in the open can provide benefits beyond the value of the intellectual property.
Market-Makers, Supplier Communities, and Micro-Economies
Maybe the middle-man isn't so bad.
Creative Commons for Code
The Creative Commons Open Licenses are very popular for content creators. I predict we will see a lot of opensource code licensed in this manner, and it makes sense!
The What, Why and How of Opensourcing Your Code
The conference slides are now available.