| By Ibrahim Haddad, Frederic Benard | Article Rating: |
|
| November 19, 2007 01:00 PM EST | Reads: |
6,542 |
5. Build the Open Source Project Infrastructure
As part
of the open sourcing process, you need to build the infrastructure for
your project which allows the project to be visible to the outside
world and offer communication and software development tools to the
project team and to the open source community. A typical project
infrastructure includes a web site, a code repository system, one or
more project mailing lists, a bug tracking system, a release or patch
tracking system and a feature request tracking system.
- Web site: The web site of any code contribution must specifically:
- describe the purpose of the contribution
- explain the problem the contribution solves
- explain how the contribution works
- describe the benefits of the contribution to the common user
- provide test cases and test scripts so that open source developers can experiment with the contribution and see its benefits
- advertise news related to the project
- Code repository system: Two popular code repository systems are Concurrent Versions System (CVS) and Subversion (SVN). Select one and populate it with your source code. It is also useful to define a coding standard and enforce it.
- Mailing lists: You need to host one or more project mailing lists. For instance, your open source project might require a mailing list for developers involved in the project (whether they are your company's developers or external developers from the open source community), another mailing list for the user community, and possibly a third one for quality assurance or software testing. The goal of having more than one mailing list is to keep discussions focused. Typically, the core team of the project would be subscribed to all mailing lists, while other contributors would be subscribed to the list that is of most interest to them.
- Bug tracking system: A bug tracking sys-tem allows individuals or groups to report bugs against your project; it allows you and others to keep track of outstanding defects.
- Release or patch tracking system: A release tracking system allows individuals or groups to keep track of your project software releases or patches.
- Feature request tracking system: You should define a process for users to sub-mit feature or enhancement requests and select an appropriate request tracking system.
6. Announce the Project
Once you have created your
project infrastructure, you are now ready to announce the project to
the world and invite people to provide feedback and contribute to the
project. The primary method used to announce your project is to send an
email to the relevant mailing lists. Projects can also be announced at
conferences, through press releases, or through articles published in
Enterprise Open Source Magazine, or any other Linux focused publication.
When making the announcement via mailing list there are some general guidelines to respect:
- Use subject line "[ANNOUNCE] X" to announce the contribution where X is the name of the contribution
- Give some background and introductory text
- Include motivations for your contribution
- Explain how your contributions is different from existing or similar code
- Explain how people will benefit from it
- Don't attach any documents in the email; instead point to a web site.
Now that you have announced your project to the world and hopefully have attracted the attention of open source developers, it is your team's responsibility to respect and follow the open source development model and open source best practices. Below we outline the most important practices:
• Listen to the open source community: The feedback received from open source developers over the project mailing list can sometimes be negative. Don't worry about it. It is important to review the feedback and understand what the developers are trying to say. It is best not to take such negative feedback personally. After all, the intention is to improve code quality through intensive review. Take the good suggestions you receive and incorporate them into your code. If there are solid technical reasons why the suggestions are not valid then explain those reasons over the mailing list.
• Be open: It is important to be open in terms of disclosing problems, bugs and challenges. This openness is much appreciated and is also expected by the open source community, who will help you with immediate workarounds and fixes.
• Release early and release often: Open source projects tend to make software releases available early to the user community and then issue frequent updates as the software is modified. This practice is called "release early, release often". The open source community believes that this practice leads to higher-quality software because of peer review and testing by a large base of users who will report bugs and contribute fixes. A side benefit of having many people looking at the code is that the code is reviewed for adherence to coding style; fragile or inflexible code can also be improved because of these reviews. Furthermore, this practice allows the release of small incremental changes that are easier to understand and test.
• Follow community coding style: The open source community follows a strict coding style to make it easier to understand the code, review it and revise it quickly.
8. Be Visible
It is important to be active and visible
not only when you first launch your project but throughout your
project's lifecycle, as this will allow you to rally an increasing
number of contributors. You can write articles about your project in
open source magazines such as Linux Journal, Linux Magazine, Linux
Planet and Open Source Enterprise Magazine; you can attend and present
at open source community events and conferences such as the Ottawa
Linux Symposium and Melbourne's linux.conf.au conference.
9. Be a Good Open Source Citizen
Being a good open
source citizen starts by being part of the open source community,
contributing to the community, following and respecting its practices
and processes, and leading by example, i.e., getting things done by
doing them.
Conclusion
This article reviewed some of the best
practices to follow when open sourcing a proprietary technology. Many
companies have tried to go the "open source way". Some have bailed
after failed trials; other companies are not doing so well and others
succeeded and are being regarded as raw models for working with the
open source community. It is your responsibility to learn, understand
and follow the working methods and best practices of the open source
community.
In a follow up article we will describehow we went through the described process to open source a contribution from Motorola to the Linux kernel called the "Precise Process Accounting", which is available today from: http://sourceforge.net/projects/ppacc/.
Stay tuned!
Published November 19, 2007 Reads 6,542
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Ibrahim Haddad
Dr. Ibrahim Haddad is a seasoned telecommunications expert with over a decade of multinational experience in infrastructure, carrier grade, Linux mobile platforms, software development, standards, industry global initiatives, Open Source software and legal compliance. Dr. Ibrahim Haddad is currently Director of Open Source at Palm. His previous professional experiences include Ericsson, the Open Source Development Labs and Motorola. Haddad is the author of “Practical Guide to Open Source Compliance” to be published early 2010 and co-author of two books on Red Hat Linux and Fedora. Dr. Haddad is a Contributing Editor of the Linux Journal and served on numerous conference and review committees. Haddad received a B.Sc. and M.Sc. in Computer Science from the Lebanese American University (Byblos, Lebanon) and a Ph.D. in Computer Science from Concordia University (Montreal, Canada).
More Stories By Frederic Benard
Dr. Frédéric Bénard is Engineering Manager at Motorola and leads the Open Source Software Center of Excellence, which is part of the Motorola "Embedded Systems, Open Source and Linux Technology Group". He holds a B.Sc. in Physics from McGill University, a M.Sc. and a Ph.D. in Physics from the University of Toronto, and an MBA from McGill University.
- 4th International Cloud Computing Conference & Expo Starts Today
- Publishing Synergy: Blog, Twitter and Ulitzer
- Performance Tuning Essentials for Java
- Cloud Expo New York Call for Papers Deadline December 15
- Google Wave
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Cloud Computing Can Revitalize Your Career as Software Developer
- SOA World Magazine "Readers' Choice Awards" Voting Is Now Open
- Oracle+MySQL Opponents Take to the Barricades
- Virtualization Expo Call for Papers Deadline December 15
- Oracle Faces Growing Price for MySQL
- SpringSource Moving to Spring 3.0
- 4th International Cloud Computing Conference & Expo Starts Today
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- Publishing Synergy: Blog, Twitter and Ulitzer
- Performance Tuning Essentials for Java
- Cloud Expo New York Call for Papers Deadline December 15
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Google Wave
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Cloud Computing Can Revitalize Your Career as Software Developer
- Oracle-Sun: IBM Reportedly Behind Delay
- Citrix Aims To Cripple VMware’s Cloud Designs
- Oracle Trashes HP Relationship for Sun
- After Ubuntu, Windows Looks Increasingly Bad, Increasingly Archaic, Increasingly Unfriendly
- SCO CEO Posts Open Letter to the Open Source Community
- Simula Labs Launches Hosted Delivery Platform To Enable Enterprise Open Source Adoption
- Where Are RIA Technologies Headed in 2008?
- Source Claims SCO Will Sue Google
- How Open Is "Open"? – Industry Luminaries Join the Debate
- Latest SCO News is Plain Weird
- IBM Tells SCO Court It Can't Find AIX-on-Power Code
- SCO Claims Linux Lifted ELF
- Flashback: Investing in 'Professional Open Source' - Exclusive 2004 Interview with David Skok, Matrix Partners
- HP Starts Pushing Desktop Linux
- Linux Business Week Exclusive: Linux Kernel To Be Re-Written To Counter Microsoft FUD


























