Previous    Table of Contents    Up    Next

Deciding to Do Open Source

After reading the first six chapters of this book, you are in a position to make an intelligent decision about whether open source is appropriate for your project. Here are some of the questions that you need to answer:

Do You Buy the Lifestyle?

Are you willing to do your work in the open and collaborate with people outside your company? Will you use public mailing lists instead of internal ones? Are you willing to spend significant amounts of time discussing design and direction with outside community members? Is everyone working on your project willing to work this way? Are your managers (and their managers) willing to change how your project is run? Are you willing to give up total control and let the community make many of the decisions?

Does your Business Model Support it?

What are your business goals? Are you trying to make a platform ubiquitous, gain developer mindshare, create a for-sale product, sell support or services, or something else? How does open source help you achieve these goals? How will your business model develop over time? Do you need to provide support for your product? If so, how will you support it?

Can you Legally Open source Your Code?

Does your company own the rights to all of your source code? Does it include any third-party code? Does it use any third-party intellectual property (such as patents or trade secrets)?

Who is your target audience? Why will these people care about your project? What do they get out of it? What licenses are they currently using for related projects? Will your license be compatible with theirs? Will you be competing with an existing open-source project? Is there a working version of your code that people can use right now?

Is Your Source Code Open-Source-Friendly?

Large monolithic and poorly documented applications require lots of study before a developer can make even a small change. How easy is it for new people to learn their way around your code base? Is your code modular? Is there sufficient documentation? Are you willing to refactor the code? Are the main developers of the code willing to answer questions?

Can You Get the Resources?

Doing open source requires some basic infrastructure. Can you provide the people to maintain the CVS archive, project mailing lists and archives, website, and bug database? Can you support a community coordinator, a website editor, and a buildmaster? Do you have a budget to design and host your project's website?

Do You Have Realistic and Measurable Goals?

How will you know whether your project is a success? How can you convince your managers and others at your company that you are achieving your goals? For an open-source project, success is more than just when you release and what features were implemented. Success includes the health of the community. What numbers are meaningful for your project goals (for example, market share, number of active outside developers, number of user contributions, or amount of email sent to mailing lists)?

What Support Do You Need from Your Manager?

Is your management willing to allocate sufficient resources? Will they assess you on the success of the open-source effort? If the open-source community needs more time to make a decision or get a release out, is your management willing to slip schedules, or must you meet your company's internal schedules and deadlines at all costs? How about other managers at your company who run projects that depend on your project?

Innovation Happens Elsewhere
Ron Goldman & Richard P. Gabriel
Send your comments to us at IHE at

Previous    Table of Contents    Up    Next