One word: Device drivers. (Ok, that’s two.)
One of the biggest problems for any developer building an operating system for the x86 is device support—how do you get your cool new OS to run reliably across the seemingly endless collection of hardware that is “the x86”? No matter how cool it is, it won’t seem very cool if it can’t talk to the hardware.
One time honored technique (at least in the academic world, and at least since I joined that world in the mid-1990s) is to use Linux’s huge collection of device drivers. Typically, that means creating a shim so your kernel can talk to the Linux device driver layer and, of course, making sure the licenses are compatible.
Not sure I understand the rationale behind GPLv3, since there are rumblings that v2 and v3 won’t be compatible, and since it doesn’t look like Linux is going to adopt v3 anytime soon. But Solaris adopting GPLv2 makes a whole lot of sense from my point of view just for the device drivers and the resulting boost to overall usability.
In a world of standards, drivers are made by users. There is something fundamentally mistaken with this. Drivers should be delivered by the manufacturers, be open, up to date, and generic. By “generic” I mean that if you have five scanners, you should not install five drivers, but just one; each scanner should interface with a generic, high quality driver, which runs essentially identical in all platforms.
I agree. However, that’s not likely to happen any time soon either. -ian
Linux device driver layer doesn’t really exist, or if it did, it just cahnged — 2.6.20 is out! Solaris like things that last for decades w/o change. Linux changes from month to month. It would be very hard to take drivers from linux into another OS expecting it to just work. You might as well port the drivers. Yes, that would still require a license that permits such a thing.
Linux and Solaris have such different device models it’d be much easier to just reimplement drivers for one using the other as a reference, in which case it doesn’t matter about v2 vs v3. Further, if there is code that can be shared, you can always ask the author directly to co-license under v3 (not everyone is Linus).
Pingback: tecosystems » links for 2007-02-05
To me, the most important rationale behind GPLv3 is standardization, to get the ability to borrow code from previously incompatible licenses. Don’t worry about Linux and other GPLv2 projects that are already thriving — the real impact will come when the project of the future that can use code originally released under GPLv2 or later, Apache and Eclipse licenses.