Good read and I simpathise. Dealing with publicity can be horrible. You need such a thick skin and self confidence not to be moved by insults and demands coming with people actually start using what you created.
If you want to coordinate a software project with multiple people, you need good people skills. Open source projects with an unstable core contributor very often fail or get forked into a clone by their community, it's just the nature of the thing.
It's a "big culture problem" in the same way profit maximization is the destroyer of modern businesses. Everyone uses Open Source software; annoying teenagers, political dissidents you disagree with, state actors, and businesses that will ignore your license (cough Tesla cough). If you don't rise above it, the the world isn't going to change according to your whims.
Putting up with abuse and good people skills are orthogonal.
Also I never said anything about an “unstable core contributor”.
I fully disagree that nothing can be done about this. I never said people shouldn’t have to deal with disagreements or unlicensed use. Yeah that’s going to happen.
All I’m saying is projects should take a much much harder line on abusive/rude treatment. The people who act that way will never change if they don’t face consequences. When project A puts up with it, they learn they can do it to B and C too.
But if A and B stood up, maybe C and D wouldn’t even see it.
It will never be zero. But it can be a lot less than it is now.
Projects do take a hard line against abusive treatment - the most successful ones ignore or delete those comments altogether. This entire post is about someone reading a comment and not being willing to accept that there's nothing they can do about it besides refute them and move on.
>Same goes for companies. Nobody cares about you as long as everything is working smoothly, but as soon as they encounter a problem, guess who comes knocking on my door?
Companies do not use libraries, devs do. Dev ability to pay for the libs is essentially zero, and even if you try to escalate it to management and purchase the license, this can easily take a year of few to approve.
Depends on the company. I know a lot of regulated companies that will happily pay for libs if it means they can "offload" the maintenance of them on whatever regulatory questionnaire they're filling out. For these companies, every dependency is either something they have to maintain or have a contractual relationship with the maintainer.
But if you plan on making a library for corporations to use, make the license clearly defined and don't use AGPL (it's like the legal form of hazardous materials to most corporations).
I couldn't find a LICENSE file or other notice on the repo this author was referencing.
edit: My point is, why be so harsh on someone learning a lesson about FOSS? It's like an old dad picking on their son for getting hurt when a girl dumps him. "Well son, that's life, silly".
I will never understand how entitled or mean people can be towards OSS devs. I sympathize with this post a great deal and wish the author all the best in whatever he does next.
It goes a bit beyond OSS; try doing anything important in life and you'll be a target sooner or later. Jealousy is a powerful force; ignorant mobs are powerful forces and there are a lot of evil opportunists in the mix. People really need to get a little more cynical at a young age. Everyone should be doing things because they think it is in their personal best interests. People can still be altruists, but it is important to understand that is a personal belief in what a local optimum looks like and it can't be seen as a noble sacrifice.
I thought this dev's attitude was fairly healthy. Try something, see it didn't work, start charging.
Yeah, but on the other hand, when you start charging for something, people automatically feel entitled to expect the world from you. I'm not saying they don't already do that for people who donate their labor to a project, but I'm saying the abuse might get worse. They're now "paying customers."
Jealousy, or fear of change, even. A lot of times even existing is enough to offend some types, if you or what you are doing is perceived as a challenge to what they think they already know and control.
I don't think people should get any more cynical. That's why we have this problem. The solution isn't to become more like them.
But it is absolutely vital to understand that there are those types of cynical individuals out there. That's fine. Block them out as appropriate; You don't owe them anything, and they wouldn't reciprocate anyway. Keep an eye on them and take steps to protect yourself when they start to get too opportunistic/actively sabotaging/slanderous etc.
It's mostly naivety. There are a lot of people who really don't understand that people are doing something without getting paid, as a side gig, just to be helpful. They just don't get it. An uncle, who is a totally decent human being otherwise would complain loudly and bitterly at folks who ran kids sporting events when things didn't run smoothly. At the time I didn't think much of it, until I was an adult and saw the adults running things things in their spare time despite having families and jobs etc. Just being good people. This uncle was just a very naive person, it's like he thought these people's entire existence was to run kids sporting events.
My experience of people like this uncle is also that they have generally never done something like running kids sporting events, and in some cases outwardly signal that such work would be beneath them. (Not saying this is true for your uncle, but it is in some of my experiences.)
> It's mostly naivety. There are a lot of people who really don't understand that people are doing something without getting paid, as a side gig, just to be helpful. They just don't get it.
I think calling that naïvety brings inaccurately benign connotations. It is possible to be naïve while thinking the best of people, and understanding in good faith that everybody is probably trying. Naivety alone doesn't make somebody's default cynical and bitter.
> This uncle was just a very naive person, it's like he thought these people's entire existence was to run kids sporting events.
If you literally cannot even conceive of other people existing in any way that doesn't directly serve your own desires, I think that's less naivety, and more arrogance and entitlement.
Imagine if OSS went away tomorrow, not even all OSS, just the supplemental developer code specific tools. Suddenly 90+% of JavaScript developers would no longer be able to do their jobs. They wouldn’t even be able to pretend to write deliverable code. Careers instantly killed.
Nobody thinks about that. These free helpers are just assumed to be required and always available, completely taken for granted. These things are just presumed to be absolute necessary and unavoidable. God forbid those OSS devs don’t do your jobs for you too, or at least just provide a bit more custom help.
> These free helpers are just assumed to be required and always available, completely taken for granted. These things are just presumed to be absolute necessary and unavoidable.
I don't think this is unique to FOSS. There's always haters.
Do you think Windows 11 devs don't get cursed at? Sure they do but because Microsoft shields them from the users they don't know about it. I can't log an angry issue against the windows repo because they've added yet another stupid ad somewhere. And the same goes with most commercial software.
Most commercial outfits have support and development split out into different functions. It's pretty unique to FOSS that end users can log issues directly with the devs.
And for a support person it's easier to deal with this because it's not their own work that's being criticised so they don't take it personally. I was in support myself and I was pretty emphatic with customers, because in many cases they were right, our software really did suck because there was way too much attention spent on marketing and not enough on UX.
Agree with this, you touched on all the points from corporate teams being shielded to support not being offended because it isn't their ego.
For those who dare to create and release things to the wild as an individual - hope you have thick skin! People are mean, lazy, heartless, cruel, brainless, but also occasionally helpful, thoughtful, and sometimes even smart - and can correct and improve you.
So it's overall worth it!
A lot of people have mastered this better than me, but you can see yourself in a sort of 3rd person sense instead of a 1st person sense (I think it's called "being objective") and when you do it fully and purely, you can't be offended, it's impossible, because if done correctly you no longer identify with yourself but as the bird's eye point-of-view - but because you are still in control of yourself, from this vantage point you can direct your intentionality from a much wiser position. And if somebody unjustly judges you out of spite, jealousy, resentment, etc. you can see it as clearly as if you viewed someone doing that to someone else. A powerful mindset to hold for public-facing creators. You get the benefits of being shielded, and "it's not my ego" and also ego when you want it - at night, under the stars, having a beer, when it's safe to feel proud.
It might be sort of habitual. If I'm reaching out to support for a piece of software or hardware I've paid money for then it's actually fair to be pissed off if they're not providing what you paid for. The same doesn't apply to OSS, but a lot of people treat repo issues as if they're corporate tech support.
It's pretty much that Bjarne Stroustrup quote: “There are only two kinds of [open source projects]: the ones people complain about and the ones nobody uses”.
I totally understand the abuses described by the author and feel sorry about that. But I wonder how other successful open-source projects survived and eventually became rentable like Vue.js
It doesn't have to be a universal experience for it to be applicable to some. I have no source to cite, but I know this is not the first blog I've read where an open source maintainer has to step away due to abuse from entitled strangers. To your question, I bet it happens more on one person projects, where the person and the project aren't separated as much and where there is no collective to beat down the bad faith comments.
"The lower your prices, the more entitled the user base you seem to draw." Not literally, perhaps, but with a wider net you do catch more of the louder, more annoying or insulting voices. I've seen this repeated too many times already (RIP FairEmail).
Is this simply an endemic issue in the software space? I can imagine a great deal of people thinking it's not worth it to financially support a project or plugin they rely on because "I could make that myself in a weekend if I wanted to" and using that rationalization to justify being rude to the project's maintainer. Or perhaps the true believers in open source think that people should feed themselves on ideology rather than bread. Is there something else going on?
I think the simple truth of it is that the value of software just doesn't translate to a lot of people's day to day. People will spend tons of money more than willingly for access to streaming libraries full of inane, samey bullshit. People will spend $70 to access the latest AAA game, people will spend thousands on well-tuned PC's, people will spend tens of thousands on cars, hundreds of thousands on homes, with varying degrees of objection to their prices but ultimately, they will swipe their cards, and that's what matters.
And all of those things are different for software. Between freemium garbage that hauls you in only to present a subscription charge to access basic functions of the program, to software utterly saturated with shitty ads, to, frankly, open source projects prepared to publish themselves accessible for free use by all, we have utterly cratered the perceived value of software. And while the last group in that list is certainly head shoulders and cock above the others with regard to ethics, it doesn't change the fact that open source software is loved precisely because it's free. People LOVE it for that, because they get access to software they don't need to pay for, the lions share of those aforementioned people having utterly no clue what goes into making it. Or, worse still, know exactly what it takes and are happy to shove that workload onto someone they don't know, with a side order of verbal abuse when bad things happen.
I don't know how to fix this. If all the open source software went closed source tomorrow, it would be unmitigated chaos. But at the same time, how many of the Fortune 500 right now are utterly dependent on it? How many people's fortunes are maintained on the back of free software they could never themselves make, built by unpaid and abused volunteers? I love the principles of open source software, but I have never in my life written one sodding line of code without a paycheck coming and I intend to keep it that way, not because I don't think the world wouldn't be better if I did, but because none of the people I'd want to benefit would. I think our industry would be better if more people kept to that philosophy.
A downvoted but an interesting comment. Years ago I shared this same opinion. When I first learned about Stallman's take on how software should be free, I thought the guy was insane.
But with time, it's now obvious he was right about a lot of things. Very few things in the history of humanity made as much impact as OSS and all the things it has inspired and enabled: Linux, gcc, Postges, and so on. Think about how many things are derived from Linux alone, e.g. Android. Zuck hacked on early Facebook in php and MySQL, it's his choice not mine, but still, the impact is obvious. Before people start piling up on me and downvoting, think about the things that Facebook open sourced like React, PyTorch, LLaMA, and so on. How can this be bad?
LLaMA isn't open source. it's model available (MA), which is very generous of Mr. Zuckerberg, but it's not Open Source.
bad or good, we're forced to live in two worlds. a digital realm, where things can be copied infinitely for free, and a physical realm, where there's rent and food to pay for. so it's bad, because we haven't established a basic level of existence for everybody so people need to get whatever they can get out of it to pay their bills.
> But with time, it's now obvious he was right about a lot of things.
I've gone through the same evolution. Stallman was fundamentally right about the notion of rights for users--to look at, to understand, to change, and to redistribute software. As more of the world is driven by software I think those rights are merging with other fundamental human rights like the right to free speech. They make the world a better place.
Open Source is great, but there should be a clear delimitation between users and maintainers. Like you want to contribute, make sure that you’ve read the guide and present your patch as it’s stated. You want to file a bug, fill this form. You have an idea, go on this board and see if something similar has not been posted already. If yes, add your vote. You can’t build a project with the whole world micromanaging you.
When the marginal cost of creating another copy is essentially $0, the market price for the product tends towards zero. People are then willing to pay more for the convenience of having the product readily available than for the product itself.
People pay for streaming services and buy stuff from app stores, because it's convenient. But if the service is not convenient enough, the catalog is too narrow, or the price is too high, piracy and free alternatives start looking more attractive.
> Is this simply an endemic issue in the software space?
No. It’s everywhere. I don’t know if it’s a societal thing, I suspect more innate. Though individual cultures may modulate it to different degrees.
The lower the price, the less valuable it is and the more people are willing to make jackass demands. You want respect? You have to charge enough.
It’s sad. It’s amazing open source exists as successfully as it does in spite of that, though I suspect in many cases it’s a byproduct of selfish corporate self-interest in hiring developers.
Software may just be (or seem) worse due to the anonymity. People are way more willing to be jerks in a text box or to an email address than on the phone or in person.
That tracks with my experiences in life. It's why you see constant streams of fight videos coming from fast food places and not Ruth's Chris. Or Walmart, and less so Target or Pier One.
It's also why I quit listing things for free on Craigslist or FB. The absolute dregs of society come out to play. They'll demand you bring it to them, or that you hold it til they're ready, etc. And if someone else got it first, expect to receive a slew of hate messages. Not worth any of the hassle anymore.
Why do people get so bent out of shape over issues? I just ignore them on my repos, every once and awhile I may see if there's anything interesting.. But who cares what people demand, they can make them all day long but guess what.. You don't have to do anything about it! Open source has always been about scratching your itch and good luck to the next person if they can use what I made. Either way if you don't want to do open source that's great too! Good luck and thanks for the fish
I totally sympathize with not wanting to work on something that has become neither financially nor personally rewarding. I think the "early access" subscription model is a good, fair one, and I hope it succeeds.
> I also always believed that if you ever started a project that is valuable for companies, they would support you in return
But this just seems incredibly unrealistic. It's not remotely the norm for small open source libraries.
Omar Cornut, developer of Dear ImGui which is used by pretty much every AAA game studio, said he recently lost his biggest source of income. If he's having trouble getting stable sponsorship, I mean, good luck.
I understand the sentiment for this article, but I disagree with the part about using open source mainly to avoid paying for software.
I use open source because I like having the ability to learn how it works. If I can't know how a program works, I can't have control over it. It is not my tool, I am its user.
I also just like learning how technology works in general, and non-free software is generally difficult to share the source code looking from the perspective of a company. Also in my experience, open source software is generally a more fun experience when using it. It gives me a sense of freedom in an increasingly restrictive world.
You know, I often wonder if I'll ever receive an encouraging or somewhat kind response on this forum. That's probably a lot to ask from the internet in general. But could you elaborate on what reason you mean? You mean learning how the software works, or just because it's free?
This is what I am saying, no hate on people doing the right thing but most of the corporations love that they can take and give nothing back, its their highest ideal.
Ahhh okay makes sense. Yeah its truly grotesque. But money is a different kind of game. They see OSS as low hanging fruit. Idk if licenses like GPL would keep them at bay, but I think it might be an avenue more OSS developers should go down
If this were indeed the average attitude, there wouldn't be this big of an outcry with regards to the move from fully open-source to source-available licenses (Mongo/ELK/Hashicorp/etc.)
wrong: source-available means you can look but you can't incorporate/change/copy-paste/get-inspired-by. "look at this wheel, learn but don't make your own". It's a travesty.
Is that really how source-available works? I mean whos stopping me from screenshotting and using tesseract or some other OCR tool to get the actual no-bullshit source code
Don't you ever get inspired by reading good books? You can learn new tricks and apply them elsewhere, and it's much easier than actually contributing to a big open-source project.
i use (and write) open source because i enjoy the feeling of participating in a combined gift economy and shared commons people are working to improve. i do agree that the OP experienced the worst aspects of the culture, though, and don't blame them for turning their backs on it.
i also don't blame anyone for taking their own, mostly individually maintained and developed, project from open to closed for whatever reason. if the commons finds the project valuable enough someone else can always come along to fill the gap later, though it is sad to think about all the work that went into the original project.
For me, they're both included. I have no qualms with paying for good software if I have the ability to learn how it works and customize it to my liking. What I absolutely loathe, is closed-source that is useful to me, but with obviously lazy design elements that I dont get to customize.
Developers choose packages. Executives or even managers are so far removed from the process, can't expect any monetary support from those who control the money.
To summarize - welcome to a real world. If you want to do open source you do it for your own sake / pleasure / whatnot. Do not ever expect anything in return. Ignore complaints you do not feel worth your attention as you owe nothing to complainers. They're free to search for the alternatives.
No amount of document will make rude people act appropriately.
Imagine I'm rude and ready to insult this open-source maintainer. Am I looking for a CODE_OF_CONDUCT.md to be like, "Oh, crap, I _can't_ be rude and offensive? Darn, my plan is foiled!"
I'm struggling with the framing of all of this. I think it's clear that the author doesn't want to be involved with the realities (as unfortunate as they are) of maintaining an OSS project. There are very real issues with entitled or abusive users that have been well documented.
What I don't understand is the expectation that the money would just flow upon publishing the software with a permissive license. It sounds like a lesson learned the hard way that most people won't pay for software if they don't have to, or if they don't have a vested interest in the project succeeding. Products launched with OSS cores or with some value-added services model for revenue generally bake in some kind of monetization plan. Relying on "If I build it they'll pay me" seems a bit misguided, even if it can work under some circumstances.
The conclusion that OSS is just about people not wanting to pay any money is also problematic. The world runs on OSS, and that's arguably a good thing for a myriad of philosophical and practical reasons. The bad behavior that also happens to be an unfortunate reality doesn't negate this. The sustainability worries are real and need better solutions, but the answer isn't to abandon OSS. Even if it's the right choice for OP, his situation doesn't warrant broad conclusions, and seem less an indictment of OSS and more a misunderstanding of the playing field.
Nailed it. Particularly the fact that as valid as OP's situation is, it isn't necessarily indicative of FOSS as a whole.
They basically say it in their article: They grew up on the koolaid (no offense, so did I) of how awesome Linux and BSD are, and the GNU principles that closed source software is unethical, to be avoided, and so on.
It seems the harsh reality of "Not everyone can be sustained by a nonprofit foundation" has arrived.
Haha! I just got done chastising someone for exactly what you accuse me of.
No, I'm not blaming the person for quitting because of the jerks. There are two narratives in the article: one is the dilemma of how to put food on the table as a developer, and one is about the abuse and criticism from people who pay nothing and expect everything.
So no, I don't "blame" the OP at all. No one should treat others rudely online, and OP had to deal with some awful stuff.
My comment was about the dream of an all-FOSS world and how that clashes with buying groceries for a lot of people.
I agree with you, but in general any theory in the form of "the world should/shouldn't do XYZ" quickly falls apart when it meets reality. If you maintain any public communication channel, you are bound to get a bit of garbage coming in. You cannot fix it by saying how things should be.
I've always found the diehard linux/FOSS crowd naive and abrasive simply because it seems to totally ignore reality. If you're good at coding, and you enjoy coding, you probably want to do it for a living.
Not as a second job, not as a side project, and certainly not as a charity case that just flat out will not sustain you.
There are precious few things that have the adoption and support linux has, and a lot of that is very much a "right place, right time" thing. The fact that I've seen plenty straight up vilify a coder for daring to want to, you know, make enough to support a library full time has always struck me as self destructive. I'm sure many great coders have given up and moved on to paid projects doing boiler plate because inventing new stuff gets you chewed up and spit out by the community if you monetize.
It's turtles all the way down. Selling your library sounds like a great deal if your B2B sales don't dry up and the investors buy into your story. But then you reach a pit of disillusionment where you realize that you relied on free software more than your own work, and probably ran up quite the karmic deficit selling whatever product you made. Maybe you decide that you don't care, but you have to reason with it somehow.
I think a lot of people lash out at the entrepreneurial spirit because a business venture inherently necessitates risk. Your audience is not going to reward high-risk plays, and if your business proposition threatens their use-case enough then they'll probably protest. That train of logic isn't "diehard linux/FOSS" in my mind but more just holding someone to their own standards. Making a living out of coding is one thing, but turning your passion project into a business is another. If simple abrasive comments are what made them quit Open Source, I can't imagine how long they'd last trying to sell people a Javascript library.
> Selling your library sounds like a great deal if your B2B sales don't dry up and the investors buy into your story.
What "investors"?!? As a single developer, you need a computer and an Internet connection. Where do the six-(or seven-, or eight-)figure amounts of Venture Capital investment come in?
> But then you reach a pit of disillusionment where you realize that you relied on free software more than your own work, and probably ran up quite the karmic deficit selling whatever product you made.
That's what the LGPL is for: Even if you release your actual product only under a commercial license, you can help improve the tools you use, to pay back your karma to the community that enables you to do the whole thing in the first place.
(Disclaimer: This is the only way I can see being able to both make a living as a one-man software development company and participate in / contribute to FOSS... But I haven't taken the leap of faith, put my living where my mouth is. (Yet.) So this could all be hot air.)
none of the "fathers of opensource" had a problem with people coding for money, and it was always presented as a choice to donate code to the commonweal. And they knew how to handle and put constraints on people who were rude and asked too much, LART them or send a clue by four. But it's "you", the people who demand snowflake "codes of conduct", who don't know how to handle the negative energy and then you wind up exhausted and depressed and flailing. I'm not criticizing anybody or the way you/they want things to be, I just think you are mischaracterizing the past because you don't understand the social contract.
>They grew up on the koolaid (no offense, so did I)
you grew up thinking you were drinking koolaid, but you weren't, it was indeed fine wine.
> of how awesome Linux and BSD are
it's hard to think of two things more awesome than those two things. There's no koolaid, they are monumental achievements and are amazing.
>the GNU principles that closed source software is unethical
Stallman is/was a socialist, so yes, he had a Marxist take, "from those who have the ability, to those who have the need" and "there should be a limit to concentration of wealth regardless of the value of what you provide": much like so many people here. So yes, that's koolaid, but given that a majority of young people/people here believe it, you can't really pin that koolaid on GNU or open source, that's koolaid that was brought from home.
But the rest of Stallman's idea and motivation, that if you find an annoying bug while using your printer, you and everybody else benefits if you have the source to the printer driver to fix it: that's not koolaid, that's the same type of can-do idea that drove "American ingenuity" on the frontier. It's nice to be able to fix a printer just like the blacksmith could fix your plough, and once in awhile we get together for a barn-raisin'.
I just think you're oversimplifying and mixing separate concepts.
the entire web grew up on and still runs on open source, and everything lamented today as "wrong" with the web is proprietary. there is no fluffy theory, i have no idea what you are talking about. you're just not grateful for what you have, you're (analogy) like a teenager who assumes you're entitled to everything your parents provide... wait till you have kids of your own and you realize your parents had no fluffy illusions
> Printer driver is a nice motivating story but in practice its a lotta work for no benefit
Printer driver is what the Free Software movement, and therefore its bastard son the Open Source movement, comes from. But, sure, you want to call that "no benefit", you do you, man...
Strawman. We're discussing an article about someone whose job (was) open source. I never said open source has "no benefit". I specifically linked it to the specific article we are specifically discussing and how the specifics ruled out similarities to altering your printer driver.
It doesn’t have to be a reality. But people let it be.
It’s only a reality because that kind of behavior is widely tolerated enough, or at least not met with harsh enough pushback, that it continues to drive away good contributors and cause burnout.
Exactly... This is so true, and it's sort of reflective of the human condition. If you tolerate a wide gamut of responses, and abuse, you're going to get abused. It sucks, but it's reality. The same thing happens (though, sometimes to a lesser degree, sometimes more) in our social circles.
Boundaries are necessary in all facets of life. If they're not well-defined, then they're easily crossed and you're left trying to establish them after expectations have already been laid, making it difficult to push back. I know it's not easy, but sometimes it's necessary to say no and cut off abusive behaviors/people. This was one of the hardest lessons I learned years ago. Yes, you'll make some enemies. Yes, you'll upset people. It's necessary.
One other problem (at least that I've had) is attachment. It's difficult to detach from something you've put a great deal of time and effort into, and one of the threats that occasionally pop up are "do X or fork/hand the project over/give up" (or any other especially mean epithet). If they're serious about forking it, hey, let them. It probably won't happen—and if it does, what are the benefits for the community? Is it risking fragmentation? If you're detached, threats seem a whole lot less threatening. And we've seen what pressure campaigns can do with some success (xz) with burned out devs.
> If you tolerate a wide gamut of responses, and abuse, you're going to get abused.
Isn't there something called "the tolerance (or intolerance?) paradox"? Basically, something about "If you want tolerance to prevail, the one thing you can't tolerate is intolerance"? Think I've seen it mentioned here; others may be able to source my dim recollection.
Boils down to, I guess, if you don't want to get abused, abuse the crap out of abusers at the first offense.
Absolutely don't tolerate abuse and set out your stall early on but I don't think the response is to fire the first volley, but to shutdown an abuser quickly.
"An eye for an eye makes the whole world blind" is an old saying but very true and often forgotten. As a maintainer or moderator, swift action which shuts down antisocial behaviour is more important than engaging. Perhaps you didn't really mean to say "abuse the crap out of abusers", but the correct response isn't abuse, it's a simple denial of engagement.
The other side of this is arrogant maintainers who have no interest in engaging with their audience and who don't accept criticism/comment. If you put it out there then you are asking for comment, if you just want to maintain your own code of your own purposes, then either don't make it open source or at least turn off issue tracking.
> Absolutely don't tolerate abuse and set out your stall early on but I don't think the response is to fire the first volley, but to shutdown an abuser quickly.
Well, by "abuse the crap out of abusers" I certainly didn't mean you should "fire the first volley". You can't know that someone is an abuser before they have fired the first volley. Then you fire the second one, to shut them down.
No, I think bobdvb has a point, and mostly where I think I'm going with this is that abusers should just be shut down. In the context of FOSS, I think that means some combination of a) don't tolerate their attacks and b) shut them out. Whatever that might look like, basically it just deprives them of using your project as a platform to satisfy their perverse interests in making someone feel miserable.
So, I'd rather not frame it as "abuse the abusers," because I think that risks escalating the situation.
Five years ago I may have agreed with you, but a lot has changed in my life to recognize that it's just not worth the time trying to engage someone who enjoys being mean.
I wonder how much of this is actually about open source, and how much is about having been willing to engage (too much) with the kind of people still willing to use Github, Reddit, Discord ?
It was funny to see the comment by that entitled fucker who triggered this (ayn-something on the linked GitHub issue), something along the lines of "You should quit open Source; get off GitHub!" So clearly showed that a whole generation has been deluded into equating the Open Source movement[1] with GitHub... The commercial, closed-source Web site GitHub.
Oh well, they already equate git itself with gitHub, so why not Open Source too.
[1]: Not to mention the Free Software movement -- no use mentioning it, since they've never heard of it.
> most people won't pay for software if ... they don't have a vested interest in the project succeeding.
Wouldn't you expect companies that rely on a given project to have a vested interest in the project succeeding? I wouldn't choose to spend who-knows-how-many man hours on migrating to a new technology instead of paying a modest (for a business) fee for licensing something I rely on.
The whole reality is kind of rough, and it shouldn't be this way.
Yes, but that is abstracted away easily as "someone else's problem". Mature organizations with SCA and policy around it will often do a library review that catches using less mature projects.
This means that you get a bunch of small companies that can't/won't maintain or contribute back to the projects themselves, and few big companies using it who'd have the overhead to contribute back.
In some cases, for popular and newer stuff, that means that when a vulnerability is found, you have hundreds of companies and projects downstream from the bad code. Meanwhile, the larger and more mature orgs flag it and deprecate or mitigate it (through various, expensive means like WAF/RASPs)
And by then, it might even be completely unsupported, or worse, made breaking changes that strand many. Like a whalefall, it will feed hackers for a year.
I think the root of your mis-expectation is in thinking that companies behave like people.
Your viewpoint is personal "I would do this" and for you it's easy, it's your money so you just write a check.
Companies don't work like that. Firstly because individuals get budgets, and there's no point wasting limited resources on free stuff.
Secondly because individuals are accountable. There are procurement processes, multiple-level sign-offs, justifications, invoices etc.
In truth most OSS projects make it really hard to get "financial support". If you give away your product for free you make it almost impossible for a company to pay you.
My advice: if you plan to write OSS for a living -start- by understanding how company purchasing and invoicing work. Get that part right -before- you even decide what to build.
The miscommunication here is a question of scale. $40 a month doesn't put a dent in your budget when you're paying six figure labor costs at the same interval.
That all being said, I have no intention of writing OSS for a living. I contribute to FOSS for fun only, and I set my own schedule outside my day job.
Yes, don't charge $40 if you are targeting large companies. For me as a project manager at Big Co, $40 and $400 is exactly the same, if I'm willing to pay one I'm willing to pay the other. What I care about is how friction free the process of paying you that money is.
Also I would rather pay one company $1000/month than 5 companies $100/month for the same service. To be crass about it, it isn't my money, but it is my time.
I find it interesting how in software we excuse behavior that would be completely unacceptable in most other settings, because "that's how companies operate".
I have yet to hear of a McDonald's sending a truck to the nearest soup kitchen and loading all food into it, to sell at the restaurant, because companies "take maximum advantage of any free resource". Well they don't do it, because it's seen as unacceptable. Why do we see it as acceptable in OSS?
Ar first glance it seems like a good analogy, but it breaks down quickly.
Fundamentally the reason MD doesn't do that is because they don't have what MD want.
Companies are more than willing to exploit free resources whenever it suits them to do so. Dumping pollutants in air and water springs to mind. Leveraging public infrastructure and so on.
If my factory has a lot of trucks coming and going I don't "donate" extra money for road repair.
I set up a company, had a no-cost+open source version for download, and a money+open source version ("commercial") for purchase, both with an MIT license. The commercial version was faster, with more features, and included support, and it was in the marketing literature from the start.
The goal was to give users a way to justify the expenditure to their budget people.
It didn't help. I was even at an open source conference where one of the industry presenters complained about how hard it was to pay open source developers.
Thing is, the presenter earlier gave a talk about their extensive use of my software - first time I knew they used it.
I pointed out that I could get them an invoice within 10 minutes, for an improved version of the tool they were using, plus support.
They did not take me up on the offer.
I now generally interpret "it's so hard to pay for open source" as cover for "we've heard it's hard so it's our excuse for why we don't even try."
I've tried other approaches too, like a consortium model for new feature development and support/maintenance. It wasn't enough to be economically viable. Yet companies include that software in products they sell. A few years ago I asked one of them for money for support, and was told it wasn't in the budget. What they do now is ask the current maintainers for free support.
My advice: if you plan to write OSS for a living, work for a company where that project demonstrably saves them money and/or lowers their risk on external vendors. Do not try to be an independent open source software vendor.
Exactly. It's much easier for a company to pay your price tag than to justify giving you a donation.
And it's pretty obvious why -- a purchase is a transaction with a clear expectation of what you're getting in return. If you donate, it's unclear what you're paying for and what the maintainer's obligations are.
The notion that you'd make some useful open-source project used by multi-billion-dollar companies and they'll throw a few pennies your way to make sure you keep the project alive is hippie bullshit.
Unless it's truly a well-established and well-governed project with a diligent maintainer at the helm (e.g. Vue.js), the only way companies financially support open-source is by contributing work or hiring the maintainer.
I don't think he's suggesting everyone should abandon OSS. he's still using it, and contributing.
I think he's saying that his "professional journey building OSS" is over. ie his day job needs to generate income.
The abuse part exists in all software, free and commercial. But it's especially galling when you did the work for free. OSS also tends to attract, um, shall we say, those who are likely to be uncomplimentary. (Spending money on things means you're more likely to like it.)
The root point though is well made, and another annedotal data point - relying on random "companies supporting you with voluntary payments" is not a business model, and fundamentally misunderstands how businesses work.
Hint - If you don't -invoice- then youre not getting paid.
> I think he's saying that his "professional journey building OSS" is over. ie his day job needs to generate income.
I agree that he’s saying this. But FTA:
> Open source is great, but it's not sustainable. We self-sabotaged ourselves over decades, and now we're at a point where it's hard to turn back. Publishing source code for the greater good is a noble cause, but to be honest, I think that over the years, using "open source" has become an excuse to avoid paying for software.
I interpreted this as something beyond just his personal position, and seemed like a broader indictment of the OSS model.
> There's OSS at the large-scale level (Linux, Firefox, Postgres) where the model is clearly working and sustainable.
Is it, really? At "the large-scale level" of the project, perhaps -- but what do we know about how "sustained" individual contributors even to those projects feel they are being?
The LWN folks have some stats about employment of Linux contributors. Most contributions are paid, but the volunteers ("None") beat a number of companies by changesets and by lines changed.
> OSS also tends to attract, um, shall we say, those who are likely to be uncomplimentary.
I disagree. I maintain a reasonably popular project (25K stars on GitHub) and a large majority of people reporting bugs / asking for features are polite and not entitled. Of course, those exceptions sting overproportionally.
> OSS also tends to attract, um, shall we say, those who are likely to be uncomplimentary.
I maintain several small open source projects. The bug reports are generally helpful and the users very polite. People regularly thank me for my work and I cannot recall a single negative interaction. The trick is: my target audience are computer musicians :)
So you, as opposed to your customers, are just as grumpy and rude as the rest of us...? ;-)
Sorry, couldn't resist. But your observation -- basically, that if you want non-rude users / customers, don't direct your product at programmers / hackers / geeks -- is so common as to be almost a truism. Why is this? Are we all assholes, or WTF?!? Do we have to be?
> don't direct your product at programmers / hackers / geeks
On the contrary! My users are programmers/hackers/geeks. The difference is that they use my software to create (experimental) art. Many have a non-technical background, though. I guess that creates (or requires?) a whole different mindset. These people are genuinely happy that the software exists because it helps them to be creative and express themselves.
> So you, as opposed to your customers, are just as grumpy and rude as the rest of us...? ;-)
My background is in music, so I am not really a typical tech guy (although I've been programming since I was a kid). I might be a bit grumpy at times, but that's because I am from Austria :p
I think the problem with open source in today's day and age is that old school programmers were all about making the landscape better, because they enjoyed computers where they had a passion for it. Modern-Day programmers, as a general statement, want money. Open source software is generally a terrible way to make money, but modern-day programmers believe that they can just create a really nice program and then make money from it. From a financial perspective, open source software is basically terrible for the people that make it, but really really great for the people that use it. That kind of goes against capitalism, almost, because basically every other capitalist-based business rapes all of the benefits for the person that develops the thing, so coming from a very american-centric perspective, it seems kind of wild to think that I can develop something that is really the backbone of a bunch of different stuff and very good, and make absolutely no money from it.
Personally speaking, if that user had posted something with the same attitude on one of my projects repos they'd have been banned from the repos of the entire org.
Pretty sure I've only ever had to do that twice before, across a lot of years.
I think that’s a part of the problem. WAY too many projects/people are tolerant enough of abuse in issue trackers/mailing lists that this kind of behavior seems common.
I suspect a LOT more bans would really help with the average tone and amount of contributor stress/burnout.
Yeah. There is an aspect of "case by case basis" to it, as sometimes people are just frustrated and venting a bit. As long as they're not being destructive arseholes while doing it, it can be excusable.
But the whole "destructive arsehole" approach is over that line, and needs dealing with accordingly.
I understand some their complaints, others seem like typical support questions. It's inevitable and regardless of making money, it's going to happen. People suck at reading.
But, I can't look past the AI art used to generate the YouTube thumbnail on the main page. I'm sure some artist wishes they could work on an art full time, and still be able to pay their bills just as you say you wish about your software.
Do you feel they would have paid someone to make the thumbnail if they didn't AI generate it or would we just have had a thumbnail that's less interesting?
You do need to develop a very thick skin in OSS to be able to thrive. You need to learn to just block those issues+people, both in the repo and mentally. I'm a nobody, but still some of my projects got a bit popular and I felt the heat, e.g. one of them was a CSS library which was very "beginner friendly", so people came constantly to the Issues to ask help with their CSS and how to do their job (not about the library)* so I decided to remove the Issues tab in Github. This lead to someone opening a PR insulting people.
But I know for every AH like that, there's thousands or millions of people who do benefit of using my software, so I try to keep it up. I do work fulltime so now I have little time to do new projects, but still keep up with the PRs and occasional small improvements in existing ones (e.g. adding types definitions, or moving to ESM).
* IMHO the move that happened where newbies stopped trying to learn how to properly ask questions in SO since that community didn't allow homework questions or low quality and started going to the repos of the projects they used to ask those very same questions
or we could demand that users of free software shouldn't dictate the culture of the community and that maintainers don't need thick skin. Instead maybe we should ask that users should be respectful and courteous.
People do ask, but the abrasive ones will double down on it a lot of the time. All I do on my two projects is just block them/ignore them. I've had people make up whole new accounts to get at me again after a block on reddit and twitter
You cannot do that with the current tools. I'd even argue that Microsoft's corporate goals are a bit at odds with the community best interests, e.g. adding friction to Github or to join/add to a project would decrease Github use, which is likely a KPI internally.
Wishful thinking. Humans suck. That won't change, and it's only gotten worse. It's not a fun reality, but it's reality. The sooner you can come to terms with that fact, the sooner you can begin to navigate around it.
> You do need to develop a very thick skin in OSS to be able to thrive.
Yet, users or submitters of open-source must be coddled? One of the chief complaints about Linus Torvolds is his blunt communication style in response to poor quality code.
So OSS developers must be able to accept very harsh critism or even insults but always be kind to users who offer nothing in return?
Torvalds was unnecessarily unrespectful. He fixed this.
Now, he is still to the point and harsh when needed, but in a respectful way. That works and it's still as effective, if not better (because, it turns out, you are more eager to take something in account if it's not insulting you).
> So OSS developers must be able to accept very harsh critism or even insults but always be kind to users who offer nothing in return?
For one's own sake, yes, it's better to be able to take the messages one receives. And no, this doesn't grant you the permission to be sloppy and not careful when communicating with other human beings.
Now of course if someone insulted you, you'd be forgiven to not be overly nice with this person. Though avoiding to lower yourself to this person's level is the better option if you can help it.
I personally find that someone who insulted someone else who responded with class looks particularly bad.
> So OSS developers must be able to accept very harsh critism or even insults but always be kind to users who offer nothing in return?
I absolutely didn't say that, please don't twist my words. Not only did I not answer about the OSS dev response, but I also didn't make a moral judgement of what must be done, both of which you are attributing to me.
They can answer with insults for all I care, but that's a lose-lose situation. The way the OSS is set up today is that you WILL get shit, so you should be able to weather it without it affecting you.
I was reading “Working in Public” and one of the ideas I agree the most was that the community can use the software, but not direct it. While communication is important, I’d restrict it to the appropriate channel: Using a bug report tools for issue; A feeback/roadmap tool for enhancement request; A forum for user/user support; A wiki for Guides. The actual project management would be read-only.
>You should do a better job updating your documentation so that people do not waste their time like I did. This change to closed source was announced where, exactly? All of your READMEs and documentation sites do not mention this. Very easy to be confused and very disappointing to me that this went closed-source.
>Not only did you sell out, you also removed all the old versions that were released under an open source license so that others couldn't continue to use out-of-support versions. DISGUSTING.
>tl;dr get off GitHub and npm entirely if you want to do the closed-source thing, kthx.
---
This is a comment on an issue from the OP's project. A comment that was factually inaccurate from the start.
This smarmy piece of... well, this person has the nerve to use their full real name, full real profile picture and associated email addresses and blogs, to make such a self-righteous, entitled comment.
He looks to be a young guy, maybe anti-social and doesn't realize that "telling it like it is" is sometimes "being an asshole". I hope he matures.
---
edit to respond to gertop: (I got throttled by the system)
I mentored a guy one time who had absolutely no polish. Absolutely no sense of social self-awareness. When I met with him at one of bi-weekly meetings, he mentioned casually how he told his boss his internship "kind of sucks" and is boring.
I patiently tried explaining to him that there may be better ways to express one's interest in other areas of the department without slighting the boss's own team and mission. If he were capable of looking someone in the eyes, I'm sure he would have stared at me blankly.
There are people for whom interacting politely with others is wholly an unfamiliar concept.
I've had differences of opinion with open source developers and maintainers. But, it costs nothing to be polite, especially when they are giving away their work and asking for nothing in return. When differences of opinion are strong enough, one is always free to take one's ball and go home. Forking or writing one's own alternative are both viable options. Fighting the maintainer is not.
Thankfully, my own open source projects aren't popular, so I don't have to deal with this level of self-entitled behavior. In other projects, when I report issues, I try to include a patch or PR that fixes the issue. If the maintainers are willing to work with me, I'll evolve this patch into something that they can merge into their project. If they are not, well, I can always maintain my own patches. Demanding that they fix an issue or launching insults -- even when certain toxic maintainers start this behavior -- isn't helpful to anyone.
I'm sorry the author was burned by bad experiences, but I completely sympathize with this decision.
I think that there is a very unhealthy dynamic to modern open-source software. I do see a future for free software but I'm not really sure the way it is today with liberal-licensed software will be sustainable outside of what will essentially by corporate properties. We really need to be thinking more about how we can secure computing freedom and less about how we can get famous or create consultancies or whatever by getting lots of gh stars. That system is actively getting gamed as hard as possible and it will get worse.
208 comments
[ 0.19 ms ] story [ 255 ms ] threadThis is a big culture problem driving a ton of good people away to avoid annoying jerks who deserve to go.
It's a "big culture problem" in the same way profit maximization is the destroyer of modern businesses. Everyone uses Open Source software; annoying teenagers, political dissidents you disagree with, state actors, and businesses that will ignore your license (cough Tesla cough). If you don't rise above it, the the world isn't going to change according to your whims.
Also I never said anything about an “unstable core contributor”.
I fully disagree that nothing can be done about this. I never said people shouldn’t have to deal with disagreements or unlicensed use. Yeah that’s going to happen.
All I’m saying is projects should take a much much harder line on abusive/rude treatment. The people who act that way will never change if they don’t face consequences. When project A puts up with it, they learn they can do it to B and C too.
But if A and B stood up, maybe C and D wouldn’t even see it.
It will never be zero. But it can be a lot less than it is now.
Companies do not use libraries, devs do. Dev ability to pay for the libs is essentially zero, and even if you try to escalate it to management and purchase the license, this can easily take a year of few to approve.
I couldn't find a LICENSE file or other notice on the repo this author was referencing.
It's usually not very productive to blame reality, but each person has the right for almost anything.
edit: My point is, why be so harsh on someone learning a lesson about FOSS? It's like an old dad picking on their son for getting hurt when a girl dumps him. "Well son, that's life, silly".
I thought this dev's attitude was fairly healthy. Try something, see it didn't work, start charging.
They resent you when you succeed - "They got lucky - I could have done that!"
You just need to do your own thing. You must find validation within yourself.
I don't think people should get any more cynical. That's why we have this problem. The solution isn't to become more like them.
But it is absolutely vital to understand that there are those types of cynical individuals out there. That's fine. Block them out as appropriate; You don't owe them anything, and they wouldn't reciprocate anyway. Keep an eye on them and take steps to protect yourself when they start to get too opportunistic/actively sabotaging/slanderous etc.
My experience of people like this uncle is also that they have generally never done something like running kids sporting events, and in some cases outwardly signal that such work would be beneath them. (Not saying this is true for your uncle, but it is in some of my experiences.)
I think calling that naïvety brings inaccurately benign connotations. It is possible to be naïve while thinking the best of people, and understanding in good faith that everybody is probably trying. Naivety alone doesn't make somebody's default cynical and bitter.
> This uncle was just a very naive person, it's like he thought these people's entire existence was to run kids sporting events.
If you literally cannot even conceive of other people existing in any way that doesn't directly serve your own desires, I think that's less naivety, and more arrogance and entitlement.
If you interact with a thousand people, you are going to interact with multiple genuine criminals.
Probably not a majority, though. And not that it detracts from your actual point; just a s(n?)ide observation.
Imagine if OSS went away tomorrow, not even all OSS, just the supplemental developer code specific tools. Suddenly 90+% of JavaScript developers would no longer be able to do their jobs. They wouldn’t even be able to pretend to write deliverable code. Careers instantly killed.
Nobody thinks about that. These free helpers are just assumed to be required and always available, completely taken for granted. These things are just presumed to be absolute necessary and unavoidable. God forbid those OSS devs don’t do your jobs for you too, or at least just provide a bit more custom help.
Xkcd, Nebraska, 2003...?
ETA: https://xkcd.com/2347/
Do you think Windows 11 devs don't get cursed at? Sure they do but because Microsoft shields them from the users they don't know about it. I can't log an angry issue against the windows repo because they've added yet another stupid ad somewhere. And the same goes with most commercial software.
Most commercial outfits have support and development split out into different functions. It's pretty unique to FOSS that end users can log issues directly with the devs.
And for a support person it's easier to deal with this because it's not their own work that's being criticised so they don't take it personally. I was in support myself and I was pretty emphatic with customers, because in many cases they were right, our software really did suck because there was way too much attention spent on marketing and not enough on UX.
For those who dare to create and release things to the wild as an individual - hope you have thick skin! People are mean, lazy, heartless, cruel, brainless, but also occasionally helpful, thoughtful, and sometimes even smart - and can correct and improve you.
So it's overall worth it!
A lot of people have mastered this better than me, but you can see yourself in a sort of 3rd person sense instead of a 1st person sense (I think it's called "being objective") and when you do it fully and purely, you can't be offended, it's impossible, because if done correctly you no longer identify with yourself but as the bird's eye point-of-view - but because you are still in control of yourself, from this vantage point you can direct your intentionality from a much wiser position. And if somebody unjustly judges you out of spite, jealousy, resentment, etc. you can see it as clearly as if you viewed someone doing that to someone else. A powerful mindset to hold for public-facing creators. You get the benefits of being shielded, and "it's not my ego" and also ego when you want it - at night, under the stars, having a beer, when it's safe to feel proud.
I totally understand the abuses described by the author and feel sorry about that. But I wonder how other successful open-source projects survived and eventually became rentable like Vue.js
Is this simply an endemic issue in the software space? I can imagine a great deal of people thinking it's not worth it to financially support a project or plugin they rely on because "I could make that myself in a weekend if I wanted to" and using that rationalization to justify being rude to the project's maintainer. Or perhaps the true believers in open source think that people should feed themselves on ideology rather than bread. Is there something else going on?
And all of those things are different for software. Between freemium garbage that hauls you in only to present a subscription charge to access basic functions of the program, to software utterly saturated with shitty ads, to, frankly, open source projects prepared to publish themselves accessible for free use by all, we have utterly cratered the perceived value of software. And while the last group in that list is certainly head shoulders and cock above the others with regard to ethics, it doesn't change the fact that open source software is loved precisely because it's free. People LOVE it for that, because they get access to software they don't need to pay for, the lions share of those aforementioned people having utterly no clue what goes into making it. Or, worse still, know exactly what it takes and are happy to shove that workload onto someone they don't know, with a side order of verbal abuse when bad things happen.
I don't know how to fix this. If all the open source software went closed source tomorrow, it would be unmitigated chaos. But at the same time, how many of the Fortune 500 right now are utterly dependent on it? How many people's fortunes are maintained on the back of free software they could never themselves make, built by unpaid and abused volunteers? I love the principles of open source software, but I have never in my life written one sodding line of code without a paycheck coming and I intend to keep it that way, not because I don't think the world wouldn't be better if I did, but because none of the people I'd want to benefit would. I think our industry would be better if more people kept to that philosophy.
But with time, it's now obvious he was right about a lot of things. Very few things in the history of humanity made as much impact as OSS and all the things it has inspired and enabled: Linux, gcc, Postges, and so on. Think about how many things are derived from Linux alone, e.g. Android. Zuck hacked on early Facebook in php and MySQL, it's his choice not mine, but still, the impact is obvious. Before people start piling up on me and downvoting, think about the things that Facebook open sourced like React, PyTorch, LLaMA, and so on. How can this be bad?
bad or good, we're forced to live in two worlds. a digital realm, where things can be copied infinitely for free, and a physical realm, where there's rent and food to pay for. so it's bad, because we haven't established a basic level of existence for everybody so people need to get whatever they can get out of it to pay their bills.
I've gone through the same evolution. Stallman was fundamentally right about the notion of rights for users--to look at, to understand, to change, and to redistribute software. As more of the world is driven by software I think those rights are merging with other fundamental human rights like the right to free speech. They make the world a better place.
People pay for streaming services and buy stuff from app stores, because it's convenient. But if the service is not convenient enough, the catalog is too narrow, or the price is too high, piracy and free alternatives start looking more attractive.
No. It’s everywhere. I don’t know if it’s a societal thing, I suspect more innate. Though individual cultures may modulate it to different degrees.
The lower the price, the less valuable it is and the more people are willing to make jackass demands. You want respect? You have to charge enough.
It’s sad. It’s amazing open source exists as successfully as it does in spite of that, though I suspect in many cases it’s a byproduct of selfish corporate self-interest in hiring developers.
Software may just be (or seem) worse due to the anonymity. People are way more willing to be jerks in a text box or to an email address than on the phone or in person.
It's also why I quit listing things for free on Craigslist or FB. The absolute dregs of society come out to play. They'll demand you bring it to them, or that you hold it til they're ready, etc. And if someone else got it first, expect to receive a slew of hate messages. Not worth any of the hassle anymore.
> I also always believed that if you ever started a project that is valuable for companies, they would support you in return
But this just seems incredibly unrealistic. It's not remotely the norm for small open source libraries.
Omar Cornut, developer of Dear ImGui which is used by pretty much every AAA game studio, said he recently lost his biggest source of income. If he's having trouble getting stable sponsorship, I mean, good luck.
https://twitter.com/ocornut/status/1767233486996254928
I use open source because I like having the ability to learn how it works. If I can't know how a program works, I can't have control over it. It is not my tool, I am its user.
I also just like learning how technology works in general, and non-free software is generally difficult to share the source code looking from the perspective of a company. Also in my experience, open source software is generally a more fun experience when using it. It gives me a sense of freedom in an increasingly restrictive world.
He's saying the reason corporations use open source IS that they don't want to pay for software, as OP said.
i also don't blame anyone for taking their own, mostly individually maintained and developed, project from open to closed for whatever reason. if the commons finds the project valuable enough someone else can always come along to fill the gap later, though it is sad to think about all the work that went into the original project.
because of repeated abuse, I no longer offer free discussion of this software. so unless you have paid up front, do not:
post an issue, post a pull request, message me on Discord, email me
Imagine I'm rude and ready to insult this open-source maintainer. Am I looking for a CODE_OF_CONDUCT.md to be like, "Oh, crap, I _can't_ be rude and offensive? Darn, my plan is foiled!"
What I don't understand is the expectation that the money would just flow upon publishing the software with a permissive license. It sounds like a lesson learned the hard way that most people won't pay for software if they don't have to, or if they don't have a vested interest in the project succeeding. Products launched with OSS cores or with some value-added services model for revenue generally bake in some kind of monetization plan. Relying on "If I build it they'll pay me" seems a bit misguided, even if it can work under some circumstances.
The conclusion that OSS is just about people not wanting to pay any money is also problematic. The world runs on OSS, and that's arguably a good thing for a myriad of philosophical and practical reasons. The bad behavior that also happens to be an unfortunate reality doesn't negate this. The sustainability worries are real and need better solutions, but the answer isn't to abandon OSS. Even if it's the right choice for OP, his situation doesn't warrant broad conclusions, and seem less an indictment of OSS and more a misunderstanding of the playing field.
They basically say it in their article: They grew up on the koolaid (no offense, so did I) of how awesome Linux and BSD are, and the GNU principles that closed source software is unethical, to be avoided, and so on.
It seems the harsh reality of "Not everyone can be sustained by a nonprofit foundation" has arrived.
“They were unrealistic and should have known they’d be personally attacked, it’s their own fault for being weak”.
Really? How about no one should be treated like shit for proving free software to you?
No, I'm not blaming the person for quitting because of the jerks. There are two narratives in the article: one is the dilemma of how to put food on the table as a developer, and one is about the abuse and criticism from people who pay nothing and expect everything.
So no, I don't "blame" the OP at all. No one should treat others rudely online, and OP had to deal with some awful stuff.
My comment was about the dream of an all-FOSS world and how that clashes with buying groceries for a lot of people.
Not as a second job, not as a side project, and certainly not as a charity case that just flat out will not sustain you.
There are precious few things that have the adoption and support linux has, and a lot of that is very much a "right place, right time" thing. The fact that I've seen plenty straight up vilify a coder for daring to want to, you know, make enough to support a library full time has always struck me as self destructive. I'm sure many great coders have given up and moved on to paid projects doing boiler plate because inventing new stuff gets you chewed up and spit out by the community if you monetize.
I think a lot of people lash out at the entrepreneurial spirit because a business venture inherently necessitates risk. Your audience is not going to reward high-risk plays, and if your business proposition threatens their use-case enough then they'll probably protest. That train of logic isn't "diehard linux/FOSS" in my mind but more just holding someone to their own standards. Making a living out of coding is one thing, but turning your passion project into a business is another. If simple abrasive comments are what made them quit Open Source, I can't imagine how long they'd last trying to sell people a Javascript library.
What "investors"?!? As a single developer, you need a computer and an Internet connection. Where do the six-(or seven-, or eight-)figure amounts of Venture Capital investment come in?
> But then you reach a pit of disillusionment where you realize that you relied on free software more than your own work, and probably ran up quite the karmic deficit selling whatever product you made.
That's what the LGPL is for: Even if you release your actual product only under a commercial license, you can help improve the tools you use, to pay back your karma to the community that enables you to do the whole thing in the first place.
(Disclaimer: This is the only way I can see being able to both make a living as a one-man software development company and participate in / contribute to FOSS... But I haven't taken the leap of faith, put my living where my mouth is. (Yet.) So this could all be hot air.)
you grew up thinking you were drinking koolaid, but you weren't, it was indeed fine wine.
> of how awesome Linux and BSD are
it's hard to think of two things more awesome than those two things. There's no koolaid, they are monumental achievements and are amazing.
>the GNU principles that closed source software is unethical
Stallman is/was a socialist, so yes, he had a Marxist take, "from those who have the ability, to those who have the need" and "there should be a limit to concentration of wealth regardless of the value of what you provide": much like so many people here. So yes, that's koolaid, but given that a majority of young people/people here believe it, you can't really pin that koolaid on GNU or open source, that's koolaid that was brought from home.
But the rest of Stallman's idea and motivation, that if you find an annoying bug while using your printer, you and everybody else benefits if you have the source to the printer driver to fix it: that's not koolaid, that's the same type of can-do idea that drove "American ingenuity" on the frontier. It's nice to be able to fix a printer just like the blacksmith could fix your plough, and once in awhile we get together for a barn-raisin'.
I just think you're oversimplifying and mixing separate concepts.
Printer driver is a nice motivating story but in practice its a lotta work for no benefit
Printer driver is what the Free Software movement, and therefore its bastard son the Open Source movement, comes from. But, sure, you want to call that "no benefit", you do you, man...
It’s only a reality because that kind of behavior is widely tolerated enough, or at least not met with harsh enough pushback, that it continues to drive away good contributors and cause burnout.
Boundaries are necessary in all facets of life. If they're not well-defined, then they're easily crossed and you're left trying to establish them after expectations have already been laid, making it difficult to push back. I know it's not easy, but sometimes it's necessary to say no and cut off abusive behaviors/people. This was one of the hardest lessons I learned years ago. Yes, you'll make some enemies. Yes, you'll upset people. It's necessary.
One other problem (at least that I've had) is attachment. It's difficult to detach from something you've put a great deal of time and effort into, and one of the threats that occasionally pop up are "do X or fork/hand the project over/give up" (or any other especially mean epithet). If they're serious about forking it, hey, let them. It probably won't happen—and if it does, what are the benefits for the community? Is it risking fragmentation? If you're detached, threats seem a whole lot less threatening. And we've seen what pressure campaigns can do with some success (xz) with burned out devs.
I may just be jaded and cynical.
You’re just realistic, don’t sabotage yourself.
Isn't there something called "the tolerance (or intolerance?) paradox"? Basically, something about "If you want tolerance to prevail, the one thing you can't tolerate is intolerance"? Think I've seen it mentioned here; others may be able to source my dim recollection.
Boils down to, I guess, if you don't want to get abused, abuse the crap out of abusers at the first offense.
"An eye for an eye makes the whole world blind" is an old saying but very true and often forgotten. As a maintainer or moderator, swift action which shuts down antisocial behaviour is more important than engaging. Perhaps you didn't really mean to say "abuse the crap out of abusers", but the correct response isn't abuse, it's a simple denial of engagement.
The other side of this is arrogant maintainers who have no interest in engaging with their audience and who don't accept criticism/comment. If you put it out there then you are asking for comment, if you just want to maintain your own code of your own purposes, then either don't make it open source or at least turn off issue tracking.
Well, by "abuse the crap out of abusers" I certainly didn't mean you should "fire the first volley". You can't know that someone is an abuser before they have fired the first volley. Then you fire the second one, to shut them down.
So, I'd rather not frame it as "abuse the abusers," because I think that risks escalating the situation.
Five years ago I may have agreed with you, but a lot has changed in my life to recognize that it's just not worth the time trying to engage someone who enjoys being mean.
Oh well, they already equate git itself with gitHub, so why not Open Source too.
[1]: Not to mention the Free Software movement -- no use mentioning it, since they've never heard of it.
Wouldn't you expect companies that rely on a given project to have a vested interest in the project succeeding? I wouldn't choose to spend who-knows-how-many man hours on migrating to a new technology instead of paying a modest (for a business) fee for licensing something I rely on.
Yes, but that is abstracted away easily as "someone else's problem". Mature organizations with SCA and policy around it will often do a library review that catches using less mature projects.
This means that you get a bunch of small companies that can't/won't maintain or contribute back to the projects themselves, and few big companies using it who'd have the overhead to contribute back.
In some cases, for popular and newer stuff, that means that when a vulnerability is found, you have hundreds of companies and projects downstream from the bad code. Meanwhile, the larger and more mature orgs flag it and deprecate or mitigate it (through various, expensive means like WAF/RASPs)
And by then, it might even be completely unsupported, or worse, made breaking changes that strand many. Like a whalefall, it will feed hackers for a year.
Your viewpoint is personal "I would do this" and for you it's easy, it's your money so you just write a check.
Companies don't work like that. Firstly because individuals get budgets, and there's no point wasting limited resources on free stuff. Secondly because individuals are accountable. There are procurement processes, multiple-level sign-offs, justifications, invoices etc.
In truth most OSS projects make it really hard to get "financial support". If you give away your product for free you make it almost impossible for a company to pay you.
My advice: if you plan to write OSS for a living -start- by understanding how company purchasing and invoicing work. Get that part right -before- you even decide what to build.
That all being said, I have no intention of writing OSS for a living. I contribute to FOSS for fun only, and I set my own schedule outside my day job.
Even assuming I can "just spend" that, I need an invoice. It needs to be captured by accounts. I can be quized on it.
Also I would rather pay one company $1000/month than 5 companies $100/month for the same service. To be crass about it, it isn't my money, but it is my time.
I have yet to hear of a McDonald's sending a truck to the nearest soup kitchen and loading all food into it, to sell at the restaurant, because companies "take maximum advantage of any free resource". Well they don't do it, because it's seen as unacceptable. Why do we see it as acceptable in OSS?
Fundamentally the reason MD doesn't do that is because they don't have what MD want.
Companies are more than willing to exploit free resources whenever it suits them to do so. Dumping pollutants in air and water springs to mind. Leveraging public infrastructure and so on.
If my factory has a lot of trucks coming and going I don't "donate" extra money for road repair.
I set up a company, had a no-cost+open source version for download, and a money+open source version ("commercial") for purchase, both with an MIT license. The commercial version was faster, with more features, and included support, and it was in the marketing literature from the start.
The goal was to give users a way to justify the expenditure to their budget people.
It didn't help. I was even at an open source conference where one of the industry presenters complained about how hard it was to pay open source developers.
Thing is, the presenter earlier gave a talk about their extensive use of my software - first time I knew they used it.
I pointed out that I could get them an invoice within 10 minutes, for an improved version of the tool they were using, plus support.
They did not take me up on the offer.
I now generally interpret "it's so hard to pay for open source" as cover for "we've heard it's hard so it's our excuse for why we don't even try."
I've tried other approaches too, like a consortium model for new feature development and support/maintenance. It wasn't enough to be economically viable. Yet companies include that software in products they sell. A few years ago I asked one of them for money for support, and was told it wasn't in the budget. What they do now is ask the current maintainers for free support.
My advice: if you plan to write OSS for a living, work for a company where that project demonstrably saves them money and/or lowers their risk on external vendors. Do not try to be an independent open source software vendor.
And it's pretty obvious why -- a purchase is a transaction with a clear expectation of what you're getting in return. If you donate, it's unclear what you're paying for and what the maintainer's obligations are.
The notion that you'd make some useful open-source project used by multi-billion-dollar companies and they'll throw a few pennies your way to make sure you keep the project alive is hippie bullshit.
Unless it's truly a well-established and well-governed project with a diligent maintainer at the helm (e.g. Vue.js), the only way companies financially support open-source is by contributing work or hiring the maintainer.
I think he's saying that his "professional journey building OSS" is over. ie his day job needs to generate income.
The abuse part exists in all software, free and commercial. But it's especially galling when you did the work for free. OSS also tends to attract, um, shall we say, those who are likely to be uncomplimentary. (Spending money on things means you're more likely to like it.)
The root point though is well made, and another annedotal data point - relying on random "companies supporting you with voluntary payments" is not a business model, and fundamentally misunderstands how businesses work.
Hint - If you don't -invoice- then youre not getting paid.
I agree that he’s saying this. But FTA:
> Open source is great, but it's not sustainable. We self-sabotaged ourselves over decades, and now we're at a point where it's hard to turn back. Publishing source code for the greater good is a noble cause, but to be honest, I think that over the years, using "open source" has become an excuse to avoid paying for software.
I interpreted this as something beyond just his personal position, and seemed like a broader indictment of the OSS model.
There's also OSS at the "one man band has a small project" level, where, IMO, the sustainable model has yet to be figured out.
Is it, really? At "the large-scale level" of the project, perhaps -- but what do we know about how "sustained" individual contributors even to those projects feel they are being?
https://lwn.net/Articles/964106/
I disagree. I maintain a reasonably popular project (25K stars on GitHub) and a large majority of people reporting bugs / asking for features are polite and not entitled. Of course, those exceptions sting overproportionally.
I maintain several small open source projects. The bug reports are generally helpful and the users very polite. People regularly thank me for my work and I cannot recall a single negative interaction. The trick is: my target audience are computer musicians :)
Sorry, couldn't resist. But your observation -- basically, that if you want non-rude users / customers, don't direct your product at programmers / hackers / geeks -- is so common as to be almost a truism. Why is this? Are we all assholes, or WTF?!? Do we have to be?
Sigh...
On the contrary! My users are programmers/hackers/geeks. The difference is that they use my software to create (experimental) art. Many have a non-technical background, though. I guess that creates (or requires?) a whole different mindset. These people are genuinely happy that the software exists because it helps them to be creative and express themselves.
> So you, as opposed to your customers, are just as grumpy and rude as the rest of us...? ;-)
My background is in music, so I am not really a typical tech guy (although I've been programming since I was a kid). I might be a bit grumpy at times, but that's because I am from Austria :p
Ja ja, alles Böse kommt aus Österreich: Hitler, Schwarzenegger, Fritzl... No, wait, turns out the Governator is a good guy[1]!
OK, sorry, never mind.
[1] https://www.youtube.com/watch?v=4e1BndTE6Lg
One of the things that makes OSS so great is that it's not done with a profit incentive, so it doesn't exploit or rent seek from the user.
Many labor under the delusion that they can, or should, make money writing OSS though.
https://news.ycombinator.com/item?id=26602316
Personally speaking, if that user had posted something with the same attitude on one of my projects repos they'd have been banned from the repos of the entire org.
Pretty sure I've only ever had to do that twice before, across a lot of years.
I suspect a LOT more bans would really help with the average tone and amount of contributor stress/burnout.
But the whole "destructive arsehole" approach is over that line, and needs dealing with accordingly.
All of this is fucking stupid.
But, I can't look past the AI art used to generate the YouTube thumbnail on the main page. I'm sure some artist wishes they could work on an art full time, and still be able to pay their bills just as you say you wish about your software.
No one wants to pay for anything, including you.
You have failed to understand that the value of the service is fundamentally different, providing open source software costs a human effort.
Providing art no longer requires the same amount of human effort, if AI is acceptable, so it's not at all comparable.
I always saw it as a technological consequence of allowing people to view their work; training a model is no different to an individual looking at it.
But I know for every AH like that, there's thousands or millions of people who do benefit of using my software, so I try to keep it up. I do work fulltime so now I have little time to do new projects, but still keep up with the PRs and occasional small improvements in existing ones (e.g. adding types definitions, or moving to ESM).
* IMHO the move that happened where newbies stopped trying to learn how to properly ask questions in SO since that community didn't allow homework questions or low quality and started going to the repos of the projects they used to ask those very same questions
Yet, users or submitters of open-source must be coddled? One of the chief complaints about Linus Torvolds is his blunt communication style in response to poor quality code.
So OSS developers must be able to accept very harsh critism or even insults but always be kind to users who offer nothing in return?
Now, he is still to the point and harsh when needed, but in a respectful way. That works and it's still as effective, if not better (because, it turns out, you are more eager to take something in account if it's not insulting you).
> So OSS developers must be able to accept very harsh critism or even insults but always be kind to users who offer nothing in return?
For one's own sake, yes, it's better to be able to take the messages one receives. And no, this doesn't grant you the permission to be sloppy and not careful when communicating with other human beings.
Now of course if someone insulted you, you'd be forgiven to not be overly nice with this person. Though avoiding to lower yourself to this person's level is the better option if you can help it.
I personally find that someone who insulted someone else who responded with class looks particularly bad.
Well good for him!
I absolutely didn't say that, please don't twist my words. Not only did I not answer about the OSS dev response, but I also didn't make a moral judgement of what must be done, both of which you are attributing to me.
They can answer with insults for all I care, but that's a lose-lose situation. The way the OSS is set up today is that you WILL get shit, so you should be able to weather it without it affecting you.
>Not only did you sell out, you also removed all the old versions that were released under an open source license so that others couldn't continue to use out-of-support versions. DISGUSTING.
>tl;dr get off GitHub and npm entirely if you want to do the closed-source thing, kthx.
---
This is a comment on an issue from the OP's project. A comment that was factually inaccurate from the start.
This smarmy piece of... well, this person has the nerve to use their full real name, full real profile picture and associated email addresses and blogs, to make such a self-righteous, entitled comment.
He looks to be a young guy, maybe anti-social and doesn't realize that "telling it like it is" is sometimes "being an asshole". I hope he matures.
---
edit to respond to gertop: (I got throttled by the system)
I mentored a guy one time who had absolutely no polish. Absolutely no sense of social self-awareness. When I met with him at one of bi-weekly meetings, he mentioned casually how he told his boss his internship "kind of sucks" and is boring.
I patiently tried explaining to him that there may be better ways to express one's interest in other areas of the department without slighting the boss's own team and mission. If he were capable of looking someone in the eyes, I'm sure he would have stared at me blankly.
There are people for whom interacting politely with others is wholly an unfamiliar concept.
Thankfully, my own open source projects aren't popular, so I don't have to deal with this level of self-entitled behavior. In other projects, when I report issues, I try to include a patch or PR that fixes the issue. If the maintainers are willing to work with me, I'll evolve this patch into something that they can merge into their project. If they are not, well, I can always maintain my own patches. Demanding that they fix an issue or launching insults -- even when certain toxic maintainers start this behavior -- isn't helpful to anyone.
I'm sorry the author was burned by bad experiences, but I completely sympathize with this decision.