Attending Mozilla Devroom at FOSDEM: Hacking Gecko by Bobby Holley

Since I went to Brussesl to attend the Free Open Source Developer European Meeting and give a talk about graphity I had also some time to attend some interesting talks. Since I will teach a class in summer for students about creating a basic webserver and webbrowser I decided to listen to some talks of the mozilla devrooom.
I first attended a very refreshing and fun talk given by Bobby Holley a platform engineer at mozilla about hacking the Rendering Engine Gecko. I think I realized some things that are not only of interest for hacking gecko but also for hacking metalcon or some other software!
you can find his slides on http://people.mozilla.com/~bholley/hacking-gecko-fosdem2012/hacking-gecko.html (when you go there just use the arrow keys to navigate!)
Some messages I found particular interesting together with my thoughts and comments:

Making Mozilla is great!

So this is actually why Mozilla thinks making Mozilla is great and what their motivation is. They think firefox enables them to change the way the web is developed. If they don’t like something they won’t implement it. So you clearly see one asset of Firefox is being in the gate keeper position. And being there is valuable in its own. That is probably one of the reasons why Google put so much effort on chrome and android. Both products go very deep and make google a gatekeeper giving them tons of power to steer developments in the “right” direction. 

Look at the feature!

Bobby pointed out that if you want to contribute to Mozilla are Gecko you should not even consider to follow a top down approach. He said that it is impossible to understand 7 mio. lines of (fast changing) code. He rather suggests to look at the specific feature you want to develope and  look at the documentation. You should play around and get it running. In my own experience that is on of the things that makes the difference betweed some coder and an amazing hacker. If you are really able to hack your things in an entire system without overview of the entire thing then your “in business”

Tests are awesome!

Ok that was the most interesting take away. Bobby said that tests are important not only so you can see that your code works properly and that you can check that your code doesn’t interfere with others. But tests are also great so if people change their parts they can check your feature will still work with their. He said your tools won’t continue working for longer than a couple weeks unless you provide tests so others see their plugins don’t destroy your work… Metalcon was only 40’000 lines of code and pretty manageable but we already saw weired things getting messed up once we checked in some code at some other point. To quote Bobby: 

If you check in some new lines you can smoke test them but if you check them in and 200 test lamps go green it feels good. More importantly. A huge community will make new stuff so if you didn’t write a test within a month your new feature might not work…

You may also like...

Popular Posts

Leave a Reply

Your email address will not be published. Required fields are marked *