Forgot your password?
typodupeerror
Programming Software Linux Hardware IT Technology

Kernel Modules that Lie About Their Licenses 587

Posted by CmdrTaco
from the why-can't-we-just-get-along dept.
jon787 writes "An email to LKML about the Linuxant's HSF Modem drivers lying to the kernel about their license has prompted some interesting replies. Lots of talk about how to effectively blacklist these kind of things; a patch is here. One of the more interesting is this one. Linus as always has his $0.02."
This discussion has been archived. No new comments can be posted.

Kernel Modules that Lie About Their Licenses

Comments Filter:
  • by Anonymous Coward on Tuesday April 27, 2004 @11:03AM (#8984968)
    You make it sound like he's just a figurehead now. I would expect him to say something, and I would expect slashdot to not trivialize it.
  • Squashing... (Score:5, Insightful)

    by jargoone (166102) * on Tuesday April 27, 2004 @11:04AM (#8984993)
    Anyway, I suspect that rather than blacklist bad people, I'd much preferto have the module tags be done as counted strings instead. It should be easy enough to do by just having the macro prepend a sizeof(xxxx)" thing or something.

    Great idea, for this hack, anyway. Problem is, they'll come up with something else next time. I think this one really is up to the lawyers, unfortunately.
  • Get over it (Score:4, Insightful)

    by Anonymous Coward on Tuesday April 27, 2004 @11:05AM (#8985004)
    Modules should not lie about their licenses. Fine.

    BUT... the linux kernel developers need to get over their fanaticism about open-source drivers. There are many reasons companies cannot or will not make their driver source public. For wireless cards, the FCC effectively prohibits it. For video cards and others, much of the value of the card is in fact in the driver and companies have a right to keep that under wraps.
  • Poor processes (Score:4, Insightful)

    by heironymouscoward (683461) <heironymouscoward&yahoo,com> on Tuesday April 27, 2004 @11:05AM (#8985007) Journal
    Part of every attempt to legislate (which the kernel's interrogation of drivers is) should include the question "how will people cheat, and how can we stop this". Otherwise this kind of game is inevitable.

    (And if the answer to the question is: "people will cheat and we can't stop them", then there is little point in playing legislator.)
  • by News for nerds (448130) on Tuesday April 27, 2004 @11:10AM (#8985085) Homepage
    All those C string functions are todays source of plague. Even though I'm not Miguel de Icaza it's obvious that we should move to something new.
  • by REBloomfield (550182) on Tuesday April 27, 2004 @11:11AM (#8985105)
    Actually, I buy hardware based on how well it does the job, how well it performs, how reliable it is. The firmware could be written in elbonian pictograms for all i care, and i would hope that most people buying IT hardware do the same thing.
  • Re:Get over it (Score:4, Insightful)

    by Lussarn (105276) on Tuesday April 27, 2004 @11:12AM (#8985108)
    Linux is an open source system, you should be able to run a fully usable linux system using nothing but open source components.

    That is a hard requirement for Linux success, in the past, now, and in the future.

    For example if 3D desktops becomes the standard open source 3D driver will need to be developed, if the gfx companies don't like that we need to take our money someplace else.

    For the record I do run nvidia binary driver today.
  • by dave420 (699308) on Tuesday April 27, 2004 @11:15AM (#8985143)
    Without the firmware, that router of yours would cease working. Whether you know it or not, every purchase of hardware you buy for your computer is dependent HEAVILY on the firmware. It's the same with drivers, and owing to the fact it's easier and cheaper to change something in sofware than hardware, more and more will be done in drivers/firmware, which means this will get even more common.

    If you can't find it in your heart to accept binary drivers, maybe computers aren't for you ;) j/k

  • But why? (Score:5, Insightful)

    by Erwos (553607) on Tuesday April 27, 2004 @11:15AM (#8985147)
    Why did they even bother with this silly (if not cunning) trick in the first place? I mean, OK, no one loves the "kernel tainted" message, but at the end of the day, is it really that much of a deal that it needs to be circumvented?

    I think a more appropriate way of handling things would be have a message explaining _why_ the tainted message is coming up, and why they can't GPL the driver. Work with the system, not against it.

    -Erwos
  • by Otter (3800) on Tuesday April 27, 2004 @11:17AM (#8985166) Journal
    Has anyone ever gotten the modem in the TiBook to work with that driver? I've struggled with it a number of times (using YDL) and everyone on the lists or IRC just said, "Yeah, didn't work for me, either."
  • hypocrites (Score:0, Insightful)

    by Anonymous Coward on Tuesday April 27, 2004 @11:17AM (#8985168)
    It strikes me that alot of the same people so rabidly against DRM when used by big companies for the media they produce, are now demanding that linux include what can be seen as it's own DRM to prevent people from running unauthorized non-GPL kernel code.
  • Re:Get over it (Score:3, Insightful)

    by adamjaskie (310474) on Tuesday April 27, 2004 @11:17AM (#8985170) Homepage

    There is NOT a problem with binary only vs. open source modules. It is a problem with the company lying to the kernel, saying their module has a GPL liscense, when in fact it does not. There would be no problem if the liscense string had said:
    "GPL for files in the \"GPL\" directory; for others, only LICENSE file applies"
    instead, however, it says:
    "GPL\0for files in the \"GPL\" directory; for others, only LICENSE file applies"
    Notice the sneaky \0.

  • by Anonymous Coward on Tuesday April 27, 2004 @11:20AM (#8985209)
    People are circumventing the almighty GPL! Is /. going to complain and be hypocritical by cheering on other circumventing techniques like PlayFair, DeCSS, and other DRM removers?

    If /. has no respect for other people's choice in licenses and cheers people ignoring the license, then it must also cheer on people breaking the license in Linux. You can't have it both ways.

  • by Penguinisto (415985) on Tuesday April 27, 2004 @11:20AM (#8985213) Journal
    There are too many potential liabilities that can come up further downstream from non-GPL code pretending to be GPL. While it would be easy enough for a home-geek or a guy who downloads and inventories all his own stuff to know that a given item is no big deal license-wise, developers wanting a clean box to work from may decide to go grabbing bits and parts that may not be OSS, and they (like any human being) may have forgotten (or if they grabbed the libs from a local network server, not even know) that it wasn't.

    As for your assertion, drivers can be non-OSS and still work perfectly, and OEM's aren't forced to make their stuff OSS - just ask NVIDIA if you don't believe me. Therefore, you're posting a strawman there...

    The linuxant cheat isn't a problem because of the source code being closed, it is a problem because it pretends to be open-source when it is not, failing to warn whoever installs it.

  • Excuse me, but... (Score:5, Insightful)

    by iamacat (583406) on Tuesday April 27, 2004 @11:22AM (#8985237)
    It is a problem with the company lying to the kernel

    Yes, but the kernel is not a person, right? In fact lying to hardware/software is a well-accepted practice for interoperability, emulation and fair use. If we want it to be illegal, we might as well defend DMCA.
  • Re:Get over it (Score:5, Insightful)

    by MartinG (52587) on Tuesday April 27, 2004 @11:22AM (#8985242) Homepage Journal
    For wireless cards, the FCC effectively prohibits it.

    No, the FCC says the card cannot do certain things. Putting these restrictions in the drivers of each individual OS is not a good plan. The restrictions belong in the firmware. This is a safer way to ensure FCC compliance at the same time as allowing open source drivers.

    The linux kernel developers need to get over their fanaticism about open-source drivers.

    Who the hell are you to tell the kernel developers what they should care about? The kernel is licensed and written the way it is because the developers want it like that. If 3rd parties aren't prepared to play along, then they don't have to release linux drivers. They can't have it both ways.
  • Thought experiment (Score:5, Insightful)

    by Sloppy (14984) * on Tuesday April 27, 2004 @11:23AM (#8985256) Homepage Journal
    Just to play Gates' advocate... reverse the players and see if people still see the situation the same way.

    Suppose that Lexmark made a printer that looked for a certain string in a ROM on an ink cartridge. Let's say the string was "The manufacturer of this cartridge agrees to the terms of the ELL (Evil Lexmark License)." If the string is present, the printer works great; if the string is not present, the printer has undesirable behavior of some kind.

    Further suppose you want to make an ink cartridge for your Lexmark printer, and thus for the purposes of optimum interoperability, you imbed into the ROM: "The manufacturer of this cartridge agrees to the terms of the ELL (Evil Lexmark License).\0Just kidding. Of course I don't REALLY agree to the Evil Lexmark License, because after all, IT'S EVIL!! It even has \"Evil\" right there in the name, what more proof do you need?!? Sheesh, people!"

    Are you bound to the ELL?

  • Re:Get over it (Score:2, Insightful)

    by nacturation (646836) <nacturation AT gmail DOT com> on Tuesday April 27, 2004 @11:23AM (#8985260) Journal
    As far as spoofing the GPL string, what's the problem here? Do you hear Open Source advocates decrying browsers such as Mozilla for spoofing the user agent string and claiming to be Internet Explorer? "But websites won't display properly unless we lie about it and claim to be Internet Explorer!" Right. Just as their drivers won't work properly unless they lie about it and claim to be GPL?

    Which one is the pot and which is the kettle here?
  • by Kenja (541830) on Tuesday April 27, 2004 @11:26AM (#8985284)
    " I buy a router/etc for the hardware, not for the companies excellent firmware."

    The hell you say. A Cisco router is just a CPU and some RAM with a few IO ports thrown in. Its the IOS firmware and software that makes it do its thing.

  • by zulux (112259) on Tuesday April 27, 2004 @11:26AM (#8985290) Homepage Journal
    Here's why:

    If Office 2003 started asking the Win32 API - areYouReallyMicrosoftWindows(). Then MS Windows would return true...

    What would Wine get to return?

  • Re:Get over it (Score:3, Insightful)

    by Shippy (123643) on Tuesday April 27, 2004 @11:28AM (#8985308)
    Linux is an open source system, you should be able to run a fully usable linux system using nothing but open source components.

    And in a perfect world there would be no war or hunger.

    That is a hard requirement for Linux success, in the past, now, and in the future.

    No, that is a hard requirement that is going to further alienate the Linux community and make companies less likely to bother supporting their hardware on the platform. What this will result in is drivers made by the community that work, but don't have all the snazzy features you paid $$$ for.

    That's also why I have just a SoundBlaster 16 PCI. It does the trick and sounds good, but it's also just about the only card you can buy and take advantage of all its features.

    For example if 3D desktops becomes the standard open source 3D driver will need to be developed, if the gfx companies don't like that we need to take our money someplace else.

    Like.... somewhere else where they... build cool 3D graphics cards... and have open source drivers... which would be.... who? I'm also assuming this company would care enough about the few hundred to few thousand Linux customers they might get versus the few million Windows customers?

    For the record I do run nvidia binary driver today.

    Yep, thought ya did. Why didn't you take your money elsewhere?

    Personally, I think the Linux community needs to just deal. You can't have your cake and eat it, too. Maybe after Linux gains some significant user-base, you can demand things from product manufacturers. Until then, however, you should ease up a bit and just be happy that Linux is even supported.
  • Re:Good Luck (Score:5, Insightful)

    by rgmoore (133276) * <glandauer@charter.net> on Tuesday April 27, 2004 @11:31AM (#8985346) Homepage

    The problem with the compatibility argument is that it's wrong. The primary purpose of the license string is to track whether the kernel has loaded a closed-source module. Many kernel hackers choose to ignore bug reports from systems that have loaded closed-source modules since there's a very good chance that the bug is in code that they can't access and fix. But failing to export a GPL compatible license string doesn't have any effect on the kernel's ability to load and run a module, so there's no compatibility reason to export a dishonest description of the module's license.

  • by jridley (9305) on Tuesday April 27, 2004 @11:32AM (#8985364)
    That's a ridiculous statement. The firmware IS the router. Without the firmware, the router is a few of off-the-shelf ethernet chips and a processor. The only difference between many different products is the firmware.

    When you buy a router, you're buying the function of routing. That's nearly 100% implemented in the firmware (for consumer-level routers, probably IS 100%). The hardware is just there to support the firmware's function.
  • by Rick Zeman (15628) on Tuesday April 27, 2004 @11:32AM (#8985374)
    ...but I sit here wondering how many of the people with their panties in a bunch over this (excepting Linus, of course) have a hard drive full of MP3's of dubious origin?
    This ain't flamebait, but a rather trenchant commentary on the hypocrisy that I see.
  • by Jim_Maryland (718224) on Tuesday April 27, 2004 @11:35AM (#8985400)
    firmware should not be a core component of a hardware company

    Firmware can be valuable intellectual property just like any other hardware/software. If a company chooses to keep it closed, that is their decision. If you don't like it, don't buy that piece of hardware. Unfortunately, you'll probably find a small selection, at least today.

    If a company finds a drop in sales due to keeping closed source, they'll change their business model to be competitive. If on the other hand most people don't care, they haven't given away their 'secrets' while still supporting customer usage.
  • Re:I know! (Score:1, Insightful)

    by Anonymous Coward on Tuesday April 27, 2004 @11:35AM (#8985405)
    That would be SO linux!

    So have a complex and developer hostle system of certification, not for quality testing, but for nothing more than license conformity.

    But aside from that, this entire kernel checking licenses thing is insane. Can Linux go any further out of its way to make sure it is never adopted by hardware companies?

    Question: Are there any non-communist distros out there? (or is it even possible) Where the kernel is patched to prevent this sort of stupidity and where binary drivers are hosted in the distros updates, you know, a USEABLE distro?
  • Re:Get over it (Score:3, Insightful)

    by Unknown Lamer (78415) <clinton@unknownl ... inus threevowels> on Tuesday April 27, 2004 @11:37AM (#8985440) Homepage Journal

    The Free Software movement was started my RMS because the spooler for the new Xerox printer installed at the AI Lab did not come with source code. It had a tendency to jam and not tell the user before he walked across the campus to retrieve his job. The old printer did this (IIRC) but RMS had the source and was able to notify the user (actually, all of the users with print jobs in the queue) so that the printer could be unjammed before a trip was wasted.

    Accepting non-free drivers is giving up your freedom. Personally, I use GNU/Linux because I am freed from the whims of the developer. If you wish to be a slave again please return to Windows or the Mac OS while the rest of us continue to use our Free Software.

    The driver argument is foolish anyway. If you really must keep things secret (e.g. wireless cards) then move more things into the firmware and make the driver more simplistic (e.g. only allow the driver for the 802.11 card choose the channel to broadcast over instead of the exact frequency).

    It's funny how you want to give in to non-free drivers when they are essentially the reason GNU/Linux exists in the first place.

  • ObDMCA reference (Score:4, Insightful)

    by gosand (234100) on Tuesday April 27, 2004 @11:38AM (#8985449)
    It's the same with drivers, and owing to the fact it's easier and cheaper to change something in sofware than hardware, more and more will be done in drivers/firmware, which means this will get even more common.

    And with the DMCA firmly in place, it will be illegal to hack YOUR hardware.

    Jeez, I used to think I might be a little paranoid, but not any more...

  • by 0x0d0a (568518) on Tuesday April 27, 2004 @11:38AM (#8985450) Journal
    You know, if there really was a direct parallel here, I imagine it would be something like this.

    The RIAA would give away their entire music library for free, *including* the individual samples and source data, with the sole proviso that people not take their samples and include them in music where the sample data is not in turn released.

    Then someone ran out and sold a song that swiped RIAA member samples without releasing their own.

    That would probably get people on the side of the RIAA, yes.

    The actual situation is a little different.
  • Request the source (Score:3, Insightful)

    by Captain Rotundo (165816) on Tuesday April 27, 2004 @11:39AM (#8985459) Homepage
    Since the module reports that it is GPL, why doesn't every one start asking for the source code. Maybe they will be annoyed enough to fix the software (assuming they claim typo or some such) maybe they actually want to GPL the whole thing? :)
  • Re:Good Luck (Score:5, Insightful)

    by julesh (229690) on Tuesday April 27, 2004 @11:40AM (#8985479)
    Important differences between the case you cite and this one:

    1. That's a trademark, this is copyright. Very different.
    2. There is no real reason why they _have_ to have "GPL" at the start there. Their code will work without it, it will just cause a message to the effect that there are non-GPL drivers loaded to be displayed.
    3. In the case you site it _is_ the console's integral code that displays the trademark. In this case it is the module code in question that includes the text "GPL", followed by a string termination character, in a space reserved for the module's license.

    OTOH, I would note that the letters GPL do not in themselves constitue a license grant; they are merely an abbreviation that is usually used to refer to a specific license. In this case, however, they could just as easily stand for "Greg's Private License" (under which you don't get any rights whatsoever).
  • by nacturation (646836) <nacturation AT gmail DOT com> on Tuesday April 27, 2004 @11:42AM (#8985509) Journal
    Or suppose that a website doesn't work in Mozilla unless you have Mozilla identify itself as Internet Explorer.
  • by 0x0d0a (568518) on Tuesday April 27, 2004 @11:42AM (#8985516) Journal
    I prefer to develop my modules under the revised BSD license, so that others can port them to the BSDs without running into licensing issues. However, Linux will mark the kernel as tainted when a BSD-licensed module is inserted. So I mark them as Dual GPL/BSD, so that they can be loaded without complaints, although I really don't want to release them under GPL, as that would pose a risk that others add code under GPL that could then not be used in the BSDs.

    They could do so anyway. BSD-licensed code can be relicensed to GPL-licensed code.
  • by Draknor (745036) on Tuesday April 27, 2004 @11:46AM (#8985565) Homepage
    No - GPL is a copyright license, which is exactly what the parent to your post was saying. Open-sourcing source code does not remove copyright protections (ie GPL).
  • You get certain kernel data structures. No GPL, no special data. That's what the problem is (LinuxAnt wants GPL-only data, but they aren't GPL).

    LinuxAnt is really screwed here, as their drivers obviously won't work anymore :)
  • Re:Good Luck (Score:3, Insightful)

    by Otto (17870) on Tuesday April 27, 2004 @12:00PM (#8985747) Homepage Journal
    You pay a price in the market.

    Agreed, in theory. But the solution they use here is worse, no? Because now, instead of unhappy users, you have ticked off kernel developers. And they have no reason to support you, your users, your business model, anything. They now start talking about blacklisting you and your drivers and your children from the kernel in any way whatsoever. So now, instead of having stuff that worked but didn't get free support, you have stuff that won't work because the community has decided that they hate you and want to see you and your crappy hardware to burn in hell.

    Not a good plan, it seems to me.
  • Why do i care? (Score:3, Insightful)

    by nurb432 (527695) on Tuesday April 27, 2004 @12:00PM (#8985750) Homepage Journal
    Seriously, why do I care about this at all?

    I have a kernel. I have a device. With out said driver the kernel is useless to me.

    So the driver is closed and propitiatory, as long as it works with my kernel why should I care. ( all religious OSS arguments aside.. I'm taking for a *real* reason )

    The alternative seems to be no driver, and the kernel becomes a useless lump of code. We cant demand that companies that produce hardware support anything they don't want too, be happy they at least give us closed drivers... 5 years ago they didnt even do that, unless it was for a Microsoft kernel.
  • by JabberWokky (19442) <slashdot.com@timewarp.org> on Tuesday April 27, 2004 @12:06PM (#8985839) Homepage Journal
    In fact lying to hardware/software is a well-accepted practice for interoperability, emulation and fair use.

    That would make sense if this had anything to do with "interoperability, emulation and fair use". The kernel doesn't care what license it is; it will load a module under any license. This is strictly a user documentation string for the people who might have personal care about the license. You can put "This code 0wned by Darl", and it will load just fine.

    This is strictly a case of a manufacturer lying about the license to the end user.

    --
    Evan

  • by JabberWokky (19442) <slashdot.com@timewarp.org> on Tuesday April 27, 2004 @12:10PM (#8985914) Homepage Journal
    Is /. going to complain and be hypocritical by cheering on other circumventing techniques like PlayFair, DeCSS, and other DRM removers?

    There's no reason you need to do this. The kernel happily loads any license. They are lying for the sake of misleading users. There's nothing to circumvent. This is like Pizza Hut advertising that they are giving out Free Pizza, and then cutting off the edge of the coupon that says "$15 per pie charge". There is no technical reason for this; this is simply lying to the end users.

    --
    Evan

  • by Anonymous Coward on Tuesday April 27, 2004 @12:13PM (#8985941)
    > If the string is present, the printer works
    > great; if the string is not present, the printer
    > has undesirable behavior of some kind.

    But there is where you analogy breaks down. If all the printer did was log in it's memory somewhere that a non-lexmark ink cart had been used so they could void your warranty for any printhead damage there would be no objection. But printers refuse to print without the secret knock and linux will load a module without the GPL tag.
  • by 10101001 10101001 (732688) on Tuesday April 27, 2004 @12:14PM (#8985966) Journal
    So, the shoe is on the other foot. And copyright can be twisted to advantage the user (GPL). That doesn't mean every license is a good license.

    The fact is, the kernel doesn't arbitarily malfunction when it's tainted. Instead, the taintedness is a great sign to tell the user that they really need to go to the original authors for help since no one else is able to properly debug their proper (and of course, two different modules from two different companies which each taint the kernel creates a problem which no single entity can resolve). Faking the string to not cause taintedness helps no one (in the short term it might help the company, but it might not in the long run; people might pay support money to get bugs fixed in one tainted module). Faking a string in a printer cartridge helps the user to get cheaper ink. It also helps create competition (always a good thing).

    Ironically, Lexmark's cases against various clone ink cartridge makers might decide the result of this same type of deception. Faking a string to make some program behave the way you want might be unhelpful and possibly unethical (by misleading users into believing they're using only GPLed code or wasting developers time on problems they can't solve thanks to code they can't see), but it's hard to see how it could be made illegal. Now getting such companies for false advertising...
  • by HungWeiLo (250320) on Tuesday April 27, 2004 @12:15PM (#8985979)
    These people wanted $15 for a Linux driver, with no guarantees of free upgrades in the event of a kernel update.

    I just went and bought a serial port external modem for $13 (shipped). Works like a charm.
  • Re:Good Luck (Score:4, Insightful)

    by the_mad_poster (640772) <shattoc@adelphia.com> on Tuesday April 27, 2004 @12:30PM (#8986176) Homepage Journal

    It's not just a political issue, but I guess if you have political issues with operating systems, that's a conveniently ignorant view to take of the situation. This driver is surreptitiously loading itself as non-GPL code while telling us that it is GPL. This effects the way Linux hackers treat bug reports that are tainted with this module. This is accomplished by loading that "GPL" flag and enabling helpers that prevent bugs reports from being flagged as tainted.

    Therefore, not only does it complicate bug reports, it complicates bug reports by loading pieces of code that it's not allowed to. I'd say that makes it malware, rather than a political issue.

  • by hummassa (157160) on Tuesday April 27, 2004 @12:33PM (#8986224) Homepage Journal
    EXPORT_SYMBOL_GPL() means: "if you use this symbol, then your driver is inequivocably a derivative work of the kernel".
    Why? Because there are some ways of writing device drivers that make the drivers *not* be a derivative work of the kernel. P.ex., the NTFS driver distributed by Microsoft, NTFS.DLL, is not a derivative work of the kernel, but might, by way of (GPL'd) glue code, be load in the addressing space of the kernel and linked to it.

    MODULE_LICENSE("Other license") means: "this module is constructed in a way that makes it a non-derivative of the kernel; you can modprobe it, and as it's not derivative, the GPL does not apply to it; don't allow it to see those symbols that would make it derivative";

    MODULE_LICENSE("GPL") means: "the license of this module is GPL, please do the linking for me to the symbols that will make me a derivative work of the kernel", while

    MODULE_LICENSE("GPL\0but not really") means: "I'm a fucking liar, and I want to roll the dice without paying the price (I want to be a non-GPL-licensed derivative of the kernel)."

    Got it?
  • Re:Why do i care? (Score:4, Insightful)

    by dinivin (444905) on Tuesday April 27, 2004 @12:34PM (#8986235)
    The problem is that it doesn't always work with your kernel. If the binary driver causes a problem with the kernel, the kernel developers have no way of tracking down the bug since they don't have access to that code. That is the point of having binary modules taint the kernel. How would you like to receive bug reports for someone elses software and not realize that it's someone elses bug?

    Dinivin
  • Re:Why do i care? (Score:3, Insightful)

    by spinkham (56603) on Tuesday April 27, 2004 @12:36PM (#8986252)
    The point is the Linux developers are in general pretty pragmatic about this. You can have binary modules in the kernel, but they don't want a bug report from you if you do. It's basically a "do this at your own risk" type of thing.
    What happened here is a binary only module pulled a sneaky trick to say that it isn't a binary only module, and the debug information no longer tells the developers that the kernel was running with code they don't have the sources to debug, hence wastes their time trying to figgure out a problem they can't solve anyway. It's just stupid on the part of Linuxant, doesn't really benifit them in any meaningful way, and gives them lots of bad press.
  • Re:Get over it (Score:5, Insightful)

    by westlake (615356) on Tuesday April 27, 2004 @12:39PM (#8986287)
    Accepting non-free drivers is giving up your freedom. ... If you wish to be a slave again please return to Windows or the Mac

    Freedom means diffrent things to different people, but for most of us, I suspect, freedom is not ultimately defined by anything so trivial as access to the source code for a video driver.

    I am freed from the whims of the developer

    Then we can safely assume you are a master coder whose word is law in GNU/Linux?

  • by Senjutsu (614542) on Tuesday April 27, 2004 @12:41PM (#8986325)
    Personally, I don't see the problem with using binary only drivers.

    Neither do the kernel developers; the -great-great-etc-grandparent's assertion that they actively refuse to allow all things closed source was a straw man. All the kernel developers want to be able to do is have the kernel note when it is running a closed-source driver, so that they can easily filter out bug reports that would require them to have access to sources they don't have. They don't want to get blamed for problems caused by someone else's code whom they can't do anything about. Who in the hell can fault them for that?

    But then its MY choice, not the kernel nazis. I thought that is what Linux was all about, Free as in speech, not as in beer.

    It is your choice. The "kernel nazis" are in whole hearted agreement. They just want to be able to mark kernel dumps from kernels they can't fix. Their choice. Comprende?
  • by Anonymous Coward on Tuesday April 27, 2004 @12:49PM (#8986427)
    Mozilla providing a fake user agent is slightly different: The kernel takes no measures against loading binary only modules. There is nothing to work around. The only result of being truthful about the license is that users are less likely to get support from kernel developers.

    Mozilla does not give an alien user agent unless the user chooses so. This is usually done to circumvent browser checks which aren't really necessary or when the user can live with small incompatibilities. Because the user has to actively set a different UA, he knows that his browser of choice isn't supported and he's on his own.

    Now, if you lie about your browser in order to receive support even though the website author clearly told you that Mozilla isn't supported, then yes, that would make you evil in the same way that Linuxant is "evil".
  • by aonifer (64619) on Tuesday April 27, 2004 @01:23PM (#8986818)
    I'm one of the suckers that actually paid for the driver. The connection hangs after about five minutes. Fifteen freakin' dollars for a modem driver that doesn't work.
  • Re:Get over it (Score:5, Insightful)

    by MenTaLguY (5483) on Tuesday April 27, 2004 @01:25PM (#8986843) Homepage
    This isn't fantacism, it's pragmatism.

    Regardless of why it was proposed, the reason Linus finally accepted the MODULE_LICENSE stuff was that everyone was wasting a LOT of time trying to track down bugs that ended up being caused caused by binary-only drivers.

    The effect of MODULE_LICENSE is mostly just to mark the kernel as "tainted" -- its internal state affected by code which isn't available for the kernel developers to consult when debugging.

    This shows up in crash dumps, so if someone posts dump of a crash in which binary drivers were involved, the kernel developers know upfront not to bother (the bug has "crossed the county line", so to speak).

    Linuxant's excuse is that the tainted message was too confusing for users (they don't appear to have any qualms about wasting kernel developer time).

    Of course Linuxant's proprietary code which they can't let anyone see is pristine and perfect, and could never, ever be the cause of a bug...
  • Re:Good Luck (Score:3, Insightful)

    by IIH (33751) on Tuesday April 27, 2004 @01:28PM (#8986875)
    Your customer files a bug report for something totally unrelated to the modem driver code, say a filesystem bug

    In which case, the bug should also manifest itself if the modem wasn't loaded, so why lie about the module licence?.

    ... so he files the report in /dev/null.

    What companies are doing if they lie in the module licence is using the linux developers as 1st line support - someone looks at the problem in a so-called "clean" kernel, tracks it down to one bolted on "black box" and refer the user to the supplier. Result, developer wastes time locating non-related bugs, which I believe is the reason the "tainted" message came into being in the first place

    It's still a pretty good reason, though, to have your driver lie to the kernel. Maybe, just maybe, you're sure your driver is ok, and don't want its closed-ness to get in the way of people getting bug reports for completely different parts of the kernel.

    No, it's not a valid reason at all. If you're sure you're driver is okay, a kernel bug should still be there if your driver is absent. If it's not, maybe, just maybe, the bug is with the module, and by lying to the kernel you're just wasting everyones time.

  • Re:Poor processes (Score:2, Insightful)

    by The Conductor (758639) on Tuesday April 27, 2004 @01:31PM (#8986904)

    how will people cheat, and how can we stop this

    The discussion on LKML makes it look like the developers, in their attempt to enforce truthful taint flags, are responding in a way that is headed for a cat-and-mouse game of the sort we see in the spam wars. We all know how ugly that can get. I see two ways out, both techniques borrowed from the spamwar trenches.

    • (1) Trademarks: A company gets in the business of certifying drvers as GPL, and allows a unique string to be embedded in the binary. Because the taint function is purely informative, binary-only driver makers can't claim a need to use it, unlike, for example, the filenames IBMBIO.COM and IBMDOS.COM.
    • (2) Crypto web-of-trust: For a kernel to accept a module as open source, it must have a trusted signature.

    Both apporaches require some infrastructure, so there is work to be done now to save a greater amount of work later.

  • by spitzak (4019) on Tuesday April 27, 2004 @01:53PM (#8987168) Homepage
    This is not the same, because the string is not needed for the module to work. It can say anything it wants.

    This is more like the manufacturer actually printing "official Lexmark ink cartridge" on the cartridge.

    Imagine if the printer failed and the user sent it to Lexmark for it to be fixed. Would Lexmark really be out of line if they claimed that the user broke it by putting in that unapproved cartridge?
  • by frost22 (115958) on Tuesday April 27, 2004 @02:03PM (#8987410) Homepage
    ahem ... call me stupid - but isn't this exactly the other way round ? Internet Exporer claiming itself to be mozilla ?

    I seem to remember this from the early days of IE....
  • by MSG (12810) on Tuesday April 27, 2004 @02:48PM (#8988216)
    If the GPL were for users or developers, everyone would be thanking this company for providing drivers that did not exist.

    Nonsense... The GPL is for everyone who values their freedom.

    The GPL is used by many developers who distribute the fruits of their effort for nothing beyond the expectation that anyone who finds their work useful enough to build their own products upon will provide said products under the same license. Even if those products are sold for profit, the derivative work should be as Free to those who purchase it as was the original work. From that perspective, the GPL is absolutely for developers.

    Similarly, many users choose to purchase and use GPL products because they know that this license protects their rights to use and customize their software for their own purposes, in perpetuity. The GPL is absolutely for users.
  • by Crazy Eight (673088) on Tuesday April 27, 2004 @05:49PM (#8990682)
    ...they just don't want the kernel to report that a non-GPL module has been loaded...

    Is that really the case? I thought their response was that they didn't want multiple warnings issued when one should suffice.

  • by IBitOBear (410965) on Wednesday April 28, 2004 @05:29AM (#8994581) Homepage Journal
    ... YOUR MONEY

    Doing these things honestly and functionally isn't all that difficult.

    For instance, my company makes a sweet little device that, among other things, has a bunch of FPGAs (Field Programmable Gate Arrays). There is some language (I have never seen) that creates, via a source file (I will never possess) and a compiler (we license for a nut), to create a byte-stream (I have sitting around in a file) that gives the FPGAs their personality.

    When my boss came in and started whining about the GPL I pointed out that the three modules were GPL-able and that distributing them under the GPL was about as "wanton with our intellectual property" as sunday school.

    The drivers are just not that interesting. From one (the one that loads the FPGA images) you could learn how to copy a byte string into a single register. e.g. "for (int counter = 0; counter image_size; ++counter) { *FPGA_Personality_Register = image_buffer[counter]; }"

    Oh yea, there is a lot of boiler-plate around this, and I actually do that inside a fpgaflash_write() etc. But this is *not* rocket science.

    In point of fact, virtually all of the "Intellectual Property Issues" people have with respect to software are, frankly, crap.

    A bunch of people doing a lot of truely marginal work have created a mythology of value. Somehow the way _*THEY*_ increment an integer is so much more fascinating than the way the rest of us do it. "But Boss," they say, "if everybody out there figures out that we put *our* serial uart at 0x2df instead of 0x2f0 then nobody will need us any more."

    Bull.

    If you provide a good product at a reasonable rate then people will pay you for it.

    Every year I spend $20 to $50 to pay my taxes with one or another tax prepration software product. I do this *despite* the fact that all the forms and things are there and (obfuscated 8-) open source. (And I actually buy the software instead of pirate it, since to steal software when that is how I make my living would be hypocritical.)

    The only people who have to worry about Open Source are the people who make crappy software.

    Trust me, nobody wants your job. Nobody wants sneak in and rewrite comercial drivers *IF* *THEY* *WORK*. Nobody cares about your "proprietary register mapping" *IF* *IT* *WORKS*. The people who are going to make a nockoff of your board are just going to trace out your hardware if they want to clone it, and its is going to take them how long to disassemble your Windows driver to make their compatable device?

    Gee, if they want to compete, they could just make their clone to one of the already-existing drivers they have source too anyway.

    There is *NOTHING* *OF* *VALUE* in your drivers. Really. Get over yourselves and start harvesting all that free money by making a product and having the OS community improve your products' drivers for free.

    It boggles the mind that people like nVidia and ATI want to keep their drivers closed when their real value is in the chipsets themselves. Everybody knows how Direct-X and OpenGL is going to present the data at that level. Why do they even *care* if someone knows that the data buffers are reformatted and their addresses are crammed into a doorbell register at a particular address. Do they think we can't possibly fathom the concept of laying out data and putting addresses into doorbell registers? Do they expect us to be supprised when it turns out that the eight hardware rendering pipelines they brag about on the box are backed up by eight separate linked lists (or whatever) in the driver?

    And you just know that on the flip side, there is someone at each of these companies trying to outsource the driver development even as the first team of idiots are jealously garding their source code.

    Back to the example, all the "value" in our product is in the complex and subtle control of state *below* the driver in the hardware, and in the complex and robust interractions of the applications and protocols
  • Re:Fork? (Score:2, Insightful)

    by letxa2000 (215841) on Wednesday April 28, 2004 @11:41AM (#8997478)
    FWIW, I have no problem paying for software, even Linux software. I do have a problem with what appeared to be an open-source project being closed up, buried under patents, and the whole thing being sold to the public for a fee with the excuse that there was no choice.

A LISP programmer knows the value of everything, but the cost of nothing. -- Alan Perlis

Working...