Serious, non-snarky question. If you don't have the ability to modify or interpret the source code due to lack of time or knowledge, what exactly is the benefit?
Serious, non-snarky question. If you don't have the ability to modify or interpret the source code due to lack of time or knowledge, what exactly is the benefit?
- No lock-in, no artificial obsolescence. This is huge.
- Better security: Much lesser risk of backdoors, homecalling "telemetries", weakened crypto, adware
- Ability to pay 3rd parties to perform auditing, bugfixes, improve compatibility, even resurrect dead projects if needed
You don't need prior knowledge of plumbing to try and fix your broken kitchen, specially on today's world, with so much free information available. In a similar way, you don't need to be a software developer to hack your way through and learn how a program works and try to change it.
If I don't check every single compiler and binary I ever run, the second thing is meaningless (open source malware is still malware), and I think Heartbleed is a great counterpoint to Linus' law. Availability of code does not change people's specializations or give them more hours in a day.
The last one is probably the only fair point, but then again, incompatible data formats happen among open source projects too.
> If I don't know how to interpret and write code, the first thing is meaningless to me.
No. Knowledge like, for example, mathematics is unencumbered by patents and accessible to everybody. All humanity, directly or indirectly, benefits from it. Same for the freedom to read and modify code.
> If I don't check every single compiler and binary I ever run, the second thing is meaningless (open source malware is still malware)
Mandatory food labeling, traceability and hygiene standards clearly improve food safety for everybody. Same here.
>I think Heartbleed is a great counterpoint to Linus' law.
Not at all: given enough eyeballs
Besides, perfect security is impossible and some cases of food poisoning don't disprove the effectiveness of food quality standards.
> Availability of code does not change people's specializations or give them more hours in a day.
Availability of code allowed me and others to learn and review code.
> incompatible data formats happen among open source projects too.
Cherry picking again? Deliberate use of incompatible formats in order to create lock-in is very infrequent in comparison with closed source.
Of course open source projects also suffer from bugs and incompatibilities, that's obvious and uninteresting. The point is that when you run into one of those, you have options available other than calling Larry Ellison and begging him to please fix your problems.
Plus you're contradicting your own argument. First you state that open source doesn't matter unless you can personally read and modify the code. Now you state that you're fine with proprietary software, because you only need one of the company's employees to remove lock-ins and fix security holes for you. Which one is it? Do you require being able to solve problems yourself, or can you rely on others?
One way or another, you're always relying on others. The contrived person who audits all their own source for all their apps down to the compiler level does not exist. Systems are too complicated for that.
At that point, the question becomes "who do you rely on?" - and especially given recent history, I'm not convinced that "everyone who knows how to make a pull request" is a better answer than "only the people that made it". Certainly not convinced enough to begin moralizing about software development schemes...
So I'll ask again: What's the benefit to someone who isn't a developer?
There are few cases where freedom 0 exists without the other 3, but one case where that's true is with some of the Microsoft tooling around the CLR. In such cases, I, as someone who doesn't know low-level Windows programming, can't realistically change the software myself, but I could pay someone else to do it. But since I don't have freedoms 1-3, my only option is to pay MS if I want that modification. There is a very small group of people in the world who can afford to pay Microsoft for customizations. So even as someone who would never make modifications to the software, I care (and my boss who wasn't even a developer would care) because we had to work around limitations of our tools rather than paying someone to fix them.
Do you maintain that the user/developer distinction goes away? I don't think it does.
I would argue that wouldn't be sufficient to remove it in practice, since a good part of that distinction is cultural. People aren't taught to interact with their code because most computers are closed systems, making such interaction impossible, and most software is merely a product to be consumed.
Almost no one (understandably) wants to know how to use a c compiler to build the source code for their applications, much less take the time to review and modify it, no one wants to configure and maintain, even in the open source world it's unusual to actually contribute.
However, it would at least be a distinction without a legal difference.
Stallman's ideal world, and by the sound of it, yours, is one in which everyone is a programmer. Put simply, as nice as it would be, this is totally impractical and unrealistic. Opening up a field to all comers does not meaningfully change what people enjoy and specialize in and spend their time on.
I'm more of an open source than free software person, since I don't buy into the fundamental moral argument of free software, but I have to admit I find the general principle that all software should be editable to be appealing. Knowing how to write software and choosing not to, or at least having the choice one way or the other, to me, is better than not having the choice to begin with.
<post type="devils-advocate">
Instead, it's controlled by an unaccountable mass of people who may or may not be working with their best interests in mind. Instead of abusing a user's wallet, they instead abuse their time, attention, or data.Off the top of my head, Ubuntu's Amazon integration, Freedesktop's push to Systemd all the things, Firefox's new page ads...
</post>
The difference between a corporation and a large FOSS project is limited to their goals and probably values. Both are generally subject to a central figurehead or committee who makes all the decisions and chooses how the project will evolve. I can't go propose a change to the Linux kernel unless Linus likes it. I could maintain my own fork, but it would consume nearly all of my free time.It seems to me that all this talk of freedom is mostly philosophical, rather than practical.
But if that change is not that big or fundamental you can still apply a patch with relative ease. Thats already huge compared to most proprietary Software.
> It seems to me that all this talk of freedom is mostly philosophical, rather than practical.
I disagree. It may not be always that easy in practice to take advantage of your freedom but that makes it not worthless. Maybe it's too much work for you to maintain a (partial) fork of the Linux kernel but if you find yourself a group of like minded people it may be perfectly possible. Free software also is by far unable to magically fix all of our societies problems but it is one tiny part of making the world better.