Slashdot Mirror


Open Sourcing Closed Sourced Drivers?

AnonymousIntern asks: "I'm interning at a company where I've signed all kinds of privacy agreements, so I'd ask that you not name me (nor use my id). The company I'm interning with sells a suite of software, along with various boards. Their software got ported to Linux a couple of years ago, but the Linux drivers for the boards (open source) don't have most of the capabilities found in their windows (closed source) counterparts because the company fears releasing a piece of technology in the chips that they've developed. Many people in the company are very level-headed proponents of open sourcing the whole driver (thus giving Linux users the same power they can get running the windows version), but fear releasing their tech. Can anyone suggest a course of action? I know this issue has come up before, but I feel it needs to be continually addressed." Now I'm all for opening driver sources, but if it came down between the choice of more driver support for Linux and Open Source code, I'd be torn. This is a subject I'm sure many of us feel strongly about, so please share your opinions.

262 comments

  1. Re:YEah by Anonymous Coward · · Score: 1

    What license would you release something like that under? Would /. start referring to similar licensing terms as "free as in ass"?

    Hmm...

    AC

  2. Sorry. It's illegal in Netherlands too. by Anonymous Coward · · Score: 1

    Ya'll observe the same Berne copyright convention that we do. Whether you legally disassembled the code or legally found the source in someone's garbage, it is still illegal to "copy" it. You can learn from it, get interface info, etc., but it still carries all the copyright protections as the original source code. Even the translation to machine code and back is no defense. Besides, there's the ethics of it all. Shame on you.

    1. Re:Sorry. It's illegal in Netherlands too. by Emphyrio · · Score: 2

      It is _not_ illegal to reverse-engineer anything in the netherlands, as long as you only release information about the reverse-engineered product.
      (Our lawyer checked this extensively)

  3. Re:If you opened the specs... by Anonymous Coward · · Score: 1

    Okay, it's time this NVidia thing was more fully explained. In fact, I daresay the NVidia situation would make an excellent Slashdot feature, assuming we could get anyone at NVidia to go on record. I, sadly, must remain off-record, since we're trying to get this very information out of NVidia so we can support their chips, and I wouldn't want to upset them. However, I also think a more complete picture of the situation -- at least, as I have come to understand it -- may help Slashdotters and Open Source advocates understand the situation more fully and allow youse guys to direct your intellect and zeal in a more constructive manner.

    First of all, the Big Book Of NVidia Register Definitions won't tell you a thing. NVidia's design philosophy is very unlike any other graphics chip. Everything, including rendering context maintenance, is dealt with at the hardware level. In reality, a lot of duties get thunked off to software via interrupts, but by taking this approach, NVidia can migrate functionality into and out of the hardware at will, and all client software will continue to work (that's the theory, anyway). Thus, to write an effective driver, you need considerably more information than a register list since, in actual fact, half the time you aren't dealing with real registers.

    I have it on reliable authority that this information isn't really written down anywhere; unlike Intel, NVidia does not have a technical documentation division. The design philosophy remains primarily in the engineers' brains. If you want to become a customer of NVidia (that is, a board OEM), they'll give you enough access to their brains so that you can customize your board offering. In terms of NVidia's engineering time, this is not cheap, which is why they charge OEMs handsomely for this privilege.

    So, without access to NVidia engineers, the register spec is of little aid to a driver-writing effort. Fuhgeddabouddit. The lowest level they're willing to document at all is the virtualized hardware interface and, as it happens, all that information can be found here.

    Another reason NVidia is so protective of their specs is partially due do historical accident. Several of the principals at NVidia used to work at Sun Microsystems, where they developed the GX graphics accelerator. One of the SunOS releases inadvertently contained a single #include file detailing the GX registers. Using that file, a debugger, and a logic analyzer, Weitek managed to develop a clone of this chip in a mere six months. The clone was so good that Sun's own drivers worked on it. Needless to say, this left a bad taste in their mouth.

    Astute observers will note that Weitek is now dead dead dead , but NVidia has more recent experiences to keep them gun-shy (Gnu-shy? :-) ). It seems that NVidia is of the opinion that the few Open Source releases they've made have directly resulted in getting hit with patent infringement suits. Apparently their competitors (who evidently have nothing better to do :-) ) download their source release, pick through the code, make some reasonable conclusions about the underlying hardware implementation, and start filing suits. Yes, it's bullshit, but if you're a cost-based accounting kinda guy (and most accountants are these days), NVidia's Open Source releases have been hideously expensive, and haven't resulted in the sales of additional chips.

    These two last points (fear of cloning and fear of lawsuits) are the two big sticking points for NVidia at the moment and, sadly, I don't see them changing any time soon. Personally, I think their chip is so monsterously complex to design and fabricate that their fear of cloning is virtually unfounded. The patent thing, however, is another matter. Perhaps they might choose to hook up with Jeff Bezos in his stated intention to pursue patent reform. But that seems unlikely, since it could distract them from the very important job of staying ahead of 3Dfx, S3, ATI, and Matrox.

    Keep sending them kind, polite notes of encouragement toward an Open Source release. But be prepared for a long, long wait.

  4. Re:Why not both? by Patrik+Nordebo · · Score: 2

    If the open-source driver lacks support for hardware features that the closed-source driver supports, it will not get support for those features. Unless someone reverse-engineers those features in a way that is legal in all the places where the drivers would need to be distributed, which is usually a major effort that could have been avoided if the vendor saw the light.
    And if the vendor didn't do a full source release in the first place, they may well sue the person who did the reverse engineering, even if he did everything legally. Basically, having to reverse engineer features is a huge PITA.

  5. Re:Question from a non-guru by narf · · Score: 1

    Did you notice how a red Windows Evangalist will never drink pure water? Vodka. They drink vodka.

  6. Electric All wheel Drive? (Your on Crack.) by Jonathan+Hamilton · · Score: 2

    I don't know why you think this comment belongs in this story but it dosen't.. Anyway to answer you quesiton it wouldn't quite work. I've thought about doing that with Electric and Gas engines. There are tons of problems with it however. 1. your engines (just like tires) would wear down at different rates causing you to have to rotate your engines. 2. every engine isn't going to have exactlly the same power output as the other one, so you car might pull the to left or right. If you correct this by just holding the steering wheel straight your tires are going to wear down quickly and unevenly, just as having improperly balanced tires would do to your car. 3. Cooling would be a big problem, not to mention how you would get enough power to those 4 different engines. When you put 4 of somthing in a car it becomes 4 times more complicated. There are many other reasons why your idea wouldn't work but I won't name them all.

  7. Hehe by Kev+Vance · · Score: 1

    You know, I suggested something along those lines once. Only it was more of an elite omega force type thing.

    --
    F0 07 C7 C8
  8. Re:Gee.... by Kev+Vance · · Score: 1

    Fully working drivers? No such thing :)

    --
    F0 07 C7 C8
  9. Re:It's about freedom, and peace of mind by Eccles · · Score: 1

    I agree, Open source stuff *is* about freedom but only for certain people. Those gifted as coders are free to look and alter the code but for others such as myself it matters little whether we get the source code or not.

    Can you post a message and ask for free help? Can you write a check? Both are possible ways to get fixes if you have the source. Remember that with free software, you have a significant number of people whose motivation is more in getting things working right than in profit.

    --
    Ooh, a sarcasm detector. Oh, that's a real useful invention.
  10. I Disagree: I'll take the source please Bob! by DG · · Score: 2

    I've been using the binary-only OSS sound drivers for the last couple of years, and it's been a serious Pain in the Ass.

    - you have to download and re-install the drivers every time you change kernel versions
    - this means you can't upgrade a kernel (or upgrade, and lose sound for a while) until the binary-only release for your version is available
    - you better have the same libc as the sound drivers, or Bad Things Happen
    - if Opensound ever goes away, then no more driver support for me!*

    I'd much rather have the source, and I'd rather that source become part of the official kernel distribution, where I can count on it being compatible with my system under all circumstances.

    Or to put it another way, distributing binary-only drivers means you are now in the Linux tech support business, where your drivers must keep pace with kernel development. Release driver source, and it's likely that someone else will do the maintainence for you - at least as far as API changes etc. go.

    *OK, bad example, there are now working proper source drivers for my soundcard in the kernel, so I do have an alternative these days. For increasingly obscure or convoluted tech though (video cards) reverse engineering open source drivers may not be as feasable. If the company providing binary-only drivers decides to stop doing so, you're pretty well screwed come kernel recompile time.

    --
    Want to learn about race cars? Read my Book
  11. Re:You are no better then a petty thief by rlk · · Score: 1
    Who are you to say that you want the source? Because you are a user?

    Because I'm a prospective customer? Damn right! They don't have to open their source, I don't have to buy their product! What's more, I'm just as free to discourage other people from buying it, too.

    A free market cuts both ways, my friend.

  12. Re:You are no better then a petty thief by rlk · · Score: 1

    They do indeed. However, that doesn't mean that that behavior should be encouraged. If a company realizes that releasing a driver without source loses sales to their competitors, they may be encouraged to open their source code. Such an outcome would be highly desirable.

  13. Re:Question from a non-guru by rlk · · Score: 2

    There are a number of reasons why Linus refuses to commit to a standard binary interface:

    1) It commits the kernel to support something he doesn't believe the kernel should commit to, at least at this point. The kernel does provide a standard external user-space interface (at least in combination with libc). Kernel internals, however, are kernel internals, and he wants the freedom to be able to change kernel internals as needed to improve the kernel.

    The kernel internal interface is not part of the POSIX definition, anyway, so there's no standard to worry about upholding.

    2) Stability. Buggy user space code can crash an application, but it won't crash the system. Buggy code in the kernel -- driver or otherwise -- can crash, lock up, or corrupt the entire system. It can be very hard to trace down where the corruption comes from (I speak from moderate personal experience dealing with the kernel in various UNIX-type operating systems).

    Encouraging a situation where people are at the mercy of third parties for their systems' stability is not something Linus (or anyone else) particularly cares to encourage.

    Drivers don't have to be compiled into the kernel; modules work just fine for the purpose of runtime loading.

  14. Re:Question from a non-guru by rlk · · Score: 2

    It's all well and good to talk about design, but it's impossible to know every contingency that will ever come up. It's also impossible to know a priori what will work well and what won't without real-world experience.

    Try reading linux-kernel -- you might be surprised by how much stuff Linus rejects on the grounds of poor design. The kernel is definitely not hacked together, but it does have to evolve, and forcing it to maintain a fixed internal interface gets in the way of that. Maintaining a supported external interface, in combination with libc, seems to be the best compromise between stability and progress.

  15. Re:the choice is obvious by rlk · · Score: 2
    As the saying goes, beggars can't be choosers. And unless you havn't noticed, Linux isn't exactly the main OS of choice, or even close to it. We can't be picky about our software.

    Oh, really? I would argue that it's the very pickiness of the Linux community that has gotten it as far as it has. There are also a lot of people who believe fervently that if Linux were to give up this "pickiness" it would mean losing the very thing -- guaranteed freedom -- that makes it so desirable in the first place.

    Nobody's forbidden to release closed-source software for Linux. That doesn't mean that it particularly needs to be encouraged.

  16. Re:You are no better then a petty thief by rlk · · Score: 2

    As far as that's concerned, it's quite interesting how the very same companies screaming about the need to protect "intellectual property" refuse to acknowledge that an individual may have any "intellectual property" rights to personal information about him or herself. If an individual were recognized to have copyright on the information existing about herself (such as objective personal information, purchasing and browsing habits, and so forth), there might be a slightly more intelligent discussion of the whole issue.

  17. Re:Why Open Source? by rlk · · Score: 2
    Why not just release binary drivers as modules and specify which version of the Linux kernel is required? If people need your hardware, then they'd be delighted to run whatever version of Linux is required. (I'm talking about kernel versions, not distros.)

    It's not that easy to separate a kernel version from the low-level user interface (libc, and some of the tools), for one. Also, suppose I need two pieces of hardware, and the supported kernel is different for both pieces?

  18. Re:Pros Cons by martin · · Score: 1

    another con....

    the product is computer authorisation algorith (eg ACE-server & Securid card). Opening up the source exposes the driving algorithm for public (read cracker/hacker) viewing. IF there is hole in the algo and someone finds it the company is screwed.

  19. Re:Pros Cons by martin · · Score: 1

    The point here is that the algorithm _must_ be secure. Its how the 'one time pad' works.

    opening up the aglorithm destroys its main strength - obscurity. (ok as we know this is generally a bad idea, but lots of people still make lots of money out of 'snake oil':-)

  20. This seems easy enough. by jd · · Score: 2
    There are a number of solutions I can think of:

    • Place the "secret" technology in a closed-source sub-module, which can -optionally- be detected and loaded by the main driver.
    • Place the "secret" technology in a closed-source user-space daemon, which acts as a user-space driver.
    • Treat the device as two seperate devices, and have two untangled drivers for it - one for the "public" resources and one for the "secret" ones.

    Yes, these aren't fool-proof, but they might satisfy your average PHB whilst still keeping in the spirit of having as much of the tech Open Source as you can.

    There is actually one further option, which would allow for a TOTALLY Open Source driver - write a meta-driver, which handles the raw communication but does NOT contain the h/w API. Then have an external "driver script" which programs the driver with the translations between the external API and the H/W API. Give any given script the option of being encrypted, and the translations for that section of the API would be visible only to the driver.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  21. There's a _big_ problem with binary only drivers. by Svartalf · · Score: 1

    If the kernel interfaces change (which they do from time to time) Linus has already implied that they (the kernel team) are not going to shed a single tear for those vendors that produce binary only drivers. The official take is that while they're not excluded, they are unsupported by the development community.

    Either the company in question is going to be willing to pony up the resources to keep up with the kernel development (an ambitious task- but NVidia seems to be willing at this point in time...) or open the source and the technical details to be able to fix the same. While they're making that decision, they should understand that unless there's some magic mojo involved in their tech, they're not going to benefit at all from opening the source and tech data. They should also realize that if they have some special magic that it's VERY likely that a potential competitor would be reverse engineering the stuff and unless the company in question has patents on the software and hardware, there's going to be clones and knock-offs eventually (rather soon, I'd suspect...). Plainly speaking, security of "IP" through obscurity is no security at all. It's almost totally in their best interests to open it all up.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  22. Re:There's a _big_ problem with binary only driver by Svartalf · · Score: 1

    Arrgh... I botched that.

    They will benefit from an opening of the info and driver source.

    (Shouldn't post to /. before consuming mass quantities of caffene!! :-)

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  23. Re:No Problem: Steal The Source and Gnutella It by stripes · · Score: 1
    The ethics and consistency of this group (or lack thereof) amazes me. The vast majority of folks on Slashdot have no stealing music from artists but seem a bit squeamish when it comes to code.

    Poor sampling techniques get poor consistancy. It is very possable that the people tht say "don't steal code" are not the same people tht say "steal music". (of corse it is possable that people are inconsistant)

    Slashdot does not speak with one voice. Not even the same parts of slashdot read the same stories!

  24. Re:Question from a non-guru by stripes · · Score: 2
    Is it truly necessary to release open sourced drivers? Or is it just necessary to release good drivers? Cant binary drivers be made compatible across Linux distros? If not, it seems like this is something that is truly necessary.

    That depends on who you talk too.

    Some people like Open Source because it tends to reduce the bug level. Release a mostly bugless closed source driver and they will be happy.

    Some people like Open Source because it provides an alternitate means of support when bugs are found (either they are programmers and will fix it themselves, or they will hire a consultant to do it). This might only be important to them if they think the compony will fold, or if they think the componies support level won't be good enough. Provide them with source code escrow, and a way to get the code NDAed if they think they found a "show stopper" bug that you don't think of as a priority.

    Other people like Open Source because it give them freedom. It might be the freedom to port to another OS (say Plan9, or NetBSD on the PCI baised SPARCs). It might be the freedom to add new features (wow, with all this DSP stuff, I bet I can turn this card into side looking sonar....). Some of them might be happy enough with source under NDA, but many won't.

    Others like it because it normally also means free programs. This is kinda a non-issue for drivers because they are almost allways free with the device.

    Others like it for a combonation of the reasons listed above. You will need a combionation of approches.

    There are still others where it is a end unto itself. They will not be satisfyable with non Open Source (RMS qualifyes here, ESR does not appear to).

    How different is *BSD from Linux as far as drivers go? Is it REALLY that hard to recompile drivers to make everyone happy?

    Pretty diffrent. But if you don't need a lot you can minimise the pain. Here are a few things to look out for:

    Diffrent VM system (important if you want to do zero copy DMA operations), NetBSDs provides some features Liunx's doesn't (as far as I know) like Page-Loanout. In fact the 4 BSDs (counting BSD/OS) all hae diffrent VMs (well OpenBSDs may be the same as the old NetBSD one...and I think some NetBSD platforms still use the old VM system, not sure if it assumes things that are hard to do on some MMUs, or if some of the less popular ports are just lagging).

    BSD systems stull use mbufs. Some of them have fixed a long standing 4.4 external memory mbuf bug, others havn't. Some allow arbratary pullup's and splices in the middle of the buff, not just at the front (makes life a lot simpler for protocalls that need contigious headers larger then a single mbuf). Linux doesn't have the same set of functions. If you look at the KAME project I thik they have a set of functions that abstracts out what they need into another interface that sits on top of both.

    NetBSD and FreeBSD have a similar but diffrent interface to talking to devices that might live in a number of places and have a number of endianesses. For example the same NCR SCSI part can be found on a x86 PCI card (little endian machine, PCI bus), a SPARC SBus (big endian SBus), a SPARC PCI bus (big endian, PCI bus), and so on. A single driver can support all three (I think the probe function has to know how to probe all the bus types though -- which isn't a big deal for the SBus and PCI bus, but is for other busses). OpenBSD may have the same interface as one of the others, lack it entirely, or be a bit diffrent again. I donno. BSD/OS doesn't appear to have one at the moment, but I expect that is one of the things they wanted from buying Walnut Creek/FreeBSD.

    And porting to NetBSD, FreeBSD, OpenBSD, and BSD/OS on the Intel CPU alone isn't the end of the story. BSD/OS runs on SPARCs as well, can I have a driver there? NetBSD runs on the Alpha, on PCI Macs, and around 40 other machine types, some of which have PCI busses and could take your hardware. Can you compile me up a version for them?

    And hitting all the BSDs on all the archatectures isn't enough. BSD/OS and FreeBSD are doing fine grained SMP. That can require locking in the device drivers. Will you be supporting that as it moves forward?

    And hitting all the BSDs not and in the future isn't enough. What about Plan9? What about university research projects?

    These things may all represent very small markets (NetBSD supports the pc532, there were fewer then 250 of them new, and assuming all the ones still running run NetBSD, it's still a tiny market -- and it'll only work there if your device is SCSI attatch, or ethernet). But Open Source would make all of those people happy.

    Even if you just stick to the "larger market" systems, there are still at least three intresting BSD systems, and two or three non-Intel CPUs. Assuming your hardware product is something an ISP would want at least. Answer may be diffrent if only a video production house would want it, or only a hardcore gamer.



    From a bisness standpoint you have to decide. Is getting support on more platforms, and free bugfixes worth the cost of making it simpler for competitors to reverse engnear my hardware, or take tricky driver bits for their own? Is the kind of hardware I have actually going to inspire lots of people to hack on the drivers for free for me, or is it just not a sexy device (or in a overcrowded segment, and not a standout)?

    I happen to beleve that people are better at reverse engenring closed source systems then people think (look at DeCSS, or the number of cammeras that gphoto authors had to reverse engenar specs for to make work, or...), so just for the sake of keeping ahead in hardware is probbably not a big issue unless you are in a fairly slow evloving segment of the market (say LCD charactor gennerators, or slow low density network gear).

    If you have some nifty stuff in your drivers that is relitavly independent of the device, well then you have a real trade off to make. How much is that chunk of code worth? Is it really relly valuable? Do you take pains to ensure your programmers won't go to a competier and write that code again having seen it once? Might the GPL be "strong enough" to guard it? (after all if your compitetor takes it from a GPLed program they either have to release all their secrets, and they probbably have some just as good as yours...or face the potential for a big lawsuit, with large damage claims....)

    Maybe there is a good bisness case. Maybe there isn't.

    Pet thery warning: One thing you should be careful of though, if there is a good bisness case, you want to be the first in your market segment. The first people to the table get more followers. More people willing to hack your code even when a cheaper better card comes along (so long as it isn't that much better or cheaper). And the longer you are "first" the better your lead is (more people with time invested in learing how the driver works).

  25. Re:Question from a non-guru by stripes · · Score: 2
    Take a look at the FreeBSD source code. Look for "softupdates"[...]

    FYI, as of last monthish softupdates were re-released with the BSD licence.

    They may not be in by default, but it clearly shows GPL code can be used in the BSD world.

    That I agree with. Even in more idealisticly pure BSD systems a GPLed kernel module would be Ok, as would GPLed userland bits. So as long as this device isn't a boot device (like a RAID controler) your Ok.

  26. Re:reverse engineering closed source drivers by stripes · · Score: 3
    While on the topic, what's the likelihood that someone with enough intent could work out the technology by reverse engineering the closed source driver, anyway?

    Pretty much 100%. If you look at the device drivers Linux comes with I bet a few are reverse engnered. I know the Visor USB hotsync "driver" was built after looking at traces with a USB protocall sniffer for example. A lot of digicam drivers are done the same way. Bocs is also a great tool to help revese engener a driver (by observing the IO crom CPU to card). The (original) BSD Mitsumi CD ROM driver was reverse engenered (in 1991ish). Several ethernet PHYs (because they came on a card that had been supported until the vender changed PHYs without changing the box!). Roumor has it some of those were done because someone decided it would be simpler to reverse engenr the driver then to drive to CompUSA and get an exchange for a working card! Hmmmm, I can't think of more examples of the top of my head, but cd on into your source tree and start reading driver comments.

    Hell, some drivers written with documentation had to do a bit of reverse engenering work to see what was really going on because the doco was wrong! (A Lucent Ethernet comes to mind here, and the bringup code for the so-called TurboSPARC maybe too...)

    It ain't impossable. For some people (not me) it ain't even hard! Of corse it might be illegl now with the DMCA, but then again it might fall under the interoperability clause (it would definitly seem to me that it should).

  27. It's hard to provide binary-only drivers by Mawbid · · Score: 1
    I'm at work and don't have time to locate my source, but I just want to quickly inject one point.

    On lkml I once read a thread started by some one distributing a binary-only kernel module. The binary guy was experiencing some problems and some kernel hackers were assisting him in tracking down the source of the problem. What kernel version? UP or SMP? What compiler?

    ...What? Modules compiled with one compiler may not work with a kernel compiled with another compiler? "Is it that bad?" asked the binary guy.

    So, binary-only modules are pretty much guaranteed to be big hassle right now. Bigger than some people trying to distribute them realised in advance.

    ...and if I totally misunderstood that thread or am otherwise talking gibberish, please say so nicely.
    --

    --
    Fuck the system? Nah, you might catch something.
  28. How can you be torn?? by Sleepy · · Score: 2

    "Now I'm all for opening driver sources, but if it came down between the choice of more driver support for Linux and Open Source code, I'd be torn."

    The answer is the *neither*... it will be "free software", not Open Source (still TM'd? heh). Seriously, read on until the end... you can't just open the code - or not - and expect to sit on your ass reaping the benefits forever.

    I am not the pure GPL type - I bought Windows. I won't even claim to be pure Linux (unlike *some* people who recently editorialized comments about Quicktime videos and Linux. *Diablo* *cough* Ahem.)

    It's pretty obvious tho that even if YOU do not care about Free Software vs. Open Source, you only have to wait around for someone else to code good free software, and then you'll use it. I appreciate what the FSF has done, but not everyone does. Fine, I guess, but when someone codes "the best software" and it's GPL'd, that's it and the competition is OVER; story at 11.

    By the same token, I don't program, but I love the fact that so many UNIX users do, and I can benefit by running Linux. Microsoft and APple can do some neat things when inspired (well, Apple can anyways :) but could they do GNOME, Enlightment, and all the various free software projects? No way.. not enough people.

    Back to my point, there will come a day when software is more common and stuff to power your boards will be Free Software. Maybe that day is far enough away to recoup your investment and then some, but don't expect to make it last forever. Releasing the code with too many restrictions will just FUEL some GPL'd alternative (look at Qt/KDE v. GNOME, or the FreeVM v. VMware).

    Like Apple, there's a day in the future you'll have to decide if you're mostly software or hardware. Predict that day, and you can pull off any licensing you want really.

    Personally I get annoyed at hardware with substandard Linux support, and I curse their management as buffoons. :) Nothing worse than buying into say a SoundBlaster Live with "Linux Support" only to find out how incomplete that support is.

  29. Re:why open source ? by Alan+Shutko · · Score: 4

    First, nobody in the Windows world is making money on hardware drivers. Especially not hardware vendors.

    Second, closed source kernel drivers severely limit the user. You are limited to certain kernels, with certain options. You may not be able to apply security patches. And Linus has made it clear repeatedly that if the kernel needs to change and that breaks binary drivers, that's not his problem.

    A hardware vendor providing binary only drivers relegates his hardware to second-class citizen status, because there are a lot of people who don't want to put on a straitjacket to use a certain piece of hardware.

  30. Re:I'll take the tech please Bob! by EngrBohn · · Score: 2
    As Cliff said, it's a tough call, and I'm not sure which way I'd go if it came right down to having to choose. As an engineer, I'm concerned about functionality ("does it work!?"). But I do have a couple thoughts about freeing the code:
    • Don't forget that it was a driver issue (for a printer) that broke RMS' camel's back and led him to form the Free Software Foundation.
    • If enough people voted with their wallets, your employer might realize there's a monetary benefit to freeing the code -- that is, if we take a stand that we won't purchase any hardware that isn't supported by free software, then there's a profit incentive for hardware manufacturers to free the drivers. Of course, realistically, they may be happy enough selling to those who don't mind non-free drivers (such as the larger market of MS Windows users).

    Christopher A. Bohn
    --
    cb
    Oooh! What does this button do!?
  31. Free as in speech by EngrBohn · · Score: 2

    Free as in speech, not free as in beer.
    Christopher A. Bohn

    --
    cb
    Oooh! What does this button do!?
  32. Re:Question from a non-guru by Mr+Z · · Score: 1

    Dr. StrangeLinux?
    --

  33. Pros Cons by jjr · · Score: 3

    Pros on opening the source for the drivers
    1) Acceptance in the Linux/OSS community
    2) The driver can be part of the linux kernel
    3) If there is a bug in the drivers it can addressed quickly
    4) People can create alternate solutions for devices

    Cons on opening the source for the drivers
    1) The cat is out of the bag
    2) People can create alternate solutions for devices (Might cut into revenue of other devices)
    3) Competion can create a clone of your device easier

    And there are there are many more reasons That can be given these are the just a few that I thhough of any more

    1. Re:Pros Cons by luckykaa · · Score: 1

      So instead, the safe cracker just buys a safe, takes it to bits, and finds where to listen for clicks, where to drill, and where the weak spot is to place the plastique explosive. If the safe is well designed, it won't be possible to get into it in this way whether you know the design or not.

      If the source of crypto tools is opened to the public, it says a lot about the compnay's faith in the algorithm. If they don't have enough faith, then they should check it a bit further.

    2. Re:Pros Cons by sqlrob · · Score: 2
      the product is computer authorisation algorith (eg ACE-server & Securid card). Opening up the source exposes the driving algorithm for public (read cracker/hacker) viewing. IF there is hole in the algo and someone finds it the company is screwed.

      If it is open, more than one person is likely to find the hole and tell the company. If it is closed, most of those going after it will have malicious intent and not publicize but use the hole. Which is better?

  34. forest for the trees by fishbowl · · Score: 2

    We are probably creating a new generation of hackers who will be able to look at object code and understand it. Perhaps source code and object code won't have such an absolute division then.

    --
    -fb Everything not expressly forbidden is now mandatory.
  35. Re:Question from a non-guru by grahamm · · Score: 1

    A GPL'd driver may not be able to be used in a *BSD system, but a BSD licenced driver can be used in Linux or as part of a GPL'd system. Though, from a hardware manufacturer's perspective I suspect that BSD licencing would be even less acceptable than GPL as it would allow someone else to make the driver proprietary.

  36. Re:How is this a troll? by elflord · · Score: 1
    ince many Trolls attack the GPL, or open source, anyone who attacks open source is a Troll.

    Speaking of moronic logic ... you have your logical implications back to front. Since many cats drink milk, anyone who drinks milk is a cat ...

  37. Re:Because DRIVERS typically run as 'root' by elflord · · Score: 1
    Drivers do not "run as root". It's worse than that -- they run in kernel space. The driver itself does not have any PID.

  38. Your company can't make a decision? by PD · · Score: 2

    Then your problem is simple.

    How much business will you lose if you release the tech?

    How much business will you gain if you get the Linux market?

    Which one is greater?

    We would all love for you to open source the driver and release the specs for the board, but your company's decision needs to be based on the numbers. Answer the simple questions above, and the decision is made.

  39. Re:Question from a non-guru by poohbear_honeypot · · Score: 1

    This has *nothing* to do with monolithic kernels. It has to do with having a stable interface, something that can and should exist just fine without a microkernel.

    ---
    Joseph Foley
    Akamai Technologies

  40. Why Open Source? by panda · · Score: 2

    I agree with the folks who say, "Why must everything be Open Source?"

    Why not just release binary drivers as modules and specify which version of the Linux kernel is required? If people need your hardware, then they'd be delighted to run whatever version of Linux is required. (I'm talking about kernel versions, not distros.)

    Just because you port something to Linux doesn't mean it has to be Open Source, or even free.

    --
    Just be sure to wear the gold uniform when you beam down -- you know what happens when you wear the red one.
    1. Re:Why Open Source? by panda · · Score: 2

      Also, suppose I need two pieces of hardware, and the supported kernel is different for both pieces?

      Then, you need to decide which piece you need more, or get a different machine for each piece.

      You can also live dangerously and try loading the modules anyway. As long the difference in the kernel requirements is in the number after the third dot, you just might get away with it. Then again, your machine might just lock up. }:-)

      Seriously, though, I don't see binary drivers or special kernel versions (with drivers compiled in) being a problem for folks who need the special hardware. This is exactly where the custom programming and service model of making money with Open Source comes in.

      The question really becomes does linking your driver code into the Linux kernel violate the GPL if you don't distribute the source for your driver. If the answer is yes, then only support BSD and tell the Linux weanies to go to Hell. }:-)

      --
      Just be sure to wear the gold uniform when you beam down -- you know what happens when you wear the red one.
    2. Re: why open source? by scotsalmon · · Score: 1

      Reverse-engineering a 300-pin ASIC using just the hardware and binary code is non-trivial. Developing competing hardware that supports the same API's is much easier if you have C source code to work from.

      --

      --
      101010, 222, 52, ...
  41. It All Depends by HomerJ · · Score: 5

    John Carmack said it best when he refered to Nvidia's XFree 4.0 situation. In a nutshell is said that most linux users want a good working driver over an open-sourced one. That's something I tend to agree with.

    If it's a GOOD driver, I don't have any problem using a binary driver. The problem comes in most cases when it's not a very good driver to begin with, adn poorly supported. I'll use the SB Live! drivers before they were open as an example.

    They released so-so binary only drivers. They also weren't updated. Which leaves a big hole in even the number of people that can even use it. Drivers have to be compiled for every kernel version, and SMP versions. Creative assumed everyone ran a stock RedHat 6.1 install, and just forgot about everyone else. Although I aplaud Crative's opening their drivers, I would have been happy with closed source drivers that did everything their Windows counterparts do(read Liveware 4.0).

    Most dont' want drivers open so they can hack them and make them better. As the case with my Live!, I couldn't even USE them unless I had the source. Since they just supported the 2.2.12 kernel that's on a stock RedHat 6.1 install, I had to re-compile it for 2.2.13-SMP.

    So my point being. If it's a WELL SUPPORT DRIVER, most will use it, and like using it. The driver has to be kept right in line with everything your Windows drivers will do, and the same preformance. You also have to release a version for all the recient kernel versions. If it's some crappy hack like what Creative tossed out there before they opened their driver, that's when you'll get the backlash.

    1. Re:It All Depends by PigleT · · Score: 1

      So far so good. However, it would appear that "most people" are not hackers. Unfortunately, leaning towards the "most people do it therefore that's *all* we'll do" approach in industries and being prepared to settle for being pushed into the majority don't get everybody anywhere.

      Driver source must be open. It's the most *flexible* way to go: you produce the source, I can patch it into my kernel. I can even implement a driver in a totally different OS, and -get this- *you* get another OS to add to the list of "supported" OSs, totally free of charge! How is it companies think getting the world to do their work for them can be anything less than beneficial?
      ~Tim
      --
      .|` Clouds cross the black moonlight,

      --
      ~Tim
      --
      .|` Clouds cross the black moonlight,
      Rushing on down to the circle of the turn
    2. Re:It All Depends by exitzero · · Score: 1

      I agree, there is nothing wrong with a closed source driver as long as it is good and it works.

      The problem is that companies don't seem to be prepared to put the same amount of effort into a linux driver as they do a windows driver.
      Which I guess is currently understandable as they probably sell products to many more windows users than they do linux users. Hopefully as there become more and more linux users, effort put into these drivers will increase.

      I guess companies probably need more effort for linux drivers than for windows ones to cover kernel modules for all the standard distributions.

      --
      Keep your programs tidy.

      Exitzero.

    3. Re:It All Depends by casp_ · · Score: 1

      You forgotten some issue here : What about NVidia not following the developed standard ( DRI is a good exemple ).

    4. Re:It All Depends by casp_ · · Score: 1

      They don't respect linux philosophy. That is bad. Hoping ATI Radeon will kick NVidia ass.

  42. Re:Question from a non-guru by IntlHarvester · · Score: 1

    Well, 3D Cards are one thing, SCSI adapters are another.

    Linux is supposedly being installed on more servers than Novell NetWare. If you manufactured something targeted at the server market, you'd be a fool to ignore Linux (and you'd be an even bigger fool to not play by the rules and try to support a binary driver...) This is the kind of hardware that comes with support for obscure platforms like OS/2 ODI networking and Novell NetWare 3.x - Linux should be a no-brainer.

    Intel proposed a cross-Unix driver API (and presumably will implement it for Linux). The conculsion of the Linux cabal was that any driver using it would be doggy dog slow.
    --

    --
    Business. Numbers. Money. People. Computer World.
  43. Re:Question from a non-guru by Yenya · · Score: 1
    The reason is that the driver interfaces haven't stabilized to the point where it makes sense to define a binary interface for drivers. The interfaces are making signficant and sometimes radical changes that are necessary to keep the kernel improving. Once the kernel has developed "enough", the driver interface (at least for certain types of drivers) will probably stabilize and become de facto standard or be blessed by Linus as standard.

    The situation is more different than you would think. Linus (and many other kernel hackers) thinks that there is no need for supporting binary-only drivers and thus make no effort of keeping the driver interface stable over time.

    Many binary-only drivers even violate the GPL by using the inline functions from the (GPLed) kernel header files. I think Linus gave only one explicit exception from this rule to some company (etinc, I think).

    IMHO it is hard (if not impossible) to write (and especially maintain) the Linux driver not covered by GPL. You basically end up duplicating the changes in the kernel develoment yourself.

    Speaking from the point of view of kernel driver author/maintainer it is the best thing for maintainance to have your driver included in the mainstream kernel tree. Core kernel hackers often modify drivers in the kernel tree to reflect changes of the driver interface, so you don't have to track closely the kernel development.

    -Yenya
    -Yenya
    --

    --
    -Yenya
    --
    While Linux is larger than Emacs, at least Linux has the excuse that it has to be. --Linus
  44. Re:Open Source by Dionysus · · Score: 1

    >> How about a new GPL but for drivers. I could state that, yea, you can change the code, yea, you have the code, but no, you are not allowed to make hardware products from this code, but anything else could be allowed.

    Would go against RMS' sense of fair use, i.e. doing whatever you want to do with the source, including competing against the creator of the software.

    --
    Je ne parle pas francais.
  45. Re:If you opened the specs... by Blue+Lang · · Score: 1

    so there's no chance i will ever spend any money to put an nvidia card in any of my computers.

    shrug. i mean, really, does anyone who USES linux REALLY give a damn?

    --
    blue
    you need this

    --
    i browse at -1 because they're funnier than you are.
  46. No Problem: Steal The Source and Gnutella It by InitZero · · Score: 3

    Yes, this is a flame bait IP rant.

    The ethics and consistency of this group (or lack thereof) amazes me. The vast majority of folks on Slashdot have no stealing music from artists but seem a bit squeamish when it comes to code.

    When musical intellectual property is discuessed, the answer is that it's okay to steal it because that's the way it should be done and the music companies are living in the dark. It's RIAA's fault we're stealing music.

    Yet, when it comes to source code, we wring our hands and postulate about how we can convince the source's owner that the code should be opened. Why? Shouldn't we take the same track as we did with the music? Isn't it their falut that the code is closed and isn't it our obligation to steal the source and distribute it far and wide?

    I say that if the intern has access to the source code the the drivers, he should put it up on gnutella or a semi-anonymous web page and link it from Slashdot. That'll teach 'em.

    Why should corporate privacy agreements be any more binding than music copyrights?

    InitZero

    1. Re:No Problem: Steal The Source and Gnutella It by iCEBaLM · · Score: 2

      The ethics and consistency of this group (or lack thereof) amazes me. The vast majority of folks on Slashdot have no stealing music from artists but seem a bit squeamish when it comes to code.

      If some company (*cough*Aureal*cough*) promises to open up their linux driver source, and I buy their card on that promise, and then they don't do it, I would have absolutely no problem with "stealing" the source if I could.

      -- iCEBaLM

    2. Re:No Problem: Steal The Source and Gnutella It by rmst · · Score: 1

      OK.
      Not to go offtopic, but, a company only has to sell where it sees fit. If it decides to only sell to one legged blonde haired russians, that should be that company's perogative. However, it may not be a profitable descision. Theft is not legitimized because you can't get it any other way legally through a particular medium... It is not a market need, it is not like the music isn't available in an alternate medium. This boils down to people being self-righteous chanting information wants to be free as a cover for theft.

      --
      --------

      Never call a man a fool. Borrow from him.

    3. Re:No Problem: Steal The Source and Gnutella It by RedWizzard · · Score: 1
      Yet, when it comes to source code, we wring our hands and postulate about how we can convince the source's owner that the code should be opened. Why? Shouldn't we take the same track as we did with the music? Isn't it their falut that the code is closed and isn't it our obligation to steal the source and distribute it far and wide?
      Ugh, there's a vast difference between distributing bit patterns you have on your computer and breaking into someone else's computer to steal bit patterns you don't have.
    4. Re:No Problem: Steal The Source and Gnutella It by Wyrds · · Score: 1

      No, get a clue... Stealing the bundled, closed-source BigBucksCard driver so you can use your new SpareChangeCard is the same as stealing that mp3... bet you're guily. Stealing the source, which the mfr never released, that's akin to walking out of a studio with the 24 track master of your favorite hit. Why did you? Drop the base guitar track, fill in your own... now you are jamming. That's stealing the source code. Neither happens, dude, since most coders and studio engineers know the difference between dubbing a track from a CD, v.s. tossing out the entire mixing master tape. Big difference

  47. Re:Question from a non-guru by Roach · · Score: 1

    Don't be such hard asses on the guy. It was a suggestion and you may have taken it incorrectly. How many more cliche browbeatings are you people going to subject this guy (Harold) to? Question: Why can't this company patent their secret technology and then open source the code? Ok, now flame me...

    -dbw

  48. Re:why open source ? by Roach · · Score: 1

    vapour I believe you have landed on the wrong web site, you must have taken a left at Amazon.com instead of a right, because I think you were looking for Micro$oft.com where the idea of open source is simply too bizarre to imagine!

    -dbw

  49. Re:reverse engineering closed source drivers by Jonathan+White · · Score: 1

    It would just be a matter of time and having a skilled engineer to do it. A competitor which designs similar products would of course have plenty of capable engineers.

    The sad truth is I doubt they are really doing anything that is unique and if they are, their competitors already know about it. Security through obscurity is no security at all.

  50. Re:I'll take the tech please Bob! by HiThere · · Score: 1

    Yeah, but the driver issue was that he couldn't get one that would do what he wanted. Hardware manufacturers make their money off of the hardware, and give away the software (drivers) so that you will find the hardware worth buying.

    The problem with a closed source driver (assuming that the interfaces are properly documented) is that it won't work on all Linux systems, but only, say, on the i486 systems. With an open driver the Alpha users could recompile an tweak it to run with an Alpha, the Mac users could ... This is quite difficult with the closed source drivers. And it can never become a part of the standard. This may not matter to them. It will matter to some fraction of the Linux users, who will decide that this driver doesn't suit their needs. It won't matter to another fraction.

    Now I don't know what a hardware manufacturer thinks he would be giving away by revealing the driver source. But I don't need to know. That's his decision. I may decide to buy it or not. That's my decision. They can count on a closed source driver being greeted by raucous cat-calls, but so what. That will let folk know that the driver exists, and since freshmeat won't carry it, they need some way to let folk know.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  51. Thoughts on binary-only drivers by Todd+Knarr · · Score: 1

    A couple of thoughts here.

    • First, the company isn't protecting their technology by limiting it to closed-source Windows drivers only. Their competition has engineers and labs and money, and can and will reverse-engineer the Windows drives. It'll take them a few weeks longer and force them to add a couple-three dollars to the price of their product to preserve their profits, but that's about it.
    • Binary-only drivers turn into a headache when new kernels come out, or people compile their own kernels to their own preferences. Source for kernel modules can be recompiled to match the kernel by whoever recompiled the kernel. Binary modules can only be done by the company releasing them. Does the company really want to take on the job of tracking every single kernel release out there?
    • If Linux and other open-source OSes take off in more wide-spread use, companies that have Linux drivers lagging behind the Windows ones in capabilities risk getting left behind on both fronts. If the apps using your cards need, because of creator decisions, to run on both Windows and Linux, they will avoid using things available only under Windows. If your competition starts opening up, those apps will be able to use the more advanced stuff and will work better, and people will start to shift towards them even when they only run Windows ( because all of their friends who run mixed systems use the competition's stuff ).
    Sometimes I think we're getting to a point where protecting your rights in something and making a profit from it are starting to be incompatible. Much like printed books: the only way to completely stop people from copying them is to not publish them, but you've got to publish if you want to make any money selling your books.
  52. Re:Open Source Arguments too Simple by Todd+Knarr · · Score: 1

    If it's the part in the hardware that's hard to reverse-engineer, wouldn't it remain just as hard if the driver source were available? If so, keeping the driver source closed doesn't protect anything. Having it might enable the competition to write drivers for that hardware, but they still can't make a replacement for the hardware so people will still have to go to the original company for it. No loss to the original company there.

  53. the choice is obvious by Boolean · · Score: 2

    As the saying goes, beggars can't be choosers. And unless you havn't noticed, Linux isn't exactly the main OS of choice, or even close to it. We can't be picky about our software. IMHO people got a large head about Linux when the IPOs started... check them out, they ain't doing so hot. If you have the power to release drivers to make Linux more powerful and more advantageous to the user, there is truly no choice to be made. The user does not care if a driver is open source unless the user just so happens to be a coder.

    Now, I like open source a lot. If there is a way to release this technology AND make it open source, then do that. But just because it ISN'T open source is no reason not to release it. In fact, if Linux is ever going to be #1, we will need companies to speak out for it. I don't see Linus on the TV pushing Linux... do you? Maybe the reason your Red Hat stock isn't doing so well is becuase THEY DON'T ADVERTISE. If they do it is in publications in which everyone already knows what they are. If the only way to get companies to support Linux is to let them release some closed-source stuff, then the method justifies the means.


    If you think you know what the hell is going on you're probably full of shit. -- Robert Anton Wilson

    --

    If you think you know what the hell is going on you're probably full of shit. -- Robert Anton Wilson
    jdube is who
    1. Re:the choice is obvious by Schnedt+McWapt · · Score: 1

      You're mistaken, if you mean 'computer user' and not 'linux user.'

      Some people use 'Linux' to be elite and run the latest-greatest kernel. Then, after the fact, they come up with things they can use the computing equipment for. For people like that, it's essential that they always be able to upgrade to the kernel of the week.

      Other people use 'their computer' to get things done in their life. Their life and self-esteem doesn't revolve around their computer, it's simply a tool they use. People like this acquire a new Computer and it's operating system every several years, and generally don't 'upgrade' the core system when it's working right for them. They're too busy living life, and making good use of their computing equipment to a degree where it's not a self-serving entity.

      Geeks can never figure out how this second group of people find happiness.

    2. Re:the choice is obvious by Saib0t · · Score: 1
      The user does not care if a driver is open source unless the user just so happens to be a coder.

      Users do care if the driver is open source or not, simply because binary only drivers might not fit newer (or custom) kernels. (Unless I'm mistaken that is).

      --

      One shall speak only if what one has to say is more beautiful than silence
  54. Re:Question from a non-guru by QuadPro · · Score: 1

    (Now, watch this get moderated down as a troll, even though it's totally factual.)

    Yeah, real factual. And so objective.

    I'm curious: where did you read that the drivers should be GPL'ed? It said they should be Open Sourced. Quite a difference!

    And this brings me to a mini-rant: why do BSD-people (not all, ofcourse) try to kick Linux and/or the GPL so much? It seems like you're required to dislike Linux when you run *BSD. Linux and *BSD are totally different. Use what you like, but please don't whine about the others, is that so difficult?!


  55. Why is there trade secret stuff in the driver? by Skapare · · Score: 2

    It would seem to me that the design of this hardware was made under the assumption that the driver would be closed source, and perhaps only for Windows. If I had some cool idea of a piece of hardware (like something that was faster, smarter and just better than the competition) I would put all that technology into the hardware (count the firmware that drives the onboard CPU as part of that hardware for this purpose) and let the driver be nothing more than the communication path between the abstract requests/responses the applications see, and the physical functions performed by the hardware and/or it's processor.

    It's awfully easy for me to assume the driver is doing more than it should, much like the driver in the infamous winmodems that let US Robotics make the modem cheaper, eating up more of your CPU power to do stuff like compression. That was definitely the opposite of an accelerated card.

    Maybe the design cycle for the next version of the hardware needs to be pushed up sooner, and this time with all the proprietary and trade secret functions hidden away in a tamper-proof chip, and a simpler hardware-to-software interface.

    --
    now we need to go OSS in diesel cars
    1. Re:Why is there trade secret stuff in the driver? by mpe · · Score: 1

      Maybe the design cycle for the next version of the hardware needs to be pushed up sooner, and this time with all the proprietary and trade secret functions hidden away in a tamper-proof chip

      Except it is very difficult to make such a "tamper proof chip" which is usable as a computer peripheral. A lead covered lump full of explosive wouldn't go down too well.

    2. Re:Why is there trade secret stuff in the driver? by mpe · · Score: 2

      Uh, yes, it is hard to make a "tamper proof chip". Smart cards have been "broken" by timing responses and measuring current draws. But surely you don't think that a hardware solution is easier to crack than a "closed" driver, do you?

      The issue isn't "cracking" more that of "cloning". Any company which can realistically clone a card could simply buy a few and subject them to destructive examination. Smart card crackers tend to want a working smart card at the end of it, slicing a set up to put under an electron microscope isn't much good to them.

    3. Re:Why is there trade secret stuff in the driver? by Anonymous+Colin · · Score: 1

      Uh, yes, it is hard to make a "tamper proof chip". Smart cards have been "broken" by timing responses and measuring current draws. But surely you don't think that a hardware solution is easier to crack than a "closed" driver, do you? I work as a driver writer and in house we have developed "wrappers" for sterio video output. The same techniques would let you trace into any "closed" driver quite easily with a kernel-level debugger such as WinDebug (yuck!) or SoftIce. When Plex86 hits the streets for real, it will be quite easy to add tracing code to watch I/O to any card with a "closed" driver. What price "security through closure" then?

      If I was a card manufacturer with proprietory technology to protect, I would definitely be burying it in hardware and "dumbing down" the interface as much as I possibly could without hurting performance.

  56. Re:Linux is NOT THE ONLY OPERATING SYSTEM! by Skapare · · Score: 2

    Open Source has far more advantages than just the ability to make Linux a functional OS. As a system administrator who knows how to program, it's a means by which I can have control over, and effectively manage, the systems I need to keep up and running.

    One of the assertions made by Bill Gates regarding the stability of Windows is that many of the faults (I think he was trying to suggest that it was all of the faults) for crashes lie with third party drivers (many even distributed with Windows itself). With the increasing popularity of Linux, the concept of drivers written by third parties will be seen more and more. Some will be open source and some will not be. But what I suspect is likely to happen is that a lot of it will be poorly written. Those which are open source can be reviewed and fixed, maybe by the user, and maybe by the kernel development crew. It might even get included in the standard kernels (you can be sure a binary-only driver will not be).

    One of the things that I believe open source brings is quality.

    --
    now we need to go OSS in diesel cars
  57. Re:Question from a non-guru by Midnight+Thunder · · Score: 1
    Another approach could be the 'closed source compatibility module' (CSCM) module. Basically the module would provide an API that the closed source guys can compile with. The module would of course be recompiled for each new kernel, and the closed sourced stuff can be left alone. For everyone else there is the standard approach of writing a kernel module, rather than for the CSCM module.

    Anybody interested in putting together such a project?

    --
    Jumpstart the tartan drive.
  58. Closed source drivers arent cross platform/kernel by ivan256 · · Score: 1

    A closed driver ties you to a particular kernel version on a particular platform. When a company releases a binary only driver, you'll be lucky if they even bother to build an SMP version of the driver, nevermind one for Alpha or PPC. And if you cant use the kernel version that they release for? Well, too bad... And forget about development kernels.

  59. Depends on the application by TNN · · Score: 1

    If the driver is for a data acquisition board which may be used to digitize data of experiments which cost tens of thousands of $$$ then it would be helpful if provision be made to release the source to selected users (e.g. with NDA). Open Sourcing is not compulsory but it should be considered as soon as the product becomes outdated.

  60. Re:Question from a non-guru by Ancipital · · Score: 1
    The question isn't really so much distro-centric as kernel-centric.


    In order to use Nvidia's lame xfree 4.xx bvinary server on my box at home (which can't boot 2.2 due to insane pci cards which require 2.3/4's newer PCI code), I'd have to use a nasty third party hack, to kludge the driver to work with my kernel. for me, it's not a choice.
    We don't have a magic driver system /yet/ (i2o? :), so in the meantime, hardware manufacturers are losing sales when they fail to provide (at the very least) proper programming specs for their hardware.


    Of course, companies like smartdisk and creative labs go one step further, writing opensource drives.


    I'm wondering if the unnamed company is indeed creative, because they have released perfectly good basic emu10k1 drivers to control their cards. however, they don't tap much of the DSP power of this beastie.
    People who do this will probably still get more of the linux user dollar than either nvidia (see above), or people who don't offer support at all (hello, Event/Echo, you mongrels! :).


    Speaking personally, I have a Geforce at home because I play games, but in my linux box at work, I have a G400, because of Matrox's willingness to document their product. I now have to consider linux whenever I buy any general-use hardware.
    The K7VT motherboard which I bought yesterday (Asus Athlon/Thunderbird mobo) sports a neat little "tested with linux" flash. This is half the story. People must also follow through will full support in each case, word gets around...

    Umm, end of ramble.. what was the point that I was trying to make?

  61. Re:Another facet of the problem by Ancipital · · Score: 1
    First of all, re: modems, who actually WANTS a modem with a large software component?


    As to the rest, if manufacturers took your suggestion as read, it would mean losing sales even more surely as if they produced a shonky card which relies on layers of software to take the strain.


    I personally don't want to be restriced to "retired" hardware, and be grubbing around for old orphaned hardware like a poor relative of the BillyClicker world, there's no earthly reason for it. As free OSsen gain more of a foothold, manufacturers will realise that a it's an increasing market, and one that doesn't just scrape by on recycled kit, third rate outdated stuff.


    That sort of approach would put me at a very real competetive disadvantage to my Clicker colleagues, since they might be lacking in clues, but their alien technology would always be several steps ahead :-)


    Like I want to stay using an sb16 with worse sound quality than a Psion PDA, while other people are using Wave8/24.. Like I want to be struggling along with lame-ass 3DFX crap to preview 3d scenes while other people are using a fully-supported GeForce 2 GTS... not fun, eh?

  62. Why Closing Drivers Loses A Vendor Money by AnteTempore · · Score: 1

    http://www.oreilly.com/catalog/cb/chapter/magic-ca uldron.html#magic-cauldron-17

    Need I say more?

  63. Re:Yes... by AnteTempore · · Score: 1

    ESR mentions both Adaptec and Cyclades. As far as I know both of these companies do make money.

    If you feel it is propaganda please prove it wrong. You only harm your own credibility by spreading FUD on ESR. Posting as AC does not quite help either.

    So: If you really have a point to prove prove it. And do it non-anonymously.

  64. Re:I'll take the tech please Bob! by Ratface · · Score: 2

    Certainly a strong point.

    I am tempted to suggest thet an answer would be to release two versions - a closed driver with all the proprietary bells and whistles and an open version that gives the functionality the company feels they can release. However, this then leads to an even deeper segregation problem!

    The one positive effect that such a strategy *may* have however, is that if the company has a positive experience with the open version of the driver, it may encourage them to open more code in the future.

    Hmm, it's a thorny problem though - and one which we have all been banging our heads against since way back :-)


    "Give the anarchist a cigarette"

    --

    A little planning goes a long way...
  65. I'll take the tech please Bob! by Ratface · · Score: 5

    Seriously, if it comes down to that choice, I'd rather have better support in Linux.

    Having been a Linux user for years (starting with an early Slackware distro), I have to say that ease of use is *still* a priority for me - even if I am prepared to dive into config files and the like, I prefer not to. Open Source is important to me as a developer and on a more idealistic level, but in the real world, I'd rather see companies supporting Linux and giving the same level of features (or better) in their software as the Windows users get.

    At the end of the day, it isn't every company who is going to take the Open Source path. Those that don't should be gently encouraged, but quite realistically we have to just get on with life and using our computers - and I want to use mine with all the functionality I can get.


    "Give the anarchist a cigarette"

    --

    A little planning goes a long way...
    1. Re:I'll take the tech please Bob! by QuoteMstr · · Score: 1

      OSS/Linux is not free.

    2. Re:I'll take the tech please Bob! by soundman32 · · Score: 1

      Of course, realistically, they may be happy enough selling to those who don't mind non-free drivers

      Are there any non-free drivers?

      You get a copy of the drivers with the card you buy, and download any updates FOC from there website. No Charge!

      I don't understand this comment!

      --
      No sharp objects, I'm a programmer!
  66. Nail on the head! by DragonHawk · · Score: 2

    In this case, releasing the source to the driver would not do the company any harm that wasn't already in the works.

    Exactly! Someone give StormReaver a beverage of his or her choice.

    If your company is depending solely on the fact that their software is only distributed as object code to ensure their continued livelihood, then I recommend that you start looking for employment elsewhere. Because in short order, someone is going to disassemble the object code and use it to ruin you.

    In the end, both source and object code are exactly the same thing: Instructions to the computer. The form they take makes things slightly more difficult, but no more so then keeping all your trade secrets in French does.

    Likewise, if you're depending on IP law to protect you (copyrights, patents, trademarks, etc.), they will continue to do so even if you do release the source.

    Closed source as security is security through obscurity, which doesn't work, regardless if you are protecting data files on your server or the source itself.

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
  67. Source drivers vs Binary Drivers by hook · · Score: 1

    If somebody really wanted to reverse engineer or gain technical advantage from your drivers they could do so almost as easily from a binary. I dare say there isnt anything in there that competitors havent thought of anyway, I honestly havent seen anything truly innovative for years

  68. I don't understand the question by FascDot+Killed+My+Pr · · Score: 1

    Let me see if I understand this: You understand that Open Source is good, you want to attract Open Source people---but you don't want to open the source. Can't be done.

    However, I suspect your REAL question is "How can we seem to jump on the Linux bandwagon to gain marketshare AND mindshare without taking any risk?" Answer: binary-only drivers!
    --

    --
    Linux MAPI Server!
    http://www.openone.com/software/MailOne/
    (Exchange Migration HOWTO coming soon)
  69. Re:why open source ? by FascDot+Killed+My+Pr · · Score: 1

    "To allow your linux users the same level of functionality as their windows using counterparts, why do the drivers need to be open source ?"

    They don't.

    "Why can't you charge for provision of closed source drivers, providing functionality, documentation, support and an increasing level of product maturity with driver revisions ?"

    You can.

    "Maybe I'm a profiteering capitalist, but I don't see why mine (nor many of my collegues) hard work should be provided for free to one choice of OS and not another."

    It needn't.

    But if you take this route, you won't have me as a customer. Why not? Because I don't use software that's not Free (also free, but that's not a goal, that a necessity). If I am not someone you want as a customer, then we're both fine. If I AM someone you want as a customer then you are in trouble.
    --

    --
    Linux MAPI Server!
    http://www.openone.com/software/MailOne/
    (Exchange Migration HOWTO coming soon)
  70. Re:Gee.... by bogado · · Score: 1


    But then you want to start using hurd or beos or who knows some new incredible new OS that was just created. Surprize no drivers for your hardware. I guess you will have to waut untill your choice is also adopted by millions more to have a closed source driver.

    I think it is an outrage to buy a piece of hardware and don't have access to the specs so you can create your own driver if you want.

    My only question is what the hardware manufacturer would loose if they open the specs, I am not realy asking about drivers, I only asking for SPECS, I simply want to be able to have access to what I buy. Is that ask to much in this world???

    --
    "take the red pill and you stay in wonderland and I'll show you how deep the rabitt hole goes"

    --
    []'s Victor Bogado da Silva Lins

    ^[:wq

  71. Re:Why not both? by Basje · · Score: 1

    Or, continuing along this line, why not release the kernel part of the driver as open source, while another part (the actual hardware calls) as a closed source library?


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

    --
    the pun is mightier than the sword
  72. Re:Question from a non-guru by ibbey · · Score: 1

    >A kernel driver can crash the entire system. If it's binary only, it can't be fixed by the community.

    True. But then if a company is releasing the driver as an "offical" driver for it's hardware, it should already be stable and functional. If it isn't, then they have to fix it. This has been the case on Windows and other OS's for quiet some time. If the driver stinks, don't buy the hardware; you wouldn't use a peice of software that doesn't work, so why hardware?

    In the end, theirs very little reason why a company can't just release binary drivers for a product, apart from the screaming zealots. Oh well.


    That attitude is correct, but asking for trouble. A driver only has to be "good enough". If it causes occasional crashes, especially difficult to diagnose ones, most companies won't put forth too much effort to fix the problems. Factor in to that picture several companies using the same tactics & pretty soon, Linux crashes as often as windows. While I don't have a strong opinion on the question in general, this is a VERY significant issue. One of Linux's primary advantages is it's stability. maintaining that stability is absolutely paramount for it's continued growth.

  73. Re:reverse engineering closed source drivers by CrosseyedPainless · · Score: 1

    That's what I'd like to know. It seems to me, that if your double-secret hardware is so great, your competitors are disassembling your windows drivers *now*. They've also got a lab full of your hardware product in various states of disassembly. So, just who are you hurting by acting like your drivers are Secrets of the Gods? Only us, your (potential) customers. Thanks a lot.

  74. Re:Gee.... by CrosseyedPainless · · Score: 1

    Binary drivers don't necessarily work with any version of the kernel except the one they were compiled with. Either the company would have to maintain a version of the driver for every kernel in use out there, or users would be locked into the kernel that supports that driver.

    It's not some kind of Stallmanite dot-commie devotion to Free Software that makes open drivers a good thing, it's pure practicality.

  75. Afraid of what? by nchip · · Score: 1

    Do you really think that your drivers are a lot better than your competitors? If you don't, then go ahead and release. Let your pride down for a while think realisticaly.

    OTOH, if you do have better drivers, Then a half-open solution could work,
    all the glue to kernel is Open Source, but actual magic happens in the binary .o distributed. Like Nvidia does.

    The third solution, since you sell software and hardware, is to release the source only to your
    customers and EULA them so that you can sue them on a leak :-)

    --
    signatures pending - ansa@kos.to - (dont mail there)
  76. Re: Simple solution. by dkh2 · · Score: 1
    And what if I want to use these drivers on, say, a custom kernel config - like my MOSIX cluster here? insmod will, of course, fail, because the kernel version doesn't match. While I could force it to load anyway, what are the odds that it would work, without a recompile on MY system?
    And, THAT is the reason for truly comprehensive documentation. Publish the interface, and all of the details a developer would ever need. Give a thumbnail of the ins and outs for that proprietary routine if needed. In the mean time, we lack drivers on Linux because companies are afraid they have to open source their proprietary business information.

    If you have problems beyond that, the producer should have some form of tech support or, better yet, a contact in their development area.

    --
    My office has been taken over by iPod people.
  77. Simple solution. by dkh2 · · Score: 3
    Release full binaries with as much documentation as you can without compromising your proprietary technology. No source is released but Linux users get the opportunity to use something that works.

    StarOffice has been like this for years. You acquire a binary that runs reasonably well on Linux but, the source is still closed.

    There are no actual requirements to go open source to have your product used on a Linux platform. That's one of the big confusions in the market. People have the mistaken belief that if they release for Linux, BSD, etc... that they have to open their source too.

    --
    My office has been taken over by iPod people.
    1. Re:Simple solution. by danish · · Score: 3

      Release full binaries with as much documentation as you can without compromising your proprietary technology. No source is released but Linux users get the opportunity to use something that works.

      StarOffice has been like this for years. You acquire a binary that runs reasonably well on Linux but, the source is still closed.

      Sorry, but I have to disagree here. While binary-only applications may be okay, binary-only drivers are quite a different matter. If they're talking about drivers in the traditional sense, then that means code compiled into the kernel, or more likely as a module. Remember all the fuss caused by Creative's decision to release SB Live! drivers as binary-only - and then not recompiling for newer kernels and whatnot?

      And what if I want to use these drivers on, say, a custom kernel config - like my MOSIX cluster here? insmod will, of course, fail, because the kernel version doesn't match. While I could force it to load anyway, what are the odds that it would work, without a recompile on MY system?

      And then of course, there is the simple matter of alternate architectures besides ia32/x86/whateverthehellyouwannacallit. Archs like Alpha have PCI slots, and will even work reasonably well with most PC hardware. But what if the company doesn't provide a Linux/Alpha version? Guess I'm screwed then (yes, I do have an Alpha, in the form of a Multia sitting under my desk). This applies for binary-only applications as well.

      While binary-only apps are okay, even tolerable, I do not like binary-only drivers at all. Maybe its just me, but they just have too many associated problems, at least in my view.


      Dear my! What are those things coming out of her nose?
      Spaceballs!

    2. Re:Simple solution. by Sticky+Toejam · · Score: 1

      Just have the company release an object file with their own code (secret.o) and open source the rest. You get the source code, the respective object file for your OS and recompile. All said company would have to do is have about 10 to 20 different versions of "secret.o" available for download.

  78. OT: Socialism by Bob+Uhl · · Score: 2
    I'll tell you why a utopia won't work: because I'd take advantage of it. And so would anyone else with half a mind. If it's free, I might as well take all of it. The reason that software works even when free is that a) it is a limitless resource and b) enough people enjoy making it on the side. They still need to produce limited resources using limited resources to put bread (another limited resource) on the table. If bread's ever free, I'm going to the store to get all of it. And I'll give it to others, too. In return for little slips of paper. Or perhaps for that funky yellow metal they use in necklaces...

    Of course, that can be fixed by rationing food. An approach which worked so well in WWII. That's the problem with socialism. It is not very realistic. Instead of people buying as they can, it relies on a Big Brother to parcel out the goods. Of course, Big Brother (or Uncle Joe...) likes to have as much as he can for himself.

    People work on incentive; it's the only way. Free Software and Open Source (which are one and the same, no matter what His Highness thinks) only work because people have an incentive to write excellent software; they wish to scratch their itch. Take that away, and we have no more free software.

    Very few people have an internal desire to clean toilets or plow fields. That sort of work scratches precious few itches (although it does cause a few). Yet, these things need doing. Thus the free market. It arranges for a fully-functioning society, unlike any other scheme yet proposed.

    1. Re:OT: Socialism by Bob+Uhl · · Score: 2
      The fundamental problems are several. First, resources are limited. Even given unlimited energy and the ability to reclaim wastage and to recycle anything (which I do not believe will happen), there is still time to consider. All else being equal (this is important), if it takes me two days to make X and you three minutes to make Y, X should be worth rather more than Y. There are only a finite number of objects which can be produced by a given person within a given time; some method for rationing them must be created. This is an economic fact.

      Energy will probably never be limitless. Even fusion requires raw materials which must be ripped out of the earth--the miners must devote their hard labour to this task. I have a nasty feeling that were solar power to produce all of the world's electricity the climatological effects would be intense. We may be someday able to release and control huge amounts of energy, but I am rather confident that, much like hard drive space, land, laws and everything else in life, the uses of energy will always remain one step ahead. Remember back when 1MB was huge? Now 12GB is tight for me...

      Let us reconsider those miners above. Why would anyone be a miner when he can be an artist? Because he wants to? But how many people want to spend their days in a black pit? Or consider the case of sewer workers. These poor folks literally spend their days knee-deep in sh*t. How do you convince someone to do that? Not all jobs are fun; not all are pleasant, in air-conditioned offices in front of computers. Some mechanism for rationing the limited supply of fun jobs must be determine.

      Another problem is that different things are useful in differing degrees to different people. Size 8 shoes (8 in. long; about 20 cm) are useless to me, but extremely useful to my father. I have no use for eggplant--as far as I'm concerned it is compost fodder--but to a Frenchman that aubergine might be just the thing for his ratatouille. Some mechanism must be developed to account for these differences in taste--eggplants should be rationed to the Frog while I get hamburgers.

      I have shown, very roughly and in a form I am sure which would send an econ major into apoplexy and a logician into fits, that rationaing of resources and labour is necessary. I think we can agree that labour is a resource, so I will treat it as such from here on out.

      There are many schemes for rationing. We could have a first-come, first-served scheme: all the grain (or electricity, or jobs or workers) is in a big heap and whoever gets there first can take all he wants. Well, if he's smart he'll take it all, or as much as he can carry. He would then take that surplus and go down to the fellow who has cornered whatever it is that our grain-hoarder really wants (perhaps pictures of Miss Portman). He would then trade the useless (to him) grain for the useful (to him) pictures. He might collaborate with several such hoarders and produce a common unit to ease the chose of bartering. Thus, with the invention of money, we are back to the current situation, except that some people have everything and everybody else starves.

      The above is a utopian model: producers produce and just give stuff away to the first comer, which as we see cannot work. Well, what about a socialist system, under which a benevolent commission rations everything? Unfortunately this does not work either. The commission cannot accurately know the myriads of ways in which resources may be valued. They can set the price of beef lower than it ought to be. This is the situation in the US: the government has subsidised the production of beef and thus more beef is produced (I do not believe it would be possible to satiate the American demand for beef; I know I sure love it). The natural limiting factors (expense of grazing land, cost benefit of farming vs. ranching) thus do not apply and the end result is that we have too many cattle--we are thus inefficient. Conversely, we tax alcohol at a rate designed to cut consumption. Thus less alcoh and we inefficiently produless alcohol thatn would be desirable. No commission can possibly comprehend the full interplay of factors: people's varying desires for thing; seasonally-affected variations; regional variations &c.

      And, in a socialist set-up, the commissions tend to become Big Brothers. No-one wants to be a sewer worker--the commission must force somebody to do it. Few people desire to give 90+% of their earnings away to others, but the commission makes them do it. So this non-omniscient commission forces its ill-informed opinions upon the masses? Whither right? Whither justice?

      The free market, while imperfect, is a way to fix all this. No-one is forced into anything, except through economic means. The stick is eschewed in favour of the carrot for the most part. Everyone is given the hope of improving his lot and the freedom to realise that hope. How does this work?

      A free market assumes a multitude of producers and consumers. Everyone is both at one point or another; I produce labour, while I also consume all sorts of goods. Any producer may sell his product to any consumer at a price the two arrange between themselves. If my work is worth at least $10/hr. to me, and my work is worth at most $30/hr. to my employer, then we can settle on a price somewhere in between. If my work is worth $30/hr. to me and $10/hr. to my employer, then I can try to find another consumer to buy my labour. If there is no other customer to buy at that price, I had better consider lowering it.

      This carries over into everything. Land costs a certain amount per acre, which is an aggregation of the value it has for all uses. Land in the middle of West Texas may be near-worthless for business as it is far from big cities, but it may be worth quite a bit as ranch land. Land in Kansas may produce $10,000/yr. in cattle or $15,000/yr. in wheat. Everyone is free to produce as he will; the intelligent man produces the most efficient goods given the resources at his disposal, which means that he makes the most possible money which means that he can buy the largest posible amount of what he desires.

      To try to bring this back on topic, how does this relate to software? Well, software takes time to write. The three weeks I spend writing Bob's Cool Program are three weeks that I do not spend farming, or sweeping streets, or making cars, or otherwise making money. I convert three weeks of time into an artifact, a piece of source code. Compiling that code takes little time; thinking by time alone, it might make sense to give away the binary and sell the source. But most home users do not have access to compilers. So perhaps it's a better idea to sell the binaries and give away my source. But if I give away the source then someone else may take my three weeks' work, add one days', compile the thing and sell it, gaining me naught. This is related to the problem of the BSD License that the GPL seeks to address.

      Of course, if I GPL my work then the situation is the same, except that I get that other fellow's one day of work. If I can get twenty people each to give me a days' work thusly, then I have put three weeks' work into something and gotten somebody else to put four weeks' into it. I now have a work worth seven weeks of labour for the low price of three weeks. Thus the GPL is economically sound, as long as I actually value that software in the manner I described.

      What if I could have made $10,000 from my software but instead end up get $5,000 worth from the GPLed programme I released? Then I have made an economically unsound decision and lost money. I have made a decision which I may find morally more comfortable, but I am worse off for it. And as far as morality goes, I have wasted $5,000; the world is that much poorer because I didn't make money--I lack $5,000 I could have spent. Remember that value is actually created; when I trade two goats for your one cow, I am better off and you are better off. When I get paid $25/hr, I'm better off and my employer is better off. When I sell a product worth $500 to you for $100, we're both better off. If I give away a product worth $100 to 100 people and get naught in return, they are better off but I am worse off. I have hurt myself and they are now able to spend their money in an inefficient manner. Thus I have hurt the economy.

      So one should try to examine the cost/benefit of GPLing software. Which is what software producers are doing. RMS, OTOH, believes that it is a moral imperative so to do. I think that I have shown above how it might actually be harmful.

    2. Re:OT: Socialism by Xrkun · · Score: 1

      Why would everyone with half a mind take advantage of a utopian society? What's to take advantage? If everything you want is available for you to have, what is there to take advantage of?

      You stated that free software works because it is a limitless resource. I say that "if" free software is limitless than so is everything else. Energy never goes away, it just changes into other forms. Usually from static to kinetic and then back. Various elements never go away, they just get jumbled up with other elements which makes things too expensive to fix. I say, if money doesn't exist then there is no expense to pay to fix those things.

      As far as free software has enough people who enjoy it. I say that in the future the things that people don't enjoy doing (Working in fast food for example) will be completely automated. The jobs that will be left will be things people enjoy doing. So why not just do them because you enjoy it?

      I never stated once that a utopian society was even close to existing. I feel there are several things that will need to take place before that can happen. One of the major ones is we need a cheep and extemely abundant power source. (If fusion would ever be realized that would definately be a good option)

      I would like to read a reply from you to this as I think you didn't get all your points stated clearly so I would understand them. I'm sure if you restate them, I will have a better understanding of why you feel a utopian society would never work. So far, all I've seen are reason's why a utopian society won't work today. That I agree with. But as we move into the future, I think you will find that a capitalist society will become more and more of a hinderance.
      (PS my spelling is bad. That's why I wasn't an English major :)

  79. Re:why open source ? by Bob+Uhl · · Score: 3

    This brings up an issue about which I ahve been thinking for quite some time now, ever since I read the circumstances which gave birth to the FSF. Stallman wanted the source to a printer driver because it was buggy. He went from that starting point to argue that all source should be free. I have often thought that his ends could have been meat by stating that source and modification are free within the community of customers. That is, if I purchase a copy of Word I have a right to the source code, and a right to share my modifications to that source with others who have bought it. But I cannot give it away to someone else who has not paid for it.

    This preserves the profit motive and makes it possible to write code whose source is open and whose bugs get fixed, while at the same time enabling authors to charge for what is, after all, their work and their expenditure of resources. It is true that eventually someone's modifications could be so great that he may want to charge for it; again, he would be able to do so. Let's call the original source A and he mods B. The fellow could sell B only to those who already own A, but could sell A+B to anyone, as long as he paid the original author his due for A.

    I will admit that this could get out-of-hand if everyone wanted to charge even for slight mods. But again, that could be controlled--specifying that mods of less than 100 lines or something similar must be public domain, perhaps.

    I do not believe that I have ever seen anything on the FSF site explaining why something along these lines (obv. not exactly this sort of thing) is not a good idea.

  80. Re:Open Source by lonely · · Score: 2


    Say you want to use the card on something other than windows, maybe in the future when the original card maker has gone bust.

    Having the source code means you could rebuild the driver for say a PowerPC machine. If you don't you rely on the card maker to provide proper drivers for all platforms which usually isn't possible.

  81. I'd guess this person works at nVidia [NT] by Pont · · Score: 1

    no text

  82. Re:why open source ? by mpe · · Score: 4

    But it's not the drivers they are worried about, it's the hardware. They are afraid competitors can use the drivers to help reverse engineer the card and come out with a competing card.

    Exactly what stops competitors from being able to do this? Closed source drivers can be examined, hardware can be taken apart. (You can protect the hardware, but you'd then have problems shipping what is effect a bomb.)

  83. Re:Question from a non-guru by Zurk · · Score: 1

    you make your money on the hardware right ? you give drivers away for free right ? so why not open source em ?

  84. Re:The Problem with the HURD by Zurk · · Score: 1

    not entirely true. microkernels can scale better with multiple procs than monolithic designs..which is why linux/BSDs are having so many SMP problems. ..and one more reason why NT ..besides the fact its dog slow..beat linux on a quad box. exokernels are slightly worse in design but better in performance than microkernels giving improvements in IPC where microkernels bog down. i'd take a slightly slower microkernel over a monolithic any day since the design itself is cleaner...portability is a non issue as you mentioned.

  85. Re:The Problem with the HURD by Zurk · · Score: 1

    umm..no. the NT kernel had a multithreaded TCP/IP stack and is a true microkernel derived from VAX/VMS. VMS+1 char = WNT.
    microkernels are by definition cleaner - what would you rather choose - a 1,000,000 line BASIC program which is written well or a 1,000,000 line java/C++/smalltalk program written modular ? i'd go with the object oriented approach. granted that linux uses fairly modular code (hell, ive written a driver myself) and is easy to understand thanks to the cluefullness of the people writing it. yes the million line basic program in the above example will run faster than a corresponding java program (or any other OO) but the OO language approach results in a fairly clean design. monolithic kernels have ti be split on > 4 procs since the same code cannot be run with optimum efficiency. look at solaris - its dead slow on 4 CPUs. microkernels are just better at scaling up for >2 CPUs and are slightly slower on UP systems... one of the main disadvantages according to linus is the code for a microkernel is harder to write. thats one reason which has (so far) stopped much microkernel development in linux....other than mklinux which IS microkernel based but has not been developed properly.

  86. Get it right! by Tower · · Score: 1

    Lose, not loose!!! [/spelling flame]

    --
    "It's tough to be bilingual when you get hit in the head."
  87. Re:why open source ? by nevets · · Score: 2

    Actually, closed source drivers are usually given away for free (as in beer). I have downloaded several drivers off the net for free (not for linux though). The problem is that the companies are afraid that the code will act like the blue-prints to their products that their competetors can look at. This may or may not be the case.

    It is possible to have a binary driver to work with linux, but it becomes a pain since you can't compile it when you build your kernel. And there may be problems with the driver with upgrades to the kernel.

    Although I would be interested in knowing how much changes from one version of the kernel to the next regarding driver interfaces. Is it really that big of a deal. I have successfully used older versions of modules with new versions of the kernel. I just turn off that switch that checks for module kernel versions.
    Steven Rostedt

    --
    Steven Rostedt
    -- Nevermind
  88. We're in a similar boat by overshoot · · Score: 2

    The Company has a product that we really want to open up. Unfortunately, there are parts of the technology that we don't own and can't disclose in source. The compromise that we're trying to reach is to have the low-level stuff that contains black magic released as binary-only libraries (very much independent of the operating system, much less the release level) and open up the higher levels of the drivers.

    This has been in the suits vs. suits stage for over a year now. The lawyers are running the show.

    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
  89. If patents are good for anything, isn't this it? by buck68 · · Score: 1

    This issues seems to recur frequently, but it still leaves me confused. If it is proprietary hardware technology that these companies fear revealing, then why can't they secure patent protection?

    When the patent is issued, then the technology ceases to be a secret. The intellectual property is now protected by legal power of the patents. So releasing an open-source driver should do little to alter the value of the IP to the inventor.

    Perhaps they'd rather retain secrecy rather than have to enforce the patent. Not likely, as is there is so little extra secrecy. It's just that it's slightly easier for competitors to look at source than find the relevent patents. And perhaps the patent doesn't reveal or explain some details that driver source might.

    Maybe its the uncertainty of the patent process. It takes several years to actually have the patent issued. If the patent application fails, then the cat is out of the bag with no return.

    Software technology is obviously different. If hardware guys want to protect software IP, then I have no sympathy. That attitude places them squarely on the slippery slope to proprietary OS's, each aiming to differentiate mediocre hardware. We've been there, and it sucks royally for the consumer.

  90. Re:reverse engineering closed source drivers by pageman · · Score: 1

    I have an idea as to who this company may be. And the "secret" to which he refers is far more complex than the MIDI card example. It is *possible* to reverse engineer it, but very *impracticle*. There is no consumer device that I can think of that has the complexity of this one "feature" of the companies boards. Even with the documentation for it, it is hard to get it working.

  91. Open Source Arguments too Simple by pageman · · Score: 1
    Most of the arguments for open sourcing the driver assume that this is a simple device, like a video card or a sound card. I have a hunch as to who this company is. I have worked with their boards, and I've actually seen the documentation for this "secret" of theirs. It is extremely complex. Even people who have the documentation have a hard time bringing out the full functionality.

    Reverse engineering it would not be easy. The secret has been available in the hardware for years, and I don't think any competition has done anything like it. It is a very complex ASIC on their boards.

    I like the notion that they open source their driver without support for the secret, but with support for plugins. A binary plugin can be provided for the extra functionality, and all the comapny has to do is port that binary plugin to the different architectures (x86, PPC, etc.). It allows for people to get the driver up and running anywhere, and then the extra functionality comes at the pace the company can keep up with.

    Its not an ideal situation, but this is not an ideal world.

  92. Re:Question from a non-guru by Manax · · Score: 1
    The reason is that the driver interfaces haven't stabilized to the point where it makes sense to define a binary interface for drivers. The interfaces are making signficant and sometimes radical changes that are necessary to keep the kernel improving.

    Once the kernel has developed "enough", the driver interface (at least for certain types of drivers) will probably stabilize and become de facto standard or be blessed by Linus as standard.

    But really this is beside the point. Kernel version 2.2 has been around now for what? 2 years? Version 2.4 .0preX is out, so that api is stable now and it will certainly be around for quite some time. There is no big deal to make a single source base compatible with both 2.2 and 2.4 (and 2.0 for that matter) and release them all as binary.

    This sort of situation is similar but far better than the Windows version where each driver is nearly an entirely different code base since the driver interfaces are often completely different between Win9x and NT.

    --
    "Why should I be content to simply live in this world, when I, as a human being, can CREATE it?" - Oertel
  93. Middle-of-the-road by CAIMLAS · · Score: 2
    Why not release the open--sourced portion of the drivers as open source, and then have the 'sensitive' part of the drivers on a closed-source license, so as to keep it confidential and link them?

    -------
    CAIMLAS

    --
    ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
  94. Virtual Machine by dkm · · Score: 1

    All right, this may be a naive, unrealistic idea that show my complete misuderstanding of Linux and lack of experience with the kernel but here goes:

    Could a "virtual machine" a la Java be developed for Linux device drivers?

    The binary driver's could be written for this virtual machine. The distribution would handle the specifics for that installation. Any company who did not want to open source their driver but did want to provide a driver could write to the virtual machine specs. This might not resolve all problems would would make supporting Linux much easier.

    1. Re:Virtual Machine by alex_b_sa · · Score: 1

      Yeah...that does not sound bad at all.... MS uses this scheme for their driver stuff under windows and that is one area where win. kicks tux's butt pretty bad..... The thing here is that even a VM will show to much of a driver. Manufacturers (not without reason) are pretty much paranoid about their technology... take the lucent winmodem for example (which is binary only and "supported" for an incredebly old version of the kernel), modems and computer exchange data with a given protocol that would go on top of the VM in code ....this means that it would show some of the extensions that lucent doesnt want to show.... The only way to solve this stupid thing about drivers is standards. Until we have a good standard architecture -that takes autoconfigureability in mind and off-hands plug and play- for binary-only drivers this system is going nowhere near the desktop. Now idealy, its stupid to close a driver's code. Thats not where the value is. If manufacturers planned ahead they would find that competition is not bad. Intel business model comes to mind in that it releases everything to be cloned and they can actually use this as an advantage. Manufacturers should plan ahead and think about where is their device going, what is its future...if they cant be leaders then closing driver code does make some sense.

      --
      Stop looking at me.
  95. The Magic Cauldron by gnp · · Score: 1

    Eric Raymond's paper The Magic Cauldron talks about reasons for being open for stuff like this.

    --
    perl -e 'srand(-2091643526); print chr rand 90 for (0..4)'
  96. Don't just "open source it", GPL it too... by weave · · Score: 2
    If they are worried about someone stealing their "tech" then their best course of action is to slap the GPL on it and make it truly free (as in free beer) so if some other company uses it in their driver products THEY have to release their modifications as well. Just releasing the source itself would permit a competitor to steal the tech and hide it in their next product without obligation.

    The other advantage is that the free software community will most likely improve it as well and the company itself will benefit as well.

    I also have another suggestion. If you want to keep an edge on tech over the competition, then move more of the low-level logic stuff needed for the drivers into the hardware itself (e.g., ROM) and then the free-source drivers only need to send params into the hardware via some sort of documented interface. This makes porting and supporting various platforms a bit easier through a higher layer of abstraction and makes it more difficult for a competitor to reverse engineer anyway.

    This also would seem to get the difficult blessing of the FSF as long as it isn't flash upgradable. I heard a talk by Richard Stahlman Sunday at H2K in NYC and asked him about PC BIOSes. Seems he thinks BIOSes should be free since they are programmable, but not needed if they are not flashable. Spliting hairs a bit on that one, but I don't see him advocating that Intel release the microcode for their processors, for example.

    Now this last bit I tend to disagree with since a non-upgradable card BIOS means any bugs in it need a hardware swap, but it's better than non-free drivers.

    Some say free-source purists are anal but think of it. You spend your bucks on some top-of-the-line vid card yet you can't use it on the OS of your choice, or your support is limited. So why is a non-free driver acceptable to many Linux people when the "driver" for the processor (the OS itself) *must* be free (as in freedom) or it's evil (like NT)?

    If consumers of free software want better support for hardware, they need to speak with their wallets and purchase hardware with free-source drivers, even if it may be a notch or two below the top-of-the-line. Since companies have an obligation to make money, only then will they notice and feel pressure to release the source to their stuff.

    A complete OS is far more than just the kernel. Linux is free and the tools and utilities that make it work are free. If Microsoft released a new OS based on the Linux kernel but everything on top of it was non-free, would that be fine with you? If it's OK for Office Suites to be closed-source, then why the heck does the command "cat" also have to be free then?

    "Purchase the Microsoft distribution of Linux. We've removed all of those unreliable GPLed utilities in it, stripped the C compiler and X out, and added typical Microsoft-quality tools on top of it along with mesh (Microsoft-enhanced shell), which DOS users will find very familiar. By the way, if you give a copy of anything but the kernel to a friend, you will go to jail. Of course, in the spirit of the open source community, our modifications to the linux kernel are available, just don't expect anything else to be."

  97. Re:Question from a non-guru by AME · · Score: 2
    Many distributions have strict policies against including binary only programs/drivers. Making it binary only means it won't be included in (at least) the standard kernel, Red Hat, Debian and Mandrake.

    I don't see how it is the hardware vendor's responsibility to support the OS vendor's political agenda. Now, before the knee-jerk reactions start rolling in: I agree that open drivers are preferable to closed drivers. And I agree with all of your bullets about why open drivers are better (or, in some cases, the only acceptable solution for us).

    But we must remember that we don't make up a significant percentage of their total sales. Because of this, all of our ranting just causes the hardware vendor to conclude that supporting us is not worth it. Who wants to be in the unhappy position of receiving support calls from these zealots? (Especially if the problem is probably the driver, which they now aren't responsible for!)

    They don't understand the philosophy. And us screaming in their face every time they make a move we don't like isn't going to make them understand. And it's not going to engender any good will toward us. It probably discourages thier cooperation, as they don't have any financial reason to succumb to the wishes of a bunch of ranting lunatics.

    Instead, we should encourage baby steps toward our way of thinking. That is, applaud when they do what we like, and politely deal with it when they don't. Write even-tempered letters to the vendors involved describing your decision to buy or not buy their hardware and how the relative openness of their drivers played a part in that decision. Eventually, more vendors will see the benefit of giving us what we want, and the free market will take care of itself.

    I'm not sure where we, as a community, decided that we have the right to demand open drivers and expect them to jump to it. How would we react if some hardware vendor demanded that the open source community provide them with drivers?

    [Since I'm replying to bero, I have to say that I think companies like Red Hat are supremely positioned to show these vendors the enlightened way and assure them that the risk they associate with opening their drivers is worth the potential benefit.]
    --

    --
    "I have a good idea why it's hard to verify programs. They're usually wrong." --Manuel Blum, FOCS 94
  98. Re:Obfusacte by MartinG · · Score: 2

    You may not be able to do that depending on the licence you use.
    For example the GNU GPL states:

    "The source code for a work means the preferred form of the work for making modifications to it"

    In other words, not obfuscated.
    (and a good thing too IMHO)

    --
    -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
  99. Re:why open source ? by MartinG · · Score: 2

    Here's an example situation.

    Let's imagine a new version of XFree86 comes out, promising to be the best thing since sliced bread. Lets imagine that lots of hardware manufacturers produce closed source drivers that work well and that most users are happy.

    Now lets imagine that some people decide that the graphical performance of the systems they have is not good enough and they want to do something about it. Perhaps they decide it's XFree86 that is just too big and bloated and they want to write some new windowing system.

    They write the fantastic new system with it's almost instant loading time, its superb anti-aliased fonts and so on, but theres a problem. It can only support VESA cards. Unaccelerated. What do they do? They want to look at the source for the XFree86 drivers but they can't. As a result the brilliant new system's performance is even worse than XFree86 on fast hardware. As a result, everyone keeps on using XFree86.
    We would all effectively be stuck with XFree86 for ever, like it or not.
    Linux+XFree86 is slower than Win32+directx they all say, and there's nothing we can do about it.

    Okay, that's probably all a bit far fetched, but I don't care. You get my point.

    --
    -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
  100. Re:why open source ? by TheTomcat · · Score: 2

    Why can't you charge for provision of closed source drivers, providing functionality, documentation, support and an increasing level of product maturity with driver revisions ?

    Simple. Nobody would pay for drivers. Think about it: I buy a new video card, it works great, I install a new sound card, and the video card's drivers keep crashing. There's no WAY I'd shell out a bunch of cash to my video card vendor to fix their software.

    Sure, most other software can follow this model. Software breaks, company releases another major/semi-minor version with a couple extra features, and people shell out thousands to get the latest. But that doesn't work for drivers. People won't buy drivers.

  101. Re:Gee.... by Vhalros · · Score: 1

    Maybe I'm crazy, but isn't that fact that the linux kernel is open one of the things that's helped to make it great? I'm not trying to be an open-source zealot here, I'm just saying there are practical (not merely idealogical) reasons why we as a community shouldn't except binary drivers

    .

    Suppose you get a binary drivers for, say, a soundcard. They work great, no detectable errors at all. A while latter, you get a bianary driver for your Nic, it works great too. In a couple months, you have 5 or 6 of these binary drivers. Then things start to fuck up. You try going back and only having the drivers that worked well togeather, but things are still all messed up. So, what can you do? The hacker community is no help (okay, so they may have reverse engineered there own drivers, let's say they didn't, becsue if they did, those are open source drivers, which is outside this argument), becase they don't know anything about the internals of the drivers. So you call the driver vendors, and they blame one another. What do you do? Your stuck with either no drivers, or a linux box as stable as a win 95 PC (It might be tough for it to become that unstable, but bad hardware drivers were one of the most commong causes of those blue-screens of death... The linux kernel does work rather differently, admitedly.)

    Well, any way, that's my reasoning. This is why I think you should seriouly consider not using bianary drives, even if they do work well. If companies see that the linux community is willing to except bianary-only drivers, they will more then willing to keep shipping them out. So, just don't except them. That way, if they want to sell to linux users, they'll have to have open source drivers.
    --
    Dionysus vs, Socrates! The greatest battle of all time!
  102. Re:Question from a non-guru by Jay+Maynard · · Score: 1
    Linux is not the only OS around. Open-sourced drivers can be ported to *BSD (even though it's painful; as similar as most userspace code is, kernel code is quite different between them) and others. The various BSDs don't have a market share that would drive an average company to develop drivers for any of them (yet).

    A GPVed driver can't be just ported to BSD, because doing so would GPV-infect the BSD kernel. That would contravene the goals of the BSD community, since a significant goal is to keep the BSD system truly free for all, including those who would base proprietary code on it.


    (Now, watch this get moderated down as a troll, even though it's totally factual.)
    --

    --
    Disinfect the GNU General Public Virus!
  103. Re:Wow... by Jay+Maynard · · Score: 1

    You posted anon because you were afraid of losing karma. Kind of sad.

    Well, if posting messags that disagree with Slashdot orthodoxy didn't automatically destroy your karms through knee-jerk moderation by folks who refuse to think, perhaps it wouldn't be necessary.
    --

    --
    Disinfect the GNU General Public Virus!
  104. Re:Whine whine whine by Jay+Maynard · · Score: 1

    I would love to have a rational discussion with you or any of the many other critics of Free Software that for some perverse reason seem to want to take over a site predominately concerned with Free Software, but the moderation system as currently implemented means I can't do that, unless I want to go negative karma immediately, or else post anonymously as I am doing now for obvious reasons.

    This paragraph is a perfect example of the problem I have. It's simple: Why do you think 1) that the FSF gets the exclusive right to define what free software is, and 2) that Slashdot is exclusively dedicated to what the FSF decrees? I contend that neither of those is valid. "News for Nerds" is NOT exclusively for Linux, or GNU, software. If this were the case, why would there be a BSD section? I do not want to "take over a site predominately concerned with Free Software" because I think that's a grossly inaccurate and unnecessarily limiting definition.
    --

    --
    Disinfect the GNU General Public Virus!
  105. Re:Question from a non-guru by Jay+Maynard · · Score: 1

    [...]I suspect that BSD licencing would be even less acceptable than GPL as it would allow someone else to make the driver proprietary.

    Wrong. The original code can never be made proprietary. Once released under a BSD license, the original code will always remain available.
    --

    --
    Disinfect the GNU General Public Virus!
  106. Re:Question from a non-guru by Jay+Maynard · · Score: 1
    And this brings me to a mini-rant: why do BSD-people (not all, ofcourse) try to kick Linux and/or the GPL so much? It seems like you're required to dislike Linux when you run *BSD. Linux and *BSD are totally different. Use what you like, but please don't whine about the others, is that so difficult?!

    I run several Linux boxes, and only one BSD system (a DECstation that runs an IRC server as its only task). I maintain a software package that runs on Linux and not (at present) on BSD. In general, I prefer Linux from the standpoint of a user.


    I don't dislike Linux. I do despise the GPV, and have argued against it for a decade. I do not agree that the two go hand in hand, or that Linux would not have reached its current state had it been BSD licensed. I especially object to the concept (as expressed elsewhere in this discussion) that only the FSF gets to define free software, and that only GPV-infected stuff qualifies. I believe that the GPV is significantly less free than the BSD license, and claiming otherwise is ignorant at best and dishonest at worst.

    --

    --
    Disinfect the GNU General Public Virus!
  107. Re:Wow... by Jay+Maynard · · Score: 1

    Why is expressing my opinion in an honest and open manner a troll?
    --

    --
    Disinfect the GNU General Public Virus!
  108. There's more to the world than ia32/Linux by jameson · · Score: 2

    Apparently, many people would prefer good closed/proprietary drivers over mediocre free ones. What they don't appear to realize is that this leaves us stuck in square one.

    The reason most of the people who're using Linux today are using it is that it does certain things better than their old OS did. Now, what happens when there's a new OS that's even better for their kind of work? Think about BSD, or the Hurd, they're even free software. Maybe you can construct a compatibility layer to run those drivers, but compatibility layers are evil.

    Even worse, consider switching to a different hardware platform. No one's disputing that ia32 is the worst major hardware platform currently available, and the only reason everybody's using it is /binary compatibility/. You can't easily make the switch to PPC or the Alpha, not just because they're more expensive (guess why), but also because they don't support your funky nVidia GeForce2, and probably never will.
    Of course, hardware support on these platforms is pretty poor even among free software drivers (has anybody had success with utah-glx for mga on the Alpha? Keeps killing my X server), but there's at least a chance that something will happen: You can either fix it yourself, or pay someone to do it for you; you're no longer at the mercy of some high-ups in some company on a continent on the other side of the planet.

    And that's what free software is about: Independence. Don't let yourself be fooled by bread and games!

  109. Re:why open source ? by mah_sk · · Score: 1

    I do not believe that I have ever seen anything on the FSF site explaining why something along these lines (obv. not exactly this sort of thing) is not a good idea.

    In the future, our children will ask: Why was it once a crime to share, with your friends?

    --
    Dont mess with my e-mail adress
  110. Re:Why not both? by QuoteMstr · · Score: 1

    That is how Aureal did/does it. Their binary modules and associated open-source wrappers can be found here, Despite the fact that Aureal the company is defunct (Alas). I'm not sure if they will work with 2.4, however. I have not tried.

  111. How come nobody sued them yet? by cbraga · · Score: 1
    Seriously, why has no video card owner ever sued the manufacturer for its right to use the product they've bought?

    If I buy a video card I figure I'm entitled to use it any way I want, under any OS I want, instead of depending on the manufacturer's good will to make drivers. That means at least having access to the board's specs.

    Being the troublemaker I am, I could actually do that if I lived in the US.

  112. Linux is NOT THE ONLY OPERATING SYSTEM! by gidds · · Score: 1
    Sorry for shouting, but you guys really disappoint me. For years we've been saying that people should open-source things because (amongst many other things) open source is a way to to device/OS/app independence. When Linux was ignored by the mainstream, we all agreed, because it was the only way to get stuff working on it - but now it's partway to mainstream, all those principles seem to have gone out of the window! (Lame pun intended.)

    What about users of other, non-binary-compatible OSs? (I use two myself; and although I'm unlikely to want the drivers in question, the principle still stands.)

    If Linux (and compatibles) ever become the unquestioned OS Of Choice, will any of us remember our principles, or will we too be trying to lock everyone else into our favourite system?

    --

    Ceterum censeo subscriptionem esse delendam.

    1. Re:Linux is NOT THE ONLY OPERATING SYSTEM! by stu_coates · · Score: 1
      ...or if Linux is the only operating system, then x86 Linux is not the only operating system!

      I run Linux (LinuxPPC) on my Apple Mac G3 and get a little annoyed when companies release Linux versions of their applications and make a big thing of it, not realising that Linux itself is not just an x86 OS.

      Opening the source (in a GNU way) enables people like myself to do a quick ./configure; make and then be up and running. This may not quite work as well with drivers as it does with apps due to hardware differences.

      I do buy closed-source Linux apps (Wordperfect (for x86) and Applixware (for PPC)), but always prefer having the source should I need to customize the app in anyway.

      Maybe some form of licensing can be found (one may already exist) that will enable companies to sell commercial apps and include the source but not make it freely distributable. Whilst the GPL is an ideal, it is not a licensing panacea.

  113. Open Source Drivers & Reverse Engineering by StormReaver · · Score: 3

    If their device is so industry-common that a competitor merely reading the driver source code is enough to worry about competing implementations being derived, then the originating company has nothing that hasn't already been seen or done and will be challenged by competition in the short run anyway. In this case, releasing the source to the driver would not do the company any harm that wasn't already in the works.

    If the device is groundbreaking, then simply publishing its interface (which is all a driver does) can do no harm. Describing how to communicate with the chip in no way reveals how the chip works (unless the chip's functionality depends on already well known techniques).

    Let's look at 3dfx: Does describing how to invoke the FSAA (Full Screen Anti-Aliasing) features of the Voodoo chip via driver code give away the inner-processes of how the chip goes about achieving that? No, not in any way, shape, or form. The FSAA is one of 3dfx's main competitive advantages, but is 3dfx worried that other video card manufacturers are going to be able to copy it just because its programmer interface is published? No. Do they think that other companies (NVidia, for example) wouldn't be able to reproduce it anyway if the driver were closed? Hell no. If NVidia thought that FSAA was a make-or-break line item on a video card, the company's chips designers would find a way to reverse-engineer the chip's functions via hardward reverse-engineering, or they would reproduce it from scratch. Is 3dfx now the major video card among Linux users -because- they opened their drivers? You betcha.

    1. Re:Open Source Drivers & Reverse Engineering by BigJack · · Score: 1

      Let's look at 3dfx: Does describing how to invoke the FSAA (Full Screen Anti-Aliasing) features of the Voodoo chip via driver code give away the inner-processes of how the chip goes about achieving that? No, not in any way, shape, or form.

      No, but it does let unscrupulous manufacturers copy the exact interface that 3dfx has published and market it as a 3dfx-compatible or even a 3dfx card. That would cause no end of trouble to 3dfx's tech support guys.

    2. Re:Open Source Drivers & Reverse Engineering by ChrisBrown1 · · Score: 1

      Of course it could be a WinProduct where the driver IS the device (ala WinModems & etc). This being the case it would be simplicity for a competitor to reverse engineer the card. However, if this were the case, it wouldn't last long in the Linux world. Printers, modems, NICs, & etc should do the work, not the drivers.

  114. why closed source? by gotan · · Score: 2

    The main reasons for open source drivers are in my opinion:
    - short response times for new kernel developments etc. (the next kernel version/xf86-version (whatever the driver is for) could break the driver but that might be easily fixed with an open source driver.)
    - support from the open source community will make the drivers better and even help to develop better windows counterparts etc.
    - proper linux support lasts much longer, once it's running most changes are automatically (more reflecting changes in the kernel than enhancements of the drivers) and comes for free

    The drawbacks are:
    - 'secrets' are slightly more obscured in binary versions (but if a competitor REALLY wants to know how that driver works he'll take it apart with a disassembler anyway)
    - there's anyway people working on the drivers, so open-source won't make it cheaper (but maybe better)

    In that light it may make sense to keep a driver closed for some time (maybe half a year or so, true 'secrets' will either be copied or reproduced by competitors, be the driver binary or not), but in the long term opening the driver makes more sense (new driver revisions for linux come automatically, and maybe there's even some concepts to be learned for the next generation hardware and it's drivers.)

    --
    "By the way if anyone here is in advertising or marketing... kill yourself." -- Bill Hicks
  115. Re:Gee.... by jibun · · Score: 1

    Well, the problem so far has been the fact that we haven't been able to rely on closed source drivers. The target (ie. the kernel interfaces) is moving constantly, and while we are drooling for all the cool new features of Linux 2.4 we can't easily upgrade because most certainly the drivers would break if they were networking or disk drivers or other drivers relying on generally frequently modified kernel interfaces. Linus et al. have held the position that no kernel binary interface (ie. stable interface) will surface for the foreseeable future.

    It's certainly possible to maintain closed source drivers but that would mean a commitment far greater than the current penguin courting business crowd is willing. It would mean that any prospective change in the kernel would need to be mirrored in a timely fashion by such a party. And then the higher commitment would bring more criticism of closed source mentality, a whole deal of stress to the company support personnel and engineers, and possibly a split in the user community between those conforming (pro-closed-source) and those reforming (pro-open-source).

    Frankly, the Linux movement is mainly a social rebellion to the control of corporations, a way to interact in a similar vein to municipal (community) democracy. It's a reaction to the capitalization of services. The capital forms conglomerates of interest and power, and if the moral target is consumer/citizen choice, it's only a natural reaction that people criticize prosesses in which they are not able to take part.

    In my opinion, conformity where it means suffering to those taking part in an activity, is weakness at its best. On the other hand, reforms are never to be expressed in violence against basic or expressly agreed-upon transient human rights.

  116. Re:Gee.... by darthaya · · Score: 1

    So does that mean Linux's backward compatibility sucks? if all you did is upgrade to a new kernel and everything starts to fall down on you?

    Something to think about I guess.

  117. Alternative solution by darthaya · · Score: 1
    Instead of releasing the source code, why can't the company adopt an alternative solution such as keeping a linux maintenance team that makes sure that the driver works for all distributions and all recent released kernels?


    Also, can't linux kernel(distribution) programmers have some kind of industry standard that makes writing drivers and making them work wouldn't be the worst nightmare for a hardware company?


    Just my 2 cents

  118. Re:why open source ? by hrast · · Score: 1

    I agree completely with this. I am aware of at least one major computer manufacturer that is using their clout to get Adaptec to open up their drivers for a RAID On Motherboard driver. I have a feeling this is going to be how things get done now. Take this following hypothetical. Company A sells machines with Company B's HW inside. Company B writes a driver, that will only be distributed as a binary (compatible with only a few kernels). Company A's customers demand the ability to tune their own OS (Linux for instance) and start telling Company A's sales staff that they will buy some other company's product if they don't open their drivers. Comapny A uses its leverage to get Company B to open their driver's under threat of finding a new (and more open source friendly) vendor. Volia, capitalism at work!!!

  119. Re: Your Rant by deblau · · Score: 1
    There is no inconsistency here. The point of both "stealing music", as you put it, and open-sourcing code is that information, whether digital music or source code, wants to be liberated. We love and respect artists and coders alike, and we feel that their work should reach the widest possible audience.

    -- Dave

    --
    This post expresses my opinion, not that of my employer. And yes, IAAL.
  120. Re:why open source ? by Emil+Brink · · Score: 3

    I'm no real expert in these matters, but I would go as far as to say that any company having the skillz to reverse engineer and manufacture a clone board, surely should have the ability to disassemble the driver. Sure, giving them it in source form from the start might lessen the amount of work required for the reverse engineering, but I don't think it prevents it much. I'm thinking a bit about NVIDIA here, since I find their approach interesting: a partially open-sourced kernel driver, which interfaces with a binary-only userspace driver. Maybe that could work for the AnonymousIntern's company's products?

    --
    main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
  121. Management's Real Issue by TeaMan · · Score: 1
    The real issue should be market share.

    By open sourcing the drivers, the potential size of the market for the hardware is increased.

    This is because of Customer Good Will and porting efforts of individuals who use platforms for which the drivers are not currently available.


    Management may need to be reminded about what the source of revenue is. If they are in the business of selling software, then maybe they should not open source their Golden Goose. However, if they are in the business of making and selling hardware, then maybe they should concentrate their efforts on those things that they do "well", and leave the software to those who want to do that.

    If one looks at software costs, say 1 or 2 developers, plus various versions of relevant OS's and platforms, one soon gets a very large cost just in hardware, software, and salaries, without a commensurate return on investment, especially when the size of the market for each one of the Hardware/OS combinations supported.


    So, as I look at it, from a purely balance sheet point of view, Open Sourcing the drivers, with a developer or two available to lead and support driver development, and to act as company liaison to the open source community at large, is a win win situation. The company is happy, because they have increased the size of the market they compete in, and their development/support costs are reduced.


    "That's Just My Opinion, I could be wrong"

  122. Question from a non-guru by MobyDisk · · Score: 4

    Is it truly necessary to release open sourced drivers? Or is it just necessary to release good drivers? Cant binary drivers be made compatible across Linux distros? If not, it seems like this is something that is truly necessary.

    How different is *BSD from Linux as far as drivers go? Is it REALLY that hard to recompile drivers to make everyone happy?

    1. Re:Question from a non-guru by flatrock · · Score: 1

      Linux doesn't have a binary driver interface. This means that the drivers need to be recompiled for each kernel. If you want to take advantage of MMX or SSE you'll probably need a version that supports it, and one that doesn't as well. Pretty soon you're testing and shipping a dozen different binaries in order to keep your diverse customer base happy.

      Is it REALLY that hard to recompile drivers to make everyone happy?

      Recompiling the drivers isn't that difficult. Properly testing the drivers on the different kernels and platforms is often time consuming, tedious work. The open source community may consider it acceptable to just compile the different binaries, do a quick 5 minute test and send out the binary. Our comercial customers expect a bit more. Our drivers go through weeks of testing for reliability, compatibility, and interoperability.

      How different is *BSD from Linux as far as drivers go?

      BSD has two desirable features in the kernel that Linux does not. Kernel threads (with priorities), and the ability to map user buffers into kernel space.
      Kernel threads make it easier to write drivers that share resources well. It also makes it easier for me to make a large portion of my driver OS independent so it's not only portable, but works more consistently across OSs. This keeps the different code bases managable, and reduces debugging efforts.
      Mapping user memory into kernel space is necessary in order to avoid copying the users data into or out of a kernel buffer. With the devices for which I'm writing drivers it's not uncommon to be sending data in blocks of 1 MB or more at throughputs arount 100 MB/s. Copying the data is relatively slow, and will quickly peg your CPU load at 100%. If you want the throughput, you need to map the memory into kernel space.
      There is a definate drawback to mapping user memory into kernel space. The author of the device driver MUST make sure that the user is passing in a valid buffer, and that the pages remain locked in physical memory. Failure to do this will cause the system to crash. A bad pointer in user space causes the application to crash. A bad pointer in kernel brings down the system. When MS claims the bigest reliability problem NT has is poorly written 3rd party drivers, they aren't making it up.

    2. Re:Question from a non-guru by flatrock · · Score: 2

      I understand that the Linux kernel is a constantly evolving beast, and that any device driver interface would have to change occasionally, but not having one at all is going to be a tremendous barrier to Linux ever becoming a popular desktop OS.

      Even if a company chooses to release Open Source drivers recompiling the kernel is a little beyond what you can expect from the average user. This forces hardware companies to produce several binary versions for each kernel, and maintain them for several kernel versions. This means they have to maintain these versions with bug fixes and test them all. They also have to write complicated install scripts to match the correct binary with the kernel on the user's machines, and deal with all the tech support questions which are greatly compounded by all this.

      This pretty much makes Linux the hardest platform to support, and customer support is a large expense for most companies. Since the Linux customer base is still relatively small, this just gives hardware companies one more reason not to bother with Linux.

      For some devices the manufacturer can publish a clear specification and a little sample source, and someone will write and contribute the driver. However, if you're targeting consumers, someone has to provide support. Someone is also likely going to have to polish the installation tools so that the average consumer can get the driver working.

      We support multiple OSs in all of our drivers where I work. With a little work you can abstract our a lot of the OS specific parts of the driver. You can then write most of the driver in OS independent manner and port it easily. Most of the OS specific parts are also reusable in other drivers. Unfortunately for this to work well you need to have a reasonable device driver interface.

      We currently support Linux in our drivers, but creating and testing all the binaries, and the customer support problems are already becomming an issue. It's a lot of effort, and the sales numbers just arent justifing the effort. I don't expect this to continue indefinately.

    3. Re:Question from a non-guru by tiso · · Score: 1

      Couldn't you just release it as an object and let them link to it upon compiling the kernel?

    4. Re:Question from a non-guru by phliar · · Score: 1
      Ahhh, don't you just love the Closed-Mind Collectiveness of it all? Why not just provide a standard, external, API for binary drivers?

      I assume you're talking about Linux and the rest of the kernel gang? It's really quite simple: there are many reasons why closed source drivers are a bad idea. Linux would sacrifice its prized jewel: its stability. Furthermore, the kernel just isn't ready to be frozen; so the device driver interface cannot be frozen. Besides, the kind of pinhead company that refuses to release programming specs because it doesn't care about those fringe nuts who use Linux certainly wouldn't be the sort of company that would spend the money to write a Linux driver for those fringe nuts!

      Why don't hardware vendors realise that they are just hurting themselves by not documenting their products? To hell with the vendors providing open source drivers; just tell us how the damned card works, and we'll write the damn driver!

      Why the hell do they think that by releasing information on how someone else can use the card, they will lose their "valuable" "intellectual property"? Bullshit!

      --
      Unlimited growth == Cancer.
    5. Re:Question from a non-guru by Chanc_Gorkon · · Score: 2
      Sigh. I think about stuff like this everyday at work, although not with hardware drivers (as much anyway). We have a NT box that sends print streams from our enterprise server (read mainframe)to two, printers as postscript files. These printers are pretty open since the run Solaris. The downside's are many....the software uses a hardware anti-priacy key. In order to use all software installed, you have to by licenses for each piece EVEN THO you have to have the ENTIRE package installed, you can only use certain parts of it depending on how you have the license setup (A MAJOR PAIN). Second, the format for the Xerox printer streams we send this box is proprietary, but the company that made the software is in bed with Xerox, so they have the ability to write the program necessary to convert the Xerox stream to a postscript file. I do not. The thing is, the only people who would buy this software are people that need it! The only people who want driver software are the people who BUY the card. You CAN write software that does not reveal too much about the internals of the hardware. Besides, the guys looking at this code probably would not have the ability to manufacture a competing board. Nor would other sound card or whatever vendors care about your code (The have NIH or not invented here virus...). Closed source binary drivers FORCE you to be a little insecure in that you usually ARE stuck with a certain kernel (Lucent LTwinmodem people know what I mean! :) ). Opening a driver code will not usually affect you guys (hardware vendor) if you concentrate on making your hardware better then the competition's then spending your resources on keeping a closed source driver.

      --

      Gorkman

    6. Re:Question from a non-guru by bero-rh · · Score: 2
      Is it truly necessary to release open sourced drivers?

      Yes. Binary only drivers are definitely better than nothing, BUT:

      • Many distributions have strict policies against including binary only programs/drivers. Making it binary only means it won't be included in (at least) the standard kernel, Red Hat, Debian and Mandrake.
      • If they're kernel modules (which a lot of drivers are), they'll need to be updated every time you want to use a different kernel. It'll be a lot of work for the company to keep track of all new kernels, even if they support only the kernels released by the major distributions.
      • Linux is not the only OS around. Open-sourced drivers can be ported to *BSD (even though it's painful; as similar as most userspace code is, kernel code is quite different between them) and others. The various BSDs don't have a market share that would drive an average company to develop drivers for any of them (yet).
      • A kernel driver can crash the entire system. If it's binary only, it can't be fixed by the community. Do we want a version of Linux that crashes as frequently as Windows as soon as a certain hardware is used? I don't think so.
      --
      This message is provided under the terms outlined at http://www.bero.org/terms.html
    7. Re:Question from a non-guru by bero-rh · · Score: 2

      A [GPL]ed driver can't be just ported to BSD, because doing so would [GPL]-infect the BSD kernel

      Take a look at the FreeBSD source code. Look for "softupdates" and "math emulation".
      They may not be in by default, but it clearly shows GPL code can be used in the BSD world.

      --
      This message is provided under the terms outlined at http://www.bero.org/terms.html
    8. Re:Question from a non-guru by putzin · · Score: 1

      I dunno, but like the intern said, this is important. I believe that the method for incorporating drivers into the kernel should be modified so that there is a very nicely defined way to include non open source drivers and IP. I think that as long as companies are investing all of the research dollars, they should not be forced to give up what they spent so much time, money, and energy building. I vote for good, solid drivers with an easy way to incorporate them without a kernel recompile. Just my two cents anyway.

      --
      Bah
    9. Re:Question from a non-guru by Vanders · · Score: 1

      Then this is a problem that needs to be addressed by the Kernal devlopers. If a standard API existed with a fixed specification, there shouldn't be any trouble using a binary driver across diferent versions of the Kernal. A lot of other OS's manage this, so why not Linux?

    10. Re:Question from a non-guru by Vanders · · Score: 1

      The perils of Monolithic Kernels: Or how i stopped worrying and learned to love the C compiler.

      Bad joke? Yes. But also has a ring of truth to it :)

    11. Re:Question from a non-guru by Vanders · · Score: 1

      Ahhh, don't you just love the Closed-Mind Collectiveness of it all? Why not just provide a standard, external, API for binary drivers? Noone is forcing them to use it, they can still carry on using the current "internal" ("Compiled in"?) method for Open Source/Kernel drivers.

      I don't see what the motivation is behind their refusal...But as you say, it's their ball.

    12. Re:Question from a non-guru by Vanders · · Score: 1

      What will happen to me, and to the source code, if I were to slyly release the source code for the driver under the GPL license? :)

      You couldn't release "stolen" code under any licencse, it's not your's to licencse. I also expect your employers would notice, and you'd loose your job. Is it worth it? Not IMHO.

    13. Re:Question from a non-guru by Vanders · · Score: 2

      Many distributions have strict policies against including binary only programs/drivers. Making it binary only means it won't be included in (at least) the standard kernel, Red Hat, Debian and Mandrake.

      That hardly matters. If you have the hardware, you'll have the drivers. If you don't have the hardware, you don't need the drivers. The drivers don't need to be on a distro.

      If they're kernel modules (which a lot of drivers are), they'll need to be updated every time you want to use a different kernel. It'll be a lot of work for the company to keep track of all new kernels, even if they support only the kernels released by the major distributions.

      Granted. This is just being discussed a little further above this post.

      Linux is not the only OS around. Open-sourced drivers can be ported to *BSD

      True, but then you can't have it all. In theory, Windows drivers would contain enough information to write a functioning Linux driver, but you can't because the drivers and Open Source. I have yet to see anyone complain about Windows drivers not comming with source so they can port them to $OS.

      A kernel driver can crash the entire system. If it's binary only, it can't be fixed by the community.

      True. But then if a company is releasing the driver as an "offical" driver for it's hardware, it should already be stable and functional. If it isn't, then they have to fix it. This has been the case on Windows and other OS's for quiet some time. If the driver stinks, don't buy the hardware; you wouldn't use a peice of software that doesn't work, so why hardware?

      In the end, theirs very little reason why a company can't just release binary drivers for a product, apart from the screaming zealots. Oh well.

    14. Re:Question from a non-guru by SirGeek · · Score: 1
      Then people are going to be waiting for a LONG while then for the latest and greatest drivers. The money is made in sales.

      If the market (and money) were to be made here in Linux, more companies would be jumping on the Linux bandwagon. But its not (at least, not yet).

      The PHB's aren't thinking future and if a company would have to relenquish control of proprietary HW that they developed just so a "fringe" group can play Diablo II on their gForce II cards, oh well.

      The kernel developers are being too stubborn for our own good. Make 2 interfaces, one for compiled/builtin drivers and one for external ones. Then you can say "If you want the best speed open source it and use the built in interface so the newest kernels can use it, or use the external module interface if you want to keep it close sourced yet allow new versions access"...

    15. Re:Question from a non-guru by SirGeek · · Score: 1
      Not all BSDers.. I use FreeBSD on my home systems AND I have a RH 6.1 Linux server for running a Half Life Server...

      Many BSD users have a different mind set than do Linux users. In general I LIKE knowing exactly when someone says "I Run FreeBSD 4.0 Current" compared to someone saying "I run GNU/Linux".. I know exactly what the FreeBSD person is running, the Linux person could be running any number of distros, kernel versions, etc.

      As for the BSD vs. GPL, if I were a company I would MUCH prefer the BSD license, at least I know that my code can't be used without me getting credit for it. Yes the license is more restrictive but thats life..

      Its a personal choice. Both licenses (And BSD vs. GNU/Linux) have their place. Better a BSD source license then no source...

    16. Re:Question from a non-guru by CaptainZapp · · Score: 1

      The problem with binary drivers is that they are glued to a kernel version. So if you need to compile a new kernel: tough shit.

      --
      ich bin der musikant

      mit taschenrechner in der hand

      kraftwerk

    17. Re:Question from a non-guru by Schnedt+McWapt · · Score: 2

      It's ideology.

      They figure they can use their refusal as a crowbar. If hardware wants to run on Linux, it had better have 'open sourced' driver code. If the Linux market share grows, and hardware vendors want a slice of that market, they'll be forced to disclose their proprietary details. It goes to the heart of the GNU ideology.

      I don't agree with it, but they have their right to be rigid and inflexible and hold onto their vision of how software should be developed, just like Microsoft does.

    18. Re:Question from a non-guru by haroldhunt · · Score: 2
      I have learned a few things about drivers and open source by following the Linux-kernel mailing list:

      1) Most devices require a kernel-level driver.

      2) Kernel drivers may be linked with the kernel at compile time, or compiled separately and loaded at run time.

      3) All kernel drivers must adhere to the driver interface required by a specific kernel.

      4) The driver interface for the kernel does change; in fact, the interface has changed from 2.2.X to 2.4.0

      5) When the driver interface changes, the kernel developers must modify every driver in the kernel source tree to adhere to the new interface; typically, scripts are used to simplify this task.

      6) Binary only drivers would not be fixable when the interface changes; and, the kernel developers seem to be rightly against the idea of maintaining an interface translation program for every binary driver that is using a deprecated driver interface.

      7) Kernel developers have the most daily exposure to kernel drivers; having the source to those drivers allows them to fix bugs that they find, and it allows them to fix bugs that they might occasionally introduce by changing other parts of the kernel.

      8) Binary-only drivers would require that the kernel developers become paper pushers, forever prodding hardware companies to update their drivers to conform to new interface and to fix bugs.

      I have to agree with, what I perceive to be the kernel developers reasons, for demanding open source kernel level drivers in Linux. I see no reason to unduly burden our fearless kernel developers with the administrative tasks and garbage coding required to support binary only drivers.

      Now, imagine an interesting scenario: say I work for a company that refuses to release the source to their driver for reasons regarding an intellectual property issue. What will happen to me, and to the source code, if I were to slyly release the source code for the driver under the GPL license? :)

      -Harold

    19. Re:Question from a non-guru by g_mcbay · · Score: 1
      Now, imagine an interesting scenario: say I work for a company that refuses to release the source to their driver for reasons regarding an intellectual property issue. What will happen to me, and to the source code, if I were to slyly release the source code for the driver under the GPL license? :)

      1) You'd be fired

      2) You'd likely be sued

      3) The software still wouldn't be Open Source (despite the fact that some people might manage to get a copy of the source) as you don't own it and thus have no legal right to release it under any licence.

    20. Re:Question from a non-guru by (push+me) · · Score: 1

      Or ... The problem with the kernel is that binary drivers are glued to a kernel version.

      --
      .g$
    21. Re:Question from a non-guru by bowb · · Score: 1
      Everyone could use the same standard binary interface -- both the closed source and open source drivers.

      There's a lack of freedom (as in freedom) of choice currently.

  123. Binary driver interface by flatrock · · Score: 1

    The reason you the drivers have to be recompiled for each kernel is because Linux doesn't provide a binary driver interface. The interface consists of of calls that do not from one kernel version to the next even though the underlying implementation does change. Every other major OS that I know of provides an interface for drivers. It should even make the kernel itself more maintainable. However, there seems to be considerable oposition to it from the "we don't want anyone writing binary drivers" crowd.

  124. Re:Just do it by wljones · · Score: 1

    I remember a past report where ATI decided to release input/output specs to the XFree86 people. This enabled them to write drivers with no knowledge of the technology, and my ATI64 driver works quite well, thank you. Driver writers need specifications. There is no need for the writer to know the technology used to reach the specification. As to reverse engineering, Kipling wrote the answer many years ago:

    "They could copy every thing I did,
    But they couldn't copy my mind,
    So I left them sweating and cursing
    A month and a half behind."

    I do not believe ATI personnel are headed for the poorhouse yet.

  125. This depends on what business you are in by nizo · · Score: 1

    If you are in the business of making boards plus
    software, how much money are you making off of
    the drivers to drive the hardware? (My guess is
    pretty much nada). If the drivers are specific
    to your hardware, what can competitors gain from
    seeing the source the code that drives it? Also,
    keep in mind by releasing the code to the public
    you get to take advantage of the (hundreds/thousands)
    of folks in finding and fixing bugs (all free!!!!)

    Still, if you are concerned that the code contains
    things you don't want to release (proprietary
    compression, encryption, or whatever) posting
    hardware specs (and possibly a barebones "driver"
    source code )would go a long way to having a
    useable version written for Linux (and others).
    And by all means, posting binary drivers would
    be nice as well :-)

  126. Re:How is this a troll? by Paul+Neubauer · · Score: 1

    It's not that people here think the GPL is the greatest invention ever which gets you moderated down. It's that you continually attack the GPL in a trollish fashion that gets you moderated down.

    Wow, not only do GPV zealots try to redefine the word 'free' to suit their ends, they now also redefine 'trollish' to mean 'accurate' too.

    --
    I don't subscribe to RMS's GNUtopian vision.
  127. Re:It's about freedom, and peace of mind by phliar · · Score: 1
    I am a sys admin/support person and what I need from Linux is a system that allows my users to get on with their jobs, easily, securely and if possible boosts their work experience. Personally the easier and more accesible Linux is the better.

    From where I sit, Linux iseasier. It supports all the hardware I have. When I buy new hardware, I make sure it's supported under Linux. Easy!

    What kind of users are you sysadmin'ing that use exotic unsupported hardware?

    I accept the free software ethos, but for me working, closed source drivers etc. are just plain more useful.

    Don't use Linux, then.

    It's that simple. If Linux doesn't meet your needs, don't use it. It meets my needs (and the ideology is, for me, something that I need) so I use Linux and I'm happy. If that means that I can't go buy the latest XBidia BeForce Rage Terror Anguish 2048 XLT video card, so be it.

    --
    Unlimited growth == Cancer.
  128. Re:Because DRIVERS typically run as 'root' by course · · Score: 1

    Wow, one sale is really going to break a company.

    No, but if we team up, it will work....
    eventually...

  129. Mixture! by MicroBerto · · Score: 1

    1. Open-source the driver, minus the cool new tech feature.
    2. Add a binary file that someone can add-on if they want the new feature.

    Mike Roberto
    - GAIM: MicroBerto

    --
    Berto
  130. Open source drivers? by tombo · · Score: 1
    ... Their software got ported to Linux a couple of years ago, but the Linux drivers for the boards (open source) don't have most of the capabilities found in their windows (closed source) counterparts because the company fears releasing a piece of technology in the chips that they've developed. ...

    With open source, you have more developers porting the drivers to more platforms used by more customers. (And you don't even have to pay the developers!) PHBs still do not get it? Good luck...

    Even with closed source, your competition will still find out everything they want to know about your hardware. (See "How to have fun with disassemblers, logic analyzers, microscopes, and other nifty tools".) PHBs don't understand this either? Good luck...

    (Also: still guarding technology which was developed a couple of years ago? These days, that is a long time.)

    P.S.: Eric S. Raymond addresses the driver question in Why Closing Drivers Loses A Vendor Money, part of The Magic Cauldron. Good stuff.

  131. Re:The Problem with the HURD by Arker · · Score: 1

    not entirely true. microkernels can scale better with multiple procs than monolithic designs..which is why linux/BSDs are having so many SMP problems. ..and one more reason why NT ..besides the fact its dog slow..beat linux on a quad box. exokernels are slightly worse in design but better in performance than microkernels giving improvements in IPC where microkernels bog down. i'd take a slightly slower microkernel over a monolithic any day since the design itself is cleaner...portability is a non issue as you mentioned.

    Hrmm, yes, it's probably true that a microkernel as a general rule should perform better on multiprocessor systems than on single processor systems. A monolithic kernel with robust SMP code should do just as well, however. This is one of the most important points Linus made in the article I linked - most if not all of the research that's been done on speeding up microkernels so that they can approach monoliths in performance can be applied to speed up the monolith as well. Leaving the microkernel as far behind as it was to begin with. Many of the things that were touted as advantages of microkernels circa 1990 (and in some circles still are) turn out to be things that a monolithic kernel can do just as well.

    It's ironic that you cite the infamous test where NT beat Linux on an SMP box. NT is no more a microkernel than Linux is. The NT SMP code was just more robust at the time of the test.

    If you acknowledge that microkernel performance is necessarily inferior and that portability is a non-issue, I fail to see what is left in practical terms to recomend a microkernel approach. 'Cleaner design' is a rather subjective term, but it certainly seems to me that a properly written monolithic kernel can be very cleanly designed as well...

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  132. NT is not a microkernel... by Arker · · Score: 1

    ... any more than it's posix compliant. They have paid lip service to both, but that doesn't make it true.

    For all the lip service, the fact is that the NT Kernel is a monolithic image including among other things the I/O Manager, Object Manager, Security Reference Monitor, Process Manager, Local Procedure Call Facility, and Virtual Memory Manager. These "parts" of the NT kernel are only parts in concept, in application they are a monolithic kernel. This is a single executable that controls the basic functions in kernel space, not user space. The NT design team paid lip service to the idea of a monolithic kernel, sure, but at they also carefully (and wisely) avoided making an actual microkernel system. The reason? Performance, of course.

    As Linux himself mentions in the link I posted above.

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  133. Ugh, correction by Arker · · Score: 1

    Yeah, I know, his name is Linus not Linux. Thought I fixed that before I posted *sigh* but netscape was churning my hard drive and about to die so I was in a hurry, sue me :~

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  134. The Problem with the HURD by Arker · · Score: 2

    Don't expect the HURD to go anywhere. Who needs it? Linux works better now than the HURD will ever work. The MACH kernel is a fundamentally flawed thing, in concept alone. It's a great example of why we have the term "ivory towers" - it's designed by academics based on theory rather than experience and fact. It's advantage, in theory, is that it's more portable. In practice, Linux proves that a properly written monolithic kernel can be so close to it in portability as to make that a non-issue, without incurring the huge performance hit that the MACH kernel imposes by insisting on a lot of unecessary abstraction.

    Given these facts, which you can easily verify for yourself, (start with this bit by Torvalds explaining the difference between microkernel and monolithic architecture from a practical point of view, and how the design of Linux enables it to meet the same goals without sacrificing performance) it's easy to see why the vast majority of competent kernel hackers are working on Linux or *BSD, not MACH, and will continue to do so for the forseeable future. The longer they do this the further behind the HURD gets and the less likely it becomes that it will ever become anything usable, let alone desirable. If by some miracle the HURD project suddenly starts moving and puts out a usable product, it still won't go anywhere, because it will still be inferior to Linux and *BSD performance wise, and Linux and *BSD are both portable enough that no one would choose the HURD just for portability.

    In short, the HURD is dead, for good reason, so your entire post is irrelevant.

    But, even without the HURD, there are still no shortage of good systems that people use and develop that won't work with a binary only driver.

    • Linux on anything besides an x86.
    • *BSD in any form on any platform.
    • Solaris on any platform.
    • Linux on x86, as soon as you need to update the kernel.

    That's nowhere near a comprehensive list I am sure, but just a few major ones off the top of my head.

    When M$ claims that much of their stability problems come from poor 3rd party drivers, for once they are telling the truth. Unlike windows, linux was not designed to support binary only drivers, and it's not maintained in such a way to support them, by design and for good cause. The whole point to linux for most people is to get away from the bad things that come with windows, and binary only drivers are right up in the top part of that list. If a company won't release the source for their drivers, or at least the technical specs so that someone else can write a driver for it, I won't buy their hardware. Far better for them to release the specs and let a kernel hacker write the driver (which costs them nothing) than for them to pay a team of their programmers to produce, test, and release the best binary only driver in the world. Releasing a binary only driver isn't supporting linux, it's proving that you don't have a clue about Linux or Free Software in general.

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  135. OS,OS,OS by nicky_d · · Score: 1

    It has +GOT+ to be "open source" (note: small o, small s). That's why we're here today. That's what it's all about. If you accept closed-source drivers, why not cs apps? What does it matter, as long as they run?
    Open, develop, grow.

  136. Patents can be good. by _iris · · Score: 1

    Patenting new technology is Not bad. You must be sure it really is New, though. If your company truly is afraid to open source the drivers for fear of placing their technology at risk, why don't they patent the technology? If someone used the technology they have patented in any way that is harmful to their prosperity, they will find out. I can only see two reasons why any company would be afraid to open source drivers for any hardware, unless they make money directly from those drivers. Either a) they are unlawfully using patented technology or b) their technology is ugly as hell with kludges A-Z.

    --Drew Vogel

  137. binary != secret by geoff+lane · · Score: 2

    If someone really wants to, extracting the operational characteristics of the Windows version of the driver is a simple, if lengthy process (but could no doubt be automated on a PC emulator - if they can do DNA a little driver must be easy :-)) All the company has is yet another instance of "security by obscurity"

  138. Support For Linux != Open Source by gavinroy · · Score: 1
    While Open Source drivers are nice imo because you can recompile them, fix them, improve them, etc. they are not necessary for Linux support. The important thing to not in releasing precompiled Linux drivers is:
    1. Some of us don't use modules
    2. Some of us don't use RedHat
    3. Some of us don't like being stuck using a kernel that is older that what is available today.
    What does that mean? Maybe distributing some form of pre compiled driver that gets linked in to the kernel upon compilation. Doing that so it is not dependent upon some kernel version only distributed by Red Hat (without someone finding their diff list and applying it). If you can hit that target, I am sure many of us would be very happy.
  139. Re:Open Source by Admiral+Lazzurs · · Score: 1

    How about a new GPL but for drivers. I could state that, yea, you can change the code, yea, you have the code, but no, you are not allowed to make hardware products from this code, but anything else could be allowed. Now I am sure that this kind of thing is not beyond the power of the lawyers that these companies have!!!

  140. Open sourcing drivers by jkirby · · Score: 1

    Paranoia. If the company you are interning with are confident in their ability to stay ahead of the market, then they have nothing to lose or fear by opening the source. Screw'em, let them find out the hard way; spend you time on something more creative :) Jamey

    --
    Jamey Kirby
  141. Re:Why not both? by bero-rh · · Score: 2

    We will not ship anything in the main distribution if we can't ship the source. If they did that, they'd end up with their driver being available for download on redhat.com and its possible inclusion on the Linux Applications CD.
    (And offering something for download is something they can do themselves).

    --
    This message is provided under the terms outlined at http://www.bero.org/terms.html
  142. Why not both? by bero-rh · · Score: 5

    Well, the best solution would obviously be open-sourcing the whole thing - but if they won't do it, why not do both simultaneously?

    Put a limited open-sourced driver up so everyone can use it and it can be included in distributions (and developed from there, chances are it will outdo the closed-source version some day), and at the same time, release a closed-source driver for download so people who need the extra functionality right now and don't insist on having everything in source form can use that.

    --
    This message is provided under the terms outlined at http://www.bero.org/terms.html
    1. Re:Why not both? by EinarTh · · Score: 1

      How about proposing to the company, that they try to get NDA's with the major distros, such as RedHat, SuSe, etc. and release the sources to them, so they can distribute binary drivers and/or installers for their distro/kernel version.
      That way you'll get maximum compatability and public exposure, without releasing proprietary information to the general public...

      Just a thought....

      --
      -- Computers are not intelligent. They just think they are.
    2. Re:Why not both? by sandman72 · · Score: 2

      Well, that's one way to put it. I've seen another model of compromise - the XAnim codecs. They were distributed as object files so you could link them into the player if you want to. Besides, I think protecting any information that resides in the drivers is utterly pointless, because if your competition has to go to your sources they are already late for the market (for most cases anyway) and if not, well, they can reverse-engineer the binary driver anyway. The driver is useless without the hardware. The way I see it, the only thing you might need to protect is protocol implementations. In that case you could just release an object file, with an API that could be wrapped into the current kernel API. That would solve it, at least for a couple of kernel versions - at which point you probably have to release a new version anyway to add features and fix bugs. Open source for drivers would be preferred, but I agree with people saying that stable driver is more important. --cut this crap

  143. Two Modules? or: Open Source and the Bleeding Edge by benjamin_scarlet · · Score: 1

    The situation in which open source shines is that in which the code is widely understandable. While an idea is too new to pass that test, open source may not be the best choice. Once the idea is well known -- so that it's well known what needs doing and all that remains is to do it and do it right -- then it's time for open source.

    Consider whether or not you can split your driver into two pieces

    • one closed source module which implements a well documented interface, hiding whatever secrets you wish, which you keep as small as possible
    • one open source module which uses the aforementioned well documented interface to implement the driver

    If, as time passes, your secret becomes less of a big deal, you can open the closed module, or merge the two.

    Open Source and secrecy do not, of course, work too well together. Fortunately, they're not as much competitors as one might think. Secrecy is advantageous when an idea is new -- not just an implementation but what-to-implement is needed. Open Source is advantageous when an idea is old (of course old is very much a relative term in this business) -- a good method is known and an implementation is all that's needed. If you can separate out what's truly innovative in your product and keep only that secret, I'd judge you're making a reasonable compromise.

    With kernel code, one should pay extra special attention to the interface between the two pieces. A bug in your closed source code can affect the whole system, not just an application using your product. For that reason, you should not only be keeping your closed code as short and simple as possible, but document every guarantee you can and can't make. That way, if (heaven forbid) there is a problem with your code, someone working with just the open source part can diagnose your closed module as failing to obey its own constraints.

    This scenario isn't as rare as one might think -- it's just that the open/closed boundary is usually (for open source OSs) in the same place as the software/hardware boundary.

  144. Er... by Ravagin · · Score: 1

    I'm no expert when it comes to Linux, drivers, or open-sourcing, but is it possible to just make part of the driver closed? Or even the whole thing? Surely every single thing on your computer doesn't need to be completely open source.
    -J

    --

    Karma: T-rexcellent.

  145. why open source ? by vapour · · Score: 3

    It gets me everytime. To allow your linux users the same level of functionality as their windows using counterparts, why do the drivers need to be open source ? Why can't you charge for provision of closed source drivers, providing functionality, documentation, support and an increasing level of product maturity with driver revisions ? Maybe I'm a profiteering capitalist, but I don't see why mine (nor many of my collegues) hard work should be provided for free to one choice of OS and not another.

    1. Re:why open source ? by warez_d00d · · Score: 1

      > Maybe I'm a profiteering capitalist, but I
      > don't see why mine (nor many of my collegues)
      > hard work should be provided for free to one
      > choice of OS and not another.

      huh? does your company get paid for providing windows drivers?
      Surely it is in their own interest to make their hardware/whatever work properly under ANY OS!

      Da Warez D00d

    2. Re:why open source ? by ievans · · Score: 1
      Actually, RMS's motivations for creating GNU and the FSF are a little more broad than that. From what I've read, RMS was working in the Artificial Intelligence lab at MIT in the late '70s/early '80s, working on a system called ITS (Incompatible Timesharing System, running on a DEC PDP-10).

      The first thing that happened was that DEC decided to discontinue the PDP-10, in favor of the Unix-friendly PDP-11 and VAX lines. ITS, then, was left out in the cold. RMS and his AI lab colleagues decided to try to write a new OS based on Lisp. This failed for the next reason.

      Then corporations became interested in AI, and a lot of the research projects at the AI lab became funded by various corporations, with the ensuing NDAs, protections of intellectual property, patents, etc. This pretty much killed the open exchange of information and code that the AI lab had previously enjoyed. A similar thing happened to Unix when it went from being a university and research lab project to being a commercial enterprise, and you saw AT&T releasing binary-only versions of Unix.

      So, seemingly arbitrary business decisions by DEC, and closed, proprietary ventures from corporations, basically screwed up a good working environment for RMS, and he said, "Screw this. I'm going to re-build Unix and make it so I don't have to worry about the suits screwing things up." Hence GNU, hence the FSF, hence the GPL, hence RMS's emphasis on "free," as in speech.

      Because of his experience at the AI lab it is more clear why he is so outspoken about free software, why he wants to frame the debate around freedom, and why he thinks "open-source" is an unacceptible dilution of his ideas.

    3. Re:why open source ? by rifter · · Score: 1

      This is basically how the Sun Community Source License works. Of course Sun got their ass eaten, spewed out, then handed back to them on a plate for daring to go from closed source to this model by the free software zealots.

      I'm torn, personally. I mean it's nice to be able to look at the solaris code if one wants to, and the license ensures that Sun retains control, which is basically what they were afraid of losing. (look what happened to java!) But on the other hand Sun did get a lot of brownie points in the media ("Oh look they're making free software too! Just like that Linus fellow!") which were based on confusion...

    4. Re:why open source ? by Xrkun · · Score: 1

      I'll try to explain. Suppose I purchase a Linux driver from this board manufacturer. I then discover that there is a flaw in that driver. (We all know that never happens) Since I own that driver, why don't I have the choice to modify it?

      Having "Open Software" means just that. If you own the software, you have every right to do with it as you please. In order to have that freedom the source code must also be available for you. It's that simple. I'm not going to tell anyone that all software must be open. All I can tell you is that I will only obtain/buy open software. That is a personal decision. I want that freedom. For those that don't care about that freedom, well, that is their decision.

    5. Re:why open source ? by Xrkun · · Score: 1

      I too have thought about that. It does seem to be a nice compromise between Closed and Free Software. It is a realist approach to the issue. However, there are people out there who won't settle for reality. (I am one of them :P)

      Often times when someone debates Free Software vs. Closed Software, the main issue brought up by the CS advocates is money. "I want to get paid for the work I do!"

      Keep in mind that the FS approach is a Socialist approach. This means that Free Software is not the end goal. It is just a small piece. A starting point. The actual goal is a utopian society where money no longer matters and mankind lives in peace with one another. That, at this time, is too large a goal. Hence Free Software.

      People might say that the world would never put up with that sort of society. Yet many science fiction writers write about Utopia. In fact every writer who wrote about "more advanced civilizations" described them in a very utopian way. Perhaps some day we will achieve that sort of world. Perhaps not. But for now, baby steps...

    6. Re:why open source ? by shippo · · Score: 1
      With binary only drivers, you are usually only tied to one particular kernel on the i386. uniprocessor platform. Need a driver for an SMP platform? What about an Alpha?

      You are often tied to the specific config of the machine the driver was built on (usually the current RedHat). How many times have you run make config/menuconfig under 2.2.x, changed a single parameter, and discovered that half the kernel source needs to be recompiled?

      The other problem with binary-only drivers is that the source has not been audited by one of the core kernel team (Linus, Alan or one of the others). You've no idea what the driver is doing. Is it susceptible to races? Does it tie up CPU time too much? Does it try to probe the hardware in a bad way? Does it use depreciated calls? Is there a memory leak somewhere? And so on. I've had enough of problems like this with add-on drivers for other Unix variants in the past to be very wary of 3rd party drivers.

    7. Re:why open source ? by sqlrob · · Score: 1
      First, nobody in the Windows world is making money on hardware drivers. Especially not hardware vendors.

      But it's not the drivers they are worried about, it's the hardware. They are afraid competitors can use the drivers to help reverse engineer the card and come out with a competing card.

    8. Re:why open source ? by sqlrob · · Score: 1

      Nothing is preventing them from doing it, it's just slowing them down. In order of effort to reverse engineer: Open Source Software Closed Source Software Hardware In the current market, time to market is everything. The more you can slow somebody down, the bigger lead you have. Granted, in the case of Open Source and Closed source, the lead is largely an illusion since it would take what, a few days at most to decompile to source?

    9. Re:why open source ? by Jetson · · Score: 1
      But it's not the drivers they are worried about, it's the hardware. They are afraid competitors can use the drivers to help reverse engineer the card and come out with a competing card.

      I would point you to the appendix to The Magic Cauldron , where Eric Raymond does quite a good job of explaining why vendors with propriatary technology are *still* better off with fully open-source drivers.

      The basic argument is that the market cycle of a computer product is so short that any vendor that chooses to spend time reverse engineering or blatently copying the work of another is simply giving away market share because they will always be 6-12 months behind the competition. While the copycat is trying to rush a clone into production the innovators are already raking in the bulk of the potential lifetime income from that product. By the time the Johnny-come-lately reaches the shelves the product is obsolete and the innovator is ready to do it again.

      Companies do not gain a significant advantage by locking up their technical specs. If they keep expanding their technology then the clones will never catch up. If they don't expand their technology then someone else will build a better mousetrap. Either way, the old tech is worthless.

    10. Re:why open source ? by RedWizzard · · Score: 2

      If the driver is open source then far more developers will be able to help track down the problems, and even solve them. The problem for drivers is that Linux is undergoing constant, massive development. Even the stable kernels have large numbers of point releases (just less than 40 for 2.0 and about to be 17 so far for 2.2, compare WinNT4 with it's 6 servicepacks). For each of those point releases the drivers need to be tested. That means more resources are required to maintain drivers for Linux than for (say) Windows. This is not a bad thing. It results in a far better quality kernel than closed source development has so far managed.

  146. Kernel Dependencies by Builder · · Score: 1

    I might be wrong, but isn't the reason that they have to keep the features limited down to the fact that you have to compile the driver against a kernel version (even if it's available as a module) ? Which means that they either have to maintain binary modules for each and every kernel that comes around (which is lots) or they can release a limited functionality version as source that everyone can compile against the current kernel.

    Because Linux development is fairly fast paced, there is generally a new kernel out every month or so. For a company to have to keep their binary modules current, can be a drain on resources. Creative labs failed miserably with the SB Live drivers... I was running a kernel with severe NFS problems, just to be able to have my sound card working. For them, opensourcing the driver worked. I'm not sure how you'd deal with it if you couldn't!
    /* Wayne Pascoe

  147. Gee.... by soulsteal · · Score: 1

    No one seems to think about maybe having CLOSED SOURCE LINUX DRIVERS. Would it hurt you that much to have fully functional drivers that you couldn't crack open? If they worked well enough, doing what you bought said card for, would you NEED to hack anything else? So what if FULLY WORKING drivers aren't GPL'd. The world doesn't come to a crashing halt everytime someone somewhere using something that's not OSS. It might slow to a crawl ( ;) ), but it works completely.

    1. Re:Gee.... by soulsteal · · Score: 1
      I'm so glad someone marked my post as a troll. I have 15 total karma to burn. And I have ALOT more opinion to burn if someone wants to disagree with me. But to mark me down as a troll for difference of opinion rather than some offense with substance shows the lack of tolerance of my last moderator. That's all I have to say about that.

    2. Re:Gee.... by photon317 · · Score: 1
      Well... while I see your point (a closed driver, or a half-closed driver (opensource most code + a binary file of special routines to link against) is better than nothing for Joe Linux User.

      However, many people use (or would like to use, or might use) Linux for secure computing, and usually one of their primary basis for doing so is that every opcode that will ever hit the processor of their secure box is fully backed by open, readable source code. If there's a bug, security hole, or backdoor, they know that even without the usually great help from the community and the code authors, they _could_ track it down and fix it all themselves.

      They also know that blatant security holes, bugs, and especially secret backdoors have a much harder time living very long in an open source driver.

      One thing's for sure: While I might begrudgingly use Binary OSS Sound Drivers on my Linux Desktop, I sure as hell would never use a binary ethernet card driver on my linux firewall.

      My $.02 :)

      --
      11*43+456^2
  148. Kernel Version by psocccer · · Score: 1

    I see a lot of talk about 'You need binaries for every kernel' and while that is a swaying argument, why not make a mini-module architecture that is kernel independant, or allow linking a binary object to some code to make a module for the current kernel. That's probably why they can release windows drivers and keep them updated, becuase even if they support all windows platforms, they only need 3 or 4 different drivers, compliled once. I think it's too much to ask a company to compile 50 different versions of a module just because you use linux. I understand that lots of companys don't want to open source their drivers because of technical concerns, but with a system in place for modules that work independant of kernel version, they would have a way to write the driver and keep one version maintained and release a better driver if they choose to keep it closed source, and I'd rather have good closed source drivers than open ones missing functionality.

  149. help them out... by BeerHunter · · Score: 1


    So, a manufacturer completes and compiles a Linux driver for, say, the two most widely used kernels at compile time like Creative did then for the SBLive! Is there a way to make an app that would allow a manufacturer to take their closed source and compile it automagically six or eleven times, saving to different filenames, for six or however many different kernels without headache on their part? Make it as easy as possible for them to do what you'd like to see them do.

    Or, maybe a small, spare-time company of you gents that can sign NDA's and run quad/pent boot machines with different versions of the kernel, compiling closed-source drivers for all kinds of kernel revisions and maybe even other OS'es.

    ...hey, just another stupid idea brought to you by my minimally-exceptional ass.

  150. Re:Whine whine whine by The+Wing+Lover · · Score: 1

    You've been moderated down for posts critical of the GPL. I've read some of your posts before, and based on that you may have deserved it - you definately have a tendancy to walk the line between being critical and just attacking, and to attack it in a flamebait (NOT trollish as the other poster stated) manner as well.

    Excuse me? I have? Or are you assuming that I am the same person as the original poster?

    --

    - In Capitalist America, law violates YOU!

  151. How is this a troll? by The+Wing+Lover · · Score: 2

    Once again, some moderator has taken a response that they disagree with, and marked it down for being a "troll". How is it a troll? This person simply is stating his opinion.

    This is something which has always bugged me about the moderation system here. People can't post contrarian opinions without being moderated into oblivion. Obviously moderation is needed to keep out the "first post"s and "natalie hot grits", but don't use it to silence opposing views.

    --

    - In Capitalist America, law violates YOU!

    1. Re:How is this a troll? by luckykaa · · Score: 1

      Its moronic logic - Since many Trolls attack the GPL, or open source, anyone who attacks open source is a Troll. Similarly, unless you back it up really well, you musn't say something vaguely pro-windows and anti-linux like "Netscape is a lot more responsive under Windows than Linux"

      Unfortunately moderators are only Slashdot posters. You can't really expect tham to show deity like impartiality to all posts

    2. Re:How is this a troll? by luckykaa · · Score: 1

      I take it you haven't read Umberto Eco's Faucault's Pendulum then. Moronic logic is described with examples like All Spartans are mortal, all Greeks are mortal therefore all Spartans are Greek. My point was that a lot of moderators use this sort of back to front logic when hitting the "Troll" button, and not that that was my opinion.

    3. Re:How is this a troll? by ranessin · · Score: 1


      It's not that people here think the GPL is the greatest invention ever which gets you moderated down. It's that you continually attack the GPL in a trollish fashion that gets you moderated down.

      Ranessin

    4. Re:How is this a troll? by ranessin · · Score: 1


      If GPV were an "accurate" description of the GPL, it wouldn't be a troll, now would it?

      A virus is something that one cathces involuntarily. All GPLed code was made GPLed by *choice*, unlike how viruses spread.

      Ranessin

  152. Re:It's about freedom, and peace of mind by nematoad · · Score: 2

    I agree, Open source stuff *is* about freedom but only for certain people. Those gifted as coders are free to look and alter the code but for others such as myself it matters little whether we get the source code or not. My talents, such as they are, do not lie in programming. I am a sys admin/support person and what I need from Linux is a system that allows my users to get on with their jobs, easily, securely and if possible boosts their work experience. Personally the easier and more accesible Linux is the better. I accept the free software ethos, but for me working, closed source drivers etc. are just plain more useful.

  153. The Devil and the deep blue sea. by Reggyt · · Score: 1
    In this I assume that you are working for a company interested in maximising its returns on investment.

    What you have at first appears to be a conflict of interest. If you add the additional functionality to the Linux drivers and open source them, you are allowing your competitors access to solutions that your company has spent time and money developing. Also, what will the M$ Windoze clients you have think to this. Assuming open source for Linux drivers IMHO will impact the price because you will be allowing your competitors to produce a similar product with the same functionality, thus creating competition on price where the Linux solution becomes much less costly than the other solution. I imagine this would lead to some angry calls from your closed source users.

    There are IMO two options.

    1. Don't open source.
    2. Open source

    If you decide open source you may lose some competitive advantage on price of whatever you are selling. IMO the way to regain this competetive edge is to provide exellent service to your clients. If you are providing a good solution with excellent after sales service I can't see why opening the source of your drivers will have a detrimental affect.

    You may also get some other developers looking at your drivers and making improvements which maybe in a closed source operation would not have been considered.

    --
    "Common sense is nothing more than a deposit of prejudices laid down in the mind before you reach 18" Einstein
  154. Re:Obfusacte by Vanders · · Score: 1

    Yeah, but's whats obsfucated? Ever looked at the source for GCC? EEEEEKKK!

  155. Without source, you can't have "better support" by [Xorian] · · Score: 1
    Now I'm all for opening driver sources, but if it came down between the choice of more driver support for Linux and Open Source code, I'd be torn.

    Don't be torn. This isn't an either-or kind of thing. Closed source drivers means poor support.

    To me personally, the biggest reason why closeed source drivers are bad is that they're almost universally x86 only. The leaves those of us on other CPU architectures (I run Linux on PPC and Alpha at home, and Alpha at work) out in the cold. The really sad thing is that vendors wouldn't even have to do the porting themselves if they'd just release the source. There are plenty of us out here who want to put cool hardware in our machines and have the skills to make the drivers work. Unfortunately, it's very hard to quantify the effect this would have on sales, which makes it hard to justify to the suits.

    Another reason why closed source drivers means bad support is kernel specificity. Sure, the driver may be certified to work just great with that kernel RedHat 6.2 or SuSe 6.4 installed for you. But what if you're working out on the development branch? You're SOL, that's what.

    And of course there's all the other reasons everybody here knows by heart (faster bug fixes, lower code maintenance costs, etc.).

    And the whole "somebody's gonna steal our tech" argument is usually bogus. Unless we're talking about something very high-end, the competition for the consumer's dollars will be very fierce. If you have an innovation over your competitor, they'll one-up you in six months time. (For example, look at the pace of the 3D accelerator market ever since it's become mainstream.) In other words, by the time they could reverse engineer whatever it is you're doing, they could have just as well worked out their own newer, better tech. Reverse engineering your competitors in a commodity market is almost never worth it.

    --
    CVS is teh suck. Use Vesta instead.
  156. uhhh... by warez_d00d · · Score: 1

    Why don't you just release a binary-only version with all the features and a crippled open-source one (which noone would use)?
    Most likely your company hasn't even thrown any funds at developing proper Linux-support, so 'fears about giving away important secrets' are a convenient excuse...

    Da Warez D00d
    All of my releases are binary-only :)

  157. Re:Obfusacte by warez_d00d · · Score: 1

    wouldn't that completely destroy the original idea of open source, i.e. that you can add your own features and ideas? Da Warez D00d

  158. Too many hardware releases to matter by ectoraige · · Score: 2
    Unless the 'secret' technology on your employees boards is so funky that nobody else is going to come near it for the next 3 years or so, it really doesn't matter. Things were different a few years back, but these days, the life-cycle of a particular product is a year, if it's lucky.

    I don't know how long your company spent developing the new technology, and integrating it into their boards, but I am pretty certain that other manufacturers will spend as much time copying and applying your technology as they would developing the thing for themselves.

    One compromise would be to develop fully featured binary drivers for say, Red Hat, and FreeBSD, plus low-funtionality driver code for other platforms.

    Include in the package an email address where people can ask for a binary for a particular platform. If there's enough support for it, then bring it out. There shouldn't be that much modification required, and the kudos you'll earn with the opensource community may be more valuable than you think.

    Even that's not enough though. I won't order any hardware that I don't see in the supported drivers list. So the faster you get some form of drivers out there, the better your board will sell.

    "A goldfish was his muse, eternally amused"

    --
    Vs lbh pna ernq guvf, ybt bss abj. Tb bhgfvqr. Syl n xvgr.
  159. Very similar by Emphyrio · · Score: 3

    This seems very familiar.

    I work at a company that supports open source software, and development of open source software.
    We ran into a situation where we needed to have open source drivers, as opposed to the (available) closed source drivers.
    (for those interested, try searching for 'philips webcam drivers' on linuxtoday or linuxnews or something)
    Links to the stories can be found here.

    Our action was, to get the binary-only drivers, disassemble (reverse-engineer) them, and rewrite them, as open source.

    I think the best action in situations such as these, is to try to convince the manufacturer first. Often they don't want to give away specifications, or they don't get the advantages (selling more hardware because of there is support for it in free operating systems).
    In cases such as those, the only way to get open source drivers is reverse-engineering protocols or binary-only drivers.
    Reverse-engineering and rewriting the driver can be a lot of work, but hey - it's worth it :)
    As for the legal implications, we were able to do it legally. In the netherlands (and i know there are other countries with similar laws) it is legal to reverse-engineer a piece of software, and to make the information you get from it public.
    In our case, releasing a complete open source driver was not possible, so we had to make an information package (wich included a basic driver as a reference).
    Other people are allowed to re-use this information, and make the real driver.

    As far as i'm concerned, there is always a way out, and always a way to get an open source driver for a piece of hardware.

  160. GCC? That's not obfuscated. by yerricde · · Score: 2

    Try looking at some IOCCC contest winners. They make those parts of GCC look like "Hello World."
    <O
    ( \

    --
    Will I retire or break 10K?
  161. Re:reverse engineering closed source drivers by Grab · · Score: 1

    For some stuff it's pretty trivial. If all you need to do is write a little bit of stuff to I/O ports in a particular order, then there's sod all to it. But that won't tell you much about the hardware.

    The problem comes with stuff like WinModem cards. Here, as WinModem victims know all too well, the hardware is pretty dumb, and all the intelligence is in the driver. That driver's had a helluva lot of work put in on it (don't believe me - how long's it taking those guys to duplicate it then?) so releasing it as open-source would essentially release everything about the card, and provide other WinModem competitors with a ready-made template for their driver. OK, maybe they just make the source available but don't release it GPLed, and rely on copyright to stop other companies nicking it? Tough shit - once it's out then it's out! Have you guys not heard of Gnutella? Once it's in the wild, it doesn't matter about copyright or lawyers, it's gone!!! In a lot of high-tech places, the real leading-edge stuff isn't even patented, cos that would tell competitors how to go about doing it, so they could copy you. Maybe you'd be in the right, maybe you'd even win in a court case, but any good lawyer could spin out a case like that for years until it's broken you, so forget it.

    Want another place where open-source will never, ever reach? Programmable chips (microcontrollers, programmable logic, etc). Nearly all manufacturers (Microchip are one major exception) keep the programming algorithms secret, protected by NDAs. So there can NEVER, EVER be a universal GPL'ed chip programmer, cos the very act of distributing the source code violates the NDAs by revealing how it's done.

    I suggest the "I won't use it unless it's completely free" lobby smell the coffee. Free's nice, but it's not the only game in town. There isn't a computer newbie that I know of who'd want to do kernel recompiles just to add a new joystick or something, so I think Linux needs binary driver support, and fast, otherwise it can't be taken seriously as any sort of a desktop option. If you're seriously worried about system stability, only buy stuff with GPL'ed drivers. For the rest of the world, it's better to have driver support than not to have it, and bugs may happen but the manufacturer's testing should sort most of them, and if a product's known to be buggy (eg. RDRAM now!) then no-one buys it unless they're real suckers.

    Grab.

  162. Not really a choice by maragato · · Score: 2

    Unfortunately, you do not have many choices. Unless you can afford loosing your job, all you can do is do as told.
    I have been through this kind of situation before and I know how frustrating it is to work in something you don't believe. All I can tell you is start looking for another job.

  163. "choosing" the GP[VL] by luckykaa · · Score: 1

    Hypothetical situation - I write a piece of GPL software. It has some clever graphics code, so someone uses that code in their program. They would rather use the BSD licence, but since they use my code, they are obliged to use the GPL. They do this since they don't really care too much as long as people use their code.

    Someone else is really impressed by their networking code. They decide to use that. They too are forced to release under the GPL, even though the second person wouldn't have minded if they didn't. I have managed to force the GPL on a piece of software that I had no input to.

    This is based on an actual problem someone had, when they wanted to port a Linux driver to FreeBSD.

  164. Re:Being "forced" to use GPL code. by luckykaa · · Score: 1

    Person 3 isn't using my code. He still has to GPL it, because I GPL'ed my code. My decision to use the GPL affected the code that I had put no work into at all.

    I believe I know the case you are talking about, and I believe in that case the FreeBSD hacker, instead of whining and claiming that he was being "forced" to use someone elses code sucked it up and wrote his own BSD licensed code,

    Well, thats efficient use of time isn't it. The driver writers didn't choose to licence under the GPL. Linus did. They didn't have any choice. They were actually quite happy for the driver to be rewritten under for BSD.

  165. The case for software patents by Boulder+Geek · · Score: 1
    There is a (relatively) easy way for companies that wish to protect any IP that they may have in their drivers, and that is to patent it. If they patent the techniques used in their drivers as well as the chips, then releasing the source code (which is most emphatically not the same thing as Open Source, of course) should be a non-issue, as their competitors would be barred from using the inventions embodied in the code.

    Not that this should be an issue, anyway. There is usually very little of interest in terms of patentable algorithms (even in today's world of ultra-liberal software patent) in a driver. Anything that these companies have come up with for drivers has doubtless also been invented by all of their competitors.

    --
    A well-crafted lie appears unquestionable - Dama Mahaleo
  166. standard ESR fare by The+Pim · · Score: 1
    ESR covers this in his standard spiel. He makes some compelling points:
    • Your super-secret proprietary technology probably isn't as special as you think it is. Companies tend to exaggerate the value of their information. As the Cluetrain clue says, "Most of the secrets you keep no one would bother reading even if you delivered them with the morning newspaper.".
    • If your competitors care about your super-secret proprietary technology, they're already reverse engineering your Windows drivers. Reverse engineering is surprisingly effective--how much of an additional benefit would source code give them?
    • If your competitors are busy duplicating your last-generation technology, they're exactly where you want them--in the rear-view mirror! If they're following your tracks, you can turn it into major tactical and strategic (not to mention PR) advantages. This depends strongly on the particulars of your industry and product, however.

    --

    The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
  167. standard ESR fare by The+Pim · · Score: 1
    ESR covers this in his standard spiel. He makes some compelling points:
    • Your super-secret proprietary technology probably isn't as special as you think it is. Companies tend to exaggerate the value of their information. As the Cluetrain clue says, "Most of the secrets you keep no one would bother reading even if you delivered them with the morning newspaper.".
    • If your competitors care about your super-secret proprietary technology, they're already reverse engineering your Windows drivers. Reverse engineering is surprisingly effective--how much of an additional benefit would source code give them?
    • If your competitors are busy duplicating your last-generation technology, they're exactly where you want them--in the rear-view mirror! If they're following your tracks, you can turn it into major tactical and strategic (not to mention PR) advantages. This depends strongly on the particulars of your industry and product, however.

    --

    The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
  168. Surely by Salsaman · · Score: 1

    Surely if your rivals are capable enough to steal your technology, then they must have the means to reverse engineer your products in different ways, other than by looking at source code to drivers. Conversly, if they need to see the source code to figure out how your devices work, then they are probably not capable of putting your technology to good use.

  169. any driver = good, open source = better by Gothmolly · · Score: 1
    Any attempt by a company to produce a Linux driver, imho, is a Good Thing. Look at the buggy-yet-useful-to-some Lucent LT Winmodem driver. Heck, if it works, its a bonus.

    The downside is that if they don't keep up with the kernel and library releases (also see above driver failure rate :-( ) then it doesn't help a heck of a lot.

    --
    I want to delete my account but Slashdot doesn't allow it.
  170. Re:It's about freedom, and peace of mind by Ian-K · · Score: 1

    Very well said! Period. Trian

    --
    I'm no longer fed up with MS Windows: I go rid of them :)
  171. Re:Open Source by pturing · · Score: 1

    And the FSF are the only ones who can write licenses?

  172. Re:reverse engineering closed source drivers by shippo · · Score: 1
    I've done some reverse engineering, but in my case it was trivial.

    I had an ISA sound card whose MIDI port was not working. The problem was that the chipset used by the card was of a later revision to the one supported by the driver in the then current Linux kernel. All I needed to do was to locate the IO port that contained the MIDI settings, then write the correct value to the card. No specs had ever been released, and the manufacturer no longer made sound card chipsets

    I played around with the standard Linux kernel driver, adding printk statements to work out what was going wrong, and what values the probe routines returned. I worked out where in the code I could init the port, then got round to discovering what value(s) to write, and which port(s) to write them to.

    I located the DOS driver that was loaded in Windows to initialise the card, without any documentation as to the switches to use. A quick inspection of the disassembly located the code that wrote from memory to the range of control I/O ports. I then located a table of IO Port value - bitmask pairs. Next to this table in memory was a simillar list of IRQ - bitmask pairs. By ANDing these pairs together I had the value to write to the IO register. I only needed the register itself.

    I then searched the disassembly for a reference to the address of these tables - no such luck. Searching for addresses closer to this located the code that did the table lookup and wrote the correct value into memory. I hardcoded the write into my driver, reloaded the module, and all was now working.

    I then spent a few minutes adding a couple of case statements and the odd debug message, then created a patch and submitted it. My patch appeared in the devel kernel a few weeks later.

    Since then I've acquired a 6-port serial/synchronous card. Not only do no documents exist for this card, but there only code I can locate is a DOS diagnostic. The card was expected to run under a custom OS which I don't own. I'm not having much luck.

  173. Again? by anubis__ · · Score: 1

    Is it just me or do we see this question every month?

    --

    "After three days without programming, life becomes meaningless." - Tao of Programming
  174. make the nerds happy :-) by deewite · · Score: 1

    i just don't get the mentality of trade secrets in the context of software or hardware. any electrical/computer engineer, with the proper motivation, should be able to reverse engineer your boards and software. in other words, if your competition can buy your product he/she knows how it works.

    i do understand trade secrets in terms of production i.e. how much it cost to produce each board, the order of assembly, or how fast they can be produced. here your competition can only estimate.

    i don't see how closed-source can protect your companies tech. if the product is unique and lasting get a patent to protect it! my guest is that, as usual in the computer industry, patenting the tech is not worth it, because you'll be using new boards/tech next year. which would mean you want to sell as many board this year as you can ... so make the nerds happy and open-source the damn thing.

  175. Use a hybrid by RadioTV · · Score: 1

    Why don't you try a mix of the two? Modify you current open source driver to include an option that will look for a closed source extension that will turn on the extra options. Just make sure that your fully document the extension so the driver can be rewritten for other operating systems.

    --
    I have great faith in fools - self confidence my friends call it. - Edgar Allan Poe
  176. Register-level specs by johndoe42 · · Score: 1

    It seems to me that the best solution is to release the specs for how the driver communicates w/ the device (all the specs, unlike how nVidia released partial specs). I don't think this information would compromise any IP. Then the Linux folks could write drivers for the device, maybe even better than the company made. Who knows, the new hacked-up drivers could provide some useful tricks that could be incorporated into the Windows drivers.

  177. This situation is a great bad-product filter by JCCyC · · Score: 1
    Some other poster said that sensitive information should be in the hardware, not the drivers. I not only agree with that but think we can use that as a criterium (sp?) for choosing hardware. Follow the logic:

    Company XYZ is squeamish about open-sourcing their driver.
    They say it's because it would release sensitive information.
    If this is true, there are important functions being performed by software (the aforementioned driver)
    Then the hardware is less-than-optimal and your CPU will do unnecessary work.
    BUY FROM THE COMPETITION!

    Oh, BTW people talk a lot about graphics boards but what about those horrid WinModems and WinPrinters? IMHO, even people who only use Windows should refrain from buying these.


    "Standing up to an evil system is exhilarating." --Richard Stallman

  178. It's the hardware, stupid by sunset · · Score: 1

    The way to deal with this is to design in a hardware-level interface that abstracts out the trade secrets. The driver should just be an interface to the operating system, not the essence of the product.

  179. If you opened the specs... by David+McBride · · Score: 2

    ... you wouldn't need to provide your own drivers.

    This parallels what's happening at NVidia at the moment - they've decided to release their own closed source binary set of drivers which require a dirty great 500k kernel module to be installed.

    However, if they opened the register-level specs to the device, then there are enough other people out there who will take the specs and produce a set of open source drivers themselves. Witness the Utah-GLX project.

    You could just release the register level specs to the device and if someone wants drivers for the thing, they'll hack em themselves. This is something I'd like to see NVidia do.

  180. Does it all have to be open source? by satch89450 · · Score: 1
    NO!

    Creative could, if it wishes, provide a library of closed-source functions (well-documented) that would expose only those interfaces needed to talk to the outside environment, while keeping the intellectual property hidden behind a veil.

    The advantage to Creative is that they could now concentrate on getting the display routines correct without giving away IP and without having to add staff that knows a number of target operating systems. The advantage to the Linux and FreeBSD communities is that the respective communities can deal with any OS interface problems using the normal channels.

    The added bonus to Creative is that they now have a kit to provide to other OS vendors (BeOS, MacOS on Intel, QNX, even Bell Labs if they ever want to get back into the operating system game) that reduces the load on everyone.

    Frankly, I'm getting tired of the "Victory or Death!" attitude that permeates portions of the Open Source Movement. Open source has its place. Closed source has its place, too. Let's be engineers and blend the best of the two concepts, instead of religious nuts more interested in the Grail of the Week.

  181. reverse engineering closed source drivers by jesterzog · · Score: 3

    While on the topic, what's the likelihood that someone with enough intent could work out the technology by reverse engineering the closed source driver, anyway?

    I'm not suggesting it would necessarily be feasible since it's not really my area. Can someone comment?


    ===
  182. You are no better then a petty thief by Sanchi · · Score: 1

    This is astounding. You sir are a fool. Who are you to say what these companys should do. Did you put the money into the product? Did you spend months designing the product? Did you spend the mind wracking nights making the product work so that most of the market share can use it? (yes this may mean microsoft software.) Who are you to say that you want the source? Because you are a user?

    If you like it or not (more like not) People in this world have to make a living. and that means not giving stuff away when you can prevent it. Yes I agree that the world would be a better place if we could give every thing away, but that isnt going to happen in my lifetime (or in the lifetime of my grandchildren im a thinkin)

    All of you kids need to grow up and spend a day in the real world. Yes idoligies (bad spelling) are a good thing as long as you remember its just a IDEAL. Sometimes people dont share them. And companies dont make money off of them. And I dont get payed off of them. And I dont buy stuff (like my computer) off of them.

    Sig? whats a sig?

    --
    "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
    1. Re:You are no better then a petty thief by Sanchi · · Score: 1

      And by the way, All info wants to be free, including your credit card numbers, social security numbers (if your in the USA that is), bank accounts, history of what you have broused on the net, your mothers maden name, the grade that you got on your 3rd grade spelling test in november.

      please shutup on how info wants to be free

      Sig? whats a sig

      --
      "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
    2. Re:You are no better then a petty thief by Sanchi · · Score: 1

      And they have the right to say no.

      --
      "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
    3. Re:You are no better then a petty thief by Sanchi · · Score: 1

      Tell that to nVidia. They are gaining on ATi. And 3dfx is falling fast.

      --
      "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
  183. Re: Your Rant by Sanchi · · Score: 1

    but to those coders have the right to keep the source closed? Do you have the right to keep your credit card numbers private?

    Info only want to be free if the person who "owns" it wants it to be. (owns is a bad word i know but i "own" the info to my bank accounts and nVidia "owns" the info to their drivers.

    --
    "They said we couldn't do it [Athlon]... but we built it, we shipped it... and we didn't have to recall it." Rich Heye
  184. Re:Open Source by chasbolz · · Score: 1

    I've written many dozens of drivers over the years, for all kinds of devices, and I'm torn on this one. On the one hand, a company puts a lot of hard cash into developing a driver, which they don't want to give away. On the other hand its nice to have lots of knowledgeable people out there reviewing one's code and pointing out errors. I could write a book of war stories of how companies have lost credibility, even hard cash, because they went closed-source.

  185. Re:It's about freedom, and peace of mind by Schnedt+McWapt · · Score: 1

    The paradox is that Linux also provides it's users with the freedom from having to choose from the huge amount of software and hardware in stores like CompUSA which their OS won't support. I agree that it makes life simpler when there isn't much in the store worth buying.

    Truly: "Freedom's Just Another Word For Nothing Else To Lose", to quote a dirty hippy from an earlier generation.

  186. Linux != Open Source by srain · · Score: 1

    There is a very simple answer to the question at hand. If the company is too worried about exposing a certain technology in their card they can release binary versions of their linux driver. I am sure that users who would benefit from the enhanced functionality would have no problem using a precompiled binary from a reputable vendor.

    It seems to me that many people associate Linux with open source philosophy almost too much. Not that I am complaining, as I would most likely choose an open sourced solution to a closed one, but this trend seems to be keeping several vendors from exploring the Linux markets. I much rather have a closed source binary distribution of a product than no product at all!

  187. Just do it by mirko · · Score: 2
    Executive summary:
    • If it's *that* good, release its source code in the public domain.
    • If not, keep it a secret (but, please, *do* release some Linux driver).

    (End of summary, you should now go there...)

    Slashdotter's version: What are your executives afraid of?
    Officially, that somebody would copy their technology if they put some code in the GPL?
    If this is *that* revolutionary, then they could easily check that nobody copies them by scaning the concurrents' drivers.
    Remember when Quake source code was stolen from crackdotcom's server, Carmack just said that nobody could use it for a new product, as there'd be no problem to have a lawyer demonstrating this copyright infringment.
    IMHO, they might just fear that someone just points out that, despite the marketing guys' buzzwords, they just released a bunch of (ISO9k'ed, of course) crap, in which case it'd be better not to release any source code.

    You only take one risk if you release something: Some hacker might just make it *far* better, which is gonna sell a lot of pieces of hardware.

    --
    --
    Trolling using another account since 2005.
  188. Binary is better than nothing, but silly by yakfacts · · Score: 1

    If they will only release a binary of the driver, that is better than nothing. Linux users will gripe, but at least they will be supported.

    But why not release it open source? Any decent hardware hacker can snag a logic analyzer and disassembler and pull the code apart. Besides, it can't be that big of a mystery; your compeditors probably have some engineers working on their own solution--the release of your source won't make a big difference.

  189. Question of costs by alex_b_sa · · Score: 1

    Look man:
    1.- Do you want to SUPPORT the linux market?
    Are you sure?
    Is your company sure?

    Do a market study to determine the
    potential gain of going into the Linux
    market.

    2.- Once you have (1)...plan ahead and determine the cost of mantaining a binary distribution of Linux. Your market study should have told you which distros give you the most value.

    3.- Now think about it. Plan ahead and determine the cost of releasing an open source version of the driver.

    What would be the oportunity cost of having somebody clone your device?

    Does being the first to use it gives you enough lever to crush the upcomming competition if you do release a GPL show-all driver?

    The binary release (if you are thinking about giving true professional support) will be more costly than the OS release. Thats a fact. So compare costs and choose the most convenient solution.

    Remember to take into account the reduced cost of mantaining an OS driver (it can be merely an accept/refuse patches job with OS). Compare it with the cost of mantaining a sun-like, look-dont-touch license (it can reduce beta testing costs)....and so on.

    Alex

    --
    Stop looking at me.
  190. Re:Wow... by ranessin · · Score: 1


    If every post of yours didn't end with a reference to the General Public License in a trollish fashion perhaps it wouldn't be necessary to mark you as a troll...

    Ranessin

  191. Possiblity for open and internal tech to coexist? by mr.butts · · Score: 1

    Maybe its possible to have the two exist together... Open source doesn't require your internal company tech to be given up... if you have patents, then you can give up the specs and open-source the driver without losing any commerce and in fact will make more money because your drivers will work better and make users happy. Your money is in the device that you sell. So it probably is in the best interests of the company to open source the drivers for a proprietary device.

    Maybe the best thing if you have a non-proprietary device (i.e. a sb clone, etc.) is to make the item compatible with a standard device... then you concentrate on making your device faster within those constraints... if you find a way to make it better outside those constraints likely its patentable and can be open-sourced without hurting your companies concern... losing money.

    The other thing is that the GPL requirements may help you in this case... A new device reverse engineered from your opensource driver could be a derivative work... and thus subject to the same requirements that it be "open-sourced", so you can use any improvements they make in your own device. (Not an expert legal opinion though).

  192. The best of both worlds? by SkOink · · Score: 1

    Now, I don't know all that much C yet, but it seems to me that it might be possible to make a closed-source driver that compiled on various different kernel versions and achitechures. Maybe (again, I might not know what I'm talking about here) the company in question could release a binary library of the actual functions of the driver, and then provide source for a kernel module that called up the library to do the real functions. Thus, the secrecy would be preserved, but yet so would the portability. What do you think?

    --
    ---- I'll take you in a Hunt deathmatch any day.