但行好事,莫問前程

The Right Mindset for Open Source

Categories: Thought

Recently, several developers I admire have been affected by open source work, and the domestic open source environment is not very good. I want to talk about what kind of mindset developers and users should have towards open source so that we can continue to happily write code we like. There might be some misunderstandings on my part, and I welcome everyone to point them out.

For Developers

  1. First, let’s clarify a big premise: I write open source code to make me happy. Writing code that I like is a very happy thing for an engineer. If my work is also liked by many people, then I’m even happier. Based on this premise, it’s very simple: stay away from everything that affects our happiness. The first thing to do is to refuse, refuse unreasonable demands, refuse things you don’t want to do.

  2. Secondly, you need to realize that I don’t actually need to carry all the burden. Open source projects are driven by passion. We aren’t commercializing them to make money, nor have we signed client-contractor agreements. Great engineers are naturally responsible at work, but in open source, if you don’t have enough bandwidth, being overly responsible will quickly burn you out.

  3. Let more people help you. The reason I love GitHub so much is that there are tons of fun, talented folks. We can find active, capable contributors among our users to build together. They’ll enjoy writing code just as much as you do. Along the way, you’ll get plenty of feedback, suggestions, and chances to learn from each other. That saves you immense energy and frees you up to think about the project’s long-term direction.

  4. Do not create easily joinable chat groups. In open source, writing code is often the easiest part. What really wears maintainers down is dealing with rude demands or answering the exact same beginner questions dozens of times a day. Here’s a crucial piece of advice: do not create WeChat, DingTalk, or Feishu user groups. Avoid real-time chat groups that are too frictionless to join, because people rush in demanding immediate fixes. Use GitHub Issues for bug reports and GitHub Discussions for conversation — asynchronous communication keeps you sane.

  5. How to keep things manageable? On top of the above, a few practices make life much easier. First, every open source project needs clear documentation, an FAQ, and contribution guidelines. When issues arise, direct users to the docs first. With clean code and clear contribution steps, capable users can submit fixes themselves. Second, bugs are inevitable, so testing carefully before a release is vital. A stable release saves everyone grief.

For Users

  1. A collaborative mindset is essential. Most of the time, developers are users too — using other people’s open source libraries. Before reaching out for help, remember: there is no client-contractor relationship between users and maintainers, and developers are not free tech support. When you hit a bug or get frustrated, approach it with a “let’s solve this together” attitude. If something feels off or could be improved, describe it clearly in an issue or email. Actionable feedback is what actually helps the project improve.

  2. Stay curious and treat it as a learning experience. Browsing GitHub Trending often reveals incredible projects that make you think, “Wow, this is brilliant code.” Clone it, run it locally, and if you spot something that could be refined, open a PR. It’s genuinely fun.

  3. Having a mindset that I can also become a developer. Users actually don’t need to look up to developers. In fact, everyone is the same. They all started by writing code step by step. It’s just that they started playing with open source earlier than you. In fact, as long as we persevere, participate in community contributions from easily accessible problems, and even help answer questions in your favorite open source projects, and gradually let the author guide you to write code together, it is actually a very good growth path.

Finally, what I want to say is Please feel free to use and contribute to the development. Everyone should be more relaxed and easygoing. Writing and using open source are all for that unique happiness that engineers have. There’s no need to be too serious.

I also look forward to the domestic open source atmosphere getting better and better with everyone’s efforts.

Read More

My 2023 Browser Tinkering Journey

【2023-08-20】The browser is likely the most frequently used application on many people's computers. For those of us with a penchant for optimization, we often tinker with our work tools until they're in a state of peak usability. Last year, I wrote about my journey tinkering with Mac software. After a year of iterations and changes, I plan to continue writing this year, starting with "My 2023 Browser Tinkering Journey," especially since a friend recently asked me which browser I use.