Linux Drivers Part of Kernel for GPL?

When a product is shipped which uses Linux internally, are the various drivers required to control the hardware part of the Kernel as far as GPL goes?

I'm wondering how much of the product has to be opened up and provided to a user on request?

--

Rick
Reply to
rickman
Loading thread data ...

This post is not legal advice and is only intended as a guide and may be radically in error. Caveat reador.

Here is what Linus has to say on the subject:

formatting link

You may be able to minimize the kernel loadable modules to have no proprietary information and use a middle layer for that, which is in user space.

For example, Total Phase makes a USB CAN interface - the Komodo - that uses a binary-only .so for the interface - the only drivers needed are the stock USB drivers.

Chances are you can do the same - you can leverage existing SPI and I2C drivers, USB, what have you. There are others; drives for Linux are numerous.

Chances are you can do same unless you have some bizarre hardware interface. And in that case, simply implement it with some other "operating system" first, then port to Linux.

None of it, SFAIK. It's not between you and them, it's between you and the Linux kernel community. They're not party to that relationship.

If nothing else, declare it trade secret.

You should get whoever your corporate counsel is to help you design a written policy because you shouldn't take legal advice from Usenet.

--
Les Cargill
Reply to
Les Cargill

I was not clear in my question. I am not looking to build such a product, I am considering what parts of products I might buy can be locked away.

Specifically, someone said about an embedded product, "Yes, I heard that it always was on some form of Linux, but AFAIK its some secret proprietary flavour." I'm trying to understand what that might mean.

I don't think you can make it a trade secret if it is covered by the GPL. Doesn't that require that anyone in possession of the code be able to share it freely? Or am I mistaken about this and it only requires that source be available with the executable?

--

Rick
Reply to
rickman

Sorry - I *ASS*umed you were posting from the role as a developer. :)

I am not looking to build such a

It's hard to say what that means. If you're a customer, you'd then need to make sure there's an escrow plan to make sure you're not stuck. That might be as simple as a .iso of a FLASH image.

There's not a compelling reason not to use a stock distro ( the one that comes with your eval board is an excellent choice ) for embedded and then add custom startup and kernel loadable modules.

Yeah, it's weird. You can have trade secret in opaque blobs. It's a bit rude, but it's doable.

I am no expert on the details of GPL compliance.

formatting link

--
Les Cargill
Reply to
Les Cargill

I'm talking about products that have Linux in them, not hardware for engineering. The actual example is the many sat navs running Linux or in my case the Internet TV box which I found contains a GPL notice after I dug around in the menus. I think the other guy I was talking to was suggesting they made a special version of Linux and kept parts "secret" to prevent cloning or something.

Even then it is hard to make practical. A trade secret is only useful as long as you can keep it secret. You can reverse engineer to get around a trade secret. In the US the right to reverse engineer can be licensed away. In the EU it is protected by law.

Good link. Relatively easy to read.

"Second, note that the last line makes the offer valid to anyone who

?to give any third party? a copy of the Corresponding Source."

So I am free to distribute the GPL source without the authors having a grievance.

--

Rick
Reply to
rickman

I dunno then. These are what they are. Settop boxes are leased items; the satnav is what it is.

These things are adapters for A Service, and are not products in and of themselves.

It's expensive.

That, I am completely unsure of. There's a formal-trust issue in that case. What is your provenance for the thing being delivered?

--
Les Cargill
Reply to
Les Cargill

Practically they can hide all they want to. Just try to get hold of the data on how to talk to a wifi chipset - most if not all are "supported" under linux but secretly. I have never tried to go into the legal bullshit of it as the practical side is quite clear - you are not allowed access to the data unless you are a politburo member (i.e. Google, MS etc.).

Dimiter

------------------------------------------------------ Dimiter Popoff, TGI

formatting link

------------------------------------------------------

formatting link

Reply to
Dimiter_Popoff

If they are dynamically loaded at run-time and use only "standard" kernel APIs, the answer is "no". If the drivers are statically linked into the kernel before it is shipped the answer is "yes". At least that's what Linus and the kernel maintainers intend. IMO, you should respect those intentions regardles of what lawyers say.

If you link it in with the kernel before you ship it, you should offer source code for it. If it's a module that's dynamically loaded module run-time (e.g. with "modprobe"), you probably don't have to.

--
Grant Edwards               grant.b.edwards        Yow! I want my nose in 
                                  at               lights! 
 Click to see the full signature
Reply to
Grant Edwards

Yes, I believe that most things "are what they are".

Ok, but I don't see how that is relevant. I bought an item that has embedded software. Some of that software is proprietary and I have to agree to a EULA. Other software in that product is FOSS and they give me a copy of the GPL. I'm asking how much of the software required to run the Linux OS is GPL and how much can be proprietary.

Someone has pointed out that some of the drivers can be proprietary if they jump through the right hoops.

Not sure what you are asking. Are you asking if I bought the product or if I am selling it or what? I believe according to the GPL it is irrelevant.

--

Rick
Reply to
rickman

That "secrecy" is what I'm trying to understand. If it is under the GPL there are *no* secrets. The data sheet for the part may be secret, but not the driver unless they somehow make it a separate executable which is what I am asking about.

--

Rick
Reply to
rickman

This is the best answer so far. So hardware drivers can be loaded at run time and do not need to be part of the kernel? For all practical purposes then a device using Linux can be released that can not be re-purposed because the drivers are not GPL and there may be no data sheet on the hardware.

--

Rick
Reply to
rickman

I get what you are after, I have spent some time chasing wifi documentation. In my experience it is a waste of time trying to obtain data they want to keep secret. They call the files "binaries" which you need on your linux machine in order for the peripheral to work and that's that. If you cannot locate the data you need in a few hours of search (minute may be even more realistic) I think investing more time into it will be just a waste. But then it's been a while since I learned this lesson the hard way, may be you will fare better than I did.

Dimiter

------------------------------------------------------ Dimiter Popoff, TGI

formatting link

------------------------------------------------------

formatting link

Reply to
Dimiter_Popoff

Most books on using Linux for embedded development cover this sort of licensing issue. There are scads of proprietary drivers for proprietary hardware in the desktop Linux world, so presumably if you want to develop a system you can make everything except for the core Linux part of it closed.

--
Tim Wescott 
Wescott Design Services 
 Click to see the full signature
Reply to
Tim Wescott

(snip on GPL, linux, and what source has to be released)

But rickman is asking the opposite question. He wants to know what they have to release to him.

I am not so sure how that matches with the "mere aggregation" that I remember from GPL. If it is, for example, in the same ROM (more likely flash), even if it isn't loaded until later, it seems more than mere aggregation to me.

-- glen

Reply to
glen herrmannsfeldt

(snip)

If you are distributing a device, along with its drivers, for someone to use with Linux, that sounds right to me.

If you distribute a device with Linux in ROM, along with the drivers, it seems to me a different case. Even if the drivers are dynamically loaded from ROM.

Then again, IANAL.

-- glen

Reply to
glen herrmannsfeldt

I think the Linux kernel developers have chosen to be less strict about mixed use than the GPL potentially requires. I believe the FSF is somewhat more strict, regarding things like GCC plug-ins. Disclaimers: IANAL, I'm not speaking for anyone else, etc.

Reply to
Paul Rubin

(snip, I wrote)

I didn't know they had that choice.

Well, IANAL either, but as far as I know rickman, following GPL, is allowed to ask the driver developers and distributors for the source.

He doesn't have to ask the kernel developers.

But on the other hand, and again IANAL, that leaves it up to rickman to sue, where he might not be in a position to do that. The kernel developers might be in a better position to sue, but choose not to. He might be able sue for his loss only.

-- glen

Reply to
glen herrmannsfeldt

They are the copyright holders and as such, they can decide when and when not to enforce the license.

Rickman would not have standing either way AFAIK. Only the copyright holder can do that. The Software Freedom Conservancy has done some GPL enforcement work on behalf of Linux kernel contributors, see:

formatting link

but I don't know who else (if anyone) does it.

Reply to
Paul Rubin

Linus says you still have to. But Linus is mainly interested in making available the things kernel maintainers need to maintain the kernel.

--
Les Cargill
Reply to
Les Cargill

So are you talking about a cable box, or an Internet TV adapter like a ROKU or what ?

For those things, hacking* them is not likely interesting. I presume you can reflash them with binaries from the vendor.

*people do, but not for maintenance reasons.

It's relevant if your demark is the HDMI or Ethernet interface.

1) User space can always be proprietary. No GPL needed. 2) The kernel is not proprietary and yes GPL. 3) Drivers may or may not need to be GPL. It depends on who you ask. Linus says anything that runs in kernel space is GPL.

On 3) - I know, right?

Right.

So how does somebody who gets a copy of the GPL-ed code from you know it's the same? You'd need MDA signatures and such.

--
Les Cargill
Reply to
Les Cargill

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.