"Nobody Uses Linux" is Not a Good Enough Answer

I spent some of my weekend with the ladies of the Mom 2.0 Summit, a new conference targeted at women who do business online. All indications are that the event, organized by my good friends Carrie Pacini and Marla Trevino of opmom.com as well as some other awesome local women, was a smashing success and will likely become an annual event.

Among the products and services showcased, Eye-Fi caught my eye in particular. As a geek who is also married to a geek, gadgets, cameras and other toys are fixtures in my house, and while I have read about the availability of memory cards with built-in Wi-Fi capability for a while, I had not yet played with one. Obviously, a girl like me will gravitate toward the person in the room with the coolest toys, so I struck up a conversation with Ziv Gillat of Eye-Fi. I had witnessed the wonders of Eye-Fi the night before at the big Mom 2.0 conference party where he captured me in a moment of stealthy iPhone photography, and yes I did have a Burger King bag on my head and a pink feather boa. It's how I roll.

Katherine the Webmistress with feather boa and bag on head (possibly trashed?)

The party photos were instantly uploaded to Flickr, and projected on the wall, which is a pretty cute party trick.

When I ran into him the following day and could properly interrogate him about his product after a nights' rest, I asked him how it all worked. The story got pretty good when he told me stories of all the cool Linux geeks working behind the scenes over at Eye-Fi, but sort of took a turn for the worse when I found out the SD cards require a software client that only runs on Mac or Windows. When asked the obvious question of "Why not offer a Linux client?" the answer was sadly, "No one uses Linux." But... but... I do!

I understand where companies like Eye-Fi are coming from. There is a long tradition of knee-jerk answers of "That's not our target market" or "our people don't use Linux." Ultimately these companies conclude that the Linux market will not help their bottom line, and while Eye-Fi seems to have a pretty great product, the shortsighted exclusion of a growing market segment can't possibly be the right answer.

I am increasingly aware of more and more "regular" people using Linux. They bought a netbook, their son or daughter installed "this thing called Ubuntu" on their aging hardware, or maybe they just thought they'd try something new. There is indeed a quiet, but sizable group of Linux users out there who want to buy consumer products that "just work" with Linux. Frankly, I am one of them. I would be ecstatic to use the Eye-Fi card with my Acer Aspire One on the road, but someone thought I was not a viable part of the consumer market.

What say you, Linux Journal readers? We have many camera geeks among us, do we not? I have met so many of you in person, so I know you are there in massive numbers. I bet you'd really enjoy an Eye-Fi card too.

Incidentally, there are people out there trying to make this work with Linux, but if this were my company I think I'd prefer the Linux community have a positive experience with a product completely of my own creation rather than trying to make do with a hack.


Katherine Druckman is webmistress at LinuxJournal.com. You might find her chatting on the IRC channel or on Twitter.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

It is...

Rufus's picture

...because drivers also need to be packaged and distributed.

Consider a hardware vendor releasing a new product. The product is planned to hit the stores in May 2009. So how do you organize distribution of Linux drivers?

Are you going to tell your customers: "We GPL'ed it and submitted it to Linus. He's considering to include it in the next kernel version. Just wait 'til next year. The necessary driver is then probably packaged by your distribution!" Or do you tell them: "There's a tarball on CD. Just compile it!"

Both options are ridiculous.

The best thing one can do right now is putting LSB-complient RPM and DEB packages on the CD. Which one is a customers supposed to use? Even if they can figure it out, what will happen if customers update their distributions? What about updates of the driver?

The Linux distribution mess is one of the reasons why commercial application developers and hardware vendors often don't support Linux: It's more expensive (distribution, testing, etc.) but it won't sell well (lack of market share, "Free" Software zealots, etc.).

Those options are not as ridiculous as all that

C. Whitman's picture

The options you mention are not as ridiculous as all that.

Option one of submitting to the kernel will likely result in a driver "next year," as you said, and "next year" is a lot better than 'never.'

Option two of including a tarball to compile at least makes using the device possible, which is a lot better than impossible.

A company can provide troubleshooting tips along with a disclaimer that they don't offer any direct tech support for Linux and the people using Linux will be a lot happier than they are with nothing.

Actually, doing a combination of all three things you said is not that much more work than doing one of them, and it would make sense in the long run. You write the driver, submit it to the kernel, and include both RPM and DEB packages as well as a compilable tarball. So for now, if you have an "easy" distribution, then you have an RPM or DEB package for this year, and later on it "just works." If you have a more hands on distribution, then you have the option of compiling the driver module for yourself.

What's so bad about providing Linux users with some kind of option? The reason is still just the market share, or at least the perceived market share. These companies don't want to invest the time/money because they don't think the return will make a significant difference.

It's hardware - just document it...

Anonymous's picture

My first personal printer was a Star Micronics NX1000 Rainbow color printer. The owner's manual contained enough information to write a printer driver. I know, because I did.

Why do current hardware manufacturers want to be in the software business? Don't write a driver at all. Use "option 3" and release information about what your hardware does, and how it works. You'll have hundreds of geeks competing to write the driver for you for free.

It just doesn't make sense. Why do I have to fight to get information about a product that I bought? Do you seriously think that not releasing hardware specifications is going to be sufficient to keep a competitor from copying your design? Dream on.

That's not the problem

Rufus's picture

While your option 3 may help some Linux geeks, it's not a solution for the hardware vendor. He isn't going to tell his customers: "Well, we released specifications. Write your own driver or wait for someone else to do it."

Customers request that hardware they bought will work. Most people have better things to do than writing drivers. Hardware vendors have no other choice than to be in the software business.

Concerning your particular problem: It's a free market. Check before you buy that the hardware comes with sufficient documentation. If not, buy elsewhere.

You still don't get it

Anonymous's picture

You don't have to write the driver. Your customer does not have to write the driver. You don't have to explain anything. And you do not need to be in the software business.

Step 1) http://www.kroah.com/log/linux/free_drivers.html (there are plenty of others willing to perform similarly)

Step 2) Oh, I lied there is no step 2

And fwiw, I do check the market. And you don't get my money. Not from me personally, not from me professionally, and not from my customers. Why? Here's the problem. When I recommend a solution to someone, it's an end-to-end solution. Much like you, I have to be able to support what I sell. That means that I have to make sure that the device will work in the long run. I cannot be bound by some vendor's whim of whether or not to support the previous version of their hardware. To the vendor, it's a profit sink. They have to continue to write drivers for older stuff, when they'd much rather be selling new stuff. The vendor WANTS the previous version of hardware to go away. But I can't do that. I have to continue to make it work because I sold stuff as a whole solution. So again, whose stuff am I going to recommend? The vendor that holds his cards so close to his/her chest that I can't be sure it will work tomorrow? Or do I recommend someone that isn't so hung up on thinking that they have to do everything in house?

Hmmm, which to choose - which to choose.

Sorry, I didn't mean to turn this into a rant, but clueless people like you really get my goat.

And the quality and maturity

Anonymous's picture

And the quality and maturity of the OpenSource ATI driver clearly shows what one can expect from Kroah-Hartman and the other "willing but not so capabel" programmers.

Yes, yes, repeat after me: It's hardware, just document it!

Anonymous's picture

AMEN! Yes, Yes, YES! Just put the design specs out there, so that we can write something without wasting hours (days, weeks...) reverse-engineering the stupid thing! We're not asking you to "support" us by writing a driver, just give us the information so that we can support ourselves!

I, too, have written a printer driver based on information from the owner manual (way back when, thank you very much Roland). And I was starkly appalled when manufacturers stopped including that kind of information. What's the big secret? Like the previous writer said, you're a hardware manufacturer; why in hell do you want to spend money writing driver software if you don't have to?

There, I feel better -- pet peeve vented for now...

Problem is that Linux is <1%

Anonymous's picture

Problem is that Linux is <1% of the market. So you have a choice

1) Support Linux with a closed source driver. You'll get flamed endlessly.
2) Support Linux with an open source driver. No flames, but all your trade secrets are out in the open. For a lot of people this is not an option since they don't have the right to give away source code for their drivers because parts of them are third party code.
3) Ignore Linux completely.

Any device driver will generate support costs too. And it's worse for Linux since the support will be people trying to ask how to apply the patch, unless you can get your driver into the kernel. Which is non trivial.

For a lot of people it's a better deal to ignore Linux and not deal with the cost of developing and supporting a driver. In fact the only companies that do bother are ones where the techies basically want to do it, from a strict business point of view it is not a good idea.

That said, this guy's an idiot. The correct way to respond to this sort of thing is "yes, we're working on it, no I can't give you a ship date". Get some intern/summer worker to do it. Tell him to skip any features that depend on third party code too, then you can just release the driver as source code.

Again, just not getting the hint!

Anonymous's picture

Follow that link: http://www.kroah.com/log/linux/free_drivers.html

Read it carefully. See the part where he says he'll sign a non-disclosure agreement? See the part where he says he'll do all the work for free? See the part where he says the code will be 100% maintained by the very people that write Linux drivers in the first place?

So what precisely is the objection again? "Trade Secrets"? Um, the people that are able to make hardware don't need the driver to make a copy of the hardware. Plus since the driver is 100% written by an independent party there won't be any patented, copyrighted, or whatever baloney to worry about in the software.

The only thing the manufacturer needs to do is tell the driver writer is e.g. "what happens when I send 0x0ffed3468 to pin 3"? How precisely does that affect the hardware manufacturer's business?

KH CLAIMS a lot. But he

Anonymous's picture

KH CLAIMS a lot. But he obviously can not deliver. ATI HAS released the tech specs for their then current graphic cards in 2007. To this day the OpenSource driver is a useless half-done piece that does NOT offer support for the cards capabilities.

So it is NOT a problem of information (that is out for ATI's cards) but rather one of time/skill.

As for the reactions to Closed Source Drivers: The silent majority will take it, sure. But the screaming minority around KH will

+ Scream that it's wrong
+ Sabotage it by changing the kernel API and the kernel behaviour
+ Make claims they can't keep
+ Make demands not worth the (possible) support in "give us a hardware sample"(1)

So most Vendors don't bother. As the Vendor from (1) said: "Use Solaris/x86 instead. SUN supported US in writing the driver AND the system actually is faster" (They have since stopped trying to supply a CS driver for Linux, no good reason to do so and get/bear all the grief, problems and customer requests when a Kernel changes again)

(1) To write the driver it would have taken hardware in the 25k Euro range. Not to mention a working knowledge on the subject (Rare outside the user community)

Getting hate mail? Come on.

Will_i's picture

Clearly this comment was written by someone who has either never developed a product for the Linux community or has developed a crappy one. A vendor isn't going to get hate-mail for simply being closed source. The Linux community as a rule is very enthusiastic about vendors entering the Linux space and my personal experience is they're also very helpful to vendors entering the space. Look, there are jack asses in every community -- don't suggest they're exclusive to Linux.

Raising my hand

Carlie Fairchild's picture

I'd buy one too if a client was available for Linux.

Carlie Fairchild is the publisher of Linux Journal.

Would have bought one long ago

alandd's picture

I saw these cool wifi cards a long time ago. When I found they did not work with Linux, I gave up on them. I would have one right now if it worked well on Linux. But, once again, a manufacturer has determined that they don't want my money.

Oh, well. For me it's not a "must have" and I'm not going to change my OS for a "nice to have."