Forge Your Future with Open Source

Book description

Free and open source is the foundation of software development, and it's built by people just like you. Discover the fundamental tenets that drive the movement. Take control of your career by selecting the right project to meet your professional goals. Master the language and avoid the pitfalls that typically ensnare new contributors. Join a community of like-minded people and change the world. Programmers, writers, designers, and everyone interested in software will make their mark through free and open source software contributions.

Free and open source software is the default choice for the programming languages and technologies which run our world today, and it's all built and maintained by people just like you. No matter your skill level or area of expertise, with this book you will contribute to free and open source software projects. Using this practical approach you'll understand not only the mechanics of contributing, but also how doing so helps your career as well as the community.

This book doesn't assume that you're a programmer, or even that you have prior experience with free and open source software. Learn what open source is, where it came from, and why it's important. Start on the right foot by mastering the structure and tools you need before you contribute. Choose the right project for you, amplifying the impact of your contribution. Submit your first contribution, whether it's code, writing, design, or community organising. Find out what to do when things don't go the way you expect. Discover how to start your own project and make it friendly and welcoming to contributors.

Anyone can contribute! Make your mark today and help others while also helping yourself.

Publisher resources

View/Submit Errata

Table of contents

  1.  Preface
    1. What’s in This Book?
    2. What’s NOT in This Book?
    3. Who Should Read This Book?
    4. Why Is This Book Not Openly Licensed?
    5. Suggestions, Errata, or Questions?
    6. Credits
    7. Acknowledgments
  2. 1. The Foundations and Philosophies of Free and Open SourceThe Foundations and Philosophies of Free and Open Source
    1. It’s About the People
    2. Why Learn About the Philosophies?
    3. Free and Open Source Software Is Everywhere
    4. Other Open Movements
    5. The Origins of Free Software
    6. The Origins of Open Source
    7. Difference Between Free Software and Open Source
    8. An Aside About Terminology
    9. A Brief Introduction to Copyright and Licensing
    10. Types of Free and Open Source Software Licenses
    11. Now You Have a Strong Foundation
  3. 2. What Free and Open Source Can Do for YouWhat Free and Open Source Can Do for You
    1. FOSS Benefits to Your Skillset
    2. FOSS Benefits to Your Career
    3. FOSS Benefits to Your Personal Network
    4. Benefit from Preparation
  4. 3. Prepare to Contribute
    1. Ways to Contribute
    2. Common Project and Community Roles
    3. Files You Should Know About Before You Start
    4. Issue Tracking
    5. Common Communication Routes
    6. Contributor License Agreement/Developer Certificate of Origin
    7. You’re Ready to Find a Project
  5. 4. Find a Project
    1. Set Your Goals
    2. Collect Your Requirements
    3. Collect Candidate Projects
    4. Select a Project
    5. Select a Task
    6. What Is “Success”?
  6. 5. Make a Contribution
    1. Prepare for Your Contribution
    2. Craft Your Contribution
    3. Gotchas
    4. Clone and Branch
    5. Atomic Commits
    6. Test Your Contribution
    7. Submit Your Contribution
    8. Review, Revise, Collaborate
    9. Tidy Up
    10. Special Considerations for Windows-based Contributors
    11. There’s More to Contributing Than Just Code
  7. 6. Make a Difference Without Making a Pull RequestMake a Difference Without Making a Pull Request
    1. Review Contributions
    2. Provide Testing
    3. Triage Issues
    4. Volunteer for the Less Interesting Things
    5. There Are So Many Options
  8. 7. Interact with the Community
    1. After Your First Contribution
    2. Get Help
    3. General Tips for Participating in Discussions
    4. The Importance of Setting Up and Maintaining Expectations
    5. Communication Channels and How to Use Them
    6. Mailing List
    7. Issue Tracker
    8. Real-Time Chat
    9. Conference Call
    10. Only the Tip of the Iceberg
  9. 8. It’s About the PeopleIt’s About the People
    1. Get Together
    2. Tips for Coping at a Conference or Meetup
    3. Form Your Own Meetup
    4. Moving up in the Community
    5. FOSS Is People
  10. 9. When It Goes Wrong
    1. Intimidated by FOSS’ Reputation
    2. Can’t Find a Project
    3. Company Policies
    4. Contribution Process Is Unclear
    5. Language Barriers
    6. Your Contribution Is Declined
    7. Community Problems
    8. Sometimes You’re the Problem
    9. How to Exit a Community
    10. You Don’t Have to Feel Trapped
  11. 10. Start Your Own Project
    1. Quick Start Guide to Releasing Your Own Project
    2. What Is Your Goal?
    3. Optimize for Community
    4. Work in the Open
    5. Keep It Simple, Silly
    6. Share the Burden Early
    7. Select Communication Routes
    8. What About Issue Tracking?
    9. Styleguides
    10. Select a License
    11. How to Apply a License
    12. Publish the Project and You’re Done!
  12. 11. Contribute for Your Job
    1. Contributing to External FOSS Projects
    2. Contributing to Your Company’s FOSS Projects
    3. Convincing Your Employer to Support FOSS
    4. Forge Your Future
  13. A1. Glossary
  14.  Bibliography

Product information

  • Title: Forge Your Future with Open Source
  • Author(s): VM Brasseur
  • Release date: October 2018
  • Publisher(s): Pragmatic Bookshelf
  • ISBN: 9781680503012