People get angry and frustrated when a big tech company makes a decision that is user-hostile, but benefits the tech company's profits. This is to be expected because in almost all cases, the big tech company has no obligation other than to maximize profits.
The four freedoms help to put a check on the power of big tech companies by providing alternatives that keep power in the hands of the user.
That does not mean that free software and big tech companies cannot coexist or even thrive together. Red Hat was built on free software. System76 sells hardware that runs mostly free software.
The problem with this utopic vision is that the vast vast majority of users have no power over their software regardless of whether it's proprietary or open source: they just don't know how to write software, so the supposed four freedoms are almost entirely lost on them.
The other problem is that it is simply un-economical to imagine a software world that is run non-commercially in the current economical models. Most software would simply not get written if it had to be redistributable for free by every recipient. As it stands, the only economical way of creating free software is as a cooperation project between several commercial entities, who benefit from pooling resources to build common infrastructure - such as the Linux kernel, LLVM and clang, or Kubernetes.
>> they just don't know how to write software, so the supposed four freedoms are almost entirely lost on them.
I don't know how to do car repairs, that's why I hire someone to do it for me.
Software developers can be hired to work on software the same way.
>> it is simply un-economical to imagine a software world that is run non-commercially in the current economical models.
Software freedom does not have to mean non-commercial. Software can respect freedom and still be sold commercially.
>> the only economical way of creating free software is as a cooperation project between several commercial entities
This is not strictly true.
While many large projects have many interested contributors and supporters, some projects are driven by a single company, a small team, or a single person.
> Software developers can be hired to work on software the same way.
No they can't. A car mechanic can fix almost any part of any car, and can do so for the majority of issues in a few hours at most. The majority of issues car mechanics address are also almost identical (scratches on the car, tire issues etc).
In contrast, virtually every single software issue requires a bespoke solution that will take specific knowledge of that specific piece of software. The best Linux kernel hacker will still need to spend days to learn how to fix a bug in GNU sed. And the majority of bugfixes take at least a couple of days of dedicated work, and often require access to the specific environment where the issue reproduces (e.g. particular accounts etc). There are good reasons why this kind of business only works in B2B mode. No single consumer would ever afford the costs.
> Software freedom does not have to mean non-commercial. Software can respect freedom and still be sold commercially.
No it can't. There are 0 examples of GPL software being sold commercially. It is simply impossible to make a business charging money for something your buyer can give away for free in infinite amounts. If anyone ever became successful doing so, someone else would setup a business buying software from them and selling it on at a discount.
What you can do is sell consulting services for free software, but we're back to B2B only.
> While many large projects have many interested contributors and supporters, some projects are driven by a single company, a small team, or a single person.
Single-company projects are only typically free until someone else figures out how to eat their lunch (see AWS forcing Elastic and Mongo to move away from GPL-style freedoms). Small teams and single people developing some software do happen, and there is of course the foundation model (the GNU Project and Mozilla being huge players), but these are more exceptions than the rule. The reality is that even in OSS, most contributors to most projects are companies (either companies selling that same software in B2B settings, or companies selling something else that depends on that software as a component).
>> No they can't. ... virtually every single software issue requires a bespoke solution that will take specific knowledge of that specific piece of software. The best Linux kernel hacker will still need to spend days to learn how to fix a bug in GNU sed. And the majority of bugfixes take at least a couple of days of dedicated work, and often require access to the specific environment where the issue reproduces
You say, "No they can't" and then say it might take a few days. When I stated that I hire a car mechanic to fix my car, I do so because I do not have the specialized knowledge and tools to do it myself.
Software is the same way. If your C software needs a fix, you can hire a C developer to examine it, find the problem, and fix it. Yes, it might take a few days depending on the complexity of the software, but it IS possible and most professional software developers would be able to do it for the right price.
>> No it can't. There are 0 examples of GPL software being sold commercially.
There are many examples of GPL software sold commercially:
>> What you can do is sell consulting services for free software, but we're back to B2B only.
These are not just "support contracts" or "consulting services", they are subscriptions for the software. Support and consulting is usually available to, but at additional cost.
> Software is the same way. If your C software needs a fix, you can hire a C developer to examine it, find the problem, and fix it. Yes, it might take a few days depending on the complexity of the software, but it IS possible and most professional software developers would be able to do it for the right price.
Ok, let me rephrase: the cost will not be something the vast majority of users can afford. It would be a strictly B2B thing, with a few ultra-rich clients using it as well.
> There are many examples of GPL software sold commercially:
Java is free (as long as you don't forget to upgrade). RHEL is completely free, you only pay for a support subscription (and upgrades? I don't remember exactly). I'm not sure what Cloudera is or what they are selling, since the website is terrible, so maybe that's one example?
> These are not just "support contracts" or "consulting services", they are subscriptions for the software. Support and consulting is usually available to, but at additional cost.
Neither Java nor RHEL stop working if you don't pay your subscription: they are support contracts, offering either support for old versions or upgrades.
I should also note neither of them is (normally) sold to consumers - they are both positioned as B2B offerings.
Good response to some points by the sibling. I was going to respond that part of the reason is just that the cost of software is mentally anchored very low for people. Right now Windows 11 Pro license is shown to me as $199, which is enough to pay someone for around 27 hours of minimum wage in the US. Assuming you pay someone closer to $40 per hour, it would be almost 5 hours. Some random Internet websites tell me that typical auto repairs are between $300 and $500.
Cannot 100% vouch for these numbers, but it seems to me that the idea is not as outright ridiculous as you're trying to suggest, if we allow for tweaking economic incentives here and there. To be clear, I am evaluating this as a hypothetical scenario, not a project I am specifically endorsing.
Of course the current situation with consumers getting software for "free" and software developers getting fat FTE paychecks is some sort of a local maximum that would be hard to give up for both groups. But then the grandma that wants you to fix her email client won't be putting you through some ridiculous whiteboard/hackerrank interviews, so there is that. Bugs are mostly solvable with time, tools and attention, not genius.
I was thinking about this some more, and realized also that comparing bugfixing in software to car repairs is a false comparison. When repairing a car, the work is about identifying the ways it differs from the original design, and fixing those (typically by swapping out broken pieces for identical working ones, or cleaning out gunk).
But repairing a bug is not similar to that. It is instead about identifying what is wrong in the original design itself, and how to change the design to eliminate this flaw while not introducing others. This is not like replacing a cracked exhaust pipe, it's like figuring out that the engine isn't getting enough power because the shape of the exhaust isn't appropriate, figuring out the better shape that also fits in the existing fittings, casting a new exhaust with that shape, and then installing it, and making sure you haven't broken some other property. That is all going to cost a heck of a lot more than the typical car repair, and is going to be well beyond what the majority of shops can do.
Interestingly, these kinds of services do exist to some extent (the "pimp my ride" style), but they are far fewer and more expensive than car repairs, and few people have ever used one.
> The problem with this utopic vision is that the vast vast majority of users have no power over their software regardless of whether it's proprietary or open source: they just don't know how to write software, so the supposed four freedoms are almost entirely lost on them.
If you have seen any Stallman talks: The idea here is, that in a society people can help each other out. Non-coders can ask their coder friends to look at things. If it is a bigger job to get some wanted changes, maybe they can pay them to do the change.
How often have you helped a friend by coding a patch for their Linux kernel? Why do you think you would do so more for some random iOS app if you were allowed to?
Software "maintenance" is just extremely hard compared to mechanical maintenance, so all of these arguments fall flat when confronted with any significantly-sized code base.
I'm putting maintenance in quotes for software because that is not what is actually required here. Fixing bugs is not actually equivalent to repairing a physical device. It is equivalent to repairing a design flaw in such a device. Which is of course also way beyond any repair service's abilities beyond the simplest flaws.
Are you in control of your computer, or does your computer control you?
https://youtu.be/Ag1AKIl_2GM?t=57
People get angry and frustrated when a big tech company makes a decision that is user-hostile, but benefits the tech company's profits. This is to be expected because in almost all cases, the big tech company has no obligation other than to maximize profits.
The four freedoms help to put a check on the power of big tech companies by providing alternatives that keep power in the hands of the user.
That does not mean that free software and big tech companies cannot coexist or even thrive together. Red Hat was built on free software. System76 sells hardware that runs mostly free software.