LWN.net Logo

FSFLA: Linux kernel is "open core"

FSFLA: Linux kernel is "open core"

Posted Nov 9, 2010 4:33 UTC (Tue) by cmccabe (guest, #60281)
In reply to: FSFLA: Linux kernel is "open core" by lxoliva
Parent article: FSFLA: Linux kernel is "open core"

Let's go with the definition that's in the announcement itself.

> Free Bait, or Open Core as first coined by Andrew Lampitt, is a
> licensing strategy that combines Free and non-Free Software: the
> distributor offers, under non-Free terms, premium features that are
> not available in the Free, typically copyleft, core. The original
> definition, presented in the context of deriving benefits such as
> profit or code contributions, may appear confusing because it
> conflates non-Free with commercial, but Free Bait does not mean
> selling additional permissions to the same code, letting others offer
> non-Free extensions, or offering Free extensions to paying customers.
> Rather, it means that a community member or distributor of the Free
> core also offers non-Free extensions to go with it.

Ok. So this definition deliberately obfuscates the difference between a project that *requires* a proprietary add-on, and a project that simply offers the ability to interoperate with existing proprietary software or hardware. I do not feel that your definition of Open Core is useful or widely accepted.

But let's follow this definition and see where it leads us. Are any GNU projects actually "FSFLA Open Core"?

Consider Gimp, the GNU Image Manipulation program. Gimp has features that allow it to run under Windows. Is Windows Free Software? No, it is not. Does running Gimp on Windows offer features that are not available if Gimp is run on other operating systems? Yes, it does. Certain printers, tablet input devices, and other hardware only have Windows drivers. By using the combination of Gimp and Windows, the user gains additional functionality. Therefore, Gimp is "FSFLA open core". Shock, horror!

The fact that you can run Gimp on operating systems that are Free apparently doesn't matter to the FSFLA. You can use the Linux kernel without binary blobs, too. The fact that the folks behind Gimp don't encourage you to use Windows or profit from Windows doesn't matter at all. Linus doesn't encourage or profit from binary blobs, either. The fact that Windows is an operating system, and Gimp is an image editor-- the "mere aggregation" of two unrelated products, as copyright law would have it, apparently doesn't matter either. Binary blobs loaded on firmwares are not derived works of the Linux kernel, either.

By this definition, any program that interoperates with proprietary software in any way-- any program that runs, or could be run by some "community member or distributor" on a proprietary platform, is "FSFLA open core."

Therefore, I claim that *all* FSF projects are open core.

Even GNU Hurd can be run inside a proprietary VMWare virtual machine. You will gain additional, premium features by doing this, like the ability to debug kernel crashes while running other programs on your computer. If you like, I will ship you a CD that contains both GNU Hurd and VMWare, hence tainting it forever in the eyes of the faithful. Are we done now?


(Log in to post comments)

FSFLA: Linux kernel is "open core"

Posted Nov 9, 2010 14:11 UTC (Tue) by lxoliva (subscriber, #40702) [Link]

Offering the ability to interoperate is not the problem. It's inducing users to get caught in a proprietary trap that makes it bait. It's offering the combination that makes the *combination* fit Free Bait/Open Core. See, it's covered in the definition: letting *others* offer non-Free extensions is not Free Bait/Open Core, as clarified in the announcement, a clarification drawn from Aslett's referenced article.

FSFLA: Linux kernel is "open core"

Posted Nov 9, 2010 15:54 UTC (Tue) by BenHutchings (subscriber, #37955) [Link]

Where is the trap in a graphics or network card that requires proprietary code loaded via the driver? I can replace it with another graphics or network card. There isn't the same 'lock-in' that exists with some software applications. And to the extent that there is dependence on a vendor-specific feature, this is an attribute of the hardware, not Linux.

FSFLA: Linux kernel is "open core"

Posted Nov 9, 2010 19:11 UTC (Tue) by lxoliva (subscriber, #40702) [Link]

Network controllers are increasingly tied to the motherboard chipset, and value and compact mobos have few expansion points. For graphics, the prospect is even worse: AMD increasingly tying their CPUs to ATI GPUs, Intel exploring similar paths, and nVidia getting their own x86 CPU designs to be able to do the same. How long you think you'll still be able to "just" replace these cards?

FSFLA: Linux kernel is "open core"

Posted Nov 10, 2010 9:50 UTC (Wed) by mpr22 (subscriber, #60784) [Link]

How long you think you'll still be able to "just" replace these cards?

For as long as you need a separate graphics card to play flashy proprietary 3D games at 1920x1080 high detail 60Hz. On-board CPUs tend to suck at that, because they're almost invariably sharing the host RAM with the CPU.

FSFLA: Linux kernel is "open core"

Posted Nov 10, 2010 20:50 UTC (Wed) by cmccabe (guest, #60281) [Link]

First of all, I notice that you didn't reply to my central point: that all the FSF's projects are "FSFLA open core".

> Network controllers are increasingly tied to the motherboard chipset, and
> value and compact mobos have few expansion points. For graphics, the
> prospect is even worse: AMD increasingly tying their CPUs to ATI GPUs,
> Intel exploring similar paths, and nVidia getting their own x86 CPU
> designs to be able to do the same. How long you think you'll still be able
> to "just" replace these cards?

From the perspective of freedom, Intel's drivers are a lot better than NVidia's. Some companies are indifferent towards open source drivers, but NVidia is actively hostile. Their driver contains a binary blob that's loaded into kernel space and interacts with X.org and other subsystems in very unwholesome ways.

Running closed-source firmware inside a sealed device is just not a big deal. Yes, we would all prefer if the firmware was open source, but that's not likely to happen in the near future. The important thing for freedom is the interfaces presented to developers and users. Proprietary user interfaces and APIs limit users' freedom by encouraging them to depend on non-free code.

The FSF's position on firmware is inconsistent. At various times, I have seen comments to the effect that if the firmware was implemented in hardware, or if it were burned into the chip and unchangeable, it would be ok. However, let's be generous and assume that the FSF just wants the code, all the code, all the time. Ok, fine. Even if they gave you all the code, you would need the circuit specifications in order to make any use of it. And even the circuit specifications are unusable without a chip fabrication facility. And that is unusable without...

And so we encounter an infinite regression that finally ends up with the perverse conclusion that nothing is truly free software. This is pure silliness. In practice, not having circuit schematics or firmware source code has not prevented great open source drivers from being written, and these drivers do promote the open source cause.

FSFLA: Linux kernel is "open core"

Posted Nov 11, 2010 4:29 UTC (Thu) by lxoliva (subscriber, #40702) [Link]

> you didn't reply to my central point: that all the FSF's projects are "FSFLA open core"

I did. Upthread I wrote “It's offering the combination that makes the *combination* fit Free Bait/Open Core”.

As for promoting the open source cause, I don't dispute that a number of undesirable behaviors do. But that's not the cause I'm interested in. My cause is that of the Free Software movement, a cause concerned with the lack of ethics in denying users control over their computing, and the freedom to help their neighbors.

It is probably true that in your infinite regression, founded on open source ideas, you'd conclude that nothing is truly open source, because you don't seem to be taking the ethics into account.

Only when you do will you realize that, from an standpoint that takes both practical and ethical concerns into account, e.g. being denied access to source code of ROM or a hardware circuit doesn't make it any more difficult for you to adapt the device so that it does what you wish than if you had source code.

Once you see that difference, you might realize that software freedom may indeed exist, even when a piece of hardware is, well, hard-coded and opaque.

That's not to say that its being hard-coded and opaque is desirable, but it's outside the scope of Free *Software*, and, until duplicating hardware is as easy as duplicating software, it will be a lesser issue, in practical and ethical terms. IMHO ;-)

FSFLA: Linux kernel is "open core"

Posted Nov 11, 2010 17:48 UTC (Thu) by vonbrand (subscriber, #4458) [Link]

If just using a device with firmware in ROM is what you are after, surely having to place said firmware into the device's RAM doesn't detract one bit of your use of the device. It really does make you freer, as you have the option of placing other firmware on the device (which you haven't if it is ROM).

FSFLA: Linux kernel is "open core"

Posted Nov 12, 2010 3:30 UTC (Fri) by cmccabe (guest, #60281) [Link]

> It is probably true that in your infinite regression, founded on open
> source ideas, you'd conclude that nothing is truly open source, because
> you don't seem to be taking the ethics into account.

My argument wasn't about the definition of "open source"; it was about the definition of "FSFLA open core," a very poorly thought-out concept.

You may argue that distributing the closed source binary blob makes the kernel FSFLA open core. But as I'm sure you're aware, not all firmwares are contained in the Linux kernel; some have to be cut out of the Windows driver or downloaded from the manufacturer's web site. It should be obvious to anyone that these are no more or less free than the others.

> Only when you do will you realize that, from an standpoint that takes both
> practical and ethical concerns into account, e.g. being denied access to
> source code of ROM or a hardware circuit doesn't make it any more
> difficult for you to adapt the device so that it does what you wish than
> if you had source code.
>
> Once you see that difference, you might realize that software freedom may
> indeed exist, even when a piece of hardware is, well, hard-coded and
> opaque.

How about a standpoint that takes logic into account? Allowing users the freedom to load new firmware on their devices gives them more freedom, by any reasonable non-Orwellian definition of the term, than disallowing firmware modification.

You should be embarrassed to promote the concept that locked-down devices, that can't be modified once they leave the factory, are better for the cause of open source than modifiable ones. You should be ashamed of attacking open source projects for doing what you also do-- allowing users to interoperate with non-free code and hardware. And you should realize that ridiculous announcements like this are destroying any credibility the FSF has left.

FSFLA: Linux kernel is "open core"

Posted Nov 12, 2010 5:07 UTC (Fri) by lxoliva (subscriber, #40702) [Link]

> it was about the definition of "FSFLA open core," a very poorly thought-out concept.

Or rather poorly understood.

You seem to be dismissing that, in order for the combination of Free and non-Free Software to fit the Free Bait definition, the non-Free add-on must be offered by a distributor or contributor (community member in the announcement) of the Free core.

So, if we don't distribute the non-Free add-ons, we don't engage in Free Bait. If someone else who participates in Linux-libre did offer the combination, he'd be engaging in Free Baiting. A third party that offered only the add-ons would be just a regular non-Free Software distributor.

As for allowing users any freedom, I don't understand what that means. I'd understand *respecting* users' freedom, and we certainly don't fail to respect any such freedoms, because we don't prevent users from exercising the freedom. We don't set roadblocks, we just refrain from helping them get themselves trapped. If they install the non-Free software themselves, be it drivers or firmware, we won't stop them from running it (although, for current technical limitations, users might have to install a separate Free driver in order to use the corresponding non-Free firmware). That's not an attack on anyone's freedom, although some might resent the inconvenience.

As for embarrassment, you should be embarrassed of parroting this straw man one more time. After my stating several times that I don't hold that position and explaining why, you're just showing that you're not paying sufficient attention. If you want to take part in intelligent conversation, please pay some more attention.

FSFLA: Linux kernel is "open core"

Posted Nov 10, 2010 18:45 UTC (Wed) by cmccabe (guest, #60281) [Link]

> Offering the ability to interoperate is not the problem. It's inducing
> users to get caught in a proprietary trap that makes it bait.

So when it's a project you're associated with, adding these features is "offering the ability to interoperate." When it's someone else's project, it's "inducing users to get caught in a proprietary trap."

Inducing users to use Windows is much more of a trap than inducing them to use a certain network card, which they can always swap out for a different card. Swapping out network cards is literally a 5 minute process; switching operating systems could take months or years for an individual or organization to fully accomplish.

FSFLA: Linux kernel is "open core"

Posted Nov 11, 2010 4:17 UTC (Thu) by lxoliva (subscriber, #40702) [Link]

It seems that we're miscommunicating. In the English I've learned, inducing doesn't mean tolerating whatever unfortunate choices your party may have done, but rather trying to influence your party into doing something they might not have chosen to do otherwise.

So, if the kernel works with what the user chose, no problem in the kernel. But if the kernel asks the user to install something that's known to be non-Free Software, and refuses to work until the user complies, there's a freedom bug in the kernel.

Similarly, Free Software that works on Windows is tolerable, but Free Software that, if started on GNU/Linux-libre, demands the user to install Windows isn't.

FSFLA: Linux kernel is "open core"

Posted Nov 11, 2010 6:32 UTC (Thu) by sitaram (subscriber, #5959) [Link]

Usually the "user chose" the hardware already, and then it's either use the kernel because it has some blobs that help you use it, or not use Linux at all.

In an ideal world, people would say "oh, Linux doesn't work with this, so I wont buy this hardware". In the real world, they shoot the other way.

You cant call that inducing anymore than having a Windows version of GIMP is inducing the person to use Windows.

FSFLA: Linux kernel is "open core"

Posted Nov 11, 2010 6:56 UTC (Thu) by lxoliva (subscriber, #40702) [Link]

> Usually the "user chose" the hardware already

If that is so, that's a reality we'd better try to change.

A number of people at least try a 100% Free distro before buying a computer or peripheral device. If more people did this, we'd see fewer users trapped to hardware that deprives them of freedom.

Now, if the hardware was already chosen and it can't be returned, the goal becomes to avoid spreading the mistake. If the user remains unaware that the device is a programmable computer programmed to control her and limit what she can do with it, odds are she will recommend it to others, so that's an argument against making it just work. Some slight inconvenience, such as requiring drivers and firmware to be obtained from the vendor, media, a third-party repository, and having to do that every time the system is reinstalled, will not prevent the user from using the device she's stuck with if she wants to, which is ok since the harm is already done and the monster is already fed, but it will help avoid the repetition of the mistake when the user upgrades or replaces the computer.

The approach taken by Linux-libre is a bit better than that, in that the driver will recognize a device that requires non-Free firmware instead of silently failing to work, and userland can then explain the problem to the user, and then the user can make an informed decision as to whether to seek a Free driver that will work with the non-Free firmware, or refrain from installing non-Free Software on their system, perhaps by replacing the hardware component.

FSFLA: Linux kernel is "open core"

Posted Nov 11, 2010 10:32 UTC (Thu) by cesarb (subscriber, #6266) [Link]

A point many people are trying to make here is that this is a tactical mistake.

> and then the user can make an informed decision as to whether to seek a Free driver that will work with the non-Free firmware, or refrain from installing non-Free Software on their system, perhaps by replacing the hardware component.

There is another option you seem to be ignoring: the user can refrain from using free software on their system, and go back to whichever operating system they were using before. And the user will recommend against free systems to others.

There is a reason the most popular distribution makes it easy (though I think it makes it too easy) to enabled closed drivers when the open option is not available (or sometimes even when it is). It is a bait: by making the distribution work very well, even if they have to sacrifice a bit of purity, they entice the user to use more and more free software instead of closed alternatives.

Yes, it is a bait, used in the exact opposite direction that you are fearing: instead of luring users to non-free, they are luring users to free.

FSFLA: Linux kernel is "open core"

Posted Nov 11, 2010 11:28 UTC (Thu) by sitaram (subscriber, #5959) [Link]

> Yes, it is a bait, used in the exact opposite direction that you are fearing: instead of luring users to non-free, they are luring users to free.

dang... that is what I was trying to say but you said it much better!

FSFLA: Linux kernel is "open core"

Posted Nov 11, 2010 11:55 UTC (Thu) by lxoliva (subscriber, #40702) [Link]

Enabling non-Free drivers and firmware is a growing problem. They're growing faster than the Free parts of those systems. They send users a message that it's ok to accept software that denies essential freedoms. That reasoning accummulates, and from few pieces of firmware under Free licenses and with sources, we went to tons of pieces of firmware under non-Free licenses, without licenses, without sources, while still pretending to be Free. Distros add non-Free drivers on top of that, and often non-Free applications. The set of non-Free firmware, drivers and applications is growing over time and, per your reasoning, that would be the right thing to do to avoid sending users away.

At this rate, eventually, we'll have a proportionally thin layer of Free Software surrounded by non-Free drivers and applications, and then I wonder whether you'll be asking yourself what the point was of trying to convince users to switch from one non-Free system to another in the first place.

Me, I prefer to tell users about software freedom first, get them to realize it's important, and make them jump when they're ready to. I don't fault any victims for finding out their current computers are enemies of their freedoms, or for installing pieces of software that will make them work as they wish, as long as they're aware of the problem and display an interest in correcting the purchasing mistake next time. If they're not interested in freedom, what's the point of suggesting them to go through the trouble of replacing one non-Free system with another? They might as well keep on using the non-Free system they're used to, perhaps with a bunch of Free Software applications that run on it. Yeah, they won't be as Free, but remember, in this case they were not interested in freedom.

FSFLA: Linux kernel is "open core"

Posted Nov 11, 2010 13:48 UTC (Thu) by cesarb (subscriber, #6266) [Link]

*scratches head*

I think this post of yours is perhaps the one which explains your position the clearest.

But it sounds as if you believe non-free is some sort of cancer which will spread if given even the thinnest of wedges, and push free software into the tiniest of niches. I am not that pessimistic.

I believe that, instead of only allowing a perfect system with no non-free components, it is better to attack on multiple layers at the same time, while accepting some temporary imperfection. While one team deals with freeing the core of an operating system kernel, another set of teams can deal with freeing the drivers, yet another set can deal with freeing the firmware, and in a corner another team is working on creating completely free hardware, and so on, all working independently and at the same time. Each team has to allow for some non-free parts while good free alternatives aren't available.

I also do not think the situation is getting worse. For a while, you had to use closed-source drivers if you wanted decent 3D acceleration on common desktops; nowadays, we are near having free decent 3D acceleration on common desktops, both with help of hardware vendors (AMD and Intel) and via sheer reverse engineering (nVidia). The situation with wireless drivers is similar; nowadays, even Broadcom has started helping (see http://lwn.net/Articles/404248/). The synergy advantages of free software start showing; with the free graphics drivers, we have kernel modesetting, and now even the kernel debugger can work with them. And I do not doubt that, as soon as nouveau is good enough that people do not feel the need to install the "official" nVidia drivers, the mechanisms which make the non-free driver easier to install will start to get neglected.

Finally, I do not think we must tell users about the philosophical side first. I myself started by using DJGPP, and only later learned of the philosophy. If you force users to learn about software freedom first, you will lose a lot of people who would learn about it later. And even if they do not learn or do not care about it, isn't it better, if only because of the network effects, that they use free software, even if only for part of their needs?

FSFLA: Linux kernel is "open core"

Posted Nov 12, 2010 2:57 UTC (Fri) by cmccabe (guest, #60281) [Link]

"The perfect is the enemy of the good."
- Linus Torvalds, quoting Voltaire.

FSFLA: Linux kernel is "open core"

Posted Nov 12, 2010 3:25 UTC (Fri) by lxoliva (subscriber, #40702) [Link]

> you will lose a lot of people who would learn about it later

Can't lose something I don't have.

> isn't it better, if only because of the network effects, that they use free software, even if only for part of their needs

For themselves, yes, it's better. For the Free Software movement, I'd say it isn't: if they're taught that short-term practical reasons are the reason to try Free Software, that will also get them away from software freedom when short-term practical advantages are present in non-Free Software. If they're taught that sacrificing their freedoms is ok, that's what they will do when offered bait that shines of short-term practical reasons. I.e., just when we'd most need them to stand firm with us for software freedom, they'd detract, because they haven't got the right message.

It is true that a few of those who start by learning the short-erm practical advantages will see through that and find out about the deeper, long-term practical and ethical reasons. But a majority doesn't. And when the majority doesn't stand for our values, our whole community is vulnerable: we lose, because the network effects, instead of favoring our goals of eliminating the non-Free Software oppression, play against them.

I wish I was just pessimistic, but a “social experiment” started in 1998 shows just how perverse that is. A group you might be familiar with launched a campaign to promote Free Software on its short-term practical benefits, leaving ethical values out of the picture. It got very popular, and the result is that a lot of software those who subscribe to that ideology produce is not quite Free, and many of them will attack and ridicule those who stand for software freedom.

I'd much rather the Free Software movement had grown slowly but surely, just not as slowly as it does now because of the detrimental effects of that campaign.

FSFLA: Linux kernel is "open core"

Posted Nov 12, 2010 3:38 UTC (Fri) by lxoliva (subscriber, #40702) [Link]

> it sounds as if you believe non-free is some sort of cancer

I don't, and the difference is quite significant.

Cancer is a natural, biological phenomenom. As harmful as it is, it has no will of its own. The damage is not intentional, so it's not unethical, and there's no economic drive for the cancer to spread the harm.

Depriving others of software freedom is an artificial phenomenom. Many who engage in such a harmful practice do so intentionally, so as to obtain an economic advantage, including power over others. That is unethical, and the gained advantages imply it will tend to grow and concentrate power unless it meets strong resistance that renders the unethical behavior disadvantageous.

The Free Software movement is a movement to build up that resistance. Please help us!

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds