Open Source Projects - Beyond Code

Book description

Accelerate your career and make an impact by launching and running a successful open source project. Purchase of the print or Kindle book includes a free PDF eBook

Key Features

  • Understand the method and rationale for launching an open source project
  • Explore best practices and insights for running an open source project
  • Leverage open source projects to advance your career

Book Description

Open source is ubiquitous in our society, with countless existing projects, and new ones emerging every day. It follows a "scratch-your-own-itch" model where contributors and maintainers drive the project forward. Through Open Source Projects - Beyond Code, you'll learn what it takes to develop a successful, scalable, and sustainable open source project. In this book, you'll explore the full life cycle of open source projects, from inception, through launch, to maturity, and then discover how to sunset an open source project responsibly. Along the way, you'll learn the concepts of licensing, governance, community building, ecosystem management, and growing maintainers and contributors, as well as understand how other open source projects have been successful or might have struggled in some areas. You can use this book as an end-to-end guide or reference material for the future. By the end of this book, you'll be able to accelerate your career in open source. Your newly acquired skills will help you stay ahead of the curve even with the ever-evolving nature of technology.

What you will learn

  • Explore what is open source and how you can use it to accelerate your career
  • Start an open source project while exploring its key considerations
  • Grow, support, and manage a vast community of developers and users
  • Build and maintain a mature and sustainable project
  • Enable mass users and developers to downstream productization and outreach
  • Use open source as a portfolio to build your career
  • Understand when to end a project and conduct it responsibly

Who this book is for

This book is for software developers, product managers, project managers, business leaders, or general enthusiasts looking to start an open source project or currently maintaining one.

Table of contents

  1. Open Source Projects - Beyond Code
  2. Contributors
  3. About the author
  4. About the reviewer
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
    4. Download the color images
    5. Conventions used
    6. Get in touch
    7. Share Your Thoughts
    8. Download a free PDF copy of this book
  6. Part 1: Getting Ready to Go Open Source
  7. Chapter 1: The Whats and Whys of Open Source
    1. What is open source?
    2. A brief history of open source
      1. Tracing the roots of open source to the mainframe community
      2. The emergence of free software
      3. Open source is coined as a term
      4. Giving open source a vendor-neutral home
    3. Implementing open source
      1. Information sharing amongst enthusiasts
      2. Underlying technology
      3. Establishing technology ecosystems
      4. Providing high-quality free software
    4. Open source projects and why they are used
      1. PHP
      2. Blender
      3. Zowe
      4. PiSCSI
    5. Summary
    6. Further reading
  8. Chapter 2: What Makes a Good Open Source Project?
    1. Core characteristics of an open source project.
      1. Users are part of the development process
      2. Release early, release often
      3. Transparent and dynamic decision-making
    2. Open sourcing code versus creating an open source project
      1. Intelligent code dumps
      2. Open Core
      3. Expectations when releasing code as open source
    3. Patterns and anti-patterns for successful open source projects
      1. Open communication (and over-communication)
      2. Benevolent dictatorship versus leading by committee
      3. Forks
      4. Over-governance
      5. Competitors welcome!
      6. Write everything down
      7. Embrace your community
      8. Focus on your strengths and use tools and other resources for your weaknesses
    4. Summary
    5. Further reading
  9. Chapter 3: Open Source License and IP Management
    1. Permissive versus non-permissive licensing – why and what to pick?
      1. Permissive
      2. Non-permissive or copyleft
      3. Which type of license makes sense for my project?
    2. Copyrights and contribution sign-off
      1. Contributor License Agreement (CLA)
      2. Developer Certificate of Origin (DCO)
    3. Brand and marks management
      1. Determining your project’s name
      2. Brand consistency
      3. Protecting the brand
      4. Enabling others to use your brand
    4. Summary
    5. Further reading
  10. Chapter 4: Aligning the Business Value of Open Source for Your Employer
    1. Why would a company want to open source code?
      1. Lowering development costs
      2. Adding new features/functionality for customers
      3. Faster time to market
      4. The ability to focus investments
    2. Getting support for open sourcing code internally
      1. Reviewing what’s out there already
      2. Building the business case
      3. Getting allies
      4. Setting expectations
    3. Checklist for open sourcing a project or code base
      1. Legal review
      2. Technical review
    4. Measuring success in open source to the organization
      1. Setting (reasonable) goals
      2. Identifying and showcasing how your organization is contributing
    5. Summary
    6. Further reading
  11. Chapter 5: Governance and Hosting Models
    1. What is open source governance?
      1. “Do-ocracy”
      2. BDFLs
      3. Technical councils
      4. Elected
      5. Single vendors
      6. Vendor-neutral foundations
    2. Roles in an open source project
      1. Users
      2. Contributors
      3. Maintainers
      4. Leaders
    3. Documenting your open source project’s governance structure
      1. Discoverability
      2. Simplicity
      3. Flexibility
    4. Financial support for open source projects
      1. Tip jars
      2. Crowdfunding
      3. Single-organization funding
      4. Foundations
    5. Summary
  12. Part 2: Running an Open Source Project
  13. Chapter 6: Making Your Project Feel Welcoming
    1. Getting your project set up for newcomers
      1. Setting up your project infrastructure
      2. Creating a getting started guide
      3. Being welcoming to new contributors
      4. Recognizing newcomers when they make an impact
    2. Supporting end-users effectively
      1. Managing issues
      2. Community and developer management
      3. Commercial support
    3. Being where the conversation is
      1. Online forums and social channels
      2. Regional meetups and events
    4. Summary
  14. Chapter 7: Growing Contributors to Maintainers
    1. The importance of growing contributors into maintainers
      1. Alleviating the stress on the current maintainers
      2. Bringing new ideas and energy into a project
      3. Enabling current maintainers to step back
    2. Finding contributors and being a mentor
      1. Qualities of a future maintainer
      2. Using mentorship to bring in a new contributor
    3. When is a contributor ready to be a maintainer?
      1. Signs that mentorship is going well
      2. What if the contributor is never ready?
    4. Summary
  15. Chapter 8: Dealing with Conflict
    1. Understanding people and their motivations
      1. The human brain
      2. Cultural and life experiences
      3. Example interactions in an open source project
    2. Inclusive decision-making
      1. Open communication and collaboration
      2. Methodology for making decisions
      3. Making decisions
    3. Remedying toxic behavior
    4. Summary
    5. Further reading
  16. Chapter 9: Handling Growth
    1. Measuring growth
      1. Growing awareness of the project
      2. Project adoption
      3. Project diversity
    2. Assessing and remedying low areas of growth
      1. Commits/committers
      2. Project usage
      3. Diversity
    3. Growing and scaling project leadership
      1. From project generalists to project specialists
      2. Managing time and expectations
      3. Avoiding burnout
    4. Summary
  17. Part 3: Building and Scaling Open Source Ecosystems
  18. Chapter 10: Commercialization of Open Source
    1. The importance and value of an open source project being used commercially
      1. Is commercial usage ok?
      2. The sustainability cycle
    2. Commercialization models for open source
      1. Dependency or component of a larger commercial software package
      2. Service and support
      3. Open Core
    3. Setting your project up for commercial usage
      1. Branding and IP management
      2. Recognition and conformance programs
    4. Summary
  19. Chapter 11: Open Source and the Talent Ecosystem
    1. Open source as your portfolio
      1. My career story
      2. Growing your career in open source
    2. Finding talent through open source
      1. Participating in communities
      2. Sponsoring project-related infrastructure
      3. Sponsoring or hosting a mentorship, hackathon, or another event
    3. Retaining and recognizing talent coming from open source communities
      1. Measurement and management of open source engagement
      2. Setting annual goals
      3. Create an internal awards or incentives program
    4. Summary
  20. Chapter 12: Marketing for Open Source – Advocacy and Outreach
    1. What is marketing for open source and why does it matter to your users?
      1. A case study in open source marketing – Mautic
      2. Mautic’s story – impact and purpose of open source marketing
    2. Open source project “marketing runway”
      1. Website and blog
      2. Discussion channels
      3. Social media
    3. Next-level outreach and driving engagement
      1. Events and meetups
      2. Media and analysts
      3. Case studies and user stories
    4. Summary
    5. Further reading
  21. Chapter 13: Transitioning Leadership
    1. Why even think about transitioning leadership?
      1. Career change
      2. Project leaders near retirement
      3. The project is stalling
    2. Building a plan
      1. Documenting your project’s operation
      2. Timelines and enablement for new leaders
    3. Stepping back comfortably
      1. Being appropriately available
      2. Endorsing the new leaders
      3. Setting the right support network for new maintainers
    4. Summary
  22. Chapter 14: Sunsetting an Open Source Project
    1. How to know when a project is slowing down
      1. Projects – code velocity and community participation slow down
      2. Products – technology space in decline
      3. Profits – funding and investment dry up
    2. The sunsetting process
      1. Aligning on sunsetting in the community
      2. Announce intent to sunset
      3. Work with end users on transitioning
    3. What comes after sunsetting?
      1. Mark code repositories and issue trackers as archived
      2. Find a home for asset ownership
      3. Can a project come back from sunsetting?
    4. Summary
  23. Index
    1. Why subscribe?
  24. Other Books You May Enjoy
    1. Packt is searching for authors like you
    2. Share Your Thoughts
    3. Download a free PDF copy of this book

Product information

  • Title: Open Source Projects - Beyond Code
  • Author(s): John Mertic
  • Release date: April 2023
  • Publisher(s): Packt Publishing
  • ISBN: 9781837636884