Awesome Open Source
A curated list of resources related to how to do open source projects
Open source is a way of running projects openly and collaboratively, giving users and developers the freedoms to use, share, and modify the sources. It's prevalent in open source software, but extends to complementary areas such as documentation or design, and broader areas such as open content and open collaboration.
This list focuses on resources about the why and how to do open source projects, not so much about the what of concrete projects. It does contain links to lists of awesome open source projects, though.
Contributions are welcome. Read the guidelines how to contribute.
Contents
Fundamentals
Licensing
Licenses
- OSI approved licenses - Canonical list of open source software licenses approved by the Open Source Initiative (OSI)
- Annotated Open Source Definition - The definition of open source which is the base for the OSI license list, with rationales
- Creative Commons - Open licenses for non-code such as documentation or artwork
- Choose an open source license - Simple license chooser to help you choosing a license for your project
- Joinup Licensing Assistant - Tool to find open source licenses based on desired conditions and compare them regarding compatibility
- Open Source License Compendium (OSLic) - Compendium with instructions how to fulfill obligations of open source licenses
- Open Source License Compliance Handbook - Detailed guideline how to comply to a large selection of open source licenses
- Open Source License Checklists - Formal machine-readable representations of obligations of many open source licenses
- TLDRLegal - Summary of licenses in plain English
- Making Your Code Available Under An Open Source Licence - Overview of how to choose and apply open source licenses
- Open source licenses: What, which, and why - Overview of the most important Open Source licenses and what they mean
- copyleft.org - Detailed information about the GPL and other copyleft licenses
- GPL Cooperation Commitment - Pledge to cooperatively solve GPL v2 violations
- The MIT License, Line by Line - A very thorough explanation of the MIT license
- License Center - Categorized list of open source, open content, open data, open hardware licenses
- Universal License List - Aggregated list of licenses encountered by a combination of scanning tools
- Scancode LicenseDB - Extensive list of licenses with meta data such as SPDX identifiers, classification, and links to text representations
- Open source needs to clean up its language - Article about how classification of licenses could be worded better
License agreements
- Contributor License Agreement and Developer Certificate of Origin references - Many links to material about CLA, DCO, FLA and related information
- Why CLAs aren't good for open source - Article with an argument against CLAs (with a counter-argument in the comments)
- Contributor Agreements - Information and a tool to create contributor agreements
- DCO - Developer certificate of origin used by the Linux Kernel and other projects
Legal
- Model Trademark Guidelines - Guidelines for open source projects how to write trademark guidelines
- Open Usage Commons - Organisation for holding trademarks for open source projects
- Open Invention Network - Defensive patent pool and community to protect open source from patent threats
- OpenChain Project - Project to define, support, and certify open source compliance programs
- Balanced Employee IP Agreement - Reusable agreement which makes sure employees keep the rights on side projects they do not do as part of their job
- Open Source Casebook - Legal analysis of key legal topics in open source, including primary sources
- Understanding US export controls with open source projects - Whitepaper on what to consider regarding export control regulation which might affect open source projects
- EU Export Control Regime and Free Software - Analysis of European export control rules and how to comply with them
- Journal of Open Law, Technology & Society - Free legal journal covering issues in the realm of openness, in particular open source software
- The International FOSS Law Book - Background of how open source is seen from the point of view of legal systems in different countries
- Requiring a specific Open Source Software in public contracts – best practices to adopt - Guide for requiring open source in public tenders
- Guidelines on the acquisition and reuse of software for public administrations - Guidelines for acquiring open source software in Italy
Culture
- The Cathedral and the Bazaar - Influential paper by Eric Raymond from 1997 laying out the principles of open source
- Contempt Culture - Advice about how to create a healthy and respectful culture, explained at the example of contempt towards other programming languages
- Open Source Diversity - List of information, projects, and other resources supporting more diversity and inclusion in open source communitites
- What is open? - Beyond open source software, what is open data and content?
- Open Advice - Answers the question what 42 prominent contributors would have liked to know when they started with open source
Maintainers
- Awesome Maintainers - Open source maintainers talking about maintaining open source projects
- The Open Source Contributor Funnel - A model how people become contributors to open source projects
- The role of a maintainer - Best pratices for open source maintainers
Code of Conducts
- Contributor Covenant - Popular code of conduct which can easily be adapted to most projects
- Ubuntu Code of Conduct - The Ubuntu code of conduct which has been the base for several other code of conducts
- KDE Community Code of Conduct - A code of conduct stressing pragmatism and mutual support
Building
Governance
- Open Source Archetypes - Framework for classifying options how to run open source projects
- Open Source Survey - Survey ran by GitHub from 2017 about open source development practices and communities
- Open Source Governance Models - Collection of data about open source governance models
- On Consensus and Humming in the IETF - Article about rough consensus which is a pattern used in many open source projects in some way
- Sustainable Free and Open Source Community - Principles of sustainable open source communities and overview of possible open source business models
- Sustain - Group of people, events, and material about sustainability of open source projects
- Open Governance - Checklist and some pointers regarding open governance in context of open source
- Determining the True Openness of Open Source Projects - Definition of areas how to make an open source project, including best and worst practices
- Minimum Viable Governance - A minimum governance model template
- The Four Opens - Example of an open governance model
- Governance Game - Card game to explore governance of open source projects in the public sector
Community
- Measuring Engagement - Study by Mozilla about how responsiveness affects contributions
- Open Source Guides - Collection of resources about how to run and contribute to an open source projects
- The Art of Community - Standard reading on community management
- Five Pillars of Building Developer Communities at HashiCorp - How to build a community
- Open Leadership Training Series - Best practices of working open
- Producing Open Source Software - Book about how to run an open source project
- Seven questions to steer open source project community development - Checklist with questions how to position open source projects
- All Contributors - Specification and automation to recognize all contributors, not only code contributors
- OpenDRI & GeoNode: A Case Study for Institutional Investments in Open Source - Case study how building a community around an open source project created a 200% return on investment
- Social Architecture - Book about building open source communities
Development
- REUSE - Specification and tools to declare copyright and license in open source software
- How and why to properly write copyright statements in your code - Guide how to write copyright statement including legal background
- Semantic Versioning - Popular release versioning scheme reflecting what kind of changes are in a release
- Keep a changelog - Guidelines for maintaining a changelog
- Contributing Template - Template for contribution guidelines
- How to Write a Git Commit Message - Comprehensive resource about how to write great commit messages
- Conventional Commits - Conventions for writing structured commit messages which also can be read by machines
- Code Review Developer Guide - Google's code review guidelines
- How the top 100 projects on GitHub do user support - Study about how open source projects do user support
- disclose.io - Standardized best practices for security issue disclosures
Onboarding
- First Timers Only - Introduction how to start with open source contributions with links to projects helping with that
- First Contributions - Playground for learning the GitHub contribution process by doing it at an example
- How students can get started contributing to open source software - Overview of programs for students to get started with open source
Mentoring
- 20+ Open Source Internship Programs that you can Apply to - List of open source mentorship and internship programs
- Google's Summer of Code - Large open source mentoring program organized by Google
- Outreachy - Mentoring program focused on supporting diversity
- Season of KDE - Mentoring program for volunteers in the KDE community
Metrics
- Stackalytics - Open source tool providing contribution statistics used by OpenStack and others
- Bitergia - Open source contribution metrics
- Open Source Contributor Index - Statistics about the top contributing companies on GitHub
Documentation
- How to write documentation that's actually useful - Tips how to write good documentation
- Beautiful docs - Lists of examples of great documentation and tools to generate documentation
- Awesome README - A curated list of awesome READMEs
- You are what you document - Guides and good examples for all kinds of documentation
Marketing
- What I learned from an old GitHub project that won 3000 starts in a weeek - Case study of successfully marketing an open source project
- afs.one - Directory of successful use of open source software
Funding
- Nadya Eghbal's "Lemonade Stand" - A comprehensive list of funding methods for open source projects
- Open Source Software Funding Platforms Registry - List of platforms for funding open source software development
- Open Collective - Open source platform for managing and connecting projects, fiscal sponsors, and financial contributors
- Decentralized funding? An analysis of three programs - Analysis of some programs to fund open source development in an open and decentralized way through development grants
- COSSI: Commercial Open Source Software Company Index - List of companies which make more than million USD revenue from open source software
- FOSS Contributor Fund - Framework for selecting projects a company supports financially
Infrastructure
Code Hosting
- GitHub - Largest code hosting site
- Scaling from 2,000 to 25,000 engineers on GitHub at Microsoft - Detailed report about how to scale an organization on GitHub with pointers to tools and best practices
- GitLab - Code hosting site whose code is available as open source under an open core model
- Savannah - Code hosting site for the GNU project and other free software projects
- Codeberg - Code hosting platform for Free and Open Source Software run by a non-profit community as alternative to commercial platforms
Communication
- Mailman - Popular open source mailing list software
- Discourse - Open source forum software
- IRC - The chat tool originally used by a lot of open source communities
- Jitsi - Open source video conferencing
- BigBlueButton - Open source web conferencing system also used for virtual conferences
Using
Management
- Awesome OSS Management - List of packages and projects helpful for managing open source projects and offices
- Open Source Guides for the Enterprise - Resources for running an open source program office
- Open Source Program Offices: The Primer on Organizational Structures, Roles and Responsibilities, and Challenges - Comprehensive overview about how Open Source Program Offices work
- TODO Group - Group of practioners of open source management, initiated by the Linux Foundation
- OSPO Alliance - Group of practioners of open source management, initiated by the Eclipse Foundation
- Open Source Management Training - Free online course from the Linux Foundation about managing open source programs in the enterprise
- Open Source in the Enterprise - Mini-book with guidelines for enterprises how to use and create open source software
- OSPO Definition - Definition of an Open Source Program Office and what it does (addressing Fear, Love, and Money)
- Open Source Observatory (OSOR) - Site from the European Commission about open source in public administration
License compliance
- SPDX - Standards to represent and communicate license information
- Tooling Ecosystem working with SPDX - Extensive list of tools working with SPDX information
- Software Bill of Materials - Explanations and examples about what a Sotware Bill of Materials is and how it's used
- Awesome SBOM - List of materials about SBOMs
- Cyclone DX - Standard for SBOM information
- Tooling Ecosystem working with CycloneDX - Extensive list of tolls working with CycloneDX information
- Clearly Defined - Project of the Open Source Initiative to get clearly defined license data for open source projects
- Open Source License Compliance in Software Supply Chains - Article about what to consider when making sure products based on open source are compliant to the open source licenses
- Blue Oak Council - Resources around legal licensing questions, focused on permissive licenses
Project quality
- OpenSSF Best Practices Badge Program - The Open Source Security Foundation's self-certification program for demonstrating adherence to best open source practices
- How you know your Free of Open Source Software Project is doomed to FAIL - Tom Callaway's famous post about what not to do when running an open source project
- What does a sustainable open source project look like? - Criteria of what makes an open source project sustainable
- Methodologies for measuring project health - What are meaningful metrics for measuring health of a project?
- Community Health Analytics Open Source Software (CHAOSS) - Project to define metrics for community health
- How to Select Open Source Components - Selection criteria for open source components
- Open Source Project Criticatility Score - Project and tool to quantify criticality of open source projects
- fosstars-rating-core - Framework for defining ratings for open source projects
- Open Source Insights - Tool to show details about dependencies of open source packages
- publiccode.yml - Standard to express meta data for a repository, used in code for public administration
- The Rights-Ratchet Model - Description of risks with license changes in single-vendor projects
Support
Organizations
- FLOSS Foundations - Directory of Free and Open Source Software foundations
- Growing Open Source Projects with a Stable Foundation - Primer about the role of foundations in the open source ecosystem
Big Free and Open Source Software Foundations
- Free Software Froundation (FSF) - Organization behind the GNU project, including the family of GNU Public Licenses
- Free Software Foundation Europe (FSFE) - European organization advocating for Free Software
- Open Source Initiative (OSI) - Organization stewarding the Open Source Definition
- Linux Foundation - Organization supporting open source communities and industries through governance, events, and training
- Apache Software Foundation - Organization providing home and governance to a large set of open source projects, including the Apache HTTP Server
- Eclipse Foundation - Organization home to the Eclipse IDE and hundreds of other projects in domains such as IoT and others
Umbrella Organizations
- Umbrella Organizations - List of organizations acting as umbrella organizations for open source projects
- Software Freedom Conservancy - Non-profit organization supporting open source communities in legal matters
- Software in the Public Interest - Non profit organization acting as fiscal sponsor to many open source projects
- Commons Conservancy - Umbrella organization for open source projects, based in Europe
- NumFOCUS - Umbrella organization for open source scientific compute projects
- OASIS Open Projects - Program to support projects bringing together open source and open standards
Conferences
- foss.events - Collection of Free and Open Source Software events
- LWN.net Community Calendar - Calendar tracking events, such as conferences, relevant to the open source community
- List of Free Software events - Detailed list of events related to open source
- FOSDEM - Biggest open source developer event in Europe, taking place each February in Brussels
- Open Source Summit - Linux Foundation's main event
- OSCON - O'Reilly's now discontinued commercial open source conference
- Linuxtag - Now discontinued annual event which was instrumental in making open source popular
Research
- On the abandonment and survival of open source projects: An empirical investigation - What happens when maintainers leave a project
- Roads and Bridges: The Unseen Labor Behind Our Digital Infrastructure - Extensive report about the challenges of maintaining open source as digital infrastructure
- TheFLOSSary - Glossary of Free/Libre and Open Source Software related terms, reusable in LaTeX documents
- The Hidden Benefit of Giving Back to Open Source Software - Report about study how contributing to open source projects allows companies to capture more value form using these projects
- Getting Started with FLOSS Governance and Compliance in Companies - Research about what the best practices are to introduce a governance program for commercial use of open source software
- Socio-technical research using data excavation lab (STRUDEL) - Collection of research about topics such as sustainability and diversity in open source
- Guiding Development of Contribution and Community Strategies in Open Source Software Requirements Engineering - Research and guidance about what to share and contribute in an open source community as corporation
- A $5 Billion Value: Estimating the Total Development Cost of Linux Foundation's Collaborative Projects - Study about how much it would cost to develop open source projects from scratch
- The impact of open source software and hardware on technological independence, competitiveness and innovation in the EU economy - Study about economic impact of open source in Europe
Surveys
- Open Source Program Survey - Survey by TODO Group about open source adoption and open source programs
- The State of Enterprise Open Source - RedHat report about relevance of open source in enterprises
- Open Source Survey - GitHub's survey about open source development
History
- Revolution OS - Documentary film about the history of free software, open source, and Linux from 2001
- A Brief History of Free, Open Source Software and Its Communities - Short overview of early open source communities and foundations
Inner Source
Inner Source is not Open Source but there is a lot of overlap, especially in terms of culture, practices, and people. That's why it's a section on this list.
- InnerSource Commons - Community of practitioniers of Inner Source
- InnerSource Commons Spring Online Summit 2020 - Recordings of the talks from the InnerSource Commons Conferene in spring 2020
- Adopting InnerSource - Book with case studies about how companies are doing Inner Source
- Europace's journey to InnerSource - An example how you can do Inner Source by conducting experiments based on basic Inner Soure principles
- The Inevitability of InnerSource - Inner Source in a nutshell, explaining what it is and why it's so powerful
- Inner Source from a Financial Compliance Perspective - Explanation of Inner Source from an economic point of view
- InnerSource Patterns - Tactics of applying Inner Source methodologies in the format of common patterns
This list is licensed under CC0.