Concern about GNU/Linux becoming more proprietary
After Valve annouced the release of SteamOS I have been pretty concerned about GNU/Linux becoming more reliant on proprietary software.
SteamOS comes with proprietary nvidia drivers by default instead of nouveau and will probably ship with Catalyst in the future too. I'm afraid that this could grow GNU/Linux's popularity but at the same time turn it into an almost proprietary operating system. At this rate OEMs may start adopting free software but start adding proprietary junkware to it. Think of it as how OEMs tend to add more junk to Windows then that would come with a default install from an official Microsoft CD/DVD.
We already have to deal with many annoying firmware blobs. Fully free distros like Trisquel could have already been destroyed if nouveau were to add firmware blobs to their drivers and if Intel were to start blobbing up their graphics drivers too.
Can you imagine the same thing happening but at a userland level? What if it became a trend that programs started depending on nonfree libraries? Even the grow of licenses like BSD, MIT, and even putting programs into the public domain is dangerous. I have seen people want to replace glibc because of the GPL so that proprietary software can run more easily.
I think your concerns are valid, but I'd like to reassure you on two fronts.
1) nouveau is deblobbing, not blobbing up. that is unlikely to change.
2) the only things in userland that will depend on non-free libraries are non-free programs. most FLOSS projects have a committment to their ideals.
Steam existed before SteamOS, nobody's died yet, I don't see this being a problem. As for drivers, yeah, of course they use the official Nvidia drivers, performance is substantially better and newer cards aren't supported by nouveau yet.
Well, if an OEM wanna add crapware that's their right. Much like it's your right to blast that crapware to hell and install another OS or just not buy that computer to begin with.
What do you have against the BSD-style licences? So far as I'm concerned they're far more "free" than the restrictive and copyleft GPL, not to mention a helluvalot easier to read and less open to legalese and interpretation. And they don't attempt any nonsense like the anti-"tivoization" thing.
And absolutely, yes, some projects are running away from GPL software. FreeBSD has replaced GCC with clang, OpenBSD has a policy of avoiding GPL code if at all possible and never relying on it, GhostBSD is going Apache OpenOffice, Android doesn't have a GNU userland at all, etc.
But so far as I can see that has nothing to do with wanting to bundle propriatary software, but rather just that a) the alternatives are better as in the case with Android, or b) because they'd rather use the permissive style license and obviously keep their code under those licenses and not fall victim to any GPL violations, as in the case of OpenBSD and FreeBSD.
I'm unsure what you mean, how would replacing glibc make it easier to run propriatary software?
dudeski, I'll split up my answers.
1. I don't believe OEMs should be allowed to add proprietary software to their computers. It takes away freedom from the computer users. Free software is OK for them to add on.
2. The thing I have against BSD-style and MIT-style licenses is that compared to copyleft licenses is that they allow developers to turn their software into proprietary software. Instead of glibc I'll give another example, let's say Linux was relicensed under a BSD-style license. This would make it significantly easier for developers of proprietary drivers to create them. Meaning that there would be no more glue. BSD-style licenses do not discourage the creation of proprietary software.
Not only "BSD-style licenses do not discourage the creation of proprietary software" but they help it in the sense that permissively licensed code is "something less to implement" from the perspective of a proprietary software developer. That developer can even implement one single attractive feature on top of an application under a permissive license, change that license, and we end up with a proprietary application that has a technical edge over the free software alternative that has just been forked.
The fundamental difference between developers choosing a permissive license and developers choosing a copyleft is that the former are OK with their work ending up in proprietary software, whereas the latter refuse this eventuality.
I can see the benefits of using the GPL for a project as a whole, but I believe permissive licenses (BSD, MIT) work really well for creating libraries that are integrated into bigger projects or to get the widest adoption.
Think of Vorbis. It may be under a BSD style license and while it is true that a company can take it and make it proprietary, but the main project is free software and the permissive license was needed to provide a strong competitor to MP3 by allowing the codec to be integrated anywhere.
I think this page nicely sums when to copyleft and when not to.
https://www.gnu.org/licenses/license-recommendations.html#software
Right, so let me just check if I got your logic right.
1) OEMs should somehow be restricted in what they can and cannot bundle, I would assume by government. Government legislation and restrictions for everybody = freedom. Sure, that makes plenty sense, I'm sure nine out of ten tyrants would agree. So far as I'm concerned that'd just be one more nasty overreach, much like the GPLv3 is overreaching into things it should have no business with.
So far as I'm concerned they can bundle whatever the hell they want, the free market can deal with this one.
2) So what you have against them is that compared to the GPL they have substantially less restrictions and give substantially more freedom. At least in the traditional sense of the word. Of course, if we're operating under the redefining of words from part 1, namely that restriction = freedom, this might be different.
Replacing one nonsensical example with another one then. It wouldn't make a lick of difference, case and point, numerous propriatary drivers already exist, and companies like Nvidia doesn't seem to have any problems churning them out.
Let's also not forget that distros doesn't seem to have any trouble including these drivers. How exactly would a permissive license make any of this easier? Hell, if anything there are more propriatary drivers under Linux than, say, the BSD's, although that is at least partly due to most of them not being compatible anyway.
I'm unsure what "glue" you're talking about.
Neither does the GPL. It just encourages more badly written, less secure and generally more troublesome propriatary software. Whether you consider that a good thing is of course another topic.
I made this post recently:
https://nerdpol.ch/posts/474614
dudeski, I don't care what the "traditional" definition of the word "freedom" is. What matters is what it means today. The relevant definition of freedom is "the absence of necessity, coercion, or constraint in choice or action".[1] In other words, having power over your own life and choices.
You absolutely cannot control your computing without the source code to the programs you run. If you don't have the source code, you don't control your computing; the developers of the software you are using do.
The GNU GPL does not allow you to give a binary to someone else without also offering the source code and the same license to use that source code you got. You say this takes away freedom, but it doesn't; refusing to give someone who receives a program from you the source code is not freedom, it's power over that other person.
The GNU GPL includes a restriction of power, not a restriction of freedom or of the users. You seem to be pretending that every restriction is exactly the same and therefore incompatible with freedom.
Well, if you wanna redefine words in the english langauge, go ahead. I frankly couldn't care less what they mean in your particular alternate universe.
The point is OEMs should have the freedom to bundle whatever they want. And the last thing anyone needs is bullshit government legislation about software. Get a grip on reality, that line of thinking never ends well.
That's a purely theoretical control, nobody inspects all their source code, and very few compile their systems from source. Not to mention there's no control over the hardware layer anyway, so this is already moot.
No, that's the GPL requirement, if you're dealing with GPL code you have to abide by it's restrictions, obviously. Copyleft is perfectly fine if that's what you wanna do, but pretending that a restrictive license is somehow more "free" or has more "freedom" for anyone than a permissive one is just silly.
Restrictions are restrictions. That's all there is to that. Obviously they're not all equal, nor did I ever claim they were.
What the OEM thing above is essentially saying is that people are too damn stupid to know what they want or what's good for them, and as such we must make all things that doesn't conform with one entirely subjective view of the world illegal and abolished. This amounts to taking away freedom of choice.
And I think we all know that if the FSF had their way it'd be illegal to write propriatary software or sell non-open hardware. That's no different from any other tyranny, what you're advocating does indeed amount to forcing "freedom" on people.
"the absence of necessity, coercion, or constraint in choice or action"
Indeed, that does sound like freedom, and even someone as horrid as a hardware store or a programmer should have it.
If they wanna write propriatary software, that's their right. If you don't wanna use it, that's yours.
In regards to your post, yes, of course the GPL doesn't force anything on anyone, as it's up to them whether or not to use GPL code in the first place.
Very much like it's up to us whether we buy a computer from Lenovo or use a system with propriatary components. Nobody's forcing you to use a computer at all, certainly nobody's forcing you to use Windowns.
My objection is simply to the general notion that software should be somehow regulated or that OEMs shouldn't be able to put whatever they want on the hardware they sell.
dudeski said:
> That's a purely theoretical control, nobody inspects all their source code,
> and very few compile their systems from source.
You have freedom if you are *able* to control your computing. You don't have to exercise your freedom to have it. Your statement here is as ridiculous as, "Free speech is purely theoretical, nobody says everything that comes to mind, and very few protest on the streets."
dudeski said:
> If they wanna write propriatary software, that's their right. If you don't
> wanna use it, that's yours.
"Write proprietary software" means "write software and forbid others from doing anything you don't approve of to it". The ability to do this is not freedom, it's power. Using the definition of "freedom" you chose, copyleft means you don't have the freedom to take away other people's freedom. Using that same definition and wording, you could say that you don't have the freedom to kill people.
Being coerced into not doing something isn't inherently evil. Unless you're going to say that laws against arson, murder, and rape are unjust because they take away people's "freedom" to do these things, you can't say that copyleft is bad because it takes away people's "freedom" to take away other people's freedom unless you first establish that taking away other people's freedom is not a bad thing. Of course, you would run into a paradox there, because if taking away other people's freedom is not bad, then neither is taking away other people's power ("freedom") to take away other people's freedom.
"Using that same definition and wording, you could say that you don't have the freedom to kill people."
Your mistake is: writing proprietary program does not force anyone to give away their freedom;
forcing someone to execute it would do (this of course should be forbidden).
And people are in danger to give away their freedom voluntarily. But that's a different issue.
So your analogy is not correct.
So it comes all to the question whether it is ok to sell drugs or not. Or at least the question is similar.
I didn't mean to say that writing proprietary software is similar to murder. I just used murder of an obvious example where not having "freedom" to do it is a good thing.
If you don't want to license your code in GPL, no one is stopping you. Over the past few years with web startups and hot new technology like Node.js, they opt for permissive licenses. They want you to use the code on your servers without restriction or conflict with existing code.
This is the opposite of the GPL licensed software where the copyright holder has an alterior motive to dual license or release GPL code to the public but then offer a propietary license to allow full freedom with the code (like a permissive license) for a fee. If you use GPL code in a company, you are legally forced to contribute code (that may have modifications you don't want to move back upstream) and most employers don't want that.
You then ask yourself "OMG THEY ARE A STARTUP AND ARE SMALL BUT RISK HAVING A BIG COMPANY STEAL THEIR CODE AND CLAIM THEIR OWN AND MAKE IT NONFREE DUE TO A MIT LICENSE" and then you realize that most people would rather contribute back to an existing and thriving code base instead of forking it unless they have the resources and generally feel they can improve upon it.
By using a non-GPL license, you also increase your adoption and can play well with the BSD crowd as they generally do not like the GPL and will not use it unless it is absolutely necessary. That is all changing though as the next FreeBSD replaces most GPL components like GCC with Clang.
"If you use GPL code in a company, you are legally forced to contribute code (that may have modifications you don't want to move back upstream) and most employers don't want that."
Not true...
Hasn't this been explained to you before? The GPL never requires you to share anything. That would be a proprietary license. You are only required to share the source code with people you share the program with in the first place.
Exactly. If you use GPL code in a program you are looking to distribute and potentially sell, you are required to provide the source to the code that you may have modified. If you didn't modify the GPL code, then its pretty stock. If you did modify the code, you have to release it.
В 15:54 +0100 на 18.12.2013 (ср), name at domain написа:
> If you did modify the code, you have to release it.
You have to release it, if you distribute copies of the modified
version. If you are using it yourself you don't have to. If you share
the modified version with someone, you have to give him/her the source
of the modified version. You are practically releasing it to the public,
though the public in this case is one person.
В 04:47 +0100 на 18.12.2013 (ср), name at domain написа:
> This is the opposite of the GPL licensed software where the copyright holder
> has an alterior motive to dual license or release GPL code to the public but
> then offer a propietary license to allow full freedom with the code (like a
> permissive license) for a fee.
Excuse my language, but as usual absolute crap. Permissive licensing has
a loophole - proprietary software can be created out of it without
restriction. That is the opposite of free software. You want to use
permissively licensed code so you can do proprietary software out of it.
That is all about. Nothing more nothing less. You want to modify the
ready product, lock it down and sell derivatives.
An author of GPL licensed code might or might not want to dual license
and or sell proprietary licenses. I'm sure that there are such projects
(AFAIK the term is open core), but the majority of the GPL released code
is available only under GPL and no proprietary licensing is available.
Don't make things up.
We know it is all about using the free (in terms of time and money)
code, having monopoly of the improvements and talking about "being
competitive". The freedom of a project is admired and appreciated,
referred to as cool by proprietary companies/developers, but
improvements must be kept in their proprietary versions only. Because
they say, they've invested time and money and they must protect their
investment. That is partially true. What about the investment that lead
to the free free software project that they based their work on?
Hypocrisy and double standards.
The full freedom of permissive licensing is an illusion. For just a few
cycles it can become completely proprietary. Those are historical facts.
Most of proprietary software based on free software is build upon
permissive licenses - just because the license allows it.
The GPL is "restrictive" to the "full freedom" just to keep the software
available forever free (as in freedom).
Sell me the air why don't you?!
Regards,
Yes, it is true that a permissive license does potentially allow a company to make it proprietary, but as I said before, if the project is big already, most would rather contribute back to the main project instead of forking or making proprietary.
Why do you care if someone makes a non-free fork of Node.js if you can always get the free version of it?
Because with almost no effort (developing one additional feature), the proprietary derivative becomes technically better than the free program. That obviously does not help the users to embrace free software.
В 15:57 +0100 на 18.12.2013 (ср), name at domain написа:
> make it proprietary, but as I said before, if the project is big already,
Software is essential to computers. Without it they are just pointless
electricity consumption device or scrap if not plugged in. The capabilities of a computer are determined in software on 90-98 percent. The rest is electronics. That is why software is important and why we need free software.
Software cannot be measured in big and small terms. It can be small as
a code base, but it might solve important tasks.
> Why do you care if someone makes a non-free fork of Node.js if you can always
> get the free version of it?
If the proprietary version has useful technical improvements, the people
most likely will prefer the proprietary version and it will became
widespread. Then an employee or a freelancer developer would be forced
to use the proprietary version because the employer and/or the client
would want to have the super-uber-cool™ (just kidding;)) feature of the
proprietary version - "Just like in site/program X". This is somehow out
of the scope and the understanding of free software as a "non-commercial" community projects.
@dudeski:
- You seem to care about the OEM's freedoms! The free software movement cares about the users. And, yes, they need not be protected against evil bundle in the same way that consumers have the right to know what they eat. Do you consider that the food sellers lack freedom because they must respect sanitary norms, must indicate the composition, etc.? Today, most of the computer can only be purchased filled with proprietary software that harms the user's freedoms. Many of the applications are not even mentioned before the purchase. And it is close to impossible to have those applications refunded (not even to mention, to buy the computer without them in the first place). It definitely is a problem. It even has a name: tying.
- You basically write that "being allowed to deny your users the freedoms you received" is a "substantial" freedom! Well... no!
- You pretend onpon4 "redefine words in the english langauge" when he actually cites the dictionary! Freedom *is* controlling one's own life.
- As I wrote earlier, permissively licensed code helps the proprietary software developers: it is "something less to develop". Copyright has no effect on what you can bundle. No effect at all. You can always put any two works together. Whatever their licenses. If you put a painting in the same room as the Mona Lisa, Leonardo da Vinci does not become his author!
- You seem to care about having better (more secure, etc.) proprietary software. The free software movement cares about users' being able to escape proprietary software without losing too much convenience: the worse the proprietary software, the better!
- You pretend that because "nobody inspects all their source code, and very few compile their systems from source", then free software cannot be an exigence. Well, it can. And you forget that the work you mention is done in community. That is even part of the free software definition (freedom 3). Even if you cannot read code, you can trust a free software program because other users, who are programmers, can (and some do as long as the program is a little popular) inspect it.
If Steam (or whatever the company behind it is called) violate the GPL, that would be great; someone can have lots of fun suing them, and try to get a huge amount of money out of them; which can be donated to the fsf.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 2013-12-16 18:59, name at domain wrote:
> After Valve annouced the release of SteamOS I have been pretty concerned about GNU/Linux
becoming more reliant on proprietary software.
> [...]
On Steam + Debian, this post recently was on Debian Planet:
http://richardhartmann.de/blog/posts/2013/12/14-SteamOS/
Quoting:
"In time, a substantial part of that [gamers] userbase will switch over
one or more of their machines over to SteamOS.
The tinkerers among them will realize they can install plain Debian and
install Steam as a package.
The hackers among those will start to improve upon their systems; and
what better way to do that then to go upstream?
If even a tiny fraction of users makes it this far, the count of
actively involved contributors with Debian will skyrocket if we let them
join. Raspbian and some other not-quite-ideal decisions come to mind."
Proof of this already happening:
http://www.reddit.com/r/linux/search?q=steamOS&restrict_sr=on&sort=top&t=month
It's up to us to remind any new SteamOS+Debian user that it depends on
software freedom, and that it should remain a goal.
F.
- --
Fabián Rodríguez
http://fsf.magicfab.ca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: PGP/Mime available upon request
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlKwNCEACgkQfUcTXFrypNUyaACgjuCTN/zX7Lbr27CSWl0I/UXw
4t4Anit8dWiyYZ8HWACTujfP+paCCD62
=sO8C
-----END PGP SIGNATURE-----