Slashdot Mirror


Kernel Modules that Lie About Their Licenses

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."

123 of 587 comments (clear)

  1. /0 is like a period, it ends the statement. by LostCluster · · Score: 5, Funny

    Since /0 is the string-termination character, would it be possible to convince a court to see the decloration the way the kernel does, and therefore hold them to the GPL since they're the ones who declared it?

    1. Re:/0 is like a period, it ends the statement. by Rhys · · Score: 5, Informative

      /0 is like a divide-by-zero error, actually.

      \0 is like a period.

      --
      Slashdot Patriotism: We Support our Dupes!
    2. Re:/0 is like a period, it ends the statement. by jrockway · · Score: 4, Insightful

      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 :)

      --
      My other car is first.
    3. Re:/0 is like a period, it ends the statement. by afidel · · Score: 4, Interesting

      The answer is obvious, make a GPL wrapper driver that does nothing but accesses the data structures and communicates via an interface to the closed driver. Playing stupid politics with system info is just a retarded dead end. The info is made available to some classes of drivers because it is usefull, in reality it is usefull to any driver that can benifit from the info, open or not. So witholding the data from closed drivers is just lessening the experience/reliability/etc of people who use Linux but who aren't Open Source zealots. That's the aim of the driver interface but it's a stupid one, and as I pointed out it's easy enough to circumvent.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    4. Re:/0 is like a period, it ends the statement. by orthogonal · · Score: 2, Interesting

      The issue is this: they want access to GPL data structures. If they claim to be not GPL, they don't get it. If they copy it into their own code, they become a derivative work of Linux and are forced to become GPL. If they try to access the data structures in some round-about way, they're still linking, and so are forced to become GPL.

      Since they're accessing "GPL data structures" solely for the purpose of interoperability between their driver and the kernel, wouldn't that be allowed under the DMCA interoperability clause, and thus, by Congressional intent, not be a violation of copyright (as Congress presumably by including the interoperability clause in the DMCA assumed it and intended it, either not to contravene or to override, any other statute, e.g., Title 17)?

      If the driver isn't violating the linux kernel copyright, then no license is required, and so no strictures of that license, e.g. release of code under the GPL, are in force.

      But IANAL, so if I'm missing something, enlighten me.

    5. Re:/0 is like a period, it ends the statement. by iabervon · · Score: 2, Informative

      Actually, the module doesn't require access to any GPL-only operations or structures. As far as anyone can tell, they just don't want the kernel to report that a non-GPL module has been loaded, because this situation makes kernel developers rightly unwilling to help people with problems (because they have no idea what the non-GPL modules are doing). If they were actually using restricted interfaces, it would be a clear case of copyright infringement, as those interfaces are identified as the ones which make using code a derived work of the kernel. As it is, it is a much less clearly defined issue.

    6. Re:/0 is like a period, it ends the statement. by Crazy+Eight · · Score: 2, Insightful
      ...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.

  2. Of course Linus has something to say. by Anonymous Coward · · Score: 5, Insightful

    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.

    1. Re:Of course Linus has something to say. by Anonymous Coward · · Score: 2, Funny

      Yeah, just who does he think he is?!? He's acting like he invented Linux or something.

  3. My modem driver must be broken... by Anonymous Coward · · Score: 3, Funny

    The site's not loading.

  4. Squashing... by jargoone · · Score: 5, Insightful

    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.

  5. When it's acceptable to lie by Anonymous Coward · · Score: 4, Funny

    If the Kernel asks you if you think its gained wait or if its ass looks big in those drivers.

    1. Re:When it's acceptable to lie by Trigun · · Score: 2, Funny

      In lbs and oz. in the U.S., in stones in Britan, In Kilos and grams virtually everywhere else.

    2. Re:When it's acceptable to lie by DA-MAN · · Score: 3, Funny

      `bzcat linux-2.4.2x.tar.bz2 | lpr`

      Then weigh the resulting print job! EZ Huh?

      --
      Can I get an eye poke?
      Dog House Forum
  6. Get over it by Anonymous Coward · · Score: 4, Insightful

    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.

    1. Re:Get over it by REBloomfield · · Score: 2, Interesting

      The issue is how the kernel treats binary only modules. If it loads one of these drivers, belieing it to be GPL, and your system gets b0rked, then I'll bet you'll be the first running screaming, with all the people with RedHat maintenance contracts closely behind...

    2. Re:Get over it by Zweistein_42 · · Score: 2, Informative

      >>the linux kernel developers need to get over their fanaticism about open-source drivers. I thought the problem here is of a non-GPL driver *claiming* to be GPL? Any other crusade developers may or may not have is mostly irrelevant in this particular case.

      --
      - To err is human; but to really screw up, you need a computer
    3. Re:Get over it by Lussarn · · Score: 3, Insightful

      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.

    4. Re:Get over it by adamjaskie · · Score: 2, Insightful

      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.

      --
      /usr/games/fortune
    5. Re:Get over it by MartinG · · Score: 4, Insightful

      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.

      --
      -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
    6. Re:Get over it by nacturation · · Score: 2, Insightful

      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?

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    7. Re:Get over it by Shippy · · Score: 2, Insightful

      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.

      --
      -Shippy
    8. Re:Get over it by srwalter · · Score: 5, Informative

      This isn't about fanaticism. This is about the overworked lkml guys not supporting binary drivers for the companies.

      The kernel will happily load any modules you tell it to, binary or not, licensed or not. The reason this tag exists is so the loading of a binary driver will "taint" your kernel. That way when you submit a bug report, the kernel developers know that you had a binary only module loaded.

      In that case, they'll ask you to reproduce the produce without the binary module loaded. If the problem doesn't happen, it's the vendor's problem, and not Linux's. And rightly so.

      What's wrong with this?

      --
      Freedom is the freedom to say that 2 + 2 = 4
    9. Re:Get over it by Unknown+Lamer · · Score: 3, Insightful

      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.

      --

      HAL 7000, fewer features than the HAL 9000, but just as homicidal!
    10. Re:Get over it by Lord+of+Ironhand · · Score: 2, Funny

      Have you actually seen the user agent string for Internet Explorer? It starts with Mozilla.

    11. Re:Get over it by sir_cello · · Score: 4, Interesting

      > For wireless cards, the FCC effectively prohibits it.

      To be clear, this is just as much a choice of the manufacturer who decides to put sufficient amount of the driver into software such that the device has to be certified as a "hardware and software" combination, not just "hardware" itself.

      I have participated in ETSI conformance testing: when you test the product against a known hardware and software combination, you are _held_ to that known hardware and software combination. If you alter the software (e.g. a new build), you need to recertify.

      This is entirely fair IMHO, otherwise a dodgy bug in the new version of the software causes RF splatter and destroys the spectrum.

      The issue here for the open source community is to either (a) convince the manufactures to put it all into hardware/firmware so that software is not part of the certification, or (b) separately certify the linux driver with the hardware.

    12. Re:Get over it by westlake · · Score: 4, Insightful
      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?

    13. Re:Get over it by MenTaLguY · · Score: 4, Insightful

      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...

      --

      DNA just wants to be free...
  7. Poor processes by heironymouscoward · · Score: 3, Insightful

    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.)

    --
    Ceci n'est pas une signature
    1. Re:Poor processes by heironymouscoward · · Score: 2, Interesting

      Bringing in the lawyers is the only way to stop GPL violators.

      It's true when it comes to closed products (like DVD players). But not when it comes to drivers that the kernel can actively choose to load or reject.

      All it takes is a community-moderated database of drivers and their GPL-conformancy status. A non-conformant driver would be rejected by the kernel. Its authors would have to release the source code and have this vetted.

      Something like the GPL equivalent of trusted computing.

      --
      Ceci n'est pas une signature
    2. Re:Poor processes by The+Conductor · · Score: 2, Insightful

      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.

  8. Are they really 'lying'? by Richard_at_work · · Score: 4, Interesting

    Interesting story, considering the gray area many consider binary modules to be. Linus has said that he considers binary modules to not be far enough removed from GPL code and thus infringing, but since binary modules have been around since very early on in the kernels development history without any enforcement of the GPL with regards to them, wouldnt that potentially count against the GPL applying to binary modules if someone did decide to take action? Doesnt the whole idea of kernel license strings interfere with this view as well? If modules are infringing if they arent GPL, then why would they need to tell the kernel that they arent under the GPL? Also, where in the Kernel license does it require you to be truthful to the kernel about your modules license? Nowhere, because it cant. The GPL will not allow you to put that limitation on use of the kernel. Again, it comes back to wondering about the legality of binary modules.

    Personally, I dont use linux and as such, this doesnt directly affect me. But still, it raises interesting questions about how far removed code has to be to be able to be licensed differently. The kernel module API is a publically available API, and Linus does not consider this to be far enough removed. So what is? Does the kernel have to adhere to the CPUs or Motherboards firmware license, because its using a publically available API just like kernel modules are?

    Interesting. Very interesting!

  9. Linus' take by Call+Me+Black+Cloud · · Score: 2, Funny


    If we wait in this pumpkin patch long enough, the Great Pumpkin will rise up and give out toys. It will then float to the offices of the evil developers and smite them.

  10. Re:circumcise?! HELLO, MCFLY?! by Zweistein_42 · · Score: 2

    The original Linus e-mail was changed in that "helpful" reposting. Words like "Circumsise" and "vomit" were not present in the original (haven't bothered to check for other transgressions).

    --
    - To err is human; but to really screw up, you need a computer
  11. Can't get over it by Rotworm · · Score: 5, Interesting

    I don't believe that. Companies that make hardware shouldn't be so dogged about protecting their software. I buy a router/etc for the hardware, not for the companies excellent firmware. I don't see why companies should protect their firmware at all, if it's open source, more people will buy their hardware.

    1. Re:Can't get over it by REBloomfield · · Score: 4, Insightful

      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.

    2. Re:Can't get over it by dave420 · · Score: 3, Insightful
      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

    3. Re:Can't get over it by Rotworm · · Score: 4, Interesting

      Without the firmware, that router of yours would cease working.
      Give more credit than that.
      I realize they won't work, but firmware should not be a core component of a hardware company, they should work on their hardware first, and not consider firmware a company-breaking secret technology.
      For instance, open firmware makes this possible.

    4. Re:Can't get over it by Kenja · · Score: 5, Insightful
      " 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.

      --

      "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    5. Re:Can't get over it by jridley · · Score: 3, Insightful

      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.

    6. Re:Can't get over it by Jim_Maryland · · Score: 2, Insightful

      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.

    7. Re:Can't get over it by Draknor · · Score: 2, Insightful

      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).

    8. Re:Can't get over it by Senjutsu · · Score: 5, Insightful

      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?

  12. Mods, read the whole thing please... by Ratcrow · · Score: 2, Informative

    You'll notice that this AC has put the following words into Linus' mouth:

    "...rather than blacklist Black people..." (emphasis added)

    Linus was referring to "bad" people. This should be something other than Informative.

  13. Creative null character? by News+for+nerds · · Score: 3, Insightful

    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.

  14. But why? by Erwos · · Score: 5, Insightful

    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

    --
    Plausible conjecture should not be misrepresented as proof positive.
    1. Re:But why? by MartinG · · Score: 4, Informative

      no one loves the "kernel tainted" message, but at the end of the day, is it really that much of a deal

      For developers _YES_

      How many times have you tried to debug the kernel? And how namy times have you done to without access to all the source code? (ie, with modules loaded for which you don't have the source.)

      For more info, read LKML archives.

      --
      -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
    2. Re:But why? by blackcat++ · · Score: 5, Informative

      LinuxAnt have responded.

  15. Does that thing actually work? by Otter · · Score: 2, Insightful

    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."

  16. My God! by WwWonka · · Score: 5, Funny

    ...lying to the kernel about their license

    Insubordination at its worst! Lying to the kernel!

    Private Function, get Corporal Punishement on the phone and have them admonished immediatley!

  17. So what's it going to be? by Anonymous Coward · · Score: 4, Insightful
    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.

    1. Re:So what's it going to be? by JabberWokky · · Score: 3, Insightful
      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

      --
      "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  18. Get over it? Can't... by Penguinisto · · Score: 2, Insightful
    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.

    --
    Quo usque tandem abutere, Nimbus, patientia nostra?
  19. I know! by ignavusincognitus · · Score: 5, Funny
    Let's add cryptographic checks to the module loader. The vendors will need to have their modules signed if they want them to be loaded. Before signing, license terms will be verified. This way we can also guarantee that the modules do not affect stability.

    I'm sure this hans't been done before.

  20. Good Luck by Royster · · Score: 4, Interesting

    In a similar case, the maker of a game console had copyprotection code which had to be invoked before a game played. Someone who wrote a game, but didn't want to pay licensing fees, invoked the same code becuase it was the only way to get their game to run. They were sued under the Lanham Act. The plaintiffs claimed that their display of their trademark could make someone think that the console manufacturer was the source of the game causing consumer confusion.

    The court rightly ruled that the console designer caused the code to display the trademark and that they were responsible for any confusion that resulted.

    Putting MODULE_LICENSE("GPL\0... in their code could be viewed by the courts as using a method of operation to accomplish a module load. It is very unlikely that they would view it as a grant of a GP License to someone who received the code.

    --
    I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
    1. Re:Good Luck by rgmoore · · Score: 5, Insightful

      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.

      --

      There's no point in questioning authority if you aren't going to listen to the answers.

    2. Re:Good Luck by gmack · · Score: 5, Informative

      Putting MODULE_LICENSE("GPL") is not requred to make the module load. All it does is enable access to a small amount of GPL only helpers and keep crash reports from flagging the system as "tainted".

    3. Re:Good Luck by julesh · · Score: 4, Insightful

      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).

    4. Re:Good Luck by Sloppy · · Score: 5, Interesting
      there's no compatibility reason to export a dishonest description of the module's license.
      Sure there is. Say you're the company that makes the winmodems (or whatever this hardware is). Your customer files a bug report for something totally unrelated to the modem driver code, say a filesystem bug. Hans Reiser decides he has better things to do that worry about whether or not some uninitialized pointer in the winmodem driver code happens to be corrupting disk buffers, so he files the report in /dev/null. (Now maybe that's a wise thing for him to do, but still, maybe it was also a real bug in the filesystem. Whatever.) The customer's problem doesn't get looked at. The customer gets unhappy. The customer finds out that it's because of your driver, that they're unhappy. They decide to not buy any more of your crappy undocumented winmodems. You pay a price in the market.

      Now I kind of like that justice, but that's because I happen to fucking hate winmodems even more than I hate closed drivers. 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.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    5. Re:Good Luck by Otto · · Score: 2, Insightful

      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.

      --
      - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
    6. Re:Good Luck by AstroDrabb · · Score: 2, Informative

      While Linux kernel developers most likely will not handle a bug report because of a tainted module, they will if the bug is reproduceable without that module. If the bug is in the module, why in the world would someone who is not responsible and cannot get the source code try to fix it. For example, I am a programmerm, if I write an app that causes problems under MS windows, do you think MS will fix and debug it for me when they cannot get the source code? Now, if my application triggered a bug in MS Windows, I am sure MS will fix the bug on their side, just as Linux kernel developers will fix the bug on their side if a binary only module happens to trigger a bug that is in the Linux source code. However, if some bug only ever happens with some binary only module, the problem probably is in that binary only module.

      --
      If Tyranny and Oppression come to this land,
      it will be in the guise of fighting a foreign enemy. -James Madison
    7. Re:Good Luck by the_mad_poster · · Score: 3, Insightful

      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.

      --
      Alito: A vote for Alito is a punch in the eye to put that bitch back in her place!
    8. Re:Good Luck by Royster · · Score: 4, Informative

      The main purposes of the Module string are twofold:

      - to "taint" the kernel so that anyone posting an oops to the lkml will get ignored.

      - to deny certain interfaces marked as GPL-only to the module.

      --
      I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
    9. Re:Good Luck by IIH · · Score: 2, Insightful
      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.

      --
      Exigo spamos et dona ferentes
    10. Re:Good Luck by gmack · · Score: 2, Informative

      Not really.. at the moment all your prevented from doing is preforming deep magic with the system internals.

      It's important to note that Linuxant's stated reason for doing this was to avoid worrying the users with a "loading tainted module" warning on startup. There was not even the attempt at a technical arguement.

  21. Excuse me, but... by iamacat · · Score: 4, Insightful

    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.

    1. Re:Excuse me, but... by JabberWokky · · Score: 2, Insightful
      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

      --
      "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  22. Thought experiment by Sloppy · · Score: 5, Insightful
    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?

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    1. Re:Thought experiment by nacturation · · Score: 5, Insightful

      Or suppose that a website doesn't work in Mozilla unless you have Mozilla identify itself as Internet Explorer.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    2. Re:Thought experiment by Anonymous Coward · · Score: 4, Insightful

      > 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.

    3. Re:Thought experiment by 10101001+10101001 · · Score: 4, Insightful

      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...

      --
      Eurohacker European paranoia, gun rights, and h
    4. Re:Thought experiment by Xeleema · · Score: 2, Interesting

      (Hm, I smell a troll...but I'll bite.)
      In regards to being a hypocrite; changing the ID of a browser to IE and surfing the web does not make one a hypocrite in this case. However, if someone complained to a humble Web Admin about a bug/feature while their bowser ID was set to something other than the original ID is a hypocrite.

      --
      "When I am king, you will be first against the wall..."
    5. Re:Thought experiment by spitzak · · Score: 2, Insightful

      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?

    6. Re:Thought experiment by frost22 · · Score: 3, Insightful

      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....

      --
      ...and here I stand, with all my lore, poor fool, no wiser than before.
    7. Re:Thought experiment by nacturation · · Score: 4, Informative

      Yes, IE adoped Netscape's convention of using "Mozilla/..." user agent, and added the "... (compatible; IE4...)" or similar tag. Note that Mozilla was the development name for the closed source Netscape browser way back in the browser war years when Netscape was the most popular browser around and the current Mozilla browser wouldn't even be an idea for another four or five years. So the current open sourced Mozilla browser allows users to copy the IE convention of decribing itself as a version of Internet Explorer, compatible with closed source Netscape, and then tacks its own information onto the end.

      For example, here's one sample of a possible Netscape 2 user agent string:

      Mozilla/2.02 [fr] (WinNT; I)

      Then Microsoft developed Internet Explorer. IE versions shared similar user agent strings, but this is one for IE4.0:

      Mozilla/4.0 (compatible; MSIE 4.0; Windows 95)

      Now, most open source browsers allow you to copy Internet Explorer and have a user agent such as:

      Mozilla/5.0 (compatible; MSIE 5.5; Windows XP) Gecko/whatever

      So we have Mozilla/Firefox/etc. which copied Internet Explorer which copied (closed source) Netscape. Clear as mud!

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  23. Spend a penny by eltoyoboyo · · Score: 3, Funny

    Linus' 2 cents undoubtedly cost the hoster of his message more than that in /.ed bandwidth.

    --
    Have you Meta Moderated t
  24. Lying should be OK... by zulux · · Score: 5, Insightful

    Here's why:

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

    What would Wine get to return?

    --

    Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.

    1. Re:Lying should be OK... by hiroko · · Score: 2, Interesting

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

      What would Wine get to return?

      I'm not convinced...

      Wine could reply false, and if $MS_PRODUCT failed to work for that reason then there would be some nice material for anti-trust litigation.

      You could argue that the failure to work could be more subtle, like performing some operations more slowly, but as we have the ability to change the value returned to areYouReallyMicrosoftWindows(), we could figure out if it was affecting the programs operation.

      --
      Just because you can't, doesn't mean you shouldn't.
  25. Re:I don't see what the big deal is by 0x0d0a · · Score: 2, Informative

    You'd have to read the list for exact details of what's irritating the people specifically, but here's a link.

    Basically, Linux and friends (in frusteration at trying to troubleshoot non-open-source drivers, where they can't tell what's going on or fix anything) introduced a "tainting" system. Basically, they refuse to handle bug reports or fix anything on a system that has any "tainted" modules loaded.

    This tends to increase direct customer dissatisfaction with closed-source drivers.

  26. nonGPL modules by nuggz · · Score: 3, Informative

    One of the issues with closed source kernel modules is that some developers don't want to waste time debugging them. Since they aren't GPL, and there is no source, they feel their time can be better utilized in other places.

    One way to note this is have each module announce its license to the kernel, and a method exists for this.

    I think the intent is clearly to try and fool people into supporting this module, even if that person wishes to avoid supporting non GPL code.

    I think this is very underhanded, and going to create significant ill will with some developers.

  27. The system makes you lie by RAMMS+EIN · · Score: 4, Informative

    The licensing constraints on modules makes you lie about the license your module is under. Consider this:

    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.

    Ok, that may sound confusing as I typed it in a hurry, but you can make sense of it if you try.

    --
    Please correct me if I got my facts wrong.
    1. Re:The system makes you lie by 0x0d0a · · Score: 2, Insightful

      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.

  28. Here goes my karma... by Rick+Zeman · · Score: 2, Insightful

    ...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.

    1. Re:Here goes my karma... by 0x0d0a · · Score: 2, Insightful

      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.

  29. Modules don't need to be GPL by nuggz · · Score: 4, Informative

    That would be true if such a declaration was required to function.
    However it isn't, you can load code with any license you wish, therefore this is not required for interoperability, and such a defense wouldn't be valid.

  30. Re:What is MODULE_LICENSE? by alanwj · · Score: 2, Informative

    I found this link elsewhere in the discussion, which answers my question.

    http://www.uwsg.iu.edu/hypermail/linux/kernel/01 10 .1/1048.html

    -Alan

  31. ObDMCA reference by gosand · · Score: 3, Insightful
    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...

    --

    My beliefs do not require that you agree with them.

  32. Why bother - driver limited to 14kbps by tomhudson · · Score: 3, Informative
    The free version of the driver is limited to 14k, even with a 56k modem, so why would you bother?

    From the license:

    7. Performance. V.92 modems are designed to be capable of receiving data at up to 56Kbps with compatible phone line and server equipment, and transmitting data at up to 31.2Kbps. V.90 modems are designed to be capable of receiving data at up to 56 Kbps from a compatible service provider and transmitting data at up to about 28.8 Kbps. Public networks currently limit download speeds to about 53Kbps. The free version of the drivers is limited to 14.4Kbps. Actual speeds vary and are often less than the maximum possible.

    I mean, even RFC 1149 (TCP/IP over Carrier Pigeon) would be better :-)

    This is crippleware.

  33. Request the source by Captain+Rotundo · · Score: 2, Insightful

    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? :)

  34. Trusting the data???? by lish2 · · Score: 2, Interesting

    Anyone who's heard of buffer overflows knows you should NEVER trust the string you're working with, and always check its size. Why on earth is the code written such that a \0 will break it?

  35. This is a settled question... by Otto · · Score: 5, Informative

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

    What would Wine get to return?


    Wine would get to return true as well, if answering true was essential to get the software to work.

    Take the case of the gameboy (I think). One of the checks the thing did when loading a game was to look for the Nintendo logo in the header of the game. If it wasn't there, it wouldn't run it. Someone else put the logo in their games to get it to run, Nintendo sued for trademark infringement. Nintendo lost, because they had made it absolutely necessary to include that logo in order for third parties to achieve interoperability with the product. Instead of preventing third parties from developing games (which was what they wanted), they lost control of their trademark to some degree. Not good.

    However, this case is different. You don't need to lie to the kernel about your license to achieve interoperability. It'll load the module regardless of what you put in the license string. The only thing the license string does is to signal to the kernel developers that non-free modules are loaded into the kernel. It's been "tainted", and then they can choose to not support problems with tainted kernels.

    This isn't lying to the kernel so much as it is lying to the kernel developers.

    --
    - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
  36. Re:I don't see what the big deal is by AstroDrabb · · Score: 2, Interesting
    They are trying to fool the Linux kernel into thinking that the module is a GPL module. The Linux kernel will log a message that this module (or any non-GPL module) is "tainted". There are Linux users that want a completely Open Source OS and do not want to use software that is not released with a license that is approved by the FSF.

    They are releasing a non-GPL module with a small GPL wrapper and there is nothing wrong with that. That is what NVIDIA does. However, in the source code for the GPLed wrapper, they are marking their binary only driver as GPLed software. They include \0 in their license string and pass that to the Linux kernel. The \0 in C terminates a string, so the Linux kernel only sees the part of the string that comes before the \0, which in this case is only "GPL". So basically the Linux kernel loads up the module thinking it is GPLed which is not good for the types of users I explained above and I would think it could have some legal issues. How do you think MS would react if I wrote software that played around with their license or lied to their subsystems? I bet they would have a flock of lawyers on me in a heart beat.

    Again, it is no big deal that the module is not GPLed. There are a bunch of binary only drivers/modules for the Linux kernel. I use some of them like the NVIDIA drivers. The issue is that this company is lying about their software license.

    --
    If Tyranny and Oppression come to this land,
    it will be in the guise of fighting a foreign enemy. -James Madison
  37. Re:Real world vs. fanboy fantasies by 0x0d0a · · Score: 4, Informative

    Ignoring the parent post just because it's trolling is silly -- it offers a good opportunity to clarify the points involved.

    Only clueless fanboys would give a damn about under which license their drivers are distributed. As long as they do what they're supposed, so what?

    The kernel developers have a tainting system in place because they won't debug kernels that have drivers loaded that are closed-source. It's too hard for them to tell whether that driver might have been responsible, and very difficult for them to fix any problems.

    Try seeing how interested Microsoft is with fixing problems in other people's proprietary drivers. It's not all that high.

    This is different from something meaningful, like Microsoft's excellent WHLQ certification. I'm surprised that no other vendor, including LinuxOS Inc., has copied the idea of certified drivers yet. Microsoft has taken the initiative to take responsibility, this is something that the GPG/Linux community needs to copy.

    WHQL is primarily a mechanism designed to give Microsoft strategic power in the software market. It has little to do with software quality, though it is billed as such (just as DRM is billed as an anti-virus/malware scheme by MS). It is intended to grant them ultimate authority over what software is released for their system -- they have the power to refuse to sign any driver release if they need to do so as a lever, which gives them tremendous power over device manufacturers. This is tremenously more powerful and intrusive than the Linux driver tainting system, which works on an honor system. WHQL ensures only basic functionality is in place -- WHQL testing does not involve audititing code, checking for corner cases, or do any of the things necessary to produce a good, bug-free driver.

  38. Why do i care? by nurb432 · · Score: 2, Insightful

    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.

    --
    ---- Booth was a patriot ----
    1. Re:Why do i care? by dinivin · · Score: 3, Insightful

      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

    2. Re:Why do i care? by spinkham · · Score: 2, Insightful

      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.

      --
      Blessed are the pessimists, for they have made backups.
    3. Re:Why do i care? by dasunt · · Score: 2, Interesting

      Seriously, why do I care about this at all?

      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.

      Some of us would rather support open drivers than closed drivers. When I buy hardware, I try to buy hardware with open drivers. Why? Because it directly affects me.

      Case in point: Lets say I buy a Promise SX4000 RAID5 card. It has "linux drivers". However, by linux drivers, it means that it has precompiled drivers that only work for certain kernels. Congratulations, my upgrade path is restricted.

      Now lets say I buy a RAID5 card with open drivers. My upgrade path is no longer restricted.

    4. Re:Why do i care? by Senjutsu · · Score: 4, Informative

      The only reasons you should care are

      A)By faking a GPL license to avoid "tainting" the kernel, the company has made your life more difficult. Problems you have with the kernel won't be supported by developers unless you can recreate the problem without any closed-source modules loaded(otherwise the bug is likely in code they can't fix). Since the module is not marked by the kernel as closed source, unless you remember it is months or years down the road, you may forget that you need to unload it.

      B)It wastes time the developers could otherwise be using to improve the kernel. Given a kernel dump that claims to be untainted, they could end up spending days hunting down a bug only to discover that it ultimately lies in a module they can't find source for. If the tainting mechanism had been allowed to work properly, the developer would have asked for a resubmission of the bug without any closed-source modules loaded, to ensure the bug is fixable by them, saving themself days of wasted effort.

      What you, and a lot of other people seem to not be understanding is that, if this company hadn't faked the "GPL" line, the modules would still have loaded and worked perfectly. The developers aren't trying to keep closed source drivers from running (far from it), they just want to mark a kernel so that if there's a problem with it, they can save time by having a way to immediately identify whether they are capable of debugging it or not. That benefits everyone.

  39. Re:Binary modules, licensing, and module strings by Richard_at_work · · Score: 3, Interesting

    It's a moot point; a proprietary module that uses GPL symbols is an unauthorized derivative.

    But how can some symbols be GPL and some not, considering that, as it stands, the entirety of the core kernel code is licensed under the GPL, and the GPL does not allow exceptions to that licensing? Im not trying to flame, its just not that clear to me! :)

  40. These people wanted $15 for a Linux driver by HungWeiLo · · Score: 2, Insightful

    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.

    --
    There are a huge number of yeast infections in this county. Probably because we're downriver from the bread factory.
    1. Re:These people wanted $15 for a Linux driver by aonifer · · Score: 2, Insightful

      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.

  41. Linuxant Responds and explains themselves. by OrangeTide · · Score: 4, Informative

    Linuxant responds and explains why they did what they did. It was mostly to supress multiple messages when loading multi module drivers rather than some sort of circumvention.

    On the otherhand I think everyone's eyes are open to possible malicious use of this and simular tricks.

    --
    “Common sense is not so common.” — Voltaire
    1. Re:Linuxant Responds and explains themselves. by dido · · Score: 2, Interesting

      Frankly, I still don't see why they should have bothered. Anyone who's gotten over the bar enough to know how to load and use their drivers should have read in their documentation that the many repetitive warnings were benign. They say:

      Actually, we also have no desire nor purpose to prevent tainting. The purpose of the workaround is to avoid repetitive warning messages generated when multiple modules belonging to a single logical "driver" are loaded (even when a module is only probed but not used due to the hardware not being present). Although the issue may sound trivial/harmless to people on the lkml, it was a frequent cause of confusion for the average person.

      Who are these "average persons" they talk about here I wonder, who have the know-how to manually load binary kernel modules and at the same time do so without reading the instructions that came along with it carefully? A newbie would be intimidated by the whole process and try to read the docs as carefully as possible before trying it, so it can't be them... They should have written a FAQ and clean documentation about this issue, instead of lying to Linus and his merry band of kernel hackers.

      --
      Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
  42. Re:hypocrites by ckaminski · · Score: 2, Interesting

    Yeah, it's a bit hypocritical. On the upside, however, it's still GPL'd so you can change the DRM to your hearts content or remove it altogether. Try that with the DRM coming out of the recording industry.

  43. Patents by tepples · · Score: 2, Informative

    A Winmodem with hardware DSP is simply a modem that uses a DSP to transfer data from modemPC instead of a serial port.

    The firmware that the DSP executes cannot be free software because the holders of the patents that cover v.92 modulation are not willing to license their implementation in free software. Therefore, winmodems on Linux must use some kernel-space process to at least initialize the modem.

  44. I will try to explain this to you (again) by hummassa · · Score: 2, Insightful

    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?

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  45. It's UNLAWFUL to make open-source drivers by tepples · · Score: 2, Interesting

    It's unlawful to make a Free driver for some devices. For instance, v.92 modulation used in POTS modems is covered by patents whose holders are not willing to license their implementation in free software. Not all modems store their firmware in a flash chip on the device itself, instead relying on the driver to upload firmware after every cold boot. A Free driver distributed in developed countries would have to restrict itself to 20-year-old modulations, none of which are sufficient to connect to any popular dial-up Internet service provider.

  46. Re:Is there a command that lists the licenses? by AstroDrabb · · Score: 4, Informative
    Yes, the command is modinfo. For example, here is what I get from the command: modinfo ext3
    $ modinfo ext3
    filename: /lib/modules/2.4.9-e.38smp/kernel/fs/ext3/ext3.o
    description: "Second Extended Filesystem with journaling extensions"
    author: "Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others"
    license: "GPL"
    parm: do_sync_supers int, description "Write superblocks synchronously"
    If you want to just see the license, you can pass the -l (that is a lower case L) option such as: modinfo -l ext3
    $ modinfo -l ext3
    "GPL"
    While I do not have the dirver from Linuxant, their module would in fact show up to an end user as "GPL". I would think this could be a legal issue for Linuxant, since they are lying to end users of their product about the license.
    --
    If Tyranny and Oppression come to this land,
    it will be in the guise of fighting a foreign enemy. -James Madison
  47. Re:Why bother supporting obsolete hardware? by tomhudson · · Score: 2, Funny
    For less than the price you pay for a winmodem plus their crippleware^Wdifferently-abled driver, why not just hop over to pricewatch.com and buy a real modem and be done with it.

    Your box will also run faster, as you won't be mimicking hardware functionality in software.

    It will also be easier to combine 2 or more modem connections in a low-end box for faster speed.

  48. Linuxant's Response to this matter! by foobar01 · · Score: 2, Interesting

    Linuxant has added a note about this issue to their site, with a link to their response on the Linux kernel mailing list.

  49. Linuxant's explanation by zarr · · Score: 5, Informative

    Here is the answer from Linuxant. They claim it wasn't a mistake, just a way to suppress potentially confusing warning messages.

  50. Re:LinuxAnt is really screwed? by OneEyedApe · · Score: 2, Informative

    The only people who really need to worry about the GPL are distributers and developers (and their lawyers) who are modifying or using GPL code. Unless I have completely misread the GPL, users who just install software and use it do not need to worry.

    --
    Life sucks, but death doesn't put out at all....
    --Thomas J. Kopp
  51. Re:LinuxAnt is really screwed? by ajs318 · · Score: 4, Informative

    Why do you have a problem with the GPL? It's easy to understand, the GPL boils down to just four words; not sharing is theft. GPL is for developers -- by placing software you write under the GPL, you are ensuring that everybody gets to see the source code. If anyone modifies your work, they have to release the source code too. GPL is also for users -- if you use GPL software, you know that the law will protect your right to share the software with others.

    --
    Je fume. Tu fumes. Nous fûmes!
  52. s/modifies/modifies and distributes modified/g by hummassa · · Score: 3, Informative

    Don't forget.

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  53. Re:LinuxAnt is really screwed? by shadow303 · · Score: 3, Informative

    There is no requirement for you to distribute your changes to GPL code. The requirement is that *if* you distribute it in a binary form, you must provide the source code.

    --
    I've got a mind like a steel trap - it's got an animal's foot stuck in it.
  54. Re:LinuxAnt is really screwed? by MSG · · Score: 2, Insightful

    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.

  55. Original purpose wasn't to deny, but to allow by Nygard · · Score: 2, Interesting

    A lot of the posters here seem to think the GPL-only module string and the "Tainted" message were created to make it harder to allow binary-only or non-GPL drivers.

    In fact, the reverse is true. Many device vendors were hesitant to release drivers for Linux because of the binary linkage created when the driver gets loaded. Under a strict interpretation of the GPL, that would consitute enough of a linkage to make the drivers a derivative work.

    Some vendors did not want their drivers to automatically fall under the GPL just because of dynamic loading.

    The GPL flag was created to let non-GPL drivers clearly indicate that they were not derivatives and would not be GPL-licensed.

    This is an example of a vendor that wants to eat its cake and have it too.

    --
    "Genius may have its limitations, but stupidity is not thus handicapped." --Elbert Hubbard (1856-1915)
    1. Re:Original purpose wasn't to deny, but to allow by Junta · · Score: 2, Informative

      Actually, it was because people had more and more binary modules with problems that resulted in kernel panics and the like, and would ask about a panic in a mailing list. Before, it would take someone's time to dig around and trace it down, and get more config info before realizing that there was a vendor's proprietary code causing the problem. They then get aggravated they wasted their time chasing a problem they aren't responsible for and can't fix.

      With a tainted kernel, developers immediately know that the scope of the problem will quite likely be outside their ability to figure out, and can request a reproduction without a binary module loaded. If it can't be reproduced, contact the binary module provider for support...

      --
      XML is like violence. If it doesn't solve the problem, use more.
  56. WRONG: It's about support.... by vt0asta · · Score: 4, Interesting

    So witholding the data from closed drivers is just lessening the experience/reliability/etc of people who use Linux but who aren't Open Source zealots. That's the aim of the driver interface but it's a stupid one, and as I pointed out it's easy enough to circumvent.

    If a kernel oops or panic occurs in a driver, it's important for the kernel developers to quickly know if it's a GPL driver (or a 3rd party binary only driver that they shouldn't even waste their time looking at). Too much noise is generated on LKML for broken binary drivers that just can't be fixed or troubleshooted.

    Zealotry has it's hand in that Open Source people really only want to fix Open Source drivers.

    Your clever circumvention idea is well known, it will not save you in getting kernel developer support, however.

    --
    No.
  57. A (Sort-of) User Perspective by Anonymous Coward · · Score: 2, Interesting

    I've been using a few different versions of this driver for awhile, and I have to say I disapprove of this because it circumvents a process that was put in to avoid a wild goose chase (not worrying about a kernel problem when a binary driver has been loaded.)

    You see, these drivers are almost worthless. They make the kernel unstable when loaded. They create an OOM error with pci hotplugging. I've had to reboot 5+ times in one day.

    The only way I was able to track it to the drivers was by blacklisting the mods with hotplug and reading log messages.

    Now, they may or may not crash on all systems, but I personally was close to filing bug reports complete with dumps. If it's true that this change doesn't show up in the dumps, the kernel developers would be busy tracking down bugs that weren't a result of their code.

    How much time do you think would have been wasted on these reports (assuming that I am not alone in having kernel panics from these drivers?)

    As for the whole "the tainted messages were confusing the customer" schtick: There are about 6 different modules that get loaded, so there would be 6 different tainted messages (which can be spooky...) but I can't even remember the last time I saw a "tainted kernel" message. Nowadays, most modules are being loaded in the background with any messages going to a log somewhere on the system. Besides, a one line explanation would be enough to not bother the user ("It's for kernel developers. You don't need to worry about it." or "It's to help people fix your computer if something goes horribly wrong."

  58. Blacklisting is extreme by Performer+Guy · · Score: 3, Interesting


    FWIW IMHO the string ends at the \0 I don't care what garbage in memory exists after this, this is not a subtle issue or grey area, \0 ends the string, subsequent information is irrelevant.

    But back to my subject, blacklisting is a bit heavy handed. Hmm... we have a company that provides drivers for Linux, yup they're proprietary winmodem drivers but they're there. To *suppress warnings* they have unfortunately chosen to prematurely end their string with a \0, that's really nasty and foolish but blacklisting them as a company from installing kernel modules is way frikin OTT.

    How does this help joe public get his winmodem working?
    How does this encourage any corporation from releasing proprietary drivers for in Linux? (Which are better than no drivers IMHO)

    There are other drivers (particularly audio and graphics) that use proprietary code implemented by private companies and these are used every day by many thousands of Linux users.

  59. Stop the Whining, the clueless do not deserve... by IBitOBear · · Score: 2, Insightful

    ... 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

    --
    Innocent people shouldn't be forced to pay for inferior software development.
    --"Code Complete" Microsoft Press
  60. Re:Fork? by letxa2000 · · Score: 2, Insightful
    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.