I have been at Peter Roßbachs talk at RheinJug on Thursday (here another blog post from me). One especially interesting thing I noticed is that he was encouraging people to start contributing to OpenSource projects and read more good code.
This is especially interesting as basically on every gathering I have been in the last weeks, everybody was talking about “reading code”.
Fabien Potencier, lead developer of symfony, also claims that it is very important to read code and contribute to Open Source in his latest blog post.
I think there is some level of saturation reached now, there is just too much bad code out there. We all need to get rid of old code, get rid of bad code, get rid of slow code and get rid of duplicate code.
To do this we all have to know more good code. I have written much crappy code in the past especially because I did not know of better ways to solve certain issues. But there are many good and well developed libraries out there. It is much better to read that code and if it is buggy, contribute to it.
There is also nothing wrong with taking code and duplicating it when the license permits it. It should be done only when there are good reasons to exclude the rest of the library and only if you are willing to merge fixes for the original code. But at least it is way better of trying to solve a problem again on your own, producing bad code.
More important it is required to contribute to good OpenSource projects. Peter said: “oh well, we all have gotten old, have families and better things to do at the weekend than just coding”. Perhaps its also a fault of the projects not to recruit new people, but there is a risk of good projects dieing out, as seasoned developers might loose interest.
The other option is to start a new Project. But one should only do this when there are fundamentally different ideas behind, that would not be possible in an existing Project. If its just about “I can write better code” than it should be proven in an existing project. In fact all projects are happy about patches that make their code better.

  • Read Code
  • Improve Code
  • Share Code