Slashdot Mirror


Writing a Linux Device Driver on Company Time?

DriverSubversion asks: "Excuse the anonymity: I'm covering my back and that of my company. My company makes some USB and PCI peripherals, currently only supported under Windows. Several of us have pointed out that there is a large cross-over between the people who buy these things and the people who run linux - and thus it's in the company's best interest to develop device drivers for Linux,as well as Windows. Now while our boss is kind of convinced that this might sell some more units, he understandably wants to know how much it will cost to write and maintain the drivers... and where better to ask than here? So has anyone else gone though this? On scale of 1-10, how hard is it, (1 being 'extremely easy, 2 programmers could do it' and 10 is 'a team of no less than 20 programmers, lawyers and salesmen'). Keep in mind that our intent is to keep the code up-to-date, GPL-compliant and in at least some major distributions."

3 of 65 comments (clear)

  1. It's pretty easy by Anonymous Coward · · Score: 5, Interesting

    One programmer could write a usb driver for your device in a matter of days. The hardest, absolutely the hardest thing about writing a driver for linux is getting the docs on the chip, and those docs being complete and accurate.

    Maintenance is very easy, however 2.0 -> 2.2 you'll have to do something, 2.2 -> 2.4 you'll have to do something, 2.4 -> 2.6 you'll have to do something, 2.6 -> 2.8...the linux croud delights in changing everything around. Revisionist thinking and all--if it's clean now it was never ugly, dirty code before. The cleanest code in linux is in the device drivers themselves. The infrastructure the device drivers use is, well, less than fresh. And if anyone tells you RTFM ask them where is TFM?

  2. Hmm by GigsVT · · Score: 5, Interesting

    Well, from reading the source of a couple drivers, it looks like most are one or two person deals.

    3ware, for example, is a company that provides open source drivers that have been accepted into the linus tree. They seem to be primarily written and maintained by Adam Radford alone.

    There's also a userspace component to manage raids, would your devices also need userspace apps developed to make them useful? That's one question you have to ask.

    Anyway, good job. It's always good to see devices with open source drivers that don't suck. (Make sure yours don't :)

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
  3. Re:New platforms come at a fraction of the cost. by spitzak · · Score: 3, Interesting
    If you release it GPL (or any other open-source compatable license) and your first version works at all (it does not crash & it manages to communicate enough signals that at least a light blinks & it contains enough partially-working code to "document" the device) then I would estimate the maintenence costs by multiplying them by zero. The driver would be immediately added to the Linux source and debugged and improved by users of your device. You would probably also make a bunch of sales instantly.

    The only downside is that legally you cannot take fixes made by those outside users and put them into your closed-source drivers. However it is highly likely that you can ask the authors of the changes for permission to use the code, one way to convince them is to say that doing that is the only way for their code to get into the "official linux driver" that can be downloaded from your web page.