mozilla

365 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
365
On SlideShare
0
From Embeds
0
Number of Embeds
34
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

mozilla

  1. 1. Lessons from Open Source Software Development: The Mozilla Experience Frank Hecker [email_address] +1-301-953-2898
  2. 2. Mozilla in a Nutshell <ul><li>Project began in 1998 with Netscape decision to release browser source code </li></ul><ul><li>Cross-platform open source web browser, email/news client, HTML editor, etc. </li></ul><ul><li>~2 million lines of source code </li></ul><ul><li>~60 core developers, >1,000 contributors </li></ul><ul><ul><li>from Netscape, IBM, Sun, Red Hat, general public </li></ul></ul>
  3. 3. Mozilla Project Characteristics <ul><li>Corporate-initiated and funded project </li></ul><ul><ul><li>core people are full-time paid employees </li></ul></ul><ul><li>Graphical (GUI) end-user application </li></ul><ul><ul><li>high complexity </li></ul></ul><ul><ul><li>stringent goals for performance, usability, etc. </li></ul></ul><ul><li>Many contributors are not developers </li></ul><ul><ul><li>do bug reporting, formal testing, UI design, etc. </li></ul></ul>
  4. 4. Aspects of Mozilla project <ul><li>Technical: architecture, code, documentation </li></ul><ul><li>Procedural: bug reporting, code review, commit access approval, module ownership </li></ul><ul><li>Infrastructure: code/data repository, bug system </li></ul><ul><li>Financial/political: funding, project governance, institutional influence and oversight </li></ul><ul><li>Legal: licensing, IP ownership, etc. </li></ul><ul><li>Social: peer recognition, meetings and conferences, contributor recruitment, project “marketing” </li></ul>
  5. 5. Success factors: Technical <ul><li>Ship something, get feedback on it, repeat </li></ul><ul><li>Design for add-ons and customizability </li></ul><ul><ul><li>allows more people to contribute and add value </li></ul></ul><ul><ul><li>Mozilla examples: MathML, language localization </li></ul></ul><ul><li>Make underlying architecture general enough to allow unanticipated uses and extensions </li></ul>
  6. 6. Success factors: Procedural <ul><li>Making processes work is everyone’s work </li></ul><ul><ul><li>less distinction between “managers,” “workers” </li></ul></ul><ul><li>Must approach from the viewpoint of a person trying to get work done on limited time budget </li></ul><ul><ul><li>“just enough process as needed, but no more” </li></ul></ul><ul><ul><li>makes participation in project easier for part-time contributors and volunteer contributors </li></ul></ul>
  7. 7. Success factors: Infrastructure <ul><li>Key components </li></ul><ul><ul><li>version control (code/data/document repository) </li></ul></ul><ul><ul><li>issue tracking </li></ul></ul><ul><ul><li>discussion forums and web sites </li></ul></ul><ul><li>Use technology that is familiar to contributors </li></ul><ul><li>Ensure it’s widely available and accessible </li></ul><ul><ul><li>take into account people on different platforms, low-speed vs. high speed networks, etc. </li></ul></ul>
  8. 8. Success factors: Financial/Political <ul><li>Funders should exercise oversight, influence goals/policies, but not micro-manage project </li></ul><ul><li>Align authority with responsibility </li></ul><ul><ul><li>wherever possible, decisions made by those who do the work and are held accountable for results </li></ul></ul><ul><ul><li>“technical meritocracy” </li></ul></ul><ul><li>Acknowledge institutional interests, but also promote loyalty to project, other contributors </li></ul>
  9. 9. Success factors: Legal <ul><li>Keep licensing arrangements simple </li></ul><ul><ul><li>complexity imposes “transaction costs” on people using code and data or contributing to project </li></ul></ul><ul><li>Decide up-front on IP ownership policies </li></ul><ul><li>Use formal agreements where legal risk exists </li></ul><ul><ul><li>e.g., terms of use for write access to repository, grants of permission to include material </li></ul></ul>
  10. 10. Success factors: Social <ul><li>Promote inclusion of all actual/potential contributors </li></ul><ul><ul><li>e.g., move off-line discussions on-line </li></ul></ul><ul><li>Specialize roles to increase opportunities </li></ul><ul><ul><li>developers, testers, UI designer, technical writers, release engineers, domain experts </li></ul></ul><ul><li>Build “pyramid of participation” </li></ul><ul><ul><li>casual observer  occasional contributor  core contributor  “module owner”  “board member” </li></ul></ul>
  11. 11. Summary <ul><li>Mozilla project initiated a new phase in free software/open source development </li></ul><ul><li>Has had major influence on “next generation” of collaborative software development projects </li></ul><ul><ul><li>rich source of “lessons learned” for other projects </li></ul></ul><ul><ul><li>new technology for supporting distributed collaborative software development (e.g., issue tracking) </li></ul></ul><ul><ul><li>instructive approaches to all aspects of running a large and complex public software development project </li></ul></ul>

×