"Sturgeon's law (or Sturgeon's revelation) is an adage that states that "ninety percent of everything is crap." The adage was coined by Theodore Sturgeon, an American science fiction author and critic. The adage was inspired by Sturgeon's observation that while science fiction was often derided for its low quality by critics, the majority of examples of works in other fields could equally be seen to be of low quality, and science fiction was thus no different in that regard from other art."
One improvement* over the "old days" is that there are fewer popular platforms now.
There used to be a lot of otherwise good free software that was very painful to compile on a platform other than what the author had access to. Getting something written on a SunOS box to compile on, say, AIX, was often a chore.
The author of this tweet is really making fun of indie gratis software, which is pretty rude, since that software is hard to use because the authors don't have many resources and are volunteers.
Is Firefox hard to use? Does the author struggle to use Twitter, built on libre software as a base? Is the Android kernel free as in piano?
"Free as the marginal cost of producing a copy of software once enough people and companies invested their resources into making it usable". To be fair the tweet didn't say all free software is like this.
I don't think this is fair. Other than after some updates FF opens a new tab talking about new features, I haven't seen much. Do we have different settings?
I'd rather be pushed uniform information about what a company is up to, than have specific information about me pulled into a surveillance database. Neither one is good, but at least the generic push leaves me alone the rest of the time.
This is a great analogy. Unfortunately the person has a cynical view on it. Another view on the same analogy: the work of one person in a public space can benefit many of those around them. Be it a piano, or Free Software.
Well, I think this is true. Many devs are slaving over high quality software that is technically fine and a real achievement but nobody truly loves the niche except for them. I think the real talent is in writing software that other folk are inspired by and actually want. Too much focus on the technical side of things, not enough focus on the human side of things. But then, it is important to be true to yourself, if you love that software, then you love it. Depends on your reason for working on it, whether your profit is your own enjoyment or the enjoyment by others.
Good thing the software usually has a forum attached where volunteers try to help others without recompense. You can go on there and yell at them about how they’re not working hard enough for you (in their free time from their job that actually pays their bills).
How dare they not put the effort in to make the software understandable and perfectly easily usable to you, personally, because you are so super duper special??
Not every open source project is polished. Fair enough - that's evident. However, that doesn't mean it's not useful. Sometimes a snippet from an abandoned project on GitHub is exactly what you need.
I assume this is just meant as an observation, not a criticism. I've certainly experienced this with some free software for various purposes, where you wade through 3000 forum posts to get it to run and someone chimes in, "oh, it only works if you install in in X directory...". Sure it sucked to read 3000 forum posts and google things for 2 hours, but, once it worked, it worked.
I don't know why this would be a "problem" though. This year I got a free snowblower. it had all the parts, but it didn't work. After much reading, disassembly, and other mess, I got it to work and now I have a snowblower.
To me, commercial software is often about ergonomics and immediacy - if I can pay to have it now, with no work, great. But, free software can be about capturing marginal value below the market clearing price. If I need to put in some time and effort but I don't need to spend any currency, then great! I've succeeded at getting a job done and exchanged time for cost. Seems reasonable, and it's nice to have the option. (obligatory hardware example: just look at youtube for the humongous number of things made with washing machine motors. Sure, they're inconvenient, but they are free and available. For a lot of people this trade is worth it.)
There are other costs with not fixing it, but I get your point regarding time.
That said the experience earned and the courage to take on bigger efforts is found through trying and spending time keeping other people's trash out of a landfill.
This is true with software too otherwise we wouldn't have free and open source software.
But not everyone's time is valued equally by the market. Yet commercial software has the same price regardless. So yes a lot of time it is more economical to pay in time than money.
> "oh, it only works if you install in in X directory...". Sure it sucked to read 3000 forum posts and google things for 2 hours, but, once it worked, it worked.
I had similar problems with proprietary software and I most often ended up with the answer that the thing I want to do just cannot be done. Or sometimes with no answer at all.
I prefer having an option to look up the source code to see what it does, file a bug report or even fix the problem myself than receiving a response "you're an outlier, so we don't care about your problem and there is nothing you can do about it".
So true! No answer, can't be done, or redirected to a sales rep to purchase additional licenses for software that may or may not completely interoperate with the stuff you're already paying them for.
Want to write your own program that extends or interfaces with an open-source software package? It can probably be done with some amount of work, depending on documentation, forums, and readability of the (available!) source code.
Want to do the same with a proprietary software package? Buy the SDK for $X000, there aren't any forums, and the documentation that is basically eyes-only. Maybe a screen-scaper could work, but that would be unreliable and tie up a licensed terminal (not to mention probably violates the EULA!).
I don't get why this is specifically directed at gratis/free software, though. It's not like commercial software is much better. I spent a lot of time in the beginning of my career punching extremely expensive proprietary software into submission. Things like Solidworks, Autocad, Windows itself, nvidia drivers, various scientific/engineering programs, circuit designing programs, etc.
Tons of extremely expensive licensed software, with expensive support contracts, and we still spent a ton of time and wrote a ton of Perl to punch them into a shape that worked on our very vanilla installs of Windows 7 enterprise. Contacting anyone's support was invariably an absolute fucking joke of an endeavor. We literally only ever did it when we were sick and tired of bashing our heads against their shitty software and wanted to shelf the project for a week or two to recover our sanity while their support "looked into it" and "escalated our ticket" or whatever.
My experience with whether software was more like Stripe or more like a piano sitting on the sidewalk is that it completely depends on the company's attitude. Either they care that people be able to actually use their software, or they don't. I've seen both huge corporate products and small free software projects that both clearly do not care much about whether someone can get their program working easily.
And I've also seen both paid software and free software that care immensely about getting you started and keeping you going.
I have never experienced frustration with free/open-source/source-available software like I have with proprietary software.
If I had a dollar for every damned time I was dealing with proprietary software and became frustrated that I just couldn't looked at the source code to figure out what the programmer meant... sigh
When I do contact support I end up taking to people who also don't have source code access. They might have better documentation and a more comprehensive knowledge base, but they're no more equipped to look at the code (and, arguably, probably less equipped to understand the code) than me.
Occasionally I find proprietary software whose accompanying documentation is sufficient to troubleshoot the really bizarre problems w/o source code access. Microsoft's protocol disclosures, created because of the EU anti-trust action, are a good example.
Having source code access and a modicum of reverse engineering and programming knowledge is a game changer for supporting software.
Free software was literally supposed to solve all of these problems. Free access to source magically makes it easy for everyone to contribute bug fixes and (less convincingly...) good documentation.
Of course this rarely happens. Developer/maintainer attitude is one factor, but it's not the only one.
Yes, you are correct. The people who say the "piano" comment was meant just as an observation, not as criticism are wrong. They're ignoring that this was made as an "observation" specifically about free software, with the obvious implication that this is a key difference between "free" software and commercial software. That means: this was not _merely_ an "observation"; it was an observation intended to be a criticism of free software. This is just basic reading and interpretation skills. (Could this interpretation of the comment as a "criticism" be wrong? Of course, but I think that's highly unlikely.)
I think that the comparison between software and physical goods breaks down a bit in this particular instance.
If you don't have a snowblower, no amount of time spent on your own will allow you to get one - you have to get the physical parts from somewhere.
If you don't have a particular piece of software, you can often write it yourself, with some time, but without paying another person or needing to find a physical good.
As the difficulty of using a piece of software increases, the cost-benefit tradeoff tilts more toward "write it yourself".
Full disclosure, I have a pretty sophisticated home machine shop, so I could have built a lot of a snow blower by hand. OTOH, I have a minimal knowledge of software dev- mostly the cut/paste kind. It is usually easier to start with most of the right parts, though.
I've come to accept that there are certain pieces of imagined software that I could not reasonably expect to write myself, regardless of the amount of time given or my own meager brainpower.
As the difficulty of writing a piece of software (or coordinating the components thereof) increases, the tradeoff invariably tips back toward trying to make somebody else's software work.
This is true in many cases. But in many others, it is the OSS maintainers who are expending the effort responding to the needs of free-software users. Many would argue that companies and adopters of OSS are creating negative externalities for those maintainers, who presumable accept that cost for the sake of their ideals or reputation.
Then proprietary software must surely be a pianola (a player piano that plays automatically): it plays alone, but it is always the same song and you cannot change a note.
I really don’t get where this idea that proprietary software is inflexible comes from. We can’t simultaneously all be working at feature factories and making inflexible software.
Sure, we’ve all had to experience the annoyance of working out the limitations of proprietary software we can’t patch but FAR FAR more common is working around the limitations of FOSS software that is infeasible to patch. You’re probably not going to patch some bug you found in your jdbc driver, tomcat, or nginx because it’s expensive to maintain.
I’ve been really really happy with our paid software at &
$company because I have a vendor I can pester to fix my bug or implement my feature.
> We can’t simultaneously all be working at feature factories and making inflexible software
Actually, yes we can. The key insight behind liberal economics is that central planners are incapable of understanding the demands at the edges. The same goes for software - the feature factories can only generate features imagined by centralized focus groups (or even worse, the business desires of the company itself), whereas desires of actual users are much more vibrant than that.
Maybe it's just me but I've noticed that free software (especially of the GPL kind) has been getting lots of hate lately. Is it because of the recent rms debacle? I never noticed it before.
If you did want to control the future of information flowing from person to person, I can think of no higher threat than free software.
Givin that premise, I would expect to see a lot more opposition to free software if large governent and large business intrest decide to consolidate their power and think that open communication is a hindrance.
GPL, especially GPLv3, have always been contentious.
There was also very recently a high-profile issue involving it and a ruby gem used by Rails that caused a lot of headaches for a lot of people, so it's top of mind for many.
I think this is due to the kind of corporate take over of Open source, without judging if this is a bad thing or not. The whole Github/MIT licence scene simply did not exist back in the days, it was either closed source or GPL. It's no surprise the hate is building now that non-GPL open source is part of the marketing strategy of software companies like Google or Facebook.
I'm not sure I agree with that reasoning generally, but specifically this is IMO not quite true:
> The whole Github/MIT licence scene simply did not exist back in the days, it was either closed source or GPL.
BSD-licensed software, and probably also MIT-licensed and whatever non-copyleft licenses there are, has been a thing for a long time. I distinctly remember seeing discussions and opinions regarding copyleft vs non-copyleft open source in the early 2000's. Aside from BSDs themselves, there have been all kinds of non-copyleft licensed software all along.
It might be that more liberal (i.e. non-copyleft) licenses have been gaining more popularity and that the emphasis has moved from GPL to non-copyleft licensing. It might also be that's partially driven by the dominance Google et al. have on tech culture. But as a whole I'm not sure that hate (if it exists) towards GPL-oriented culture follows from that.
As a stab in the dark, it could also be that there's a new generation of people for whom the older days of the GNU project and the free software movement sound somehow archaic or "not modern" now, or there could be some other kind of a cultural shift. People don't always embrace newer trends because of some kind of a clear economical or other direct motive.
Economic interests of the current powers that be might of course be one of those things that affect cultural changes, but I wouldn't necessarily buy it that it's the only reason.
As someone who does not get paid to write software, I don't like it, but I definitely understand it and I don't think anyone's being a "bad guy" -- as power in software shifts from near-monopolies, e.g. Microsoft, to smaller individuals and groups creating software -- they're likely to prefer license that are easier to make money with, e.g. by doing something like "charging by the copy."
There's a global pandemic on. Lots of people are cranky as all hell because they are out of work (or working from home, etc), have hardly left their house for months, relatives have died and they live in fear for their lives and so forth.
Lots of random BS on the internet is getting lots of hatred because the entire world has a metric fuckton of stress on its plate and access to a global platform called "social media" with which to try to vent about it as the only thing they know how to do to get through the damn day.
Quite a few reasons. Open Source is more in the news and it's self-reinforcing, people are incentivised to write content that gives them clicks.
* Global pandemic and uptick in open source contributions
* Elastic/Amazon
* RMS
GPL's often a point of debate due to the virality of the license. AGPL is significantly more problematic due to the risks that it poses to corporations.[0]
IMO, overall this is a net positive, there's a lot more debate on long-term sustainability for open source, and a significant push for more corporate backing.
I write open source software. If it was difficult for people to use, I would not get pissed off that people pointed this out.
Like, if I were a woodworker, and made free chairs... you would be right in complaining if it was full of splinters, if it required you to buy hardware and drills, if it was uneven and clunky. It's a shit chair. There's no dishonor in acknowledging what it is. I would not expect a pat on the back just because I made it free.
I'm some ways, I get your analogy, but I think you're making an assumption that it doesn't support.
Open source software is rarely "here's a free chair, that also doesn't have splinters." It's far more often "Here are some free blanks for a chair I made. It's not totally finished, so you'll probably need to do some work on it yourself. But the joints are easy to dis/re-assemble, so feel free to examine it all and modify or replace them to meet your needs. Also, don't sue me."
In that context, it's much more understandable, not because anyone's wrong per se, but because fundamentally the expectations are mismatched.
I would take issue with "far more often." I guess that's true if you're searching out software on Github or the equivalent. If you're installing packages from your distribution's repository, there are tens of thousands of finished free software products (inasmuch as any software, open or proprietary, is ever finished).
But tens of thousands of finished-ish products is a drop in the bucket compared to the total scale of FOSS software through Github/Gitlab. For GPL alone, a quick license search on Github reveals almost 2M individual repositories with that license. I'd wager that it's unlikely a majority of those would meet an include-in-a-distro's-package-manager level of polish.
I agree with your math and your assessment of what's available at Github and the like. Perhaps part of the problem is that people (including many developers) treat git repositories as app stores.
It seems unfair to complain that you're getting rough products when you're snatching them off the factory floor -- or out of the design room.
Well, I don't think it's reflective of the vast majority of FOSS, at least measured by # of installs. Every time someone does a system-wide update with their package manager, an experience which is probably often best described as mundane, it's a testament to just how successful FOSS has been. Certainly there is software in relatively deep niches that is quite arcane, but I also don't think that's exclusive to FOSS.
Like most memes and quips, it's a funny and apt observation... that generalizes too far and should have been a lengthier article with examples and suggestions of how to better manage FOSS projects to make projects more appealing, instead of just a fit of anger.
And a street piano you could own... arguably better than merely renting one.
Isn't the sentiment really about how end-user unfriendly a lot of open source is. It is generously shared but sometimes only within the community that already understands the conventions and has the technical/historic knowledge to make sense of it.
Generosity shouldn't be sneered on, I agree, but we also have to recognize that the audience for our code is significantly broader than it was in the days of the Free Software movement. It all stated as a movement to empower end-users but it seems that end-users sometimes don't always feel empowered by it.
Free software is less about providing what users want ("free beer") than in not getting in their way by artificially restricting them in their dealing with the software ("freedom"). It's the difference between positive rights (to someone's labor, which is also known as servitude), and negative rights (freedom to use the software as you wish).
End users who don't feel empowered by freedom aren't entitled to free labor. They should realize that at least they have the option to control the software they use by hiring someone to fix/alter it or learning enough to do it themselves, which is impossible for proprietary software.
I would add to this that it seems like I can find the software I need in the Debian repositories 99% of the time. If I can't, it's usually because I want to do something niche. In those cases, it's on me to figure out what to do next.
open source developers who believe in open source have been, and we collectively owe them a lot. However, there's a lot of pretend open source out there that's just trend-chasing - either corporations that are trying to exploit the community by "open sourcing" but not documenting or supporting their products, or by developers looking to make a reputation for themselves but who don't really have anything valuable to provide. Linux? Yes. Spring? Not so much.
My first thought was a little different: this is just a rather empty and snarky expression of Sturgeon's Law, as applied to Free and Open Source software.
Yes, Free and Open Source software can sometimes be difficult to build and set up. This differs from closed-source software only in that closed-source software denies you the ability to build the software yourself. There are still plenty of ways for closed-source software to be difficult to set up.
I don't think anyone is claiming that Firefox, for instance, is difficult to set up.
Yes, Free and Open Source software can sometimes be difficult to build and set up. And even that's better than the software not existing at all.
The tweet misses the point. The choice is not between "hacky, janky free software" and "well-made, professional free software". It's between "hacky, janky free software" and "paid software".
Did you ever experience hacky, janky paid software? No Problem - you can rent a consultant to help you along the way! Need a feature? Also no problem - here is that other consultant! Want to be a consultant for our software yourself? Here is our licensed course!
> Need a feature? Also no problem - here is that other consultant!
That doesn't sound right. If you need a feature to be added to a typical proprietary software product, and you aren't a billion dollar company, you're pretty much out of luck.
With Free and Open Source software, you have a good chance at being able to pay to have the feature developed, perhaps even in-house.
Eh, closed software is often criticized for being difficult too.
To me in this general form it is a valid observation, not an attack. Especially since quite a bit of published open code chooses that perspective intentionally: Feel free to use it however you see fit, but it was written because the author wanted it to do a specific thing for them and it's on you to make it useful for you. Which is still massively better than if they hadn't published it, but not for every audience, and that's totally fine. It's just something to be aware of. And understandably the messaging around this is mixed, because different authors and communities have different views on this.
To be fair, it's a hot take on twitter by someone with 1222 followers (which is shorthand for "I've never heard of them before and they don't appear to be famous" -- and they probably had fewer followers than that prior to this hitting the front page of HN because people chose to upvote this submission to HN of this tweet).
Maybe a better analogy would be: There's a free piano out front of my apartment, and I want a new piano, and people keep telling me the free piano "works perfectly" (and possibly even mocking me for choosing not to take it) but I know I'll end up paying with my time, so I'll just buy a new piano instead.
This made me laugh, but if you think about it most non-free software is like an expensive player piano. Just as difficult to move, but it only plays music approved by the manufacturer, and requires special tools to tune that they only sell to approved partners.
That's a great point. I get a lot of additional value from FOSS because it's not dead set on roping me into some proprietary lock-in scenario. It far outweighs any inconvenience I experience.
Yes. Also, for a person with the requisite piano tuning/repair skills, a free piano can be a great thing. And this person can identify which free pianos are great things and which are likely to be unsalvageable. For someone who has no clue about pianos, or on how to work on pianos, not so much.
A lot of open source software is intended to be used by developers, or, in other words, by someone who knows what they're doing. Not all, of course. There's plenty of open source stuff out there targeted at end users, or at admin-types, non-developers. Much of it is excellent. (In fact, much of it "runs the internet".) Much is not, or is really in a semi-developed state where it needs to be improved by actual developers.
None of this is anything new. You need to be aware of how "ready for use" the open source project you choose is. By the very nature of how open source works, projects are available "in the wild" when they aren't really ready for general use.
Maybe yes, and it is also free like in free puppy, but guess what: The expensive puppets needs house training as well and they bite too and more worrying their previous owner refuses to agree that he has sold it - and he bites.
My qualifications: I've installed and supported Oracle databases for customers for years and I frequently wished they were Postgres.
Also more expensive pianos generally won't play automatically either and if they did you'd probably pay for them to stop sooner or later.
Software setup and installation is in many ways an art. Sometimes done on site with the customers watching, other times meticulously crafted as install and getting started wizards or whatever.
I don't think most developers have ever administered proprietary software so they don't really "get it".
A developer mindset sees having source access as about developing the software. For an administrator, though, having source access is the difference between fumbling in the dark and looking like a fool (or paying vendor tech support to act like a fool for you) versus being able to look at the code and understand what's happening when documentation doesn't agree with reality, etc.
Many of us are forced to integrate proprietary software. We have to live with the compiled artifacts we're given (for "support" reasons, because license agreements say we can't reverse-engineer/decompile, because we want our Customers to have systems that aren't one-offs that can be supported by the "next guy", etc). When I'm stuck fighting with proprietary software and unable to see the inner workings I find myself pining for free/open-source software.
How ungrateful does one have to be when they want a piano, are given one for free but don't want to take the bare minimum effort of moving it into their house?
I'm not saying you aren't doing good work, or that it's
not worth doing.
I'm just saying that nginx is good enough for most people, and they'd need to see massive improvements to their workflows to change.
I'm a web dev, and I've maintained multiple sites / APIs with nginx (ranging from ~millions of requests per day to virtually unused) and have never found a reason to look for a different webserver.
I've never had an issue with deployment requiring users to log out.
I can only assume you're referring to something in your MMO server use case?
Again - my intent was not to disparage. It was to say disrupting something that's "good enough" requires a massive improvement to the users' lives.
103 comments
[ 3.0 ms ] story [ 133 ms ] threadhttps://en.wikipedia.org/wiki/Sturgeon's_law
There used to be a lot of otherwise good free software that was very painful to compile on a platform other than what the author had access to. Getting something written on a SunOS box to compile on, say, AIX, was often a chore.
* Yes, other aspects of this aren't improvements.
Is Firefox hard to use? Does the author struggle to use Twitter, built on libre software as a base? Is the Android kernel free as in piano?
Twitter people are stupid
Not to mention regular emails from having an account to sync between browsers.
Some are, some aren't. Sometimes stupid people make non-stupid posts. Sometimes non-stupid people make stupid posts.
This one clearly is a stupid post.
I've learned to tune it, I lubed the keypins to reduce friction, I stuck a shim in the soundboard where it was buzzing…
And it emits music when I play it.
Ok then. Just use your mouse to click though InstallWizard.exe until the talking paperclip tells you to stop.
How dare they not put the effort in to make the software understandable and perfectly easily usable to you, personally, because you are so super duper special??
I think the most important thing is that you can, if you want.
I don't know why this would be a "problem" though. This year I got a free snowblower. it had all the parts, but it didn't work. After much reading, disassembly, and other mess, I got it to work and now I have a snowblower.
To me, commercial software is often about ergonomics and immediacy - if I can pay to have it now, with no work, great. But, free software can be about capturing marginal value below the market clearing price. If I need to put in some time and effort but I don't need to spend any currency, then great! I've succeeded at getting a job done and exchanged time for cost. Seems reasonable, and it's nice to have the option. (obligatory hardware example: just look at youtube for the humongous number of things made with washing machine motors. Sure, they're inconvenient, but they are free and available. For a lot of people this trade is worth it.)
The snowblower was not free, you just paid in time rather than money.
That said the experience earned and the courage to take on bigger efforts is found through trying and spending time keeping other people's trash out of a landfill.
This is true with software too otherwise we wouldn't have free and open source software.
Right to repair for the win!
https://www.gofundme.com/f/lets-get-right-to-repair-passed
That's why I use open source, I don't have the time to deal with crappy closed source programs
I had similar problems with proprietary software and I most often ended up with the answer that the thing I want to do just cannot be done. Or sometimes with no answer at all.
I prefer having an option to look up the source code to see what it does, file a bug report or even fix the problem myself than receiving a response "you're an outlier, so we don't care about your problem and there is nothing you can do about it".
Want to write your own program that extends or interfaces with an open-source software package? It can probably be done with some amount of work, depending on documentation, forums, and readability of the (available!) source code.
Want to do the same with a proprietary software package? Buy the SDK for $X000, there aren't any forums, and the documentation that is basically eyes-only. Maybe a screen-scaper could work, but that would be unreliable and tie up a licensed terminal (not to mention probably violates the EULA!).
Tons of extremely expensive licensed software, with expensive support contracts, and we still spent a ton of time and wrote a ton of Perl to punch them into a shape that worked on our very vanilla installs of Windows 7 enterprise. Contacting anyone's support was invariably an absolute fucking joke of an endeavor. We literally only ever did it when we were sick and tired of bashing our heads against their shitty software and wanted to shelf the project for a week or two to recover our sanity while their support "looked into it" and "escalated our ticket" or whatever.
My experience with whether software was more like Stripe or more like a piano sitting on the sidewalk is that it completely depends on the company's attitude. Either they care that people be able to actually use their software, or they don't. I've seen both huge corporate products and small free software projects that both clearly do not care much about whether someone can get their program working easily.
And I've also seen both paid software and free software that care immensely about getting you started and keeping you going.
I have never experienced frustration with free/open-source/source-available software like I have with proprietary software.
If I had a dollar for every damned time I was dealing with proprietary software and became frustrated that I just couldn't looked at the source code to figure out what the programmer meant... sigh
When I do contact support I end up taking to people who also don't have source code access. They might have better documentation and a more comprehensive knowledge base, but they're no more equipped to look at the code (and, arguably, probably less equipped to understand the code) than me.
Occasionally I find proprietary software whose accompanying documentation is sufficient to troubleshoot the really bizarre problems w/o source code access. Microsoft's protocol disclosures, created because of the EU anti-trust action, are a good example.
Having source code access and a modicum of reverse engineering and programming knowledge is a game changer for supporting software.
Of course this rarely happens. Developer/maintainer attitude is one factor, but it's not the only one.
If you don't have a snowblower, no amount of time spent on your own will allow you to get one - you have to get the physical parts from somewhere.
If you don't have a particular piece of software, you can often write it yourself, with some time, but without paying another person or needing to find a physical good.
As the difficulty of using a piece of software increases, the cost-benefit tradeoff tilts more toward "write it yourself".
As the difficulty of writing a piece of software (or coordinating the components thereof) increases, the tradeoff invariably tips back toward trying to make somebody else's software work.
Sure, we’ve all had to experience the annoyance of working out the limitations of proprietary software we can’t patch but FAR FAR more common is working around the limitations of FOSS software that is infeasible to patch. You’re probably not going to patch some bug you found in your jdbc driver, tomcat, or nginx because it’s expensive to maintain.
I’ve been really really happy with our paid software at & $company because I have a vendor I can pester to fix my bug or implement my feature.
Actually, yes we can. The key insight behind liberal economics is that central planners are incapable of understanding the demands at the edges. The same goes for software - the feature factories can only generate features imagined by centralized focus groups (or even worse, the business desires of the company itself), whereas desires of actual users are much more vibrant than that.
That their work is done in public and in front of the world should not give us extra ammunition to put their efforts down.
There are countless closed source packages that are arcane and hard to deal with - we just don't see them so there not able to be criticized.
If you did want to control the future of information flowing from person to person, I can think of no higher threat than free software.
Givin that premise, I would expect to see a lot more opposition to free software if large governent and large business intrest decide to consolidate their power and think that open communication is a hindrance.
There was also very recently a high-profile issue involving it and a ruby gem used by Rails that caused a lot of headaches for a lot of people, so it's top of mind for many.
I hadn’t heard of this, I assume you mean https://news.ycombinator.com/item?id=26566925?
> The whole Github/MIT licence scene simply did not exist back in the days, it was either closed source or GPL.
BSD-licensed software, and probably also MIT-licensed and whatever non-copyleft licenses there are, has been a thing for a long time. I distinctly remember seeing discussions and opinions regarding copyleft vs non-copyleft open source in the early 2000's. Aside from BSDs themselves, there have been all kinds of non-copyleft licensed software all along.
It might be that more liberal (i.e. non-copyleft) licenses have been gaining more popularity and that the emphasis has moved from GPL to non-copyleft licensing. It might also be that's partially driven by the dominance Google et al. have on tech culture. But as a whole I'm not sure that hate (if it exists) towards GPL-oriented culture follows from that.
As a stab in the dark, it could also be that there's a new generation of people for whom the older days of the GNU project and the free software movement sound somehow archaic or "not modern" now, or there could be some other kind of a cultural shift. People don't always embrace newer trends because of some kind of a clear economical or other direct motive.
Economic interests of the current powers that be might of course be one of those things that affect cultural changes, but I wouldn't necessarily buy it that it's the only reason.
Lots of random BS on the internet is getting lots of hatred because the entire world has a metric fuckton of stress on its plate and access to a global platform called "social media" with which to try to vent about it as the only thing they know how to do to get through the damn day.
* Global pandemic and uptick in open source contributions
* Elastic/Amazon
* RMS
GPL's often a point of debate due to the virality of the license. AGPL is significantly more problematic due to the risks that it poses to corporations.[0]
IMO, overall this is a net positive, there's a lot more debate on long-term sustainability for open source, and a significant push for more corporate backing.
[0]: https://opensource.google/docs/using/agpl-policy/
Like, if I were a woodworker, and made free chairs... you would be right in complaining if it was full of splinters, if it required you to buy hardware and drills, if it was uneven and clunky. It's a shit chair. There's no dishonor in acknowledging what it is. I would not expect a pat on the back just because I made it free.
Open source software is rarely "here's a free chair, that also doesn't have splinters." It's far more often "Here are some free blanks for a chair I made. It's not totally finished, so you'll probably need to do some work on it yourself. But the joints are easy to dis/re-assemble, so feel free to examine it all and modify or replace them to meet your needs. Also, don't sue me."
In that context, it's much more understandable, not because anyone's wrong per se, but because fundamentally the expectations are mismatched.
It seems unfair to complain that you're getting rough products when you're snatching them off the factory floor -- or out of the design room.
And a street piano you could own... arguably better than merely renting one.
Generosity shouldn't be sneered on, I agree, but we also have to recognize that the audience for our code is significantly broader than it was in the days of the Free Software movement. It all stated as a movement to empower end-users but it seems that end-users sometimes don't always feel empowered by it.
End users who don't feel empowered by freedom aren't entitled to free labor. They should realize that at least they have the option to control the software they use by hiring someone to fix/alter it or learning enough to do it themselves, which is impossible for proprietary software.
Yes, Free and Open Source software can sometimes be difficult to build and set up. This differs from closed-source software only in that closed-source software denies you the ability to build the software yourself. There are still plenty of ways for closed-source software to be difficult to set up.
I don't think anyone is claiming that Firefox, for instance, is difficult to set up.
The tweet misses the point. The choice is not between "hacky, janky free software" and "well-made, professional free software". It's between "hacky, janky free software" and "paid software".
Don't like FOSS? Pay.
That doesn't sound right. If you need a feature to be added to a typical proprietary software product, and you aren't a billion dollar company, you're pretty much out of luck.
With Free and Open Source software, you have a good chance at being able to pay to have the feature developed, perhaps even in-house.
To me in this general form it is a valid observation, not an attack. Especially since quite a bit of published open code chooses that perspective intentionally: Feel free to use it however you see fit, but it was written because the author wanted it to do a specific thing for them and it's on you to make it useful for you. Which is still massively better than if they hadn't published it, but not for every audience, and that's totally fine. It's just something to be aware of. And understandably the messaging around this is mixed, because different authors and communities have different views on this.
A lot of open source software is intended to be used by developers, or, in other words, by someone who knows what they're doing. Not all, of course. There's plenty of open source stuff out there targeted at end users, or at admin-types, non-developers. Much of it is excellent. (In fact, much of it "runs the internet".) Much is not, or is really in a semi-developed state where it needs to be improved by actual developers.
None of this is anything new. You need to be aware of how "ready for use" the open source project you choose is. By the very nature of how open source works, projects are available "in the wild" when they aren't really ready for general use.
My qualifications: I've installed and supported Oracle databases for customers for years and I frequently wished they were Postgres.
Also more expensive pianos generally won't play automatically either and if they did you'd probably pay for them to stop sooner or later.
Software setup and installation is in many ways an art. Sometimes done on site with the customers watching, other times meticulously crafted as install and getting started wizards or whatever.
A developer mindset sees having source access as about developing the software. For an administrator, though, having source access is the difference between fumbling in the dark and looking like a fool (or paying vendor tech support to act like a fool for you) versus being able to look at the code and understand what's happening when documentation doesn't agree with reality, etc.
Many of us are forced to integrate proprietary software. We have to live with the compiled artifacts we're given (for "support" reasons, because license agreements say we can't reverse-engineer/decompile, because we want our Customers to have systems that aren't one-offs that can be supported by the "next guy", etc). When I'm stuck fighting with proprietary software and unable to see the inner workings I find myself pining for free/open-source software.
Some people would look at a free piano as “that would be nice to have because it’s free”.
Clunky free software that needs TLC, but is valuable may still be worth it to the people who care.
So you can make this comparison, but I don’t like the attitude.
From that standpoint, Challenge Accepted.
During this time only 4 external parties have used it afaik:
1) Some CS class at an Indian University.
2) An Indian startup to share physical things freely.
3) A Japanese university doctorate study about analyzing concurrency!
4) A Minecraft map server.
To me this is mindblowing, here you have the simplest and most performant version of the most used protocol on Earth and nobody cares!
Nobody wants to learn!
So yes my app. server is 10x better than than Nginx for joint parallel tasks like a MMO server f.ex.
Try hot-deploying a project to Nginx without the live users having to login again.
You still don't care! :D
I'm just saying that nginx is good enough for most people, and they'd need to see massive improvements to their workflows to change.
I'm a web dev, and I've maintained multiple sites / APIs with nginx (ranging from ~millions of requests per day to virtually unused) and have never found a reason to look for a different webserver.
I've never had an issue with deployment requiring users to log out.
I can only assume you're referring to something in your MMO server use case?
Again - my intent was not to disparage. It was to say disrupting something that's "good enough" requires a massive improvement to the users' lives.