Linked by Thom Holwerda on Fri 23rd Aug 2013 08:37 UTC
Linux

Pretty much for my entire career in Linux USB (eight years now?), we've been complaining about how USB device power management just sucks. We enable auto-suspend for a USB device driver, and find dozens of different USB devices that simply disconnect from the bus when auto-suspend is enabled.

For years, we've blamed those devices for being cheap, crappy, and broken. We talked about blacklists in the kernel, and ripped those out when they got too big. We've talked about whitelists in userspace, but not many distros have time to cultivate such lists.

It turns out it's not always the device's fault.

Fascinating bug.

Thread beginning with comment 570420
To view parent comment, click here.
To read all comments associated with this story, please click here.
avgalen
Member since:
2010-09-23

You can use this article. But only if you can then explain why keeping the source closed helps to avoid a situation such as the Linux USB bug.

Go on. I'm very interested.

I can use this article, with or without your permission and with or without explaining your false premise.

Code/Product quality has nothing to do with open or closed source. Problems don't go away when things are open or closed. Problems like this go away when an expert tries very hard to solve a problem and eventually finds it and fixes it.
In this case closed source (OsX and Windows) read the same spec years ago but wrote better working code.
The open source code and spec were available for everyone all the time but it took this long to get the problem found and (soon, hopefully) fixed

Reply Parent Score: 5

Flatland_Spider Member since:
2006-09-01

OS X's USB stack is open source, so people are free to see what Apple did to get USB functioning the way that it does.

Apple Source Browser: IOUSBFamily
http://www.opensource.apple.com/source/IOUSBFamily/IOUSBFamily-560....

Alternately, they didn't write better code, but their quirks are better supported by hardware manufacturers.

This wouldn't be the first time hardware manufacturers have designed hardware to work with a particular OS rather then follow a spec with other operating systems having had to hack around it.

Reply Parent Score: 5

Bill Shooter of Bul Member since:
2006-07-14

Mostly agree. Although the interpretation of the relevant time out was a 50/50 chance. The fact that windows and/or os x both work better in these situations is not enough evidence to say they have better qa/testing (windows probably does, Apple probably doesn't). They could have just been lucky.

Reply Parent Score: 6

andrewclunn Member since:
2012-11-05

You are right about open source code not being any more stable or robust when initially written. The stability advantage comes form not having to reinvent the wheel, so that when a proper solution has been found, derivative works can benefit from it more effectively.

Now of course, this also means that bugs from sloppy code can spread more easily as well. To this extent, open source relies on emergence via selective processes more than central authorities (which, I personally think is a better approach over all). However, when dealing with specialized areas that are not duplicated, but are core to the underlying framework (such as kernel development) the notion of duplication and emergence as a means of feedback selection falls apart. I recommend "The Cathedral and the Bazaar"

Reply Parent Score: 3

Alfman Member since:
2011-01-28

avgalen,

"Code/Product quality has nothing to do with open or closed source."

This is correct.


"Problems don't go away when things are open or closed."

This is not necessarily true. You can end up "up the creek without a paddle" when you don't have the source code.

As you know, open source doesn't automatically solve incompatibilities and problems, obviously someone qualified still needs to be motivated enough to actually do the work, which most users are not. However when there is no source code all users become 100% dependent upon the manufacturers, as opposed to being dependent upon a much larger set of qualified developers that an individual/company could hire.

I've had at least three instances where I really needed a fix for proprietary drivers but the manufacturers just were not interested in doing it, and without the source code I could not do it either.

If you come from the windows world, then you could be forgiven for trivializing this dependency because all manufacturers explicitly support windows out of the box. You don't really feel the pain of closed source drivers as much as those of us who use an open source OS.

Reply Parent Score: 4

snowbender Member since:
2006-05-04

Code/Product quality has nothing to do with open or closed source.

Completely agree on this.

Problems don't go away when things are open or closed. Problems like this go away when an expert tries very hard to solve a problem and eventually finds it and fixes it.

Also completely agree on this.

The reason I personally (as a developer) prefer open source is that it gives you the option to fix the code. With closed source, you don't have that option at all.

Also, even if you can't fix the code, it lets you see how the code reacts in certain cases, which coud help you find a workaround.

Reply Parent Score: 4