Wow, people actually read my blog?!
In response to snowfarthing's comments, the kernel level issues and the desktop environment issues are different but related. You're right that a working kernel module doesn't care about the DE. But a kernel module is often only part of what a device vendor creates. Think about something as simple as the program that installs the kernel module (a link to a source file and instructions to rebuild the kernel isn't going to do much to woo folks away from friendlier systems). Do you write a KDE installer? A Gnome installer? A Qt installer that doesn't need KDE? A GTK+ installer that doesn't need Gnome? All of the above? Why do you even have to write an installer (Windows has a plethora of software installers to choose from)?
None of the above, you just create a package (deb, rpm, tgz) for all common distributions. There usually are GUI apps preconfigured so the user can install the packages w/o using the command line.
The user is running a self-compiled kernel so the precompiled module doesn't work? Well this user should better well know how to compile the module from sources then.
There are no sources? Well that user should have researched the hardware in question before buying.
In an ideal world you would push your driver upstream and have it included into the vanilla kernels.
That's just one example. How about the fancy wireless card monitor GUIs that come with most Windows wireless card drivers?
You don't supply your own but use the the commonly available applets for $GUI.
If $GUI's app doesn't work with $YOUR hardware then the easiest way for any company would be to send a patch for this card upstream. Anything else is unacceptable (think shipping binary-only apps which only run on $SOME_SPECIFIC_SYSTEM).
One of the biggest advantages
I personally see over windows is that I do not have to use any of the spyware ridden, bloated and usually buggy
crap that comes with the installer CD!
I get to use quality OSS software instead
Or non-generic printer configuration dialogs? Or special video card utilities? One could argue that the standard DEs make that unnecessary, but those things lead to product differentiation.
The company would have to ship source packages for something like this. Anything else is unacceptable since $RANDOM_BINARY_CRAP stops working after the product is EOL'ed and $SOME_API_OR_WHATEVER is changed in Linux. See all loki games that won't run on Debian SID but work fine with Debian Woody (yes, woody).
Oh and the company would now indeed have to write a GUI-Based installer for this kind of thing. One that is compatible to Gnome, KDE, WindowMaker, XFCE and all the WMs / DEs out there. Not going to happen anytime soon, now, is it?
Let's face it, to all but hard core techies and gamers, there's not much difference between a Linksys wireless card and a DLink wireless card other than the wireless monitor and configuration GUIs.
Exactly! That's my point!
Many many devices are just bloody clones of a reference implementation of $SOME_CONTROLLER_VENDOR. I buy my hardware because of the chipset it runs, not which company logo is on the box. If I get to buy a $QUALITY_BRAND device with supported chipset then that's great. If not I'll just buy $RANDOM_TAIWANEESE_CLONE which is going to work just as well (it's the same bloody thing internally after all)
To differentiate your company in the Linux community all you have to do is:
- open the specs of your hardware to developers, NDA is (usually) acceptable
- help said developers to create a quality OSS driver for your hardware
- Ideally do the above
before shipping a product to market
- And we all
love a picture of Tux next to the Apple and Windows logos on the box
In the cutthroat hardware biz, those silly little GUIs help get your brand remembered when Joe Sixpack goes to Best Buy looking for a wireless router.
Not with Linux, see above. If your company is Linux friendly, word will get around pretty fast. You don't need the useless branded GUI crap in Linux if your community support is very good, trust me.
I know for sure that I only buy hardware that is supported. And when I read lines like "Vendor XY was nice enough to send full specs of their hardware" then I'll go out of my way to support said vendor (because I know the driver will be top-quality, not some reverse-engineered thingy that oopses every 5 minutes. No harm ment to reverse-engineers, I have deep respect before your work, really.)
Not to mention that usually the stuff that ships on the installer CD is
- so buggy it's almost (but not quite) unusable
- intrusive. Why does a bloody PRINTER driver install a god damn taskbar applet (or whatever that's called in windows)
- Why in gods name does a SOUNDCARD driver install 40Mb (!!) worth of "driver" with all kinds of crap like a 2nd taskbar on the top and 3 bazillion "sound fonts"? (whatever *that* is)
I have yet to see a single windows installer disk that just ships the driver and working(!), unintrusive(!) and actually useful(!!!) software.
These problems aren't insurmountable, but by the time a HW vendor is writing drivers, they're already over budget on the hardware R&D and production setup and looking to cut corners everywhere they can.
Sending the spec sheets to OSS developers who are interested isn't going to cost them a dime. And they usually don't even have to spend man-power on a Linux driver as everything is done by the community.
Just the thought of training the support staff to answer Linux questions is enough to make most project managers run screaming from the building
[div align=\"right\"][a href=\"index.php?act=findpost&pid=133565\"][{POST_SNAPBACK}][/a][/div]
Yes, that may be true. A forum for the community would probably suffice. Along with *one* guy that is a Linux expert and knows your hardware in and out.
It is my experience that 80% of all problems are unrelated to any software / driver bugs, but caused by $NOOB_USER who doesn't know how to setup $DEVICE in $DISTRIBUTION if he isn't presented with a metric ton of GUI wizzards to wipe his ass.
Sorry to sound rude but it's driving me crazy at times. One only has to read certain hardware based Linux forums to see that most questions asked could be answered by anybody that knows Linux very well (Blahh blahh, module doesn't auto-load, Yadda Yadda device-files are not created and my favorite: I've "plugged" it in but nothing happens)
Two of the above questions can be answered on the spot with the help of Google or good Linux knowledge, the third is asked by lazy users who can't be bothered to use a bloody search engine.
Small vendors may not have this option tho but it surely can't be a problem for a big corp to pay *one* guy to support an entire operating system.
/end-of-rant
I'm feeling a little bit better now