Open Source Consulting with Anthony Fu

2023-05-11

From GitHub global ranking Top 50 open-source master Anthony Fu (antfu) recently hosted the first Open Source One-to-one Consulting event. In this event, he generously shared many valuable open-source experiences. In this article, I will share some advice I think is very helpful for open-source beginners or those who are already participating but feel a little lost. I hope these insights can be "open-source" and selflessly shared with everyone.

Preparation

Before delving into open-source, it is recommended to read Open Source Guides.

Mindset

The rewards of participating in open source are not immediate and often require long-term accumulation. When starting to participate in or create open-source projects, it is crucial to maintain a mindset of "asking for nothing." Don't put benefits first, focus on learning and enjoying the process, and be willing to share. Even if there are no tangible returns in the present, as long as you gain the recognition of others, your credibility and reputation will gradually accumulate, making it easier and offering more ways to receive rewards in the long run.

Personal Image

Creating a personal image is essential for open-source activities. The following suggestions can help you improve your personal image:

  1. Choose an easy-to-remember username.
  2. Use a distinctive avatar.
  3. Design an exquisite personal website or technical blog.
  4. Set up social media accounts and stay active.

These measures will help others remember you more easily in open-source activities and enhance your credibility.


Participating in Open-Source Projects

If you are interested in an open-source project, you can actively participate in the following ways:

  • Open Issues: Propose new feature suggestions and engage in friendly and positive discussions with the community.
  • Submit PRs: Proactively fix existing issues or develop new features.

Becoming a Core Member of the Open-Source Community

After making long-term or significant contributions to the open-source community, you may be invited to join the open-source team. After becoming a core member:

  • Have greater participation in project or community decisions.
  • Although there may not be actual rewards, being a "core member" will increase others' trust in you and add highlights to your resume.
  • Each open-source community has different expectations, requirements, and treatment of core members, and responsibilities and rewards may be assigned based on individual circumstances.
  • Try to maintain contributions to the project or community, whether technically or in discussions.
  • Being recognized as a core member means there is trust in your past contributions, so you don't have to worry about being kicked out of the team if your contributions decrease, and don't put too much pressure on yourself.

Creating Open-Source Projects

In addition to participating in existing open-source projects, creating your own open-source project can also bring benefits.

Project Ideas

It is recommended to choose a project that you would use yourself or a solution to a problem you have encountered. The advantage of this is that you can use it yourself, and when others face the same issue, they can use your project as a solution. Avoid creating projects with no practical applications, as they are difficult to maintain long-term. Anthony has published an article about Yak Shaving, highly recommend to read it.

Also, try to expand the audience of your project. For example, if the project name is vscode-vite-xxxx, users may be limited to those using both VS Code and Vite.

Competing with Existing Open-Source Projects

If your open-source project competes with similar products on the market, you need to ensure the project's quality is "super good". You must give users a reason to choose your project; otherwise, they may not be willing to learn a product similar to existing solutions when it is first launched, due to insufficient community support, usage discussions, and third-party libraries.

Promotion

After completing the development of an open-source project, you need to promote it to make more people aware.

Preparation

Be well-prepared and leave a good first impression on those who see your project.

  • Choose an easy-to-remember name for the project that won't be confused with other projects.
  • Design an attractive logo, a beautiful website, and provide sufficient documentation.
  • Try to let people around you use it first and make improvements based on their opinions.
Take the Initiative
  • Find where your target audience gathers, use social media for promotion, and highlight your project's advantages.
  • Actively seek opinions from those who respond to you, making them feel valued and eager to communicate.
  • Message some experts for advice. If they agree, they might even help you promote your project.
  • Go to GitHub / Stack Overflow, etc., and find people who potentially need your project as a solution, so your project can solve their problems.
  • If you speak multiple languages, your product can be seen on social media in different regions.
Review

Even after promotion, there is no guarantee that the project will succeed. Many factors may lead to not achieving the desired results. Identify the issues, continually review, and perhaps after failing 9 projects, the 10th will be your successful product.


More Ways to Profit from Open-Source

  • Launch commercial products/services, such as:
    • Tailwind → Tailwind UI
    • Next.js → Vercel services
    • Nuxt → consulting services, development tools, etc.
  • Business cooperation
    • If a company finds that your open-source project meets their needs, they may discuss collaboration with you.
    • Companies sponsor advertising fees, allowing their logos to appear on the open-source product website.
  • Direct sponsorship (e.g., GitHub Sponsors)

That's all for the insights from this consultation. I hope it can be helpful for those who wish to continue participating in open source.

🎉  Thanks for reading and hope you enjoy it. Feel free to check out my other posts and find me on X and GitHub!