Subscribe to my newsletter if you enjoyed this article.
GitHub published a curious article on avoiding burnout for open source maintainers. It’s a...
Some comments have been hidden by the post's author - find out more
For further actions, you may consider blocking this person and/or reporting abuse
I wholeheartedly agree with your perspective on contribution quality. And for that reason when I spot a bug in open source project I always create issue instead of pull request. I know many iterations it takes to get pull request aligned with coding standard, coding naming, test flow, documentation style and other aspects specific to a project. Even experienced developer make not make it right on the first try. Call me lazy, but I think project maintainer will have less mental load when fixing bug himself based on well described issue than reviewing someone's code few times.
You also mentioned few things that everyone considering starting open source project should be aware of:
I think those should be mandatory check boxes when you click to create new repository on GitHub :P
Ah, and I forgot to mention that open source never helped me to find a better job...
That is interesting. Isn't the generally spread notion that contributing to open source is the ticket to either finding a job or a better one?
I don't think I have ever actually contributed to open source because I don't understand it very much, and I do not believe myself to be that knowledgeable. I always thought it(my lack of contribution) was my reason for not getting a "better job".
It is a very widespread myths about open source, which in reality isn’t the case for most people. So don’t bother if that was your motivation ;-)
It might be useful for learning a few new things though…
You're definitely right about the learning, and at this point; that's what I'm going for.
Thank you though for the article. Provided a lot of insight.
Really insightful. I sometimes feel it's a personal failing when I don't contribute to my open source projects, or that I'm a lesser engineer, but now I realise that I've been manipulated by the expectations of open source.
I will continue to build and learn as my business requires, and spend my free time with my hobbies :)
Yeah, the guilt of not contributing is a thing that shouldn't be there. I'm glad you're recognizing it ;-)
I have a project that has just a bit more than 100 stars and I already have this problem so I can't imagine what projects with thousands of stars have to go through. This must be painful, unfortunately.
In my case, I took some actions to get a bit less stressful, like:
Other things that can help are:
That's it.
Or you can just quit and that is totally fine! And if you are really mad, just archive the repo or make it private for a while.
Peace!
I've gone through all of these steps and it's not enough for me. It still takes a lot of time without any significant benefit for me.
I don't care too but I also don't want to see them, I don't want to waste my time reading them, hiding them, and then banning the author.
In this case, the best solution for your mental health is quitting, which is totally fine and understandable.
Hi! I like very much the actions you took. I find the point 2 useful and straightforward. Thank you
Sad to hear the story. But it's actually the way it is. And I see that it's getting worse with years.
Anyway dude, I like your projects very much. I hope these stories won't fully demotivate you from being a good software craftsman. This industry needs such folks.
And I like you color themes, they look so neat and well thought-out 👍 Not my option unfortunately, my poor old eyes need more contrast for day-to-day work, but I really like the look and feel, and the support for such huge range of tools, that's rare. (The project link here is broken btw, but I'd found it on your GitHub)
And your blog is really cool, added it to my inspiration list.
All in all, chear up man, you're such an example of a dedicated professional. Don't just leave everything, save something for practice and pleasure. Burnout is not eternal (been there for couple of times, and now very close to it). You have a lot to create and a lot to teach others to. Just give less f*cks to toxic people and get used to having more rest.
Thanks a lot! Well, I’m not going to change career anytime soon — everything else seems to be worse… Well, unless I find a way to have a nice life raising chickens in my (future) garden ;-)
And I’m sure I’ll need a hi-contrast version of my low-contrast theme in some 10 years…
P. S. Fixed the links ;-)
@sapegin : Great write up. This is a dark side of Open Source. I still believe things might be going down the wrong path, but we being part and identifying and redirecting things might help improve the situation.
I hope you still continue making quality contributions to open source and don't completely give up on it.
I'm giving up the social part of it, not taking down all my projects or making code private ☄️
Somewhere in the last decade, the corporate world discovered the wealth of free labour embedded in FOSS and has capitalized heavily on it. It's no longer devs sharing code with each other.
A lot of these panicked demands for more free labour come from users in corporate context. Either putting pressure on maintainers at the direct request of their boss... or trickle-down pressure to finish job X which needs open source project Y.
I've scaled my own open-source work waaay back because I have no interest in writing code for companies for free.
Yup! I'm also now using open source purely as a way of storing and reusing my own code.
I wonder if part of the problem is GitHub?
I have been fortunate and have not seen any of the toxicity that you saw. I took over developing the Roundup Issue Tracker as the 4th I guess release manager/developer after the original developer got tired of it.
However, we don't use github issues. I mean we are developing an issue tracker. We probably should use it 8-). We also don't use a forum, preferring an email list or IRC.
I wonder if this additional friction drives away the "hit and run" people. It probably also reduces uptake, although being used for 15+ years as the tracker for Python was good advertising.
Patches do take reworking, but the ones that have come in while I was primary developer have been good. The significant code allowing Roundup to support Python 2 to Python 3 was high quality and done by others. I have reworked a few patches here and there however. Having to create test cases for the code is where the tedium comes in.
Tooling is an issue, but fortunately, Roundup can run using just standard Python library modules. However recently some of the standard modules used have been removed. I was able to vendor the code successfully. Also the pytest ecosystem, sphinx documentation and other tools make development easier than in javascript.
You’re probably right — I’m sure GitHub makes it too easy to “contribute”, until people realize that it require actual work and that most projects won’t merge any code just because it appears in pull request.
It’s probably also worse for JavaScript since it’s so popular now, and everyone seems to “know” it now.
Well written. I've always had an inkling about that. For me, it was because everyone started doing it. Everybody is trying to build his/her own project and get popular, so obviously many people will not make it. There's no way it can fulfil the promise for the millions pouring into it.
Then as you said, corporations making money off of free work is definitely a huge part of it. 😂
It's however, not a bad idea for building portfolio.
That's precisely my point: to build a portfolio you don't have to deal with the social part of open source ;-)
Yeah you're right, enough is enough ... relax, go out, get some fresh air, there's more in the world than software development, that's my big #1 principle as a dev!
Thamks! ;-)
So sorry you had to go through this 🚀
🤗
Interesting read, I saw this take from DHH a few days ago on the same topic, world.hey.com/dhh/the-open-source-...
it might be interesting for you as well.
Thanks! I agree with him that open source is a gift and that clear contract is a good thing. I don't like his shaming tone though ;-/
I disagree with the author’s viewpoint on quitting open source.
Open source projects can be a great way to build a portfolio and gain valuable experience in software development, which can be beneficial when pursuing a career in computer engineering or starting a business.
and can lead to recognition and even potential job opportunities. Many companies value open source experience and actively seek individuals who have contributed to such projects.
This is one of the biggest myths that open source is somehow magically helps to find a better job. And to build a portfolio (and I already have one) I don’t need to accept pull requests, look at the issues, or be a target of entitlement and toxicity.
Agree with most of the points yet there're always upsides that put people in the place of OS contributor/maintainer. It is just a question of the balance that is ever changing.
My pros for doing OS:
These are good points but to achieve these I don’t need to accept pull requests, look at the issues, or be a target of entitlement and toxicity.
I can feel the pain you described... Looking through someones PR, poorly formatted, buggy, without any tests or docs, solving some problem which the author of PR didn't bother to describe... At the moment I treat it as occupational hazard)
This winter I had a huge PR that was almost 1y old which I procrastinated to merge as it required a lot of mental capacity. Not because it was bad, but because it was a lot of good work done by one of the contributors, adding a nice feature. I event tried to engage ChatGPT as CoPilot to review and merge it (expecting to copy/paste sources and explaining there structure of the solution) - https://www.dropbox.com/scl/fi/d2dmxnm017swefp3nonla/ChatGPT-PR.jpeg?rlkey=qz0uqzv9gbj7j3328q641ie2a&dl=0
Some times it is the other way, contributors do decent job and invest a lot of effort. While maintainers (for many reasons, such as you described) fail to support them.
Btw, I think PR merging is a real pain and it can now be effectively solved with LLMs. Already tried doing some AI coding (see VSCode extension called cptX), now I'm thinking of creating something to solve the PR hell and publish it to GH Marketplace. We can chat separately on the subj, if you wish
While I don't entirely agree with the author, he's got a point. Some great Open Source projects are truly dev-friendly, helpful, and helping you to learn. And I think I was lucky to be a part of such.
But there are also a lot of toxic projects, developers, and communities. Some examples were mentioned in the article. We also saw what happened when Turbo dropped TypeScript support.
That said - I hope you will give Open Source another chance, and I hope you'll be lucky this time. But I understand why you did what you did - we only have one life and there are better things to do than to argue over the internet with strangers over few lines of code.
I gave open source way too many chances already — it’s been about 10 years, and the effect on my mental health is too bad to try again. However, I’m not making my code private overnight, I’m just quitting the social part of it.
Good job, it's a pretty perfect and detailed article about OSS maintainers!
I'm also a maintainer of many projects on Github and I have the same feelings. I don't plan to quit from it, but I spend less time on maintaining them.
🤗
I have been writing dozens of open source code and it's all about your point of view. |
I see it as a responsibility, the moment I release something, I am obligated to assist others and see it as bring shame upon myself if I neglect my duty.
Money doesn't matter at all, as the "payment" is psychological of "good feeling" my creations helping as many as possible.
creating open source is like volunteering your self to a greater cause.
This is how I see it.
Imagine having 10+ open source projects and having people opening issues all the time on GitHub sometimes I just want to run away and hide from all the stress this brings but I still feel shame, and shame wins so I sacrifice my time and deal with issues.
Currently I am so burnt out that I quit programming completely for months (after coding for over 20 years)
Sorry to hear you go.
I think that a more filters are better for OSS, so you can get more reliable and better quality contributions.
I think that forming a team of contributors is much more efficient than getting lots of random requests and pieces of code from random people.
Treating it like a job that you work on whenever you want to, full with project management, having devs with experience and knowledge you know you can rely on, communication tools, having meetings, etc. Is the best way to work in projects, just like at regular dev jobs.
You can also plan a sustainable financial model so you can keep your work free, e.g funds for OSS for developing things in a specific area, or ads.
Well, as soon as I'm being paid for it like for a job, I'll treat it like a job. But until then...
I'm going to be devil's advocate: You are deliberately confusing open source and free software.
Open source makes money: see Redhat, see MySQL..
Exhaustion, toxicity? AI is here for you
Lack of community? There is something in law called "contract", if it does not go against your interests and those of your clients, that it is fair, you can ask, if they want to participate. .
At some point, we will have to stop insulting everyone and moving forward, we now know who not to count
While I can't say I support your decision, I respect it. Let me clarify the first part of that statement.
I've used various pieces of Open Source Software over the years, and have been on the receiving end of decisions like yours, where something that looked like a valuable and useful tool, that I've started to use, has been abandoned. I have contributed to a few OSS projects over the years, initially GNU Emacs, and in to others in including Eclipse and K9 Mail (Android), because I feel it's the right thing to do, to try to give something back to 'the community' for the help I've had from it.
I would be much happier if my company would make real (perhaps financial, perhaps effort) contributions towards the maintenance, support and development of the OSS code we use, but getting them to is easier said than done. As a result, when I choose to use OSS for work purposes, I now tend to try to find packages with multiple contributors, or some organised commercial support infrastructure, and a certain level of maturity so that I feel the risk of abandonment is reduced.
However I still, if I'm able to, try to provide useful descriptions on issues and, if I have time and the right test infrastructure, will try to track down causes of the bug or problem I'm seeing. As others have suggested, though, especially on large projects (e.g. OpenDDS and Eclipse), I suspect the regular maintainers would make a much better job of fixing these problems than I would.
Unfortunately, I feel that OSS suffers due to the egos of some developers. I've seen time and time again that a relatively mature OSS package is forked because someone wanted something slightly different and didn't get their way (think XEmacs from decades ago, for example). It dilutes things, and makes life difficult for people who do want to try to make positive contributions to the packages they're using.
Another OSS package I'd made a start on trying to contribute to was abandoned by its main developer because he spotted another, similar, package he thought fitted better with what he wanted!
Over the years this has really put me off using OSS and, if I could find the same stuff available on a commercial basis, I'd be inclined to consider going down that route. Unfortunately, a lot of commercial offerings bundle loads of features I don't need, with an associated high price tag that's hard to persuade my management to pay, when you they know we don't need much of it. Saying that, cost-effectiveness does come into it; we looked into using RTI DDS instead of OpenDDS but the initial cost, given the circumstances of our organisation at the time, were prohibitive.
What I'd really like to see is more OSS with more restrictive licensing for commercial use, but with price structures that aren't stupid.
Just my thoughts, and I wish you all the best.
This is great!
After going through your article, I was bound to share my opinion as well. This time, through a video.