What do you think?
Rate this book
302 pages, Kindle Edition
First published October 7, 2005
One of the great surprises for me in preparing the second edition of this book was realizing that, on the whole, experience indicates that governments are less suited to participating in free software projects than for-profit corporations are, with non-profits somewhere in between the two. There are many reasons for this (see the section called “Governments and Open Source�), and the problems are certainly surmountable, but it's worth noting that when an existing organization � particularly a hierarchical one, and particularly a hierarchical, risk-averse, and publicity-sensitive one � starts or joins an open source project, the organization will usually have to make some adjustments.Both editions are organized into 9 chapters, titled:
- 1. IntroductionIn the first edition more space is devoted to Technical Infrastructure (42 pages), Communications (42 pages), and Managing Volunteers (40 pages); in the second edition more space is devoted to Technical Infrastructure (36 pages), Participating as a Business, Non-Profit, or Government Agency (33 pages, up from Money’s 22 pages in the first edition), Communications (30 pages), and Managing Participants (27 pages).
- 2. Getting started
- 3. Technical infrastructure
- 4. Social and political infrastructure
- 5. Money [extensively rewritten and expanded in the second edition, and retitled as “Participating as a Business, Non-Profit, or Government Agency”].
- 6. Communications
- 7. Packaging, releasing and daily development
- 8. Managing volunteers [renamed Managing participants in the second edition, in order to underscore that not only volunteers work on open source projects]
- 9. Licenses, copyrights, and patents [Retitled “Legal matters: licenses, copyrights, trademarks, and patents in the second edition]
Most free software projects fail.to the more stolid opening to the second edition’s introduction:
Free software � open source software � 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.I miss the note of impertinence even as I acknowledge the truth -and even the need for the more stolid note on the importance of open source software. Still both introductions work and quickly set the tone for the book’s emphasis on the useful, practical and uncluttered rather than historical detail or theoretical frameworks.
Starting a free software project is a twofold task. The software needs to acquire users, and to acquire developers.This immediately draws attention to the key issue in this stage. The first edition needs five previous paragraphs to reach the same sentence -the second edition can be tighter than the first. Fogel has also taken care to update references; for example the first edition’s references to freshmeat.com as a directory for OSS is replaced by references to , , , and the Free Software F Foundation at . I recommend you pay particular attention to the section Setting the tone, whose key recommendations are (1) hold open discussions on the project and avoid private ones, (2) nip rudeness in the bud, (3) adopt a code of conduct, and (4) practice conspicuous code reviews. The main addition to the second edition is a timely new section on Opening a Formerly Closed Project.
Free software projects rely on technologies that support the selective capture and integration of information. The more skilled you are at using these technologies, and at persuading others to use them, the more successful your project will be.Fogel correctly moves the section on on web sites for OSS projects from last to first place, and breezily covers mailing lists, version control, bug tracking, IRC/Real-time chat systems, and wikis -remember wikis were new and uncharted territory in 2006. Quite rightly, in the second edition sections -albeit very brief ones- are added on Q&A forums, translation infrastructure, and social networking services.
The first questions people usually ask about free software are "How does it work? What keeps a project running? Who makes the decisions?" I'm always dissatisfied with bland responses about meritocracy, the spirit of cooperation, code speaking for itself, etc. The fact is, the question is not easy to answer. Meritocracy, cooperation, and running code are all part of it, but they do little to explain how projects actually run on a day-to-day basis, and say nothing about how conflicts are resolved.The difference between the two editions as regards the book’s fifth chapter is clearly set out in the title, Money versus Participating as a Business, Non-Profit, or Government Agency and the opening sentences in the first edition:
This chapter tries to show the structural underpinnings successful projects have in common. I mean "successful" not just in terms of technical quality, but in terms of operational health and survivability. Operational health is the project's ongoing ability to incorporate new code contributions and new developers, and to be responsive to incoming bug reports. Survivability is the project's ability to exist independently of any individual participant or sponsor � think of it as the likelihood that the project would continue even if all of its founding members were to move on to other things1. Technical success is not hard to achieve, but without a robust developer base and social foundation, a project may be unable to handle the growth that initial success brings, or the departure of charismatic individuals.
This chapter examines how to bring funding into a free software environment.and in the second edition:
This chapter examines how to use money and organizational capacity constructively in a free software environment. It also discusses some of the adjustments your organization may need to make as it gets involved in free software projects.However in the second edition, Fogel provides a caveat that applies to both editions:
This chapter is not primarily about how to find funding sources for your open source project, though Ihope it will usefully inform that topic.The chapter is more about the tensions, challenges and opportunities that arise when funding is sought for or made available for an OSS project, some developers are paid for their contributions or for profit companies or government agencies sponsor or otherwise participate or become involved in an OSS effort. In my opinion it is one of the most interesting chapters in the book and one whose contents have most changed in line with the evolving nature of corporate involvement -as can be exemplified by some of Google’s projects:
Google's Android operating system is a classic example: Google maintains its own copy of Android, which it governs as it pleases, and from time to time merges changes between that copy and the Android Open Source Project (). Essentially, Google is on a very long copy-modify-merge loop with respect to the open source project, and vice versa. It is in neither side's interests to permanently diverge from the other.Whereas some kinds of involvement have continued to thrive (e.g. sharing the burden of development, augmenting services, supporting hardware sales, undermining a competitor, brand management, dual licensing, and donations), some new ways have also either risen or become more popular (e.g. establishing a standard, creating an ecosystem). I must admit however that many of the new sections added to this chapter in order to accommodate the involvement of government agencies seemed rather disjointed, in spite of some excellent nuggets of advice. The addition of some very sensible rules of thumb in a new section titled Evaluating Open Source Projects is particularly welcome, but seems rather out of place -shouldn’t it have been added to chapter 2 (Getting started)?