
30+ GitHub Sponsors, 12K+ combined GitHub stars, Maintainer of 20K+ starred FOSS Repo — Ask Me Anything about Open-Source
I felt like doing this AMA since, recently, students and experienced folks are being lured by 'paid' open-source courses. Feel free to ask any questions without paying any $$$. I won't respond to questions which could potentially dox me though.
P.S. I know the post title is cringy, but I couldn't think of anything better ATM.

How do you balance job and random open source contributions? Used to be active in the space, but ever since being employed full time, all contributions have been shifted to org work instead.
On the plus side, they also work on GitHub, so at least the lawn is still green, albeit with a boundary

I do contributions during weekends. Although, the 'actual' contributions I do have slowed down lately since most of the time I'm reviewing PRs & discussing issues as a maintainer. The dopamine hit I get when my PR gets merged keeps me going :)

Damn, turning system on on weekends! How do you find the motivation

How can one contribute to open source as a beginner it is very difficult to understand codebase.

Be on the lookout for small or mid-sized repos, don't head straight into React or TS codebases for example. It could be a small library which you find interesting or have used in your projects. Don't contribute just for the sake of contributing.
-
Go through the README.md & CONTRIBUTIONS.md files
-
Tinker with the app & thoroughly read the docs
-
If you find any error in the docs or something lacking, create an issue explaining your problem
-
Discuss with the maintainers & then implement. Fixing docs is the easiest way to get started. Most of the docs usually have an edit button on each page which links directly to the respective GitHub file in the repo. So, you won't have trouble finding in the repo. If that button doesn't exist, use the search function in your IDE to find.
-
Now, you already have a basic idea of how to contribute and know a part of the codebase which has the docs. Go the already merged small PRs and understand how, what & why that PR was raised & merged.
-
Look for 'Good First Issue' tag. They are usually there for newcomers. Then, slowly and steadily move on to larger issues
-
Always ask for help from the maintainers if you're stuck somewhere or want to solve an issue but have no idea where to get started. No one will judge you. Treat them like friends.
Hope this helps!

*Go through

How would you say things have changed for better or worse since Microsoft's involvement in GitHub?

I would say it's like a double-edged sword. Like let's say for example, GitHub Copilot. Copilot has helped me spew out mundane & boilerplate stuff just by 'tabbing'. This helped me give more time to focus on logical stuff. However, this is also a concerning part, since it crawls through my code and the code available publicly on GitHub. I don't like the idea of borrowing code available publicly for free and monetizing them using copilot.
Microsoft also, has been promoting their own stuff through GitHub & isn't transparent about their future plans IMO. Products like VS Code have a facade of open-source even though it is not. I'm not completely hostile against MS but they're a very sketchy org regarding their future plans around open-source.

Microsoft's strategy of EEE(Embrace Extend Extuinguish) is in full throttle. Open Source !== Free Software(free as in freedom😅). If you are a FOSS maintainer, keep a remote kn GitLab as well.

How can I generate some passing income from doing open source?

-
Find a common problem -> create a library solving that problem -> promote it -> start getting users -> setup a sponsor page -> people will sponsor if they find it useful & don't want you to abandon it
-
Start contributing to some well-known repos -> slowly & steadily keep taking issues -> start doing some major contributions -> build some reputation within that community -> creator or maintainer will start sponsoring you for your work if you're actively contributing
Both of these options will take time & patience.

@tzr How do you promote your library?

No questions tzr ser 🙏 thanks for doing this ama, some great insights and tips you've left here.

I was fed up of cringefluencers sharing handwritten git cheatsheets in the name of open-source tips, so I thought about giving this free gyaan I never got when I stepped into open-source 🫡

Upload 76 pages of handwritten notes on how to make a PR else I'm not believing you're an OSS contributor. Also where is your GSSOC badge?

I have a GitHub account with 0 contribution. I have a lot of ideas, though but I’m missing motivation to contribute to the open source community.
-
What efforts did you need to put to make developers consume your library? How do you make the world aware of the problem that your library has solved?
-
How many years did you take to reach to this milestone?
Thank you for this AMA & keep inspiring!

- You need to find an actual existing problem that you've yourself encountered. Then, discuss this particular problem with other devs to check if they are also facing the same problem. Where to do this? Join discord servers related to that tech.
Then start slowly building your library. You can keep a log using twitter or through discord servers (they usually have a showcase section). Always build in public! Why? You'd get constant feedback & maybe some early contributors who truly believe in the problem you're solving.
Like for example, TS errors are usually messy af & hard to understand sometimes. Someone decided to make them look prettier & easy to read. A project started 11 months ago has now 11K+ stars (https://github.com/yoavbls/pretty-ts-errors). Hence, other than luck, the problem you're solving should be widely known one.
- I stepped into open-source almost 3.5 years ago

Excellent. It’s people like you that motivate people like me. Thank you.

Since you're a FOSS maintainer, what's your thoughts on companies that are OSS but do not have the free licenses?
Also, how much money does a maintainer make on avg for 20k+ stared repos?

Neutral. If that is the single source of revenue + for-profit, the companies have no other choice. Refer — https://github.blog/2021-03-18-whats-up-with-these-new-not-open-source-licenses/
This isn't fixed. Depends on the number of sponsors & the amount being sponsored to that project & how the sponsor $ is being utilized. For the FOSS project, we use the sponsor $ to further sponsor major contributors & maintainers who are doing open-source full time. I don't take a cut from that.
From the folks who are directly sponsoring me, I get around 25K-40K per month which varies a lot since, you can either do subscription sponsorship or one time sponsorship.

That's nice to know!
Would you mind sharing the name of the FOSS project, I am actively contributing to FOSS and would love to be a part of your project as well? I am aware this is an anonymous platform but I do not think you have said anything incriminating anywhere which might put you in a bad light.

As a PM, envy that devs can contribute to FOSS.
And hence my question, have you seen any PM's contributing to FOSS, and what do they generally do?

I have, actually! PMs of DX focused companies with their main revenue stream through their OSS projects are usually active in the open-source scene.
Apart from contributing to projects outside their org, they are also the 1st responder when someone creates an issue in one of the company projects before a dev from the assigned team jumps in to investigate further.

Outside of work, they contribute just like devs do.

Nice to see that you're working at Vercel by contributing to their projects. How long did it take for you to get employed there, starting from the time you began contributing to their repo?