There are far, far more users in the world than there are developers.
There are far, far more users in the world than there are developers.
- prevents power users from getting in touch with the original developers and becoming active contributors (testing, bug reporting...)
- discourages users from learning to code
- prevents power users from getting features / fixes / security updates from the original developer
- removes the opportunity for the original developers (and others) to receive donations from the users or be paid to work on the project
- fragments the community
If more people were educated in the basics of software development, enough to help them in their chosen profession and to understand the technology around them, those people wouldn't be so easy to abuse in the first place. Basically this line of thought is a huge mistake, playing on the tune of the software companies and state agencies that abuse people and break their freedoms.
And in fact, I'm pretty sure that Stallman disagrees with you. After all, this distinction is why he was pissed off and started GNU and the GPL in the first place ;-)
Who cares about source code? Not most users.
If the aim was to make software that's easily user-modifiable - user-modifiable, not developer-modifiable - free software has been a complete failure.
There's certainly a net benefit in distributing software with free access to source code so it can be modified by experienced developers.
But that has never been Stallman's stated aim. If Stallman and the FSF really cared about users - not developers - they'd have spent more time creating software systems that were user-editable.
In fact the industry, including Stallman, has stampeded in the opposite direction.
It's harder for ordinary users to make modifiable software now than it's ever been in the past. We no longer have HyperCard, VB and VBA are dying arts, and the insides of all operating systems - including Linux - are absolutely horrible environments for non-developers to work in. We don't even have BASIC or those make-your-own game systems we had in the 8-bit days.
Those were bare minimum systems. Has it really been impossible to invent something better for more than 30 years?
No one knows. But for all the rhetoric, the question interests Stallman as little as it interests the rest of the industry.
Politics sometimes stops the hackablity https://news.ycombinator.com/item?id=8861360
That's not correct. People care about their problems being solved. Hence they care about the source code implicitly.
When my car is broken or needs an oil change, I don't do it myself, I take it into a car repair shop and I like the freedom to go to any car repair shop I want, because those folks from our local Peugeot representative charge an arm and a leg.
That's how freedom works dude ;-)
I agree with bad_user that they care implicitly. They care when Oracle is gouging them at $40-70k when it could be free to $5k. They didn't like Microsoft taking away their start button, which was easy to bring back for FOSS GUI. Many didn't want to spend much on a computer for basic tasks, which Linix distros on Netbooks helped with. Many wanted more or specific applications for their smartphones, which Android lets you have. Many want their OS to not spy on them like Windows 10 does, which requires being able to inspect or modify it.
So, they care. They just rarely see it put in terms they understand. Whenever I do, they always support the alternative even if they won't buy it occasionally due usually to backward compatibility with locked-in stuff (eg Office, Oracle, SAP) Stallman warned about or just their personal preference (eg iPhone over Android).
"If the aim was to make software that's easily user-modifiable - user-modifiable, not developer-modifiable - free software has been a complete failure."
Yeah, that's true. It also, as you note later, hasn't been easily developer-modifiable either with how they write it. One of reasons for LLVM's existence was how much of a pain it was to work with GCC. And all kinds of people want to improve FOSS software but few can or do. The dream and reality are quite different.
Mot users probably don't know that it's something to care about.
> There's certainly a net benefit in distributing software with free access to source code so it can be modified by experienced developers.
Even if a user is unable to do modifications himself, there is still a huge indirect benefit because he can use modifications others make or he may hire somebody to do modifications.
> But that has never been Stallman's stated aim. If Stallman and the FSF really cared about users - not developers - they'd have spent more time creating software systems that were user-editable.
The stated aim is to make it possible to freely share and modify software, not to make everyone an expert in the field. Sure educating people and lowering the barrier at some points would perfectly align with the goal of free software but it's still something different.
> Those were bare minimum systems. Has it really been impossible to invent something better for more than 30 years?
Also a lot less capable systems.
The discrepancy would be even higher if you hinder the ability for developers to earn money through the GPL. Money has to come from somewhere, usually that is non-free software or ads.
I wonder how much free or open source software is truly independent of non-free software. I would argue almost none. Many OSS developers work at a company producing non-free software, enabling them to create free software in their free time. The big foundations are supported by the big software companies. Most companies producing free software do so for a market of non-free software developers.
If you decrease the freedom of developers you also decrease the ability for users to do anything, because there would be much less software. Software would be a small elite circle.
The world is a complex place, fundamentalism very rarely accounts for that.
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?
<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.
So I'll ask again: What's the benefit to someone who isn't a developer?
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.
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.
- 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
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.
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...
> 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.
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.
Without developers choosing BSD or MIT over GPL, GPL loses some of its influence.