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.
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 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
> 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.
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.
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.
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.
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.
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.
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.
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 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.
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.
>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.
> 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.
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
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.
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.
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.
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
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 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.
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.
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'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.
> 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.
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 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 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.
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.
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."
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.
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.
For context, I started an open source project that is arguably 10x more popular than Nutjs (20k stars on github vs 2k). I also gave up on maintaining it, but others stepped in to take care of it so it's still running.
The parallels between open source and bolshevism are interesting. I'm not a history expert, but this is just how it appears to me.
- Contempt for property
- Pitches itself as a movement by "the people", ends up being a tool of the powerful (e.g. Microsoft's use of open source)
- Punishes the producers by destroying the economics of production, rewards the stooges
- Creates a high-low alliance between powerful and unskilled, drains the middle class
Open source is largely based on "property". Very few open source projects are in the public domain. The FOSS developers I know have a higher respect for those licenses than capitalist corporate users, who seem to treat FOSS licenses with contempt by not following all the terms.
Your lists of points seem also applicable to capitalism.
- ignore property rights if the fines are cheaper than the profits
- capitalism both enables people and greatly enriches the most powerful
- ask the Luddites about how to destroy the economics of production
- "Socialism never took root in America because the poor see
themselves not as an exploited proletariat but as temporarily
embarrassed millionaire." (famous quote derived from Steinbeck)
> Very few open source projects are in the public domain.
Software in the public domain kind of by definition can't be open source. Not for more than a fleeting instant: You can take it and use it, and so can anyone -- and immediately make it closed source.
The argument is that open source is based on "contempt for property."
Yet most open source projects use a license based on copyright, and copyright is generally considered part of "intellectual property" as it draws from property ownership as its model.
Without strong copyright, there is no effective GPL.
I therefore do not see any connection between open source and contempt for property. Certainly less contempt than I see from capitalist corporations which use open source components in proprietary products and in violation of the license terms.
As for your "kind of by definition can't be open source", I'll kindly direct you to a counter-example at https://www.sqlite.org/copyright.html which includes both "SQLite Is Public Domain" and "SQLite is open-source, meaning that you can make as many copies of it as you want and do whatever you want with those copies, without limitation."
You'll find very few people who argue or believe that SQLite is not open source.
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 agree with most of what the author says, except this.
we sabotaged ourselves? by not predicting that people are greedy and have the nerve to complain about free stuff?
by giving code away and not expecting anything in return?
by building an entire operating system that now dominates the world?
i see no sabotage. nor do i see an excuse to avoid paying for software.
sure, there are freeloaders. and yes, there are idiots that feel entitled to get free support. and yes, companies are exploiting this.
but despite all that, thanks to an entirely free and open to modify operating system, the world is a better place for many.
what we failed to do is to make FOSS self sustainable in the sense that people can live off it.
but we have to ask, is that an error, or should we accept that as by design?
if it is the latter then we also have to accept that not everyone will be able to contribute. especially most will not be able to make a living from contributing to FOSS. but i believe this is fine.
contributing to FOSS should not expect a monetary reward. if you expect monetary reward, consider that the available FOSS software is comparable to other software that i'd have to pay hundreds, if not thousands of dollars for.
that is my monetary reward. but i am not making a living off it, nor do i expect to.
"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?
> 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.
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.
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.
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.
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.
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 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.
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.
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
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.
> I am continually innundated with support requests from users who fail to read even the most perfunctory of documentation. I do not have time to support and maintain the project at this time.
I grew up in a community with things like a volunteer fire department. All the adults around me spent 10-20 hours/week in non-paid positions from coaching soccer to hospice care. A core of some dozens of people carried the community on their backs.
I still see that today. From the volunteers who coordinate 4th of July celebrations to the 4-H mentors to that guy who hauls his own equipment over every month to mow the vacant lot next to the town park, just because somebody needs to do it or it won't get done. Most of these people have day jobs. The folks who rescued people from freeway car crashes back in the day and the ones who still do it today have day jobs. Some are professional paramedics on the clock in the big city who do it for free out in the little village where they live on their days off.
I know the world of open source software is bigger than that. But I still see the world through the lens I acquired in childhood.
Yeah, I think a major factor is our current economic situation. It's no longer possible to support a family of four on a single income with a high school degree. Just look at "grind mindset" and gig work, open source is in crisis because it's harder to put food on the table.
In my opinion, maintainers need to more actively block inconsiderate people. One thing Github should do is provide moderators ability to import a list of user accounts to block right from the gate. This way, communities can curate filters of accounts to be blocked like uBlock lists.
Rude and inconsiderate people need feel the pain of being actively blocked everywhere and not able to get anywhere forward with any of their requests. This can at least help OSS maintainers and developers get a little bit of mental sanity back
I maintain an OSS that is 10x smaller than the author of the post and I have experienced the same absurd community behavior.
I feel bad for the state of open source [0] - even when Microsoft literally a couple of weeks ago pulled the "FIX THIS NOW" card on ffmpeg https://trac.ffmpeg.org/ticket/10341#comment:4
We need a FUCK OFF OSS license: like the do-whatever-tf-you-want but with extra clauses telling people to FO. if they want bugfixes, improvements or features.
All the free software I had put out there is kind of like that. I don't care about the fame, glory or user count. I release something I built to scratch an itch just because someone else might find it useful. If you didn't like my code, tough luck, go write yours.
I don't think this has any place in a license. That would be a CoC, or a README section. Also just post your project somewhere people can't open issues and ask for improvements.
Though I don't think that's what most projects want. You still want feedback usually. You just want to skip the entitled users.
the idea is good in principle but it's not good in practice - we're all grown ups at the end of the day and personally, I don't ask for money, I just ask for a little gratitude and help!
It says something about the state of Microsoft that such a naive coder would be responsible for a critical bug in a "highly visible product".
> Hi, This is a high priority ticket and the FFmpeg version is currently used in a highly visible product in Microsoft. We have customers experience issues with Caption during Teams Live Event. Please help,
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
OSS is often sponsored by major corporations, for example React JS is essentially a Facebook product.
Creating something like Nut.js for free isn't sustainable, the author needs to eat after all.
Desktop automation is very very hard to do, people aren't usually automating this for fun. It's folks working at companies.
If it's free then you just have a free tool to use, and maybe you'll donate out of the good of your heart. But your not going to ask your boss to donate.
When it's a paid product you have to just tell your boss we need to buy a license.
Take a look a the profile a bit of the rude commenter on your issue. The person is a nobody. The internet is rife with them; any online game, any Discord channel has an asshole that types the same way. All bark, no bite. Block, ban, delete the issue, restrict them from the repo, don't even acknowledge their existence.
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.
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.
Unfortunately, if you want to monetize something that is open source, you have to start with monetization in mind and open source just enough to hook people then get them on service contracts.
When you do it the other way (start open source, transition to closed source) it seems like everyone thinks they are entitled to get your work for free and they send you hate mail.
I used to be a maintainer of a few semi-popular open source projects, and boy do I feel this. I know this probably sounds like I'm whining, but it can really grind on you in a few different ways:
1) The unpleasant interactions, while rare, tend to be VERY unpleasant.
2) Unless you are solely devoted to working on that thing as your only hobby, people start wondering about the delay between code/releases.
3) A certain amount of the work is just keeping the lights on: making sure your dependencies are secure, making sure that new change in Github actions doesn't break your build, etc. If you only have a limited time to work on a project, a lot of it gets spent here sometimes.
4) The more popular something is, the more eyes on it, and the more bugs are found (and the bigger chance your bug fix introduces new bugs, especially if you have limited time to spend fixing it). This then takes up a larger percentage of your time.
For a certain level of open source popularity I feel like I only get a few options. I can turn it into my job somehow, I can make it my only hobby, or I can walk away. In a few instances I've chosen to walk away. Sometimes there is someone to take over, sometimes there isn't. No matter what it feels like an impossible choice.
Same here. To me it's not even some egregiously unpleasant interactions (there have been some of those, but they've been exceedingly rare). It's the constant barrage of low-level entitlement of expecting work that individually isn't much but sums up to basically "make this project your main priority in life because my problem should be just as important to you as it is to me".
I've started to think that there shouldn't be such a thing as a "main" codebase, but rather a network of clones that each introduce whatever fixes or features are important to them, and if they want changes from others they're free to integrate those themselves. Yes it's convenient for users to have a curated blessed distribution of a project, but at what cost?
I like how the OP moves to a time release monetizing model, where like cockroach, it's open source eventually. It could be an interesting counterpoint to the open core model, and one much more feasible for an individual developer. Only problem is, how do you make sure the source is open for some but not others for that period of time?
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've got s pretty great solution to this kind of stuff, one that works for me anyway.
If I want something that doesn't exist bad enough, I make it. I release it to the world for free. When I need an improvement, I make the improvement. If you need an improvement, make a PR. If it's a feature request, unless I think it would be interesting to implement, make the tool more well rounded or I will find utility in the proposal, I don't do it.
I don't maintain beyond that. Sorry not sorry. If it's popular enough that a community forms around it the community can maintain it. If someone or some company comes to rely on it, they can maintain it. I made a thing, I gave it to the world for free just because, that's it. I don't owe the world anything and I'm not a charity.
I feel it-- I gave up on open source about ~6 years ago when MS bought Github. I grew frustrated for a variety of reasons.
- I didn't like MS getting their hands on Github, knowing my code would be used to feed whatever MS had cooking.
- I began self hosting my code, only to become bitter with self-hosting solutions and peoples' general attitude towards it (why are you not on Github)?
- I refused to create a "Github" mirror to stay relevant.
- I also gave up writing (blogging) in general after realizing no one gave a damn what I thought.
- I then gave up sharing code in general as it felt like a burden. Why put my blood and sweat into something people won't use if it's not on Github, and then people feel entitled to whatever I make?
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?
I don't really have a lot of sympathy for people who post links as "examples" causing readers to witch hunt people on social media (GitHub in this case) regardless of their conduct. The user mentioned in the article has now been harassed so much they have deleted most of their GitHub and is threatening suicide.
This letter reads hollow and I've seen a number of them before. If everyone operated this way OSS would be an apocalyptic nightmare.
I'm also not really sure what the author expected here. Having popular stuff garners unfair criticism. It's part of the gig. You can't control it. It feels like a rant - I understand, completely - but when you send people to a specific comment and tell them "see what this asshole said about me!" you're sending emotionally charged people behind the defense of their computer screen to gang up on that person. It's no longer an example, it's an abuse of power. And it feels like the author knows this, given they felt the need to write an announcement article.
You have points here and I'm not discrediting them, but this still reads like you are blaming the maintainer.
They don't have any obligation to put up with improper conduct and pointing out improper conduct is a totally fair thing for them to do. I don't think they mean for internet users to go hunt that person down, but I also don't see why it's their obligation to try to protect them. If the user didn't want to be criticized back, or cannot handle the light and fair criticism that people posted in that issue, then they maybe should have not thrown the stone in the first place?
My the point is it feels out of place to blame the maintainer for this, in my opinion. If they want to say "hey this is unacceptable, and here is specifically what is unacceptable" that is totally fair game.
I feel like this type of calling out unacceptable actions is not done enough and we really should start to do it more to signal that it's not ok to be so rude to someone providing you free stuff.
There's a difference between "light and fair criticism" and a total witch hunt. If he truly wanted to make an example, there's lots of ways to include only the text from the issue in the blog post, while excluding personally identifying information. He purposefully and unecessarily linked the issue in the post because he felt spiteful towards this person and wanted his audience to give him hell.
I disagree with everything the author has to say. That being said the user here did something rude in a public place and deserves any backlash they get for doing so. If a little bit of internet condemnation causes someone to have a suicidal meltdown they shouldn't be online at all. We shouldn't all conform our behavior to be accommodating
There's quite a bit of cognitive dissonance in the article. Or I'm not reading it properly.
On one hand he talks about charging for his plugins, and on the other he says that open source is not sustainable unless somebody pays for it.
Yes. Somebody does pay for it. Either the programmer himself, or the company that employs the programmer. But somewhere along the line somebody, somewhere is paying for open source programming.
Yes there's a bit of quid pro quo. I'll use the gcc that somebody sweated blood, tears and money over for free. But the gcc that I use today allows me to put my software out there 'on the cloud' for the next person to use for free. Have I sweated blood, tears and money to produce my software? Yes, of course I have. Do I want cold, hard cash for that software? No.
There is a old principle here: 'Pass it around' or maybe 'Pay it forward' is how you first saw it. But I received gcc for free from upstream, I pass my own software downstream for free too.
One thing about the nature of open source software development is that the positive feedback channels are kind of limited. Sure, if someone opens an issue or a pull request on your project that's potentially a positive signal, but it's never a purely positive one. In pretty much every other place people put things they've created online there's room for reviews and comments to help other people decide whether to try something, so if you make something good you can get a lot of people saying what they like about it. This doesn't solve the negativity and entitlement of others, but it likely makes things feel more balanced.
Open source software, culturally and mechanically, doesn't have much room for unqualified positivity.
>All of my packages around nut.js will cease to exist publicly on npm. Ready-to-use packages will only be available through the private nut.js package registry, which requires an active subscription to be used.
>The GitHub repo will remain public, so if you want to continue using nut.js on your own, you'll have to take care of building, testing and hosting packages yourself.
Open source doesn't require distributing pre-built packages. So still is open source. This model was used by QtiPlot until the sources were eventually stopped being available, because surprise, surprise there're people that were building it from sources and then distributing.
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.
This post risks confusing two things: maintaining open source software, and trying to make money from doing that. There's no real problem with the former: you do it because you want to, and you ignore people if they're unpleasant on GitHub or wherever. You just focus on making some nice software because that's what you want to do in your spare time, or perhaps in order to bolster your applications for paid work. Making money from open source software is something different entirely, and that's what the author is complaining about.
Don't forget where your paying customers came from.
They didn't find your closed source plugins, they were funnelled in from the open source project. The split license plugin model works because both sides of it are useful to different groups of people.
You get to upsell your free users additional features or support.
But more than any of that, all users complain, even paying ones. Especially paying ones. Don't kid yourself into thinking going fully closed will stop that, the difference is you'll just be dealing with fewer people. That's not as good as it sounds.
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.
This may be an unpopular opinion but my honest take on open source is MIT license or GTFO: Give the shit fully away, know you're giving it away, and importantly your strategy includes giving it away
The money is another channel. If you haven't figured out that channel, then it's in the form of W-2 employment which you landed due to your very impressive project.
Just in time before the CRA hits the fan. Since it's open source with commercial activity, he would be liable for the open source released on similar terms as proprietary software to all the free users that did not pay a dime (hopefully only within the requirements of the Act, I'm not sure about that).
One has a couple options here, given that the EU didn’t seem to listen re: certain classes of developers, small software projects, and the like:
1. Ignore the EU, meaning a couple different things depending on what your commercial activity is but likely including not advertising there or applying for a CE mark; if it’s open enough license-wise and someone wants to deal with the EU conditions they can go start their own EU company supporting/updating it.
2. Maybe, along with (1), refusing to sell to anyone in a country covered by the CRA.
3. Just altering your license to prohibit anyone located where you’d be subject to the CRA from using your software.
It’s not the intent of the CRA to cause this but-and they were warned and maybe made some adjustments but not enough-it’s what they’re going to cause, and leads at the end to the same result as this whole discussion (I quit) for different reasons.
A lot of open source is commoditizing your complement, moving a project out if a company to reuse or monetize it, or a recruiting drive for talent or customers (i.e. marketing). Of course it's rarely said out loud so it is unsurprising when we get confused. I've been there.
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”.
Fair move. The world runs on FoSS and most of us contribute nothing. Software should be open-source and free but not at the expense of exploiting the few who actually contribute.
An interesting project, from what I can tell it's a JavaScript version of AutoHotkey's window interaction features? (also it works on Linux and Mac!) Very cool!
This is one of the posts where I just can't go away without commenting. I will be always on the side of the open-source developer basically in any situation. BUT (of course there is "but") in the post about selling plugin (Why I'm Charging What I'm Charging) author stated that he is made decision based on the fact that he bought Mac for developing Apple Silicon support. I will not pretend that I read everything in both posts and even fully understand cross-platform part in the project BUT as Apple hater I will say that author could just drop Mac support as alternative. Again I don't know if author's project can run on Windows ARM and if he ever bought Project Volterra. So if Mac made you paywall your plugin than sell it to Mac users and leave Win\Linux open source.
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.
I've met people like the public accuser, both online and IRL. Usually, they're quite easy to ignore and block out -- his comments on the GitHub issue are laughable after all.
His KoFi page even has the following blurb:
> I'm a software developer trying to make people's lives easier and more pleasant.
So, mission failed successfully I guess.
But ignoring comments like that becomes way harder when they're attacking things you care deeply about -- like the last 6 years of your work -- even to an absurd extent. Even when you know you don't owe random internet strangers anything. (If anyone has any tips on how to do this mindset better, I'm all ears.)
Last-straw moments really suck, and all the best to the author with whatever comes next, even and especially if it's "more of the same but without the BS".
>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’m sympathetic to the author and having to deal with unpleasant folks. But I wonder how much of the economic experience is simply underestimating how difficult “business” actually is?
This has come up a few time recently on HN, where someone thinks there is an easy button for income. But there isn’t.
I'm sorry this person had to go through abuse and such difficult feelings to handle. Good luck if you read this! I'm with you.
> Open source is great, but it's not sustainable
It can be (I work for an open source company, our friends at Nextcloud are also fine, there plenty of examples of thriving projects), but it's a hard thing to tackle for sure and might not apply to every kinds of projects. As any kind of business, a business around open source requires a solid business strategy.
I also think dev libraries / components are probably among the hardest things to fund. I think the tools themselves should be open source and the dev subsidized by something else (a product for which the tool is developed, or consulting, or support, or hosting).
You can also sell entreprisy features to companies, even as free software actually (open core is not necessary, and the bulk of the feature can also be in a gratis module and you only sell the convenient UIs). Make it easy to employees of a company using your work to justify an expense. People will be happy to support your work if they like it by making their employer pay, and the employer will most likely be happy to pay because this can be reassuring, especially if support comes with the payment. It's way easier than relying on donations.
In any case, your open source business strategy of course needs to take in account that people will use your open source code for free, and will also report bugs, feedback, feature requests, ask questions, and this is costly. Sometimes you can manage to setup a community where people help each other, addressing the issue partially.
You'll need to have good communication on what is paid for, what are the expectations, etc; and well prepared answers to requests in tickets that both makes it clear you need to keep the lights on and don't piss people off. With good phrasing most people will understand and be grateful you are providing many things for free.
Of course there will be the mean comments. Some are not actually meant to be mean, but just come from people being pissed off or from misunderstandings. Effective communication can help with this. And some just come from jerks, unfortunately. I can only wish you good luck with this. Hang in there. Don't let them hurt you and take bad decisions. Hopefully (fortunately?) they are very few. Keep in mind most people are well meaning, grateful and most are quiet, especially when things work well for them.
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.
Releasing some software open source, having it gain popularity (just from being open source) and then saying you can't make money of it seems disingenuous to me. The project would not have been as popular if it hadn't been open source in the first place. You can't have it both ways.
Making money directly of an open source project is indeed difficult. But that also isn't the promise of open source.
The promise is that many groups come together to work on an open source project for mutual benefit.
I had the privilege to work on several open source projects for my employer. Some of these were pretty important to what we are doing, but they were not the direct products we would sell. That worked remarkably well!
I still work on open source, for work, and some in my spare time.
I'm not a maintainer of any significant open source projects, but I'm very sympathetic to the author here. My personal philosophy has always been that I want to try to support, either with my time or my money, the creation of any projects that I find useful or use in my day-to-day life, and that anything I get from open source contributors or maintainers is supererogatory, a surprise, a free gift to be excited and happy about, instead of to take as something I am owed and demand more. I think the entitlement that much of the open source community directs towards our maintainers, where we expect them to fix all of the bugs problems we have, add all of the features we need, and somehow conform to everyone's vision and use case for the product, or else they are evil and selfish and "don't listen to the community," is just fundamentally unfair and unjustified: these people are doing work for free, and as such don't have any sort of obligation to us. No one deserves an ounce of free labor from anyone else, but the opposite of that seems to be the mentality that the FLOSS community has fallen into, and that sense of draining, entitled, almost childish obligation is naturally going to burn out maintainers and contributors at a pace faster than we can probably afford to replace them, because who wants the Sisyphean task of tirelessly and thanklessly appeasing hordes of childish demands? This is not to say that the demands themselves, they're specific technical content, are necessarily childish — of course they probably aren't. This is just to say that the expectant, demanding tone most requests are made in, which betrays the entitlement that motivates them, is itself childish. Neither is this to say that all requests made towards an open source project must be childish, as there is a way to make a request that doesn't seem like a demand, or contacts where demands are fair, like asking them to fix a CVE.
I do also think though that some of the author's problems also probably stem from the fact that they used an open source license instead of a proper free software license like the lgpl or mpl, which means that they weren't able to force individuals and companies to contribute back to the software commons they were all benefiting from, and therefore ended up with a free rider problem. A copy left license would have at least made people contribute some of their time to the library, if nothing else. But it isn't a perfect solution either.
In any case, I think this author's solution to the conundrum here is actually pretty reasonable. I've been pretty sympathetic to the idea of providing all of your source code — enough to compile and build a complete and functioning version of your project — as free and open source software, but asking for money if someone wants the convenience of pre-built binaries or packages, or access to a package repository or continuous integration system or something. It seems extremely fair to me to say to the user, essentially, "yes, you can get all of the source code you need to build a version of my project, so I'm not taking a way any of your basic software freedoms, but I'm not going to do anything more than the absolute bare minimum for you if you don't want to do anything more than the absolute minimum for me". Because while I believe in the idea that information should be free, and that open source is the best development model, and that libre software is important for user rights, I don't think that people are entitled to project authors going out of their way to provide conveniences like pre-built binaries or packages or package repositories.
On the same subject, I think this sort of entitled mentality in FOSS actually compromises the quality and diversity of the open source ecosystem as well: instead of each open source project being free to pursue, on its own terms, its own unique vision for what it wants to do and how it wants to achieve that, and everybody getting to choose which projects to use based on whether their vision happens to align with the vision of the project, instead users seem to just pick a project at random, based on whatever was provided to them by default or whatever they came across first, and then petulantly demand repeatedly that the project conform to whatever they want, making every project an exercise in regression to the mean through the eternal process of satisfying some giant collection of random people, until any unique coherent vision or direction for the project is lost under the weight of democratic cacophony. See GNOME vs KDE, essentially.
>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.
> Working on an open source project is still work, and if you're doing a good job, you should be rewarded for it. I also always believed that if you ever started a project that is valuable for companies, they would support you in return
My friend, then you started in the wrong place. At the risk of getting into a mire over free vs open source software, I think you have fundamentally misunderstood the principles of FOSS, or are picking and choosing parts of it, and ultimately spent a significant amount of time and effort on an inevitable collision course. FOSS tries to be a rising tide that lifts all boats, where by participating in it we all communally benefit from stability, security, lower costs, accessibility, transparency, and so on. Your reward for participating in it is in its continuation and proliferation, where others are doing the same in FOSS software that benefits you by providing non-proprietary solutions. This is real reward[0], apparent to anyone who’s lived through the hell of proprietary software especially before and leading up to FOSS’s golden age. Neither side of a license is entitled to anything beyond what it grants, and expecting more is frankly naive.
Yes, it’s beyond enraging that there are rude, entitled, and lazy end users out there. Welcome to the Internet, just ignore the Issues section like every other repo /s. Yes, it fucking sucks that companies are making trillions off the largely unpaid work by a relatively small group of routinely abused people.
To be absolutely clear, I fully believe you should stop investing time and resources on a project when it’s no longer worth it. I do not believe you owe anyone anything just because you published a project, and you have the contract to prove it. However, I take issue with the “leaving and taking my toys with me”, self immolating previously published software, gating previously open code (I hope you don’t have any contributors you are taking labor from), and throwing your voice behind a dangerous backslide into proprietary hell. If you find yourself fragile enough you’re unable to simply block noisy assholes and move on, then just archive the repo and work on something else.
It’s your project and you can ultimately do what you want, but I’m not gonna applaud you for devolution.
>I do not believe you owe anyone anything just because you published a project, and you have the contract to prove it. However, I take issue with the “leaving and taking my toys with me”,
You said it yourself. They owe no-one anything - the toys are theirs to take home. That anyone might think continued access to his toys is a right just smacks of entitlement.
I mean, good. The lesson is, don’t use a FOSS license for your code if you aren’t comfortable with people, maybe everyone, taking you up on it. And don’t share any software (or any creation) with anyone, open-source or proprietary, free or costly, if you don’t want to hear complaints and gripes and insults.
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".
Look, we (aka OSS maintainers) are all struggling to find ways to get paid to make it sustainable—unless we're lucky enough to work at a company that literally just hired us to work on OSS. I totally get some legit gripes about how it's hard to get enough sponsors, or client projects which let you use the projects and then improve them, or whatever.
But just throwing up your hands and saying it's all over seems pretty short-sighted. How many OSS projects has this person used without supporting them? I've probably gotten umpteen amounts of value out of many projects I've never supported…not because I'm a bad person but because that's just how this works.
>How many OSS projects has this person used without supporting them?
A more fitting question would be "how many incredibly-entitled support requests has this person directed to projects without supporting them?", and I'd be willing to bet it's zero.
> A more fitting question would be "how many incredibly-entitled support requests has this person directed to projects without supporting them?", and I'd be willing to bet it's zero.
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.