9 ms·
A letter to open-source maintainers
- zabzonk 2y agoI think there is a bit wrong with this, IMHO: “only I can do” Sorry, friends, but this is incorrect. No, not incorrect - if you have the vision for a FOSS project then you are probably the only one that can steer it. That's not to say you should reject contributions out of hand, but no need to accept them, either. > The project lacks enough users, which might suggest it doesn’t provide sufficient value to the community. What "community" would that be? > I also feel angry when I see maintainers abandon a great project without providing any explanation. Doesn't the rest of article contradict this? What right do you have to feel angry? > “I’m changing the world” Accept my respects, friend. Please remember to revisit my post whenever you feel tired. What? > Now, you are tired, busy, and hurt, so you finally decide to leave This is all just nonsense. >Ensure your projects can continue to operate smoothly even after your leaving. You are under no obligation to do that.
- bee_rider 2y ago> Doesn't the rest of article contradict this? What right do you have to feel angry? You don’t need a special right to feel angry. We all come with a right to feel whatever we feel in our heads. Of course, there are limits on the ways we should express these feelings.
- abeppu 2y agoI agree that maintainers shouldn't need to feel committed or obligated to keep working on a project. And yet: - it's also not reasonable to expect that anyone should use your project if it's not clear it's going to maintained etc - OSS contributors should not over-state the capabilities of their project, or make untruthful comparisons to paid alternatives Yes, it's unhealthy and unsustainable to feel like you're on the hook for the health of a project, which may not sit easily alongside your day job, school, life, and your own changing interests. Yes, it can feel like a community of users has high or unending expectations. But also, projects often invite and encourage users to use their cool new thing, develop processes or workflows that depend on the project, make claims that their project does everything that existing commercial project X does but cheaper/faster/with greater data privacy, etc. Announcements are made that "the much requested feature X is underway and is planned to be included in release y.z". These all contribute quite understandably to the expectations of the community. The view that every contribution is a one-time gift and the world isn't entitled to your future time and attention only works if we're all clear and honest about that up front.
- bawolff 2y agoDo you feel like open source maintainers have this attitude? I feel like its exceptionally rare in real projects. Most open source maintainers fix things and what not, but don't really care if you actually use the code or not. No money changes hands so there is no marginal benefit of one additional user.
- brabel 2y agoA lot of newer devs seem to have this attitude. They start a little hobby project and think they solved all problems of the world and start shouting about their project on social media and forums... in reality, the project is just a toy, of course, much of the time. But the users may not have a clue and may believe the author if they get enough hype. I think that at least one example of that which had very real consequences is the V Programming Language. It attracted quite a lot of hype, and there's not so much "hype budget" to go around with PLs. They started getting quite a lot of donations and sponsors, despite never delivering on most of the points that made their project unique, while other more serious projects, like Zig and Nim, which were really delivering good stuff, for some time didn't get as much attention. I think Andrew Kelly himself expressed this feeling at some point (sorry if it wasn't him, my memory is haze).
- baranul 2y agoReading the history, and a bunch of it is actually on HN (going back to 2019) and online (including YouTube), the truth of it seems different or it can be viewed differently, in regards to the V Programming Language. V started from a former professional Go programmer (Alex), creating programs for himself, because he was frustrated with using Go and it missing features that he wanted[1]. He started a new language, which he used to make Volt, Vid/Ved, etc... Others, finding out about his new language, pushed him to make it public. It looks like he was in collaboration with some other developers, when working on Volt. Others posted about his programming language and pushed him to make it public. Relatively soon afterwards, he came into conflict with creators of competing languages, like Zig (the Andrew Kelly that you mention) and some others (Odin's GingerBill). The conflict appears to have turned hot, originally, because they claimed the language did not exist. That it was something "fake" that he (Alex) made up, but was getting Patreon money from supporters. Clearly that was wrong, and the V language was released on GitHub. Soon afterwards, numerous contributors joined in the effort and gave it stars. The main push, "of hype", looks to mostly have come from books written about V[2][3] and perhaps the addition of angry competitors constantly talking about it. Zig and Odin have only recently published books about their languages, mainly in 2024, despite that these languages have existed since around 2015 (and have not achieved 1.0 yet). The V language is of course going to get more "hype" or "attention", if it has actual books about it. While in contrast and for years, its competitors had nothing published or didn't/don't even have a Wikipedia page. [1]: https://www.youtube.com/watch?v=_dIAcNp9bJs https://www.youtube.com/watch?v=_dIAcNp9bJs (A small presentation of V's features at IBM...origin story from 6 min) [2]: https://www.amazon.com/Getting-Started-Programming-end-end-ebook/dp/B09FKK3JL7 https://www.amazon.com/Getting-Started-Programming-end-end-e... (2021) [3]: https://www.amazon.com/Programming-Language-basic-Japanese-ebook/dp/B08BKJDRFR https://www.amazon.com/Programming-Language-basic-Japanese-e... (2020)
- phoronixrly 2y agoSharing the source code (under an OSS license) with its users is one's only obligation from an ethical standpoint. If its only user is the developer themselves, then they're already doing more than they're ethically required to by sharing the code. People must come around to this view and the 'volunteer open-source maintainer/developer' role must be left only to people who enjoy doing it. Require payment for your services otherwise.
- pessimizer 2y agoThe problem is that a lot of people are doing OSS to get work, or to get better work. Almost all of them really, lately. So although they don't have a boss (irt the software), they're desperate to impress, and to please, and to network, and they feel a lot of pressure. Every request is like a demand, so when those requests are petty, or entitled, or feel like a nuisance, it's like they have a horrible boss that's yelling at them and trying to destroy them. They're terrified of a fork; it's like everybody getting up and moving to another table in the cafeteria when all you want them to do is like you. Also, it's a lot of work, and can stack up, and you're doing it for free as basically specwork. They also half the time have to do their real jobs that actually feed their kids, unless they can work on FOSS that their job is willing to pay for. They shouldn't do it for free, they should use every means and trick available to make it worthwhile for them to do and to get themselves paid. They need to survive for FOSS, for the software. Which means that they have to make sure the license is open and the source is available, and that it's ethical, because that's why it's worth fighting for. So everything that's ethical and open, very preferably GPL, do. If you have to write closed software to get yourself paid for your GPL software, do it. Eventually you can open that closed software up too, when (and not before) you can afford to. All FOSS licenses have different business implications, and ultimately income implications. Morally, it'd be better if there were no software copyrights and everybody was allowed to inspect and modify all the code that they interacted with, and we all shared. You also have a moral obligation to feed yourself and your family and not go nuts, though, to have some security. If you're not one of those people, and it's just a hobby and a charity thing for you, that's wonderful and ideal, bless you. You may have already made all your money. If you have to make a living from it though, don't let yourself be bullied into compliance and submission to the users because you need them to like you, to get work, to survive. Do whatever you have to do to be self-sufficient. It's hard out there, and you might have to be hard. Not mean, just firm about the amount of care and interest you have about individual strangers' problems with what you gave them for free. You can leave a lot of people disappointed that they're not going to get more from you for free, yet still be ethical. Being ethical, being open, leaving people in control of their devices and in control of their lives, that's the point. Keep ethics at 100%, and put pleasing the most people as a (far) lower priority than paying your rent, and taking a vacation every once and a while, with the kids, and having health insurance. Taking care of yourself means more FOSS in the world, more people free of black boxes in more areas of their lives. The OP seems wise.
- dmezzetti 2y agoI've written two articles on this topic over the last few years: https://medium.com/neuml/grow-your-open-source-project-5b439cc9ca1a https://medium.com/neuml/grow-your-open-source-project-5b439... https://medium.com/neuml/grow-your-open-source-project-2-0-59d7da5ffdfb https://medium.com/neuml/grow-your-open-source-project-2-0-5... In 2024, it's hard to get anyone to know you even exist. You can work all you want on GitHub but it likely will be a couple star project unless it trends on a site like this. With how many developers oversell what they've built, everyone is generally skeptical with any new project. People are even more skeptical if a project mentions "AI". Then you have VC-backed companies who have their ways to get their projects noticed. They'll get stars, articles and publicity but there is no direct correlation with project quality and funding. People use these projects, they're terrible and the cycle of disillusionment continues. Given all that, it takes a certain resolve, belief in what you're doing and commitment to keep pushing forward. There will be little carrots along the way to re-energize you. Perhaps that is good enough, perhaps it's not. It's not for the faint of heart. I fully agree that when an open-source maintainer doesn't want to do it anymore, it's like anything else in life. We have free will and the right to decide to move on to other endeavors. Just like one does with any other job.
- joshka 2y ago> It’s entirely acceptable for someone to use your MIT-licensed projects to make money without even acknowledging your name. Well, actually... > The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -- https://choosealicense.com/licenses/mit/ https://choosealicense.com/licenses/mit/
- bruce511 2y agoSure, that's in the copyright notice, maybe in the docs no-one reads. But from a marketing and sales point of view, it's nowhere. For example, I can start marketing and selling a new image editor (blimp), and on my web page, in videos, Facebook yo face, I need make no mention that it's based on Gimp. And that is -explicitly- allowed by Open Source licenses. Which is part of the Ooen Source deal - others can build on what you made, take credit for it, profit from it. That is not a bug, it's a feature which was explicitly allowed for.
- thayne 2y ago> I need make no mention that it's based on Gimp. You would however, need to make the source code available under the GPL license, since GIMP is licensed with GPL.
- bruce511 2y agoOf course. But my point is that that a) does not matter to 99% of the people who bought Blimb and b) its not a factor in the marketing and sales part.
- joshka 2y ago> That is not a bug, it's a feature which was explicitly allowed for. I agree entirely :) It's why I prefer to use the MIT / Apache Dual license (and generally to avoid the GPL in certain contexts). Apache's condition is more explicit and nicer from the attribution perspective (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. I've actively said to people as a result of looking at my own Apache/MIT licensed software (as well as others) to go fork themselves. You don't need my permission to do so as by choosing that license I already gave you the permission.
- edfletcher_t137 2y agoThank you so much OP for writing this, and I hope it resonates not just with maintainers (or potential maintainers) but to users of FOSS too. You needed to write this - specifically, the "Baseline" section, which I agree with vigorously - because too many users of FOSS consider themselves entitled to continued maintenance, support, feature development, community fostering, etc. etc. We (maintainers) owe you NONE OF THAT. We gave you our code. That. Is. Enough.
- yaris 2y agoI believe your last line should be written in any OSS README file first, maybe twice (in the same vein as another poster suggested because "no one reads the license").
- ericyd 2y agoIt's always nice to see things on the internet with which I agree unequivocally.
- jandrewrogers 2y agoGreat article. Like many other people, I largely stopped contributing to open source years ago because people don’t respect boundaries. If you point out that they are not respecting boundaries, many will try to argue that they are entitled to this behavior because reasons. Long term, this dynamic is what is going to kill most OSS by people doing it for the love of it. Unless you are making a lot of money by doing it, the act of sharing source code often has a negative return.
- boris 2y agoEveryone agrees the unreasonable entitlement of many OSS users is bad but I don't see much analysis of where this entitlement comes from. Maybe it's the loss aversion: you first gift them the software but then by refusing to maintain it or add the feature that they need, you effectively take it away or, at least, suggest that they will have to pay for this gift after all (by implementing what they want themselves or paying someone to do it). It could be the same dynamic with the "license rug pull", like in the Redis case discussed the other day. The new Redis license seems like it would be a non-issue for most users but because they had a more liberal license before and it was taken from them, they feel irrational sense of loss? (I realize there are also valid reasons why the BSD license was objectively better than the new custom license, like the ease of compliance.) So maybe what Redis should have done is not to pull the existing rug, so to speak, but to leave it be and lay next to it a new, better rug and offer the users sitting on the old rug to move over, if they find the new features of the new rug outweigh the drawbacks of a new license.
- jandrewrogers 2y agoEverything you are talking about is precisely the undue sense of entitlement that drives people away from contributing to open source. They owe you and everyone else nothing. Not their time, not their attention, not anything. The sense of entitlement to other people’s labor is grotesque. You are free to fork the code and make it your problem to do the things you think the original code authors should be doing. That is your only right. Yet curiously many of the complainants don’t do this.
- vouaobrasil 2y agoI agree with this article entirely, except I have one counterpoint that should be more emphasized: open source programmers and maintainers should be more explicit and clear that the product can be discontinued, have problems, or just stop working with any updates beyond saying it in the license. Because otherwise normal people will have some ambiguity and have the mistaken idea that there is some social contract, however slight, that what you are offering has some promise of functioning.
- icambron 2y agoI don’t get it. The document setting out this fact is the license, which also tells them they’re allowed to use it at all. The MIT license is short and simple and very explicit about lack warranty. If we were to say “no one reads the license; it’s just boilerplate!” and add it elsewhere — say the bottom of the readme or in another file like disclaimer.md — it would quickly just become other, different boilerplate that no one reads. You can’t solve the problem of understanding norms by writing copy. I’m resigned to everyone learning the hard way.
- gyan 2y ago> You can’t solve the problem of understanding norms by writing copy You can mitigate the problem by adding a short summation before or in between something they're likely to read.
- damethos 2y agoI always want to know what is the "intention" of the author/maintainer before I invest time in an open source project I want to use. I would love to see that with big bold letters at the top of each README.
- yaris 2y agoAnd when the "intention" changes after you invested a few years/$ thousands into using the project, then ... ?
- dismalaf 2y agoOpen source is just a license. Anyone who makes it more than that is looking for some sort of religion or something IMO. Here's your obligations: if you're the author, none. If you're a user, whatever the license spells out. Nothing more, nothing less. Open source works because individual incentives can be mutually beneficial. Ascribing too much personal meaning to OSS is what causes burnout, just touch grass and if you need money, start a real business or get a job.
- eviks 2y agoIf you want to reduce the sum total of human interaction re code to a license, you're part of the religion where the priests are lawyers. But it's not a common religion, so plenty of people behave differently
- avighnay 2y agoYes this is exactly what it is. I think there is so much haze built around it for last 15 years because corporates started using OSS as a means of viral marketing. Individual developers on the other hand saw it as a status enhancer. In this, the original principle of FSF, 'Free as in Freedom, not Free as in Free Beer' was forgotten completely. This in principle is what you have stated above. The freedom to choose, not the entitlement to demand was the original promise of OSS
- marc_abonce 2y ago> “only I can do” Sorry, friends, but this is incorrect. You are not the only one capable of maintaining this project. Technically true and a good thing to tell people who are burning out, but like always, different people need different pieces of advice at different times. In my case, I mostly stopped my (sporadic) contributions to free software partly because I felt a sort of bystander effect where I assumed that other people would step forward and implement the features and bug fixes that I wanted. However, in most cases this has not been the case and I think we've all seen issues that affect us that have been reported but unsolved for over a decade, if not forever. So, in my case it is far more motivating to think that I have to step forward and do the work, because otherwise nobody else will. Again, this is specifically for people in the opposite extreme of the open source contributor (de)motivation pipeline, so I'm not even disagreeing with OP, just hoping that other people do not get demotivated with this bystander effect.
- xuanwo 2y agoThank you for the comments. I agree with you as well. That's why I always show great appreciation for the heroes who stepped up to fix the bugs. I want to motivate people to do the same, but with an established baseline: don't burn out, don't overwork, and prioritize self-care.
- bawolff 2y agoRe "i'm the only one that can do it" I think we in the open source communities have trouble accepting that sometimes projects fail. In the business world, companies fail all the time, in the open source world a project never really dies until the last person stops using it. As a maintainer it can be really hard to accept that something you put your heart and soul into didn't work out. However sometimes that is what happens, and you need to allow yourself to move on to new and better things. Taking the lessons learned and applying them to some other project.
- brabel 2y agoWhat do you mean by "didn't work out"? Like, it didn't manage to implement the features the author set out to? Or more like "no one is using it", or even "it's not making any money"? I feel like, for a passion project, only the first one applies. I have many projects that as far as I know, I am the only user of, and I am happy about that! As far as I am concerned, my project is very successful because it solved a problem I had and that no existing project addressed.
- bawolff 2y agoI mean more - if you are not getting value out of maintaining it anymore and there wasn't enough interest to make the project self-sustaining without you. But also sometimes things change, what was a good solution once might not be a good solution now. There is no one answer, all im saying is that there is nothing wrong with moving on if the project no longer interests you.
- throwaway2037 2y agoSee also: "Open Source Maintainers Owe You Nothing" https://mikemcquaid.com/open-source-maintainers-owe-you-nothing/ https://mikemcquaid.com/open-source-maintainers-owe-you-noth...
- karel-3d 2y agoJust give the commit rights to Jia Tan
- demarq 2y agoAfter I left a job I wrote a library to accomplish something we really struggled with at my previous company. I realized that if I open sourced and maintained it and my old company used it, then I’d basically be working my old job with no pay. It completely changed the way I view open source.
- stronglikedan 2y agoSurely you could have had a clause in the license along the line of "free to everyone... except Old Company, they can get bent."
- demarq 2y agoHaha, yes that’s a possibility . But in all seriousness I don’t hold a grudge against the company. It’s just the first time I realized this is thousands of dollars worth of work and a hefty commitment to support a profit making entity. It just doesn’t make sense.
- sandreas 2y agoWhile I get your point, I'm not sure I share your opinion. You would not work for your old company with no pay, you would work for everyone interested, but most important you can make the decisions yourself. Maybe even other devs decide to work for you by submitting PRs. Additionally you improved your skills at your old company, which they basically paid for and what led to an awesome open source project that can be used by everyone... That's just my point oft view.
- mxuribe 2y agoThat's certainly one perspective....But, another could be that you could now be considered an expert in your library, and your old company's direct competitors are free to hire you for this expertise. This of course needs to take into considerations whatever agreements you have/had with your old company. Yet another perspective is that your old compoany could hire you as a highly-paid consultant to help them support your library, etc...In this latter case, you "win" because you're not helping competitors, and your old company "hurts" ever so slightly by needing to pay you hopefully more than when they had employed you....i'm sure there are other opportunities for you - that have and have not to do with your old employer/company. Then, there's also the more philosopihical perspective: don't look back, just forget them, and move on with your life. :-)
- nickpeterson 2y agoDoes GitHub have an option to turn off most interactions on a repo unless you’ve had pr’s accepted? In effect, a public repo that is read only (no comments/issues/etc) unless you’ve contributed? I’d imagine it can be done through various settings but I wonder if there is a term for such an arrangement?