Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

GPL Issues Surrounding Commercial Device Drivers?

Cliff posted more than 11 years ago | from the a-large-hurdle-for-linux-support dept.

Linux 523

Demiurg asks: "My company has recently decided to support Linux for it's embedded networking products which means that I'm starting to write Linux device drivers for our hardware. The company was very concerned about GPL issues and consulted a lawyer - who advised us to go for a user-space driver, saying that this is the only safe way to avoid GPL issues. I tried to give them a few examples of companies distributing binary only drivers (NVIDIA and Rational) but was told that these companies do not distribute binary only drivers - they only allow you to download them from a web site (which is not an option for an embedded product). What does Slashdot have to say about the issue? Is writing a user-mode (and hence not very efficient) driver the only way for a company to protect it's intellectual property? Please refrain from giving answers like 'all code should be GPL' - although I personally may agree, such answers will not help me convince management to make the change." Are there any lawyers (or readers with the right legal knowledge) out there that can confirm or contradict this recommendation?

cancel ×

523 comments

erm (-1)

Deleted (301806) | more than 11 years ago | (#4599787)

fP!?

u r write ur own device driver yes kthx

Well... (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#4599788)

I got the first post!! I win, I win.

Die, Sonera, Die!!!! (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#4599954)

Two senior security staff at Finnish telco Sonera have been remanded in custody, charged with breaching customer privacy by allegedly riffling through private telephone records in an attempt to identify an internal mole.

Helsingin Sanomat, Finland's biggest daily newspaper, reports today that the Helsinki District Court ordered the pair to be held in custody amid fears that they would interfere with an investigation by Finland's National Bureau of Investigation into suspected violations of communications privacy by Sonera.

The paper reports that the two men remanded in custody are Juha E. Miettinen, who heads Sonera's Eurasia project, and another unnamed man who is "a top figure in Sonera's security operations". In late 2000 and early 2001, the pair allegedly "secretly investigated the private telephone records of dozens of company employees and outsiders in an effort to find the source of leaks of confidential corporate information to the media", the paper reports. This leaked information, which found its way into Helsingin Sanomat and other Finnish papers, concerning conflicts within the Sonera administration.

The NBI investigation was launched recently at Sonera's own request, after an earlier internal investigation which concluding telephone records had been accessed - but nothing illegal had taken place - proved unconvincing.

Telephone companies in Finland are legally obliged to guarantee the privacy of telecommunications, so the case is being viewed as a serious matter.

Under Finish law, access to telephone records is restricted to police or the authorities and normally requires court authorisation. The target of any such investigation must normally be told phone records were scrutinised after an investigation is concluded. ®

is slashdot slashdotted ? (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#4599789)

because it is slooooooooooooooooooow !!!
(Adolf Hitroll Rewlz :-)

Great! (-1, Redundant)

yatest5 (455123) | more than 11 years ago | (#4599790)

Are there any lawyers (or readers with the right legal knowledge) out there

Cue 10000 IANAL posts......

Re:Great! (1, Offtopic)

Dalcius (587481) | more than 11 years ago | (#4599827)

Cue 10,001 Slashdot folks ANL posts... :)

....ahem (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#4599791)

FUCK the GPL!!

ahem... (-1, Troll)

Anonymous Coward | more than 11 years ago | (#4599945)

Die capitalist, die!

lawyers (5, Insightful)

Dionysus (12737) | more than 11 years ago | (#4599797)

So, you got your advice from a legal consul, and you're thinking about ignoring it in favor of advice from the /. crowd? Is that smart?

Re:lawyers (1, Interesting)

Anonymous Coward | more than 11 years ago | (#4599845)

Well, yes, because lawyers are usually cautious with how they interpret things. They don't want to get sued themselves for giving bad advice.

Re:lawyers (0)

Anonymous Coward | more than 11 years ago | (#4599870)

Ever heard of a second opinion?

EVER HEARD OF ME SHOVING MY FOOT UP YOUR ASS? (-1)

Subject Line Troll (581198) | more than 11 years ago | (#4599901)

Re:EVER HEARD OF ME SHOVING MY FOOT UP YOUR ASS? (0)

Anonymous Coward | more than 11 years ago | (#4599972)

Yes, I have heard of that.

What size shoe do you wear?

Re:lawyers (5, Insightful)

nicodaemos (454358) | more than 11 years ago | (#4599906)

Many times the corporate lawyer is a liberal arts person who doesn't understand the finer points of technology and licensing. As such they don't have the background to come up with creative ways for you to achieve your goals while still remaining in compliance with licensing.

I personally had to convince a VP of Development to consider my alternatives over the simple no answer that came from the corporate lawyer. It wasn't easy, but I was able to pursuade 2 other directors who backed up my ideas. No, this wasn't a dot-com startup, but a nasdaq listed company with a strong 25 year history. The conservatism and resistance to change was mind boggling.

My advice is to do exactly what you're doing. Brainstorm the heck out of this and see if you can make it work. Good luck!

Re:lawyers (5, Insightful)

Anonymous Coward | more than 11 years ago | (#4600007)

"No, this wasn't a dot-com startup, but a nasdaq listed company with a strong 25 year history. The conservatism and resistance to change was mind boggling."

There may be a connection between `resistance to change` and `strong 25 year history`.

Re:lawyers (1, Insightful)

joshua42 (103889) | more than 11 years ago | (#4599922)

I guess he is asking for a second opinion. It is not like Law is some kind of science where there is one capital generally accepted Answer to a given question... and also there are certainly idiot lawyers just as well as there are clever ones. Well, at least I assume there are clever ones somewhere... :)

Re:lawyers (0)

Anonymous Coward | more than 11 years ago | (#4599946)

why is this comment insightful?! it's not at all. it's f'n obvious and teh guy is only looking for advice or suggestions and isn't necessarily dumping the other.

Re:lawyers (5, Insightful)

Anonymous Coward | more than 11 years ago | (#4599952)

So, you got your advice from a legal consul, and you're thinking about ignoring it in favor of advice from the /. crowd? Is that smart?

FLAME ON--
Actually yes and no. It is incredibly wise to ask the ./ crowd because there are a few of us out here who a) aren't school/college age geeks and b) have ACTUALLY DONE THIS IN A COMMERICAL PRODUCT and worried over the issue ourselves. It's dumb to take the ./ crowd advise in place of your lawyer's advice. Instead the rational thing to do is to ask here and if something looks interesting point it out to the lawyer.
FLAME OFF--

It is relatively well known the Linus has essentially modified the terms of the GPL under which the kernel is distributed w.r.t. loadable modules to allow exactly this functionality. You write a closed source driver for your odd exceeding proprietary hardware, make it a loadable module (not compiled in) and your driver does not have to be released under GPL. As soon as you distribute a version with the module compiled in "all your IP are ours", but as long as you dynamically load it your ok.
Tell you lawyer to contact Linus to confirm this in writing; he's the freakin' copyright holder.

Linux != Linus (2, Informative)

??? (35971) | more than 11 years ago | (#4600033)

Linus is not the freakin' copyright holder. He is the copyright holder of a significant portion of the code, but not all of it.

Re:lawyers (5, Informative)

kableh (155146) | more than 11 years ago | (#4599988)

My company uses Linux in some of our embedded products. Before doing so, and before we had fulltime counsel, we hired a lawyer to go over the GPL and tell us if it was going to present a problem. This lawyer seemed to think that anything compiled with GCC would fall under the GPL, which is incorrect. There are specific exceptions that allow it to be used to produce non-free software.

I'm not saying he should ignore the lawyer, but that his lawyer could quite possibly be wrong. The GPL is 'viral' in a sense, but not in as devious a way as Microsoft FUD would indicate, and at least they are up front about being a bunch of commies =)

See http://www.gnu.org/licenses/gpl-faq.html [gnu.org] for more info.

Drudge reports FL elections rigged (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#4599802)

"VOTED FOR MCBRIDE, MARKED IT AS BUSH" [drudgereport.com]


To any slashbots from the UN reading this : please send peacekeeping troops now!

Brilliant!!! (5, Funny)

Anonymous Coward | more than 11 years ago | (#4599805)

What does Slashdot have to say about the issue? Is writing a user-mode (and hence not very efficient) driver the only way for a company to protect it's intellectual property?

Well, boss, I know the lawyer said one thing, but look at all the Linux zealots on Slashdot that say we should go this way instead!!! Some of them even hold jobs and live outside their parents' basement!!

Re:Brilliant!!! (1)

Carpathius (215767) | more than 11 years ago | (#4599911)

Well, boss, I know the lawyer said one thing, but look at all the Linux zealots on Slashdot that say we should go this way instead!!! Some of them even hold jobs and live outside their parents' basement!!

This is a case where it really makes no difference what anyone here says -- the only advice your management will accept (and the only advice they *should* accept) is that of their lawyers. To protect their company they must do what their attorneys say to do, regardless of what I or anyone else here has to say.

The best you might get from this group is a suggestion from someone who's been through this and handled it a different way. However, even that would need to go through the attorney and be blessed by him or her before your management would accept it.

The parent to this was modded down, but I really think he made a valid point.

Me? Sure, I think their are other ways to handle the situation -- for example, unless the network *is* your product, don't worry about whether it's GPL'd or not. But I'm not a lawyer, I don't know your product and wouldn't give real advice unless I really knew all the issues involved.

Sean.

If you agree... (-1, Flamebait)

SWroclawski (95770) | more than 11 years ago | (#4599810)

I'm probably going to be modded down for this but...

If you agree with the people that say all code should be GPLed, then how can you justify writing proprietary code and helping your company "get around" something you don't like?

If you didn't agree with the philosophy I could understand how you wouldn't care about the spirit of the license, but if you agree with it, how can you justify doing something you view as going against it?

Re:If you agree... (2, Offtopic)

Mr_Perl (142164) | more than 11 years ago | (#4599828)

I'd suspect he likes to eat as well as code.

Re:If you agree... (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#4599851)

Yeah. Hookers, crack dealers and armed robbers like to eat as well.

Re:If you agree... (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#4599902)

Hookers, crack dealers and armed robbers = someone who doesn't backup the GPL?

There are many rubber rooms available my friend, use one.

Re:If you agree... (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#4599951)

His isn't the only employer in the world.

Re:If you agree... (1, Insightful)

Anonymous Coward | more than 11 years ago | (#4599838)

Probably because he likes his job, and likes his paycheck and the things it allows him to do - like support himself/family and eat on days that end with "y".

Re:If you agree... (2)

Ageless (10680) | more than 11 years ago | (#4599853)

Most likely he is like other people in that it's a fairly tough job market, he needs to eat / has a family to feed and likes not living on the street. Having a job means sacrifice from the start. You have to go every day instead of sitting at home loafing, and sometimes doing something you don't neccessarily agree with is part of that.

On the other hand, maybe he is like me and writes proprietary code by day and open code by night. There are always ways to balance what you believe in and how you are getting paid.

Re:If you agree... (0)

Anonymous Coward | more than 11 years ago | (#4599857)

This is an extreme view in a case like this. He doesn't seem to be faced with a major ethical situation where he wants to screw the creators of GQL code, rather he wants to write a driver that makes his companies hardware useable on linux.

Surely such drivers (like Nvidia drivers) are actually good for Linux even if they are closed source drivers.

Re:If you agree... (0, Redundant)

rjmat (527774) | more than 11 years ago | (#4599865)

What would be a good answer to this?
A paycheck!
Open source is great, and I write some myself, but it won't cover my mortgage.

Hello Mr Fluffy wuffy... (2)

MosesJones (55544) | more than 11 years ago | (#4599880)


BECAUSE HE GETS PAID.... because he has to eat. This isn't that big a deal and he is talking about getting Linux some support.

If he was raving about the GPL and being threatened with the sack because it didn't fit with the companies aim then that would make him a nutter.

I use MS at work... why ? Because all the clients use MS. I starve to death, or I could make a reasoned judgement that this is not an important issue.

Re:Hello Mr Fluffy wuffy... (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#4599929)

Is "use MS at work" considered an oxymoron or a technical mishap?

Re:If you agree... (1)

SWroclawski (95770) | more than 11 years ago | (#4599893)

Please learn to type...

s/something you don't like/something you like

- Serge

Re:If you agree... (1, Insightful)

szo (7842) | more than 11 years ago | (#4599913)

As far as I understand, he don't want to get around GPL, rather he wants to be sure that writing a binary-only kernel driver is not getting around GPL. IIRC Linus said it's ok to have binary-only drivers, they just can't reexport symbols.

Szo

Got food? (1, Offtopic)

Bourbon Man (76846) | more than 11 years ago | (#4599939)

Not everyone (myself included) can live their lives in perfect harmony with their beliefs/ideals, and still make a decent income. Example: I'm an MIS, and although it goes against my ideals to have some proprietary Windows based server apps on my network, I will tolerate this (until I find a better solution) because strict adherance to my beliefs and ideals would be bad for the company and ultimately bad for myself. Have I sold out? Maybe. Am I flipping burgers making minimum wage? No. Do I maintain hope that I will someday be able to work in harmony with my beliefs and ideals? Definately. In the meantime, I prefer to advance myself and earn a decent income while doing it.

Wrong! (4, Insightful)

Vicegrip (82853) | more than 11 years ago | (#4599965)

There's a place for open source and a place for proprietary. Liking Linux does not preclude using or working for proprietary software vendors.

Bruce Perrens says it perfectly here. What matters to the industry in the creation of software is the use of open/patent/royalty-free standards.

Claiming all Linux users subscribe un-equivocally to the FSF's views about Free software is a provocative statement that indeed does deserve to get modded down for being a Troll.

Re:If you agree... (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#4599970)

would you prefer that he sells crack to your family members in order to support his family?

Re:If you agree... (0)

Anonymous Coward | more than 11 years ago | (#4599971)

You wanna know how? It puts food on the table, that's how you do it. Just like 99% of every other middle class worker on the planet. Fundamentals and moral values are great until they challenge your ability to make a living. For me, being able to pay my rent is a higher priority than the GPL.

Lets see, if you don't like it... (-1, Troll)

Anonymous Coward | more than 11 years ago | (#4599829)

My company has recently decided to support Linux for it's embedded networking products which means that I'm starting to write Linux device drivers for our hardware.

So? Then don't write for the 180+ linux forks. Write your drivers the way YOU want and release on BSD.

Linus allows an exception for device drivers (5, Informative)

LordNimon (85072) | more than 11 years ago | (#4599831)

You may need to dig up the reference from some mailing list archive, but Linus Torvalds himself has said that he will allow binary-only drivers, as long as they're loadable modules, to be distributed.

It all boils down to the concept of "derivative work". Is a device driver a derivative work of the kernel? My opinion is no, but only the courts can truly answer that question, and no one has asked them yet.

Re:Linus allows an exception for device drivers (0)

Anonymous Coward | more than 11 years ago | (#4599940)

Didn't Linus recently just say in the lkml that he DID NOT make any exemption for binary drivers, that the module interface WAS NOT published, and therefore that modules derived from the unpublished module interface MUST conform to the GPL? That seems to contradict what you have just said.

Sorry, I don't have time to dig up the links, but I know it was published recently on either /. or newsforge.

Re:Linus allows an exception for device drivers (5, Informative)

ch-chuck (9622) | more than 11 years ago | (#4599977)

One example of this was the Proxim RangeLAN wireless drivers - the author Dave Komacke works at Proxim, and was able to distribute a binary-only module for Linux. Worked fine for me. Web Page here [komacke.com] .

Re:Linus allows an exception for device drivers (5, Informative)

strredwolf (532) | more than 11 years ago | (#4599981)

The Linux Kernel Mailing List [lkml.org] has a FAQ on such drivers (including NVIDIA). I think it's question #19 where you can access the actual posts.

Why necessarily slower in userland? (5, Informative)

drinkypoo (153816) | more than 11 years ago | (#4599833)

Why is a userland driver on linux necessarily slower? Shouldn't a well-written user space driver at an appropriate priority level be just as fast as a kernel driver? And if not, why is this slow on linux but fast on some other operating systems, and what can be done to fix it?

Context switches. (5, Informative)

cduffy (652) | more than 11 years ago | (#4599887)

Why is a userland driver on linux necessarily slower?

See subject.

And if not, why is this slow on linux but fast on some other operating systems, and what can be done to fix it?

No operating system can have userspace drivers without context switches. Some OSes have very low context switch times and *do* put all their drivers in userspace (which has a number of very big advantages I'm not going into right now) -- but they still, unavoidably, pay some performance penalty for doing so.

Addition/Correction (5, Informative)

cduffy (652) | more than 11 years ago | (#4599921)

No operating system can have userspace drivers without context switches.

By that I mean no operating system with memory protection for userspace apps. It's possible to give up this benefit (even selectively) for improved userspace performance; see Kernel Mode Linux [u-tokyo.ac.jp] for a kernel patch that does just that (and which might be applicable to this fellow's situation).

Re:Context switches. (2)

frohike (32045) | more than 11 years ago | (#4600000)

Context switches are indeed something that will slow down any user mode driver because you can't poke directly into the client program's address space, unless of course you _are_ the client program as well as the driver. You can also get interrupt during I/O which can be a bad thing. There are myriad other things that it will slow down however. For one, you can't hook interrupts in a Linux userland program last time I checked. Thus any device driver that wants to receive interrupts must at least make a presence of some sort in the kernel (even if it just delivers signals to a userland program at interrupt times). Also you can't tinker with internals like the scheduler and block caches, so you may be wasting resources you would have had access to there. There are probably more things that someone more experienced specifically in Linux kernel hacking could tell you about.

Re:Why necessarily slower in userland? (0)

Anonymous Coward | more than 11 years ago | (#4600003)

Yes there can be a real penalty. Consider a driver that sits in the kernel with say a 1Mb buffer reserved somewhere. Also consider x86 arch. When the driver page faults the kernel page fault handler maps in the appropriate memory.

Now do this in user space: when your driver page faults it causes the memory manager to be invoked which in turn can case the kernel page fault to be addressed. There's an extra layer of indirection.

In some cases it matters, others not. Also, it's damn hard to do even soft real-time in userland.

GNU for noncommercial work. BSD for the rest. (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#4599836)

<tt><i></tt></i>

Tried asking the FSF or lkml directly? (5, Insightful)

StandardDeviant (122674) | more than 11 years ago | (#4599839)

Seems like you might get good info by directly talking to the FSF or linux kernel mailing list... I'm sure some people would piss and moan about binary this and proprietary that, but in the end I think you'd find more people eager to help expand linux's reach in an optimally efficient manner. IIRC the FSF's head legal eagle is a guy named Eben Moglen (there was something posted on /. just yesterday that involved his name, again IIRC.) Personally, although IANAL, making something available for public download from a website sounds pretty much like "distributing" something. True, the user has to decide to download it, but then again your users would have to decide to buy your particular widget (thus potentially getting the linux driver) also...

RICHARD STALLMAN INAL (-1, Troll)

Anonymous Coward | more than 11 years ago | (#4599904)

<tt></i>akd{s;fjweoei235r90-adsf23/rm/o"DF==90- 25
adsvzxkhp89y89.mn,mn,ee sf1akds;fjweoei235r90-adsf23/rm/o"DF==90-25
adsvz xkhp89y89.mn,mn,ee sf1akds};fjweoei235r90-adsf23/rm/o"DF==90-25
adsv zxkhp89y89.mn,mn,ee sf1akds;fjweoei235r90-adsf23/rm/o"DF==90-25
adsvz xkhp89y89.mn,mn,ee sf1akds;{fjweoei235r90-adsf23/rm/o"DF==90-25
adsv zxkhp89y89.mn,mn,ee sf1akds;fjweoei235r90-adsf23/rm/o"DF==90-25
adsvz xkhp89y89.mn,mn,ee sf1akds;fjweoei235r90-adsf23/rm/o"DF==90-25
adsvz xkhp89y89.mn,mn,ee sf1akds;fjw}{eoei235r90-adsf23/rm/o"DF==90-25
ads vzxkhp89y89.mn,mn,ee sf1akds;fjweo(ei235r90-adsf23/rm/o"DF==90-25
adsv zxkhp89y89.mn,mn,ee sf1akds;fjweoei235r90-adsf23/rm/o"DF==90-25
adsvz xkhp89y89)).mn,mn,ee sf1akds;fjweoei235r90-adsf23/rm/o"DF==90-25
adsvz xkhp89y89.mn,mn,ee sf1</tt></i>

Re:Tried asking the FSF or lkml directly? (3, Funny)

cscx (541332) | more than 11 years ago | (#4599996)

I'm supposing all the FSF will tell him is that when he's done his company's gonna have to call it GNU/EmbeddedDevice.

Distribution Method (5, Insightful)

ShadowFlyP (540489) | more than 11 years ago | (#4599840)

Nvidia and others do "distribute" binary-only drivers. Just because they don't actively send out CD's with their drivers does not mean they do not distribute them. Under the GPL both methods are concidered a distribution. As far as writing drivers, as long you use the driver module method and do not need to directly change any preexisting kernel code, I do not believe there is any problem at all. That is how Nvidia and others can get away with that.

Related question. (0, Offtopic)

mary_will_grow (466638) | more than 11 years ago | (#4599842)

Weird, I came to slashdot.org with the intention of posting a Very similar question.
I recently downloaded the Apple developer kit, and basically signed away any right to disclose what the hell is available on their developer site. They use this "IOKit" for writing device drivers, but I want to write an open source device driver for Serial-to-USB converters (the iBook unfortunately has no serial or parallel port!!) So does anyone know of any resources where I can learn how to write a device driver for OS-X without using the closed-source developer kits Apple provides?

Can't you just read a UNIX book? (0)

Anonymous Coward | more than 11 years ago | (#4599877)

Isn't OSX just another flavor of UNIX?

Re:Can't you just read a UNIX book? (0)

Anonymous Coward | more than 11 years ago | (#4599905)

No.

Re:Can't you just read a UNIX book? (0)

Anonymous Coward | more than 11 years ago | (#4600026)

Not Really, and even then they all have different internal interfaces.

What exactly are you trying to keep secret? (5, Interesting)

Brian the Bold (82101) | more than 11 years ago | (#4599855)

You need to look at exactly what parts of your hardware a GPL'd driver source would reveal, and whether there is really any need to avoid a GPL'd driver for this reason.

Only the people who know what the hardware does and why the features in question need to be kept secret can make this decision.

not revealing intellectual property versus GPL (5, Interesting)

John_Sauter (595980) | more than 11 years ago | (#4599860)

I suggest you divide your code into two parts. Write a device driver which does not reveal any of your secrets but provides support for your application, which uses the device driver to interface to your device but need not be licensed under the GPL. Put all code that would reveal any important secrets into the application.


John Sauter (J_Sauter@Empire.Net)

Re:not revealing intellectual property versus GPL (1)

Dambiel (115695) | more than 11 years ago | (#4600019)

doesn't this leave us at the same problem we started with?

you distribute a crippled driver which can work but only when your application does the secret handshake.

how does this help any interoperability between the hardware and open applications which you don't tell the secret?

Chris

That's not how they do things on Star Trek! (1, Funny)

Anonymous Coward | more than 11 years ago | (#4599862)

Everybody should freely share everything and love one another, like they do on Star Trek. The Federation has no need for money, even the warlike Klingon empire has advanced past the need for capitalism. Only the short, swarthy, large-nosed, devolved Ferengi use money.



Please read my fanfic about how the people of Star Trek freely share everything and love [goatse.cx] one another!

Protect? (5, Insightful)

OttoM (467655) | more than 11 years ago | (#4599863)

Why should a hardware company protect the driver? If you make a quality, high performance driver, more people would want to buy the hardware. If you make a lousy, slow driver, not many people would buy the hardware to use on Linux.

So you your company should go for the best possible driver, to increase hardware sales. If that means GPL'ing the driver, you can also benefit from the expertise of a lot of developers.

Re:Protect? (1)

rootofevil (188401) | more than 11 years ago | (#4599962)

this is exactly the kind of shit the poster asked people (very politely i might add) not to say. it doesnt MATTER if that will change anything, because its not an option.

Re:Protect? (0)

Anonymous Coward | more than 11 years ago | (#4600016)

*Looks around*

I could have sworn I wasn't living in China!

Re:Protect? (1)

mvh (9295) | more than 11 years ago | (#4599968)

well, say you have two products. one product costs $500 and is the budget version and another product is $1000 for the "high-end" version. Now both of these products are actually the same, the only thing that separates them is the driver for the device.

Re:Protect? (0)

Anonymous Coward | more than 11 years ago | (#4599997)

One very large company (IBM) does something similar to this freqently.

Re:Protect? (0)

Anonymous Coward | more than 11 years ago | (#4599993)

This is my thought exactly. When are companies going to learn to stop using legal muscle to force consumers into buying their products when a good quality product will sell anyway!

When I buy my island, I'll have to remember to add this into my laws. (We can dream can't we?)

Alan.

Re:Protect? (1, Insightful)

Anonymous Coward | more than 11 years ago | (#4600032)

Ahhh commodity thinking again. What if original poster is working somewhere the driver only hooks a computer to the really expensive hardware? Think about radar systems. The volume on the expensive hardware is low, but profitable. Then linux provides a robust interface that's is completely transparent for their developers and not ever stuck on the M$ upgrade wagon. Some companies have no desire to sell a bazillion commodity systems, and instead focus on profitable niches.

Why do you need to keep your code private? (1)

91degrees (207121) | more than 11 years ago | (#4599864)

Wouldn't access to your source be beneficial to the customer? If this was a pure software device, I'd understand, but surely you make the money on the hardware. Drivers are usually trivial to reverse engineer anyway.

Well. (0)

Anonymous Coward | more than 11 years ago | (#4599868)

1. You cant write userspace drivers.
(that is unless the kernel already have a
driver for your chips, and you want to add
someting to it)
2. Kernel drivers/code that are not released under a GPL compatible licence are illegal.
Many vendors do it though, e.g. nvidia. Its no
less illegal because of that.

Another Winner (-1, Redundant)

Anonymous Coward | more than 11 years ago | (#4599882)

Are there any lawyers (or readers with the right legal knowledge) out there that can confirm or contradict this recommendation?

This is fucking stupid. The person talked to a lawyer, and now wants some free legal advice from a bunch of IANALs?? If you talk to a lawyer and don't like what he has to say, talk to another lawyer. Why would you look to slashdot for legal advice?!

Re:Another Winner (5, Insightful)

dasmegabyte (267018) | more than 11 years ago | (#4599995)

Easy. People ask slashdot because slashdot readers have actually had to deal with these matters on a day to day basis. Your average lawyer may see a handful of case studies.

Now, he may have gone to the sort of lawyer that specializes in software licenses (what sort of lawyer is this? a very very rich sort), in which case you're right that it is kind of stupid to approach the trolls and IANALs. But if he went to Joe Q. Publicstein of Publicstein, Stern and Lowe, chances are he'll get a much more specific answer and leads on a case he may be able to point his legal eagle towards. Which could result in a much more informed decision.

By the by, I've got a feeling that the people who MIGHT press a case on the GPL have bigger fish to fry than a company writing a device driver. If they can't catch Microsoft biting GPL code, why are they going to hunt down developers expanding the OSS market?

Easy solution (2)

dsaxena42 (623107) | more than 11 years ago | (#4599883)

This is a really simple problem to solve.

You create a binary only, non-GPL driver and only
provide it as a module in your device's filesystem that gets immediatelly loaded by your custom init scripts.

If this driver is needed before your userland can fully initialize (for example, it's a custom disk device...ICK), stuff it into an initrd, boot from initrd, load the driver,and then pivot_root over to the real userland and run your init.

As of today, non-GPL binary only driver modules are perfectly acceptable. As long as you do not directly link into the static kernel binary, you do not have to GPL your driver. No legal issues at all.

The counterexample is NVidia (5, Insightful)

Isle (95215) | more than 11 years ago | (#4599885)

Ask your lawyer how distributing something over the internet is not distributing?

NVidia are distributing binary-only drivers. They do a trick however, where the code that needs to be loaded into the kernel is (L)GPL, and then this cpde interfaces their binary driver. This both allows a buffer to the GPL code but also to support various different versions of the kernel with the same driver.
Moreover it allows for a lot of naive trolls claiming that Nvidia is distribting the source-code because they have seen this little module.

Not sued != legal (5, Interesting)

amorsen (7485) | more than 11 years ago | (#4599888)

The fact that NVIDIA and Rational have not been sued does not imply that they are legally in the clear. There are certainly several kernel developers who have said clearly that the "module exception" invented by Linus Torvalds does not extend to linking to their code. So far they have not sued anyone. Maybe they never will.

Get a New Lawyer (2)

CatWrangler (622292) | more than 11 years ago | (#4599889)

With all the lawyers out there, I am sure there is one who agrees with you. If you feel shaky about it, cash out your stock options first, and update your resume

He is not a kernel hacker (4, Funny)

Daniel Phillips (238627) | more than 11 years ago | (#4599890)

In general, do not take advice on how to write a device driver from a laywer. Or, if he/she insists, invite them to write the driver for you. Pay only if it works.

Re:He is not a kernel hacker (5, Funny)

jpvlsmv (583001) | more than 11 years ago | (#4600024)

He's not looking for advice on writing the driver. He's looking for advice on LICENSING the driver.

In general, do not take advice on how to license a device driver from a programmer. Or, if he/she insists, invite them to be sued. Pay only if they win.

Dumbass, slashdot saying closed code is good (0)

Anonymous Coward | more than 11 years ago | (#4599898)

You KNOW what answer your going to get here. Open source is good. Your company lawyer is up on things a bit and I would follow their advice.

What are they trying to protect? (5, Insightful)

CaptainAlbert (162776) | more than 11 years ago | (#4599899)

I don't quite see what is lost by releasing a device driver under GPL.

You get:

1) an army of geeks who will instantly worship your company and buy your products;

2) a slightly smaller army of geeks who can actually help you fix bugs in your own product FOR FREE.

You lose... erm, nothing?

The only drawback is that the interface to your hardware (register maps etc.) are no longer as secret as they were. Perhaps you're concerned about competitors stealing your ideas based on that knowledge? Well, think about it this way - if they badly want that information, they will already be reverse engineering your products and your binary-only drivers with a debugger and some elbow-grease.

IMO - you have nothing to lose. Embrace the future... :)

A cow by any other name... (1, Insightful)

Anonymous Coward | more than 11 years ago | (#4599907)

The GPL would only begin to apply if you used existing code that was already GPL'd and incorporated it into your own project, thereby making your code part of somebody else's project and therfore governed under the GPL, which would force you to release your code.

Simply using library functions of GPL'd software doesn't mean you have to release your source code. It does mean, however, that you should credit somebody else's work for giving you the functionality that you didn't write yourself.

Kylix is a perfect example of a binary-only development platform from Borland that has done it this way.

However, if you release a binary-only driver, you must ensure that it's compatible with the various Linux kernels.

You do not have to release the source code.

article on embeeded software (1, Informative)

Anonymous Coward | more than 11 years ago | (#4599908)

See also the article "Pick and place: Linux grabs the embedded market" on http://www.e-insite.net/ednmag/index.asp?layout=ar ticle&articleid=CA253780&pubdate=10/31/200 2. Besides other information it describes some licensing issues and solutions with embedded software

Playstation 2 Linux (2, Informative)

GeLeTo (527660) | more than 11 years ago | (#4599914)

Do what Sony did with the PS2 Linux - boot a Runtime Environment that has all the required drivers before running the linux kernel. Make open-sourced Linux device drivers that will use the Runtime Environment drivers. This is a similar to using BIOS calls from within the kernel.

Isn't this what the export GPL was made for? (2)

amccall (24406) | more than 11 years ago | (#4599918)

IIRC, working with new kernels, certain portions of code are protected against modules which aren't GPL or GPL compatible. There are mechanisms in the new modutils providing support for tainted modules, etc... Any kernel hackers out there feel free to disagree with me.

So, as long as you don't work around these DRM/License restrictions, shouldn't things be ok? After all, any code you run in Linux will be using the kernel in some way, so if you extend the GPL argument too far, things get messy indeed.... IANAL, IANAKD, blah blah blah blah blah.

Binary is source code (1)

Demon-Xanth (100910) | more than 11 years ago | (#4599942)

...provided you write the driver in binary/hex :)

Driver in ROM (2, Insightful)

boy_afraid (234774) | more than 11 years ago | (#4599948)

I may be way off base, but what about embedding the driver in the hardware via ROM chips? Wasn't there a previous /. article about this?

Also, how will this product interface with Linux? Via PCI or USB interface or actually run Linux? If it runs Linux, then I don't think you need to have users download drivers since it will be a closed system. But, on the other hand, you will just have to bite the bullet and use the user space driver, which is actually a standard.

Why don't you take a look at this article [linuxdevices.com] and a reply article here [linuxdevices.com] ? There is are more discussions.

What about UDI? (5, Interesting)

tchuladdiass (174342) | more than 11 years ago | (#4599955)

UDI [sourceforge.net] is a driver abstraction layer that can have multiple benefits:


1) Avoid any GPL issues -- if your driver is written to the UDI spec, then it's not a derived work of the linux kernel, as your driver can just as easily run on non GPL OS's

2) Avoid having to constantly update your driver -- the UDI spec stays the same even when the kernel version changes. Even if your driver was GPL'd, if it's not part of the base kernel distribution, you are still responsible for chasing down changing kernele interfaces everytime a new major (or sometimes minor) kernel is released.

UDI has gotten a lot of flak from the community, for various reasons, most of which I think are unfounded (such as, "It will allow Windows users to steal our quality Linux drivers", etc.), but I won't go into that rant now. The only technical concern is performance. I don't think that will be much of an issue, since most of the time the CPU is sitting there waiting for devices anyway, so if it has to expend a few extra clock cycles during this time that it would otherwise be idle, then it's not that big of a deal. Of course, this could be an issue with high-speed devices such as video and scsi controllers.


Anyway, I think it's worth checking out.

First, it is possible... (0)

Anonymous Coward | more than 11 years ago | (#4599957)

to write user-space stuff that is as efficient as kernel stuff, though it typically requires some reworking on the kernel (in the gpl space that you are trying to avoid).
This is a touchy area, though.
Many ppl have argued that all drivers should be open, which for cards that can be moved or systems that can be upgraded by anything, it makes perfect sense. You are distributing a machine which you are not looking to see have upgraded by others. So your arguement for doing a binary driver should work.
But, if I can make a suggestion, please consider opning the drivers down the road or at least all the hardware specs. If you have good hardware, ppl will wish to hack on it and see if perhaps they can improve it. The more hackable that your hardware is, the more that you can sell.

vote libertarian damnit! (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#4599960)

Libertarians would fix this. Vote. Libertarian.

DeCSS (1)

_iris (92554) | more than 11 years ago | (#4599976)

So letting someone download DeCSS is distribution but lettin someone download a device driver is not distribution?

So (-1, Troll)

Anonymous Coward | more than 11 years ago | (#4599978)

Does someone know where to get a good t-shirt?

Supply user-space, allow kernel-space for download (2, Interesting)

Brother52 (181351) | more than 11 years ago | (#4599979)

I tried to give them a few examples of companies distributing binary only drivers (NVIDIA and Rational) but was told that these companies do not distribute binary only drivers - they only allow you to download them from a web site (which is not an option for an embedded product).

First off, I can't imagine embedded system user (especially Linux user) having a problem downloading a driver from a website. Don't we all ñheck the 'Driver updates' on the web regardless of what's on the CD?

But if it absolutely have to be bundled with the product, I'd put the legally-safe version in and make the 'performance' kernel-space version available for download (and note that in accopmanying documentation).

Changes to GPL code must be GPLed (1)

Jungle guy (567570) | more than 11 years ago | (#4599980)

The GPL basically says that, if you change a GPL code, you should GPL these modifications. You can write a proprietary software to run on top of Gnu/Linux if you want to. Oracle database runs on top of Linux and that's OK.

So, basically, if you modify the Linux kernel and distribute it through CD-rom or a website, you must make those changes avaliable to anyone who has access to the binaries. A module that runs on top of the kernel, and that does not modifies it, can thus be released under a GPL, BSD or proprietary license.

Be warned, though: most Linux distributions will not ship this driver, as RH refuses to ship Nvidia's binary driver. If you want to make the driver really universal, and want to prevent headaches (you probably would have to rewrite and recompile it for every kernel release), make the code avaliable. It's your choice.

Userspace programs may not be protected (1, Insightful)

Anonymous Coward | more than 11 years ago | (#4599985)

I disagree with the lawyer. User space programs may not be protected from the GPL.

I know there is a comment in the kernel version of the GPL from Linus stating that user space programs are exempt from the GPL as applied to the kernel. That probably won't protect you because:

1 - Linus is not the only author of kernel code, and thus cannot provide a complete exemption from all kernel source. Any author of kernel code may disclaim that exemption.
2 - There are a number of libraries that are not released under the LGPL: you should be careful to avoid those if you want to remain isolated from the GPL or other open source licenses.

The real issue would be whether or not your code is a "work based on the program" as defined in the GPL. That question will be the subject of intense scrutiny and debate should any of the authors of the used GPL code choose to assert their rights in court.

The GPL is a HUGE minefield to commercial developers. It has not been tested in court. The best your lawyer can offer is an educated opinion based on contemporary interpretations.

Please do not consider this to be legal advice.

GPL and device drivers (1)

tjcw (613165) | more than 11 years ago | (#4599989)

Nobody wants to force you to give away some original work that you don't want to make a gift of. However, you should examine what someone could do with a gift of the source code; the obvious answer is 'buy more of your embedded network products'; if that's what you want people to do, and if the gift is really yours to make (i.e. it really is original work), maybe you should consider it.

Our drivers are fully GPL on purpose (2, Insightful)

devaldez (310051) | more than 11 years ago | (#4600002)

I believe that lawyers just haven't digested the GPL AND the GPL hasn't had any case-law precedents to support or refute it. Like most professionals, lawyers are conservative and risk-averse. It may be years before any organization embraces the GPL because lawyers don't know how to handle it.

It took years (3 to be exact) to get lawyers comfortable with the GPL. Honestly, I prefer the FreeBSD license on all levels, but that's just my opinion.

None-the-less, we've migrated to a GPL-only policy based on our lawyer's requirements, so we're fully compliant. I'd post our URL here, but last time I got moderated out;)

Whats wrong with a user mode driver? (3, Informative)

oolon (43347) | more than 11 years ago | (#4600022)

Yes you can say its more efficent to have it in kernel space, but its an embedded device so any efficency problems can be counteracted by knowing exactly what is gojng to be run on the system. If you cannot get all the information you want in user space, write a driver to patch the information you need though to user space.

An example of this is binary firmware for devices, you can just patch the loading routinues through a driver an upload a what ever you like. For example the DXR2 drivers provide all the access functions, but within the magic binary only firmware they are useless, the only thing your "device" gives away is how to write a kernel modules, but there again, you could just take someone elses gpl kernel modules and make it work for these ends saving you development time.

Having said that run time loadable modules do not have to be GPLed the only code your need to include to build one of these are kernel header files and if you look carefully at those they are not GPLed so the compiled object does not have to be GPLed. I believe using non gpl loadable modules in a GPL kernel is specifically allowed (I believe).

I think this system fits with the linux point of view. Getting support for as much stuff as possibile is good if it means non gpl fine, just don't expect us to help you. Non gpl is better than nothing at all (in many peoples book). But there again, I don't buy nivida graphics cards because of their policy of binary drivers.

James

Great (1)

Espectr0 (577637) | more than 11 years ago | (#4600041)

There goes a whole bunch of "IANAL" posts. Come on, i am ready ;)
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...