[Karl Fogel](http://www.red-bean.com/kfogel/) is the founder of [QuestionCopyright.org](http://questioncopyright.org/). He also gave an excellent Google TechTalk *[The Surprising History of Copyrightβ¦](https://www.youtube.com/watch?v=mhBpI13dxkI&index=8&list=PL7443A20A1CBFD64B)*. * * * The corporate
Producing Open Source Software
β Scribed by Karl Fogel
- Publisher
- O'Reilly
- Year
- 2021
- Tongue
- English
- Edition
- 2
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Producing Open Source Software is a book about the human side of open source development. It describes how successful projects operate, the expectations of users and developers, and the culture of free software.
β¦ Table of Contents
Preface
Why Write This Book?
Who Should Read This Book?
Sources
Acknowledgements
For the first edition (2005)
For the second edition (2022)
Disclaimer
-
Introduction
History
The Rise of Proprietary Software and Free Software Conscious Resistance Accidental Resistance "Free" Versus "Open Source"The Situation Today
-
Getting Started
Starting From What You Have
Choose a Good Name Own the Name in the Important Namespaces Have a Clear Mission Statement State That the Project is Free Features and Requirements List Development Status Development Status Should Always Reflect Reality Downloads Version Control and Bug Tracker Access Communications Channels Developer Guidelines Documentation Availability of Documentation Developer Documentation Demos, Screenshots, Videos, and Example Output HostingChoosing a License and Applying It
The "Do Anything" Licenses The GPL How to Apply a License to Your SoftwareSetting the Tone
Avoid Private Discussions Nip Rudeness in the Bud Practice Conspicuous Code Review Case study Be Open From Day One Waiting Just Creates an Exposure EventOpening a Formerly Closed Project
Announcing -
Technical Infrastructure
What a Project Needs
Web SiteCanned Hosting Choosing a Canned Hosting Site Hosting on Fully Open Source Infrastructure Anonymity and InvolvementMessage Forums / Mailing Lists
Choosing the Right Forum Management Software Spam Prevention Identification and Header Management The Great Reply-to Debate Archiving Mailing List / Message Forum SoftwareVersion Control
Version Control Vocabulary Choosing a Version Control System Using the Version Control System Version Everything Browsability Use Branches to Avoid Bottlenecks Singularity of Information Authorization Receiving and Reviewing Contributions Pull Requests / Merge Requests Commit Notifications / Commit EmailsBug Tracker
Interaction with Email Pre-Filtering the Bug TrackerReal-Time Chat Systems
Chat Rooms and Growth Nick-Flagging and Notifications Chat Bots Commit Notifications in ChatWikis
Wikis and Spam Choosing a WikiTranslation Infrastructure
Social Networking Services -
Social and Political Infrastructure
Forkability
Benevolent DictatorsWho Can Be a Good Benevolent Dictator?Consensus-based Democracy
Version Control Means You Can Relax When Consensus Cannot Be Reached, Vote When To Vote Who Votes? Not All Maintainers Are Coders Adding New Maintainers Polls Versus Votes VetoesWriting It All Down
Joining or Creating a Non-Profit Organization -
Organizations and Money: Businesses, Non-Profits, and Governments
The Economics of Open Source
Goals of Corporate Involvement
Governments and Open SourceBeing Open Source From Day One is Especially Important for Government ProjectsHire for the Long Term
Case studyAppear as Many, Not as One
Be Open About Your Motivations
Money Can't Buy You Love
ContractingHiring From Within the Community Hiring From Outside The Community Contracting and Transparency Review and Acceptance of Changes Case Study: the CVS Password-Authentication Protocol Update Your RFI, RFP and Contract Language Open Source Quality Assurance (OSQA) Don't Surprise Your LawyersFunding Non-Programming Activities
Technical Quality Assurance (i.e., Professional Testing) Legal Advice and Protection Documentation and Usability Funding User Experience (UX) Work Providing Build Farms and Development Servers Running Security Audits Sponsoring Conferences, Hackathons, and other Developer MeetingsMarketing
Open Source and Freedom from Vendor Lock-In Remember That You Are Being Watched Case Study: You Can't Fake It, So Don't Try Don't Bash Competing Vendors' Efforts "Commercial" vs "Proprietary"Open Source and the Organization
Dispel Myths Within Your Organization Foster Pools of Expertise in Multiple Places Establish Contact Early With Relevant Communities Don't Let Publicity Events Drive Project Schedule The Key Role of Middle Management InnerSourcingHiring Open Source Developers
Hiring for InfluenceEvaluating Open Source Projects
Crowdfunding and Bounties -
Communications
Written Culture
You Are What You WriteStructure and Formatting Content Tone Recognizing Rudeness FaceAvoiding Common Pitfalls
Don't Post Without a Purpose Productive vs Unproductive Threads The Smaller the Topic, the Longer the Debate Avoid Holy Wars The "Noisy Minority" Effect Don't Bash Competing Open Source ProductsDifficult People
Handling Difficult People Case studyHandling Growth
Conspicuous Use of Archives Treat All Resources Like Archives Codifying TraditionChoose the Right Forum
Cross-Link Between ForumsPublicity
Announcing Releases and Other Major Events Announcing Security Vulnerabilities Receive the Report Develop the Fix Quietly CVE Numbers Common Vulnerability Scoring System (CVSS) Scores Pre-Notification Distribute the Fix Publicly Further Reading on Handling Security Vulnerabilities -
Packaging, Releasing, and Daily Development
Release Numbering
Release Number Components Semantic Versioning The Even/Odd StrategyRelease Branches
Mechanics of Release BranchesStabilizing a Release
Dictatorship by Release Owner Voting on Changes Managing Collaborative Release Stabilization Release ManagerPackaging
Format Name and Layout To Capitalize or Not to Capitalize Pre-Releases Compilation and Installation Binary PackagesTesting and Releasing
Candidate Releases Announcing ReleasesMaintaining Multiple Release Lines
Security ReleasesReleases and Daily Development
Planning Releases -
Managing Participants
Community and Motivation
Delegation Distinguish Clearly Between Inquiry and Assignment Follow Up After You Delegate Notice What People Are Interested In Praise and Criticism Prevent Territoriality The Automation Ratio Automated testing Treat Every User as a Potential Participant Meeting In Person: Conferences, Hackfests, Code-a-Thons, Code Sprints, RetreatsShare Management Tasks as Well as Technical Tasks
"Manager" Does Not Mean "Owner" Patch Manager (or Pull Request Manager) Translation Manager Documentation Manager Issue ManagerTransitions
CommittersCommitters vs Maintainers Choosing Committers Revoking Commit Access Partial Commit Access Dormant Committers Avoid MysteryCredit
Forks"Development Forks" versus "Hard Forks" Figuring Out Whether You're the Fork Handling a Fork Initiating a Fork -
Legal Matters: Licenses, Copyrights, Trademarks and Patents
Terminology
Aspects of Licenses
The GPL and License Compatibility
Choosing a LicenseThe GNU General Public License The "or any later version" Option: Future-Proofing the GPL The GNU Affero GPL: A Version of the GNU GPL for Server-Side Code The Copyright Holder Is Special, Even In Copyleft Licenses Is the GPL Free or Not Free?Contributor Agreements
Doing Nothing Contributor License Agreements Developer Certificate of Origin (DCO): An Easier Style of CLAProprietary Relicensing
Problems with Proprietary RelicensingTrademarks
Case study: Mozilla Firefox, the Debian Project, and Iceweasel Case study: The GNOME Logo and the Fish Pedicure ShopPatents
Further Resources
A. Copyright
Attribution-ShareAlike 4.0 International
Using Creative Commons Public Licenses
Creative Commons Attribution-ShareAlike 4.0 International Public License
Section 1 -- Definitions.
Section 2 -- Scope.
Section 3 -- License Conditions.
Section 4 -- Sui Generis Database Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
Section 6 -- Term and Termination.
Section 7 -- Other Terms and Conditions.
Section 8 -- Interpretation.
Next
Preface
π SIMILAR VOLUMES
The corporate market is now embracing free, "open source" software like never before, as evidenced by the recent success of the technologies underlying LAMP (Linux, Apache, MySQL, and PHP). Each is the result of a publicly collaborative process among numerous developers who volunteer their time and
The corporate market is now embracing free, "open source" software like never before, as evidenced by the recent success of the technologies underlying LAMP (Linux, Apache, MySQL, and PHP). Each is the result of a publicly collaborative process among numerous developers who volunteer their time an
The corporate market is now embracing free, "open source" software like never before, as evidenced by the recent success of the technologies underlying LAMP (Linux, Apache, MySQL, and PHP). Each is the result of a publicly collaborative process among numerous developers who volunteer their time and