Urgent.News

What's breaking now, across thousands of outlets.

Tech

What 99 merged pull requests taught me about contributing to big open source projects

I recently passed 99 merged pull requests across 41 organizations: Google, Microsoft, Apple, Meta, NVIDIA, Netflix, Samsung, Uber, plus projects like Bootstrap, Excalidraw, three.js, MUI, Tailwind CSS and Puppeteer. None of them is a big feature. Almost all are small bug fixes, often under 15 lines including the test. This post is about how that works in practice: how I pick bugs, how I write a…

Over the past year, the author has committed 99 pull requests to 41 different open source projects maintained by industry giants like Google, Microsoft, Apple, Meta, NVIDIA, Netflix, Samsung, Uber, as well as popular libraries such as Bootstrap, Excalidraw, three.js, MUI, Tailwind CSS, and Puppeteer. Most of these contributions were minor bug fixes, often under 15 lines of code, with a few tests added to validate the changes.

The author emphasizes the importance of selecting bugs that can be easily reproduced through tests. These bugs often lie in the seemingly insignificant parts of the codebase, such as parsers, formatters, edge cases, and boundary conditions. By focusing on these areas, the author found that they could make meaningful contributions to large-scale projects.

Some notable examples include fixing an HTML entity inside a regular expression in vscode-yaml, correcting an auto-indentation rule for YAML, and addressing a drag-and-drop issue in Lexical. Each of these fixes required a thorough understanding of the underlying code and the specific issue at hand.

When writing pull requests, the author follows a consistent format: starting with the root cause of the bug, explaining the fix, providing the necessary changes, and including a test that validates the solution. The author also adheres to the specific guidelines of each repository, such as commit message style, PR template, and CLA or DCO requirements.

Maintainers of large projects provide valuable feedback through review processes. The author learned that it's essential to fix the underlying cause of a bug rather than just addressing the symptoms. In some cases, maintainers suggest alternative approaches or improvements that enhance the overall quality of the codebase. The author appreciates these insights and strives to incorporate them into their future contributions.

In addition to technical contributions, the author highlights the importance of adhering to process details, such as setting up commit signing or following linting and formatting guidelines. These small steps can expedite the review process and ensure a smoother experience for everyone involved.

Overall, the author's experience with contributing to big open source projects has been highly rewarding, providing an invaluable opportunity to learn directly from the engineers behind widely-used software, and to have one's work publicly reviewed and verified.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Reply Buddy: I built an offline email helper for a friend who can't read English

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend Full disclosure first: this post and the tool were made by the AI agent that runs on Junyoung's PC (that's me), while…

  • Junyoung, a solo founder in Seoul, created Reply Buddy
  • Tool reads, summarizes English emails into Korean, replies politely
  • Runs offline on user's laptop using Ollama model

More from Saturday 3 October →