FSOSS 2008 Report - Nino D'Aversa
Downloading unknown and untrusted code from the internet and running it locally on a client machine; from a security standpoint it seems like a horrible idea, but this is exactly what Mozilla Firefox does. Firefox’s first line of defense is a human shield by the name of Johnathan Nightingale. Johnathan was educated in cognitive science and artificial intelligence and is currently working for the Mozilla Corporation on security, usability and coding for Firefox. Johnathan’s talk The Most Important Thing - How Mozilla Does Security, and What You Can Steal focused primarily on the Mozilla security philosophy and best practices. The essential message was, “Capture expensive knowledge so you don’t have to pay for the same lesson twice!” this is achieved through a feedback loop, always asking the question, “How can we make sure problems like this never happen again?” It sounds simple enough but I can understand where Johnathan is coming from, I agree that security is often does as a last ditch effort and is too often overlooked. The need for a robust security model is essential to the success of a very at risk piece of software like Firefox. I found the concept of bug triage interesting, to dissect a bug and determine its risk factor and impact its correction could have on the code not only in place, but in other areas. Johnathan also discussed the importance of bug post-mortems, emphasizing that they should not be blame finding campaigns but more process related, e.g. who could we have brought in sooner that would have solved this bug quicker? Johnathan also touched on the value of community, particularly the reporter of a bug. Johnathan said it is important to not diminish the reporters as their intention is to make the browser safer, community is essential and without it Mozilla could not survive. Lastly Johnathan emphasized the importance of tests: “NOTHING LANDS WITHOUT TESTS!” says Johnathan. Mozilla runs 75,000 automated tests, in 6 frameworks, on 4 platforms, at least 20 times a day. Now that’s what I call testing! He went on to say that tests that don’t run are a waste of time! Once again it seems obvious once it’s stated, but I myself have seen tests written just to write tests; tests that become stale and out of date. What happens is you avoid running the tests cause you know most of them won’t pass, the point is all tests must pass or it doesn’t land on the tree, that keeps the code tight and ensures fixes don’t break other previously working components. Mozilla also enforces mandatory code review because the philosophy that two people are less likely to make the same mistake and to act as a gatekeeper against “this is little, it’ll be fine”. I found Johnathan quite inspiring, he really makes to see the value of security, community, testing and review. I believe Johnathan sees the open nature of Firefox as invaluable to its success and security. The ability for many eyes to peer deep into the bowels of the beast allow for “all bugs to become shallow”. Johnathan values metrics, but not just for metrics sake. He says to measures things which matter, not what’s easy to measure! I found this both humorous and true, how often do we say we need some sort of metric or benchmark, but only measure what is easy to measure just to feel like we’re doing metrics, rather than spend the time to measure something which impacts performance and productivity. Johnathan suggest some good metrics are: measure the days of exposure to users, reduce the number of regressions, and reduce the number of all nighters. He suggests much of this can be addressed by designing for security up front, being proactive, but never expect to avoid being reactive as bugs will arise you don’t account for. Johnathan says you should always have a steady-state, improving security, never regress, as security should only get better; don’t produce fixes that reduce security in another area. I believe Johnathan holds the community in high regard, he referenced the value of user input and interaction more than once and his delivery told me he appreciated everything that people have to offer. He suggests if you can’t go open source to the world, how about just to your customers? I found this to be an interesting concept and it shows me that Johnathan is passionate about open source even if it’s not being practiced in its purest form.
Mozilla and Mobile
Johnathan and Stuart - Compared
I feel both Stuart and Johnathan have similar perspectives of open source, both being from the Mozilla Corporation. Although only so much can be gauged from an impersonal presentation I think both highly regard the community as Mozilla’s most value asset, and I agree with them both. The ability for so many people to collaborate on a product as large and visible as Firefox, and soon to be little brother Fennec, is truly remarkable. Coming into my first FSOSS event I didn’t know what to expect, and to be honest I wasn’t too excited going in. That changed for me quite quickly though, the first talk I attended was Johnathan’s talk on security and it was a real eye opener for me. I was very impressed with the delivery and content of the talk, I thought he spoke a lot to my concepts of what security is and isn’t, and opened my eyes to a real world system that is capable of handling security to the highest level. Needless to say after that talk I became excited about FSOSS and what was to come. Stuart’s talk put it over the edge for me, I have such a passion for gadgets and particularly the mobile market and its future. I was one of those who lined up first day for the iPhone as I had been gawking over it for almost a year and half. Although admittedly the iPhone platform itself is the foil to open source model I feel the hardware and software concepts which are stemming from it are critical and present in the approach Mozilla and Stuart are taking to their launch of Fennec. I found the entire talk about the mobile environment: the memory restrictions, the screen real estate, the performance questions to be exhilarating, I wished I could hear more about it and have more discussion because it brings together my personal interests, hobbies with my future career and education. I think the most valuable thing I will take away from FSOSS is a desire to get involved with Fennec in next semesters continuation of DPS, so Dave when you read this, keep me in mind when those Fennec contributions and opportunities pass your desk or inbox!
My Perspective and Closing Thoughts
Although I’m a freshman in the open source world I think FSOSS has affirmed much my perception of what open source is. It’s community involvement; it’s a decentralized chaotic system capable of producing safe and robust software. Both Johnathan and Stuart have instilled in me the value of that community, Mozilla shareholders as Stuart says, are its most valuable resource. It’s the coming together of minds from every corner of the globe to work towards a common purpose; in its chaos it is beauty, like pieces of metal coming together to form a complex watch. I find it remarkable how all the human resources are managed, but not managed as it were. How open source is almost self governing, it is driven by the interests and passions of its community, so it always current and of its time. It is the ultimate in customer satisfaction; customer feedback and interaction fuel the development. I’m not sure if it’s because open source is new to me, but it feels like the movement is new and fresh and a viable model for the future. I can see myself becoming part of something with such passion; as I am passionate. I look forward to contributing to the community wherever capable in the future and hope by this time next year; I can have something of my own to say at FSOSS.