Linked by Kroc Camen on Thu 5th Nov 2009 21:05 UTC
Talk, Rumors, X Versus Y There's no right way to do it, only ideas that are better than others in certain situations. But if you had the opportunity to head up the design of a new OS, one to Put Things Right, one that could be radical enough to varnish out those UI/X bumps that have clung on for years, but practical enough to be used every day, what would you design? How would you handle application management? What about file types and compatibility? Where would you cherry pick the best bits from other OSes and where would you throw away tradition? I've tackled this challenge for myself and present (an unfinished idea): KrocOS (warning: HTML5 site, will display without CSS in IE/older browsers). OSnews Asks: What would make your perfect OS?
Thread beginning with comment 393071
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Why was he modded down?
by Zifre on Thu 5th Nov 2009 22:27 UTC in reply to "Why was he modded down? "
Zifre
Member since:
2009-10-04

Linux is open source, which means that everybody can do whatever they want; there is no central authority. Therefor, most of your point is silly. Some points I do agree on are that it would be nice to replace X, have a stable ABI for userspace programs, and get rid of dependencies for user-oriented applications (i.e. a web-browser, but not Apache).

However, a stable ABI for drivers would be extremely bad. I love open source, but I understand that there are valid reasons to create closed source/commercial software. However, there is no reason at all why a driver should be closed source. It simply doesn't make sense. Closed source drivers are less secure, hold back progress in the kernel, and make reduce portability. The only reason for closed source drivers that is even at all close to being somewhat valid is to protect IP. But that really only applies to graphics cards. And even then, I imagine it's just nVidia being lazy.

Reply Parent Score: 1

nt_jerkface Member since:
2009-08-26

Please be more specific as to which points you find silly, especially in the context of design decisions made by Apple engineers when they built OSX.

As for the stable abi which Windows, OSX and Solaris all have...

hardware companies prefer to have a stable abi. They would prefer to not open their source and be able to provide a binary driver that lasts throughout the lifetime of the OS, or possibly even through two.

The reasons behind this preference are irrelevant. It doesn't matter if they really have ip to protect or if they do so out of voodoo superstition. It doesn't matter because they make the hardware that users want.

Even more significant is that there are only a few video card companies which means they don't need 1% of the market to make a profit. There isn't a financial incentive to cater to Linux users.

You can build a kernel designed to appeal to hardware partners or you can build it around ideology. Linux has chosen the latter and we have all seen the results. Linux gets treated like an unwanted stepchild by NVIDA and ATI. Of the support they provide they only exert minimal effort. OpenSolaris has a fractional share of Linux and yet there are many cases of it working better with Nvidia video cards.

It isn't just about video card drivers, there are wireless card and printer companies that hate supporting Linux as well.

Disallowing binary drivers makes a platform unappealing to hardware companies. The reasons why are irrelevent. They make the hardware, it's their preference and kernel developers can either choose to meet this preference or work against it.

Reply Parent Score: 6

lucas_maximus Member since:
2009-08-18

It isn't about closed sourced drivers it is about lack of stability in how drivers interface with the kernel.

The problem is that devices that worked that worked a earlier kernel version are broken with a later kernel version .... because the way the drivers interface has changed .... this frustrates developers (whether it is closed or open development) because they have a moving target to develop to and frustrates users because things "don't work" anymore. Remember smaller companies have don't have infinite resources and somebody has to work on writing and supporting a driver.

Reply Parent Score: 2

nt_jerkface Member since:
2009-08-26

Nvidia has flat out stated that they don't want to open the core of their driver.

Some companies don't want to open source their drivers because they don't want unsupported drivers floating around. They don't like the idea of someone running Joe Schmo's modfied driver and then calling the company when something goes wrong.

But as I said before the reasons are irrelevant. Hardware companies prefer to provide binary drivers that last throughout the life of a system. Linux devs can choose to work with this preference or against it.

Reply Parent Score: 2

shadoweva09 Member since:
2008-03-10

Linux is open source, which means that everybody can do whatever they want; there is no central authority. Therefor, most of your point is silly. Some points I do agree on are that it would be nice to replace X, have a stable ABI for userspace programs, and get rid of dependencies for user-oriented applications (i.e. a web-browser, but not Apache).

However, a stable ABI for drivers would be extremely bad. I love open source, but I understand that there are valid reasons to create closed source/commercial software. However, there is no reason at all why a driver should be closed source. It simply doesn't make sense. Closed source drivers are less secure, hold back progress in the kernel, and make reduce portability. The only reason for closed source drivers that is even at all close to being somewhat valid is to protect IP. But that really only applies to graphics cards. And even then, I imagine it's just nVidia being lazy.

I can't do it without hiring a bunch of programmers, and I don't have the money to do that. So it doesn't really matter whether it's open source or not; all that matters is who the money is currently going to, and they've already spoken on how they love it the way it is.

Also about the drivers, it's not the OS vendors place to criticize 3rd parties, they need to be doing all they can to make all stakeholders jobs easier (including hardware vendors). As for compatibility, all of my vista drivers work on 7, doesn't matter that their closed source as long as they work is all most users care about.

Reply Parent Score: 1

jabbotts Member since:
2007-09-06

In terms of Linux based platforms, the OS developers are doing all they can to make it easier for hardware manufacturers. Kernel and Xorg folk will write the drivers taking development costs away from the vendor. The linux driver project provides a point of contact for hardware manufacturers rather than them having to figure out if they talk to Linux, Xorg, Alsa or some other project that provides direct hardware support.

Free platform support in exchange for the minimal interface specs to write drivers against; how much easier for the hardware vendor can it get? This is like your neibour saying; "point out where the endge of your driveway is and I'll shovel the snow out of it each morning while I'm doing mine" - 'I'm sorry, that's too complicated, I'll keep shoveling my own driveway."

Reply Parent Score: 2

boldingd Member since:
2009-02-19

As for compatibility, all of my vista drivers work on 7, doesn't matter that their closed source as long as they work is all most users care about.


Because Vista and Win7 have very similar software stacks. I know that certainly wasn't true with the XP-to-Vista transition; I interned with the County Governement in undergrad, and I was there when they moved from XP to Vista for many of their machines. There was a sizable minority of devices and programs that we just could not, for the life of us, get to work with Vista (or that caused unreliable behavior, or could crash the system -- thanks, Norton AV). And "devices" is not just graphics cards; it also included, right off the top of my head, a number of parallel-port printers.

So, I'll repeat my motto: Hey, Windows Has This Problem Too.

Reply Parent Score: 2

Slambert666 Member since:
2008-10-30

However, a stable ABI for drivers would be extremely bad. I love open source, but I understand that there are valid reasons to create closed source/commercial software. However, there is no reason at all why a driver should be closed source. It simply doesn't make sense. Closed source drivers are less secure, hold back progress in the kernel, and make reduce portability. The only reason for closed source drivers that is even at all close to being somewhat valid is to protect IP. But that really only applies to graphics cards. And even then, I imagine it's just nVidia being lazy.


A stable abi is not the same as closed source (!)

Drivers are one of the most nasty, buggy and system dependent pieces of code that one can write. There are so many testing what if's and maybe's involved that it is horrible. Every time you change the interface of a driver (class) you need to test not just that driver but also the drivers interaction with all possible combination's of other drivers / hardware.

The Linux kernel developers are delusional of their own capabilities to such an extent that they think they can change driver interfaces and release the code without testing. In a given iteration 90% or more of the code never gets tested and the small part that actually gets tested doesn't work, this is labeled "regressions" and each release has a number of these.
A stable abi would be the first step on the way to a more systematic testing framework for the kernel and related drivers.

Reply Parent Score: 1

jabbotts Member since:
2007-09-06

Part of the issue claimed by some NIC providers was patent related and/or regulation related. For example, an open NIC driver allows the owner to modify it changing the broadcast strength of the NIC radio (wifi). You can push it's power output beyond what is allowed by regulations for that class of radio. Given the availability of signal extenders, this reason doesn't hold a lot of validity in my opinion.

Some device drivers include the firmware rather than it being loaded on a flash chip on the hardware. The claim here is that providing driver source is not possible because they can't allow access to the bundled firmware. For this one I ask; is it really that much harder for the driver update wizard to push firmware updates into a nand chip on the given board?

I've also yet to hear why these "secret sauce" built hardware components can't simply provide a generic driver interface and hide the state secret hooks in the chips behind it. (GPU is a good example)

The claim that competition can read the drivers and copy them carries a bad smell also. If your competition is waiting for your next hardware release before starting development of a competitive device; they are not competition. They're not likely to be in business very long either. On the other hand, would this not motivate faster advancements in technology? Older generations drop into consumer budget ranges faster while newer generation's profit supports development on the next board to come out. (yeah, I know, that would benefit tech and the consumer far more than the shareholder profit margins.)

Bit of a rant but my original point was that it's still very wide spread beyond GPU. Wifi NIC are probably second on the list for most people. (has broadcom gotten any better?)

Reply Parent Score: 2