Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite. The ability to examine the code facilitates public trust in the software.
Open-source software development can bring in diverse perspectives beyond those of a single company. A 2008 report by the Standish Group stated that adoption of open-source software models has resulted in savings of about $60 billion per year for consumers.
Open source code can be used for studying and allows capable end users to adapt software to their personal needs in a similar way user scripts and custom style sheets allow for web sites, and eventually publish the modification as a fork for users with similar preferences, and directly submit possible improvements as pull requests
Free software — open source software1
— has become the backbone of modern information technology. It runs on your phone, on your laptop and desktop computers, and in embedded microcontrollers
for household appliances, automobiles, industrial machinery and countless other devices that we too often forget even have software. Open source is especially prevalent on the servers that provide online services on the Internet. Every time you send an email, visit a web site, or call up some information on your
smartphone, a significant portion of the activity is handled by open source software.
Yet it is also largely invisible, even to many of the people who work in technology. Open source’s nature is to fade into the background and go unnoticed except by those whose work touches it directly. It is
the plankton of computing. We all breathe, but few of us stop to think about where the oxygen is coming
If you’ve read this far, though, you’re already one of the people who wonders where the oxygen comes
from, and probably want to create some yourself.
This book will examine not only how to do open source right, but how to do it wrong, so you can recognize and correct problems early. My hope is that after reading it, you will have a repertory of techniques not just for avoiding common pitfalls, but for dealing with the growth and maintenance of a successful project. Success is not a zero-sum game, and this book is not about winning or getting ahead of
the competition. Indeed, an important part of running an open source project is working smoothly with
other, related projects. In the long run, every successful project contributes to the well-being of the overall, worldwide body of free software.
It would be tempting to say that when free software projects fail, they do so for the same sorts of reasons
proprietary software projects do. Certainly, free software has no monopoly on unrealistic requirements,
vague specifications, poor staff management, ignoring user feedback, or any of the other hobgoblins already well known to the software industry. There is a huge body of writing on these topics, and I will
try not to duplicate it in this book. Instead, I will attempt to describe the problems peculiar to free software. When a free software project runs aground, it is often because the participants did not appreciate
the unique problems of open source software development, even though they might be quite well-prepared for the better-known difficulties of closed-source development.
One of the most common mistakes is unrealistic expectations about the benefits of open source itself. An
open license does not guarantee that hordes of active developers will suddenly devote their time to your
project, nor does open-sourcing a troubled project automatically cure its ills. In fact, quite the opposite:
opening up a project can add whole new sets of complexities, and cost more in the short term than simply keeping it in-house.
The open source label came out of a strategy session held on April 7, 1998, in Palo Alto in reaction to Netscape’s January 1998 announcement of a source code release for Navigator (as Mozilla). A group of individuals at the session included Tim O’Reilly, Linus Torvalds, Tom Paquin, Jamie Zawinski, Larry Wall, Brian Behlendorf, Sameer Parekh, Eric Allman, Greg Olson, Paul Vixie, John Ousterhout, Guido van Rossum, Philip Zimmermann, John Gilmore and Eric S. Raymond. They used the opportunity before the release of Navigator’s source code to clarify a potential confusion caused by the ambiguity of the word “free” in English.
The Free Software Foundation (FSF), started in 1985, intended the word “free” to mean freedom to distribute (or “free as in free speech”) and not freedom from cost (or “free as in free beer”). Since a great deal of free software already was (and still is) free of charge, such free software became associated with zero cost, which seemed anti-commercial.
The Open Source Initiative (OSI) was formed in February 1998 by Eric Raymond and Bruce Perens. With at least 20 years of evidence from case histories of closed software development versus open development already provided by the Internet developer community, the OSI presented the “open source” case to commercial businesses, like Netscape. The OSI hoped that the use of the label “open source”, a term suggested by Christine Peterson of the Foresight Institute at the strategy session, would eliminate ambiguity, particularly for individuals who perceive “free software” as anti-commercial. They sought to bring a higher profile to the practical benefits of freely available source code, and they wanted to bring major software businesses and other high-tech industries into open source. Perens attempted to register “open source” as a service mark for the OSI, but that attempt was impractical by trademark standards. Meanwhile, due to the presentation of Raymond’s paper to the upper management at Netscape—Raymond only discovered when he read the press release, and was called by Netscape CEO Jim Barksdale‘s PA later in the day—Netscape released its Navigator source code as open source, with favorable results.
And that, in a nutshell, is how Open Source Software is created and sustained. Any group of people can create Open Source Software, with or without a corporation. It’s just like any other type of work: sometimes you need money to pay for things you can’t do yourself (like art or advertising), and sometimes it isn’t the best use of resources. Either way, there are a lot of benefits to creating Open Source Software with someone else, and when possible it often makes sense to take advantage of these. Whether you’re working on a product of your own, or contributing to someone else’s product, making products available as Open Source Software can help many others do what they do better, faster, and more efficiently. In the next article we will explore the costs involved in creating and maintaining Open Source Software by looking at who pays what when the source code is released under various licensing options.