Linked by Thom Holwerda on Tue 22nd Sep 2009 15:34 UTC, submitted by google_ninja
Linux During the roundtable discussion at LinuxCon this year, Linus Torvalds made some pretty harsh remarks about the current state of the Linux kernel, calling it "huge and bloated", and that there is no plan in sight to solve the problem. At the same time, he also explained that he is very happy with the current development process of the kernel, and that his job has become much easier.
Permalink for comment 385678
To read all comments associated with this story, please click here.
RE[3]: Linux needs a design
by CrLf on Wed 23rd Sep 2009 10:46 UTC in reply to "RE[2]: Linux needs a design"
CrLf
Member since:
2006-01-03

You have bought Linus T propaganda. It IS possible to have a stable API and ABI and retain backwards compatibility AND also develop new functionality without the code going bonkers. Solaris is proof to that. Solaris has frozen ABI and API since many years and old binaries run on the largest Enterprise Big Iron without recompile.


Linux's userspace ABI _is_ stable. You can get a binary from 10 years ago and run it on a current system, provided it was compiled statically. You cannot run an old dynamically compiled binary, even a simple one, because of misc glibc ABI breakages and gcc changes over the years, not because of the kernel ABI.

And noone can argue against the rapid development of Solaris high tech: ZFS, DTrace, Zones, etc. And STILL keep stable API and ABI. It IS possible to do. You just need to know what you are doing and design well.


Any one of those technologies was probably implemented at the expense of internal API changes. Solaris does not have a stable internal API/ABI any more than Linux does.

Now, Solaris does have an external stable ABI/API for drivers, while Linux does not. But what good is it doing for Solaris? Where's the thriving third-party driver community for Solaris?

If you think there are no advantages in avoiding the commitment on a stable API/ABI, then you should think about why Linux is now way more successful than Solaris.

Just like Linux. Linux should ditch everything and make a good design because he has lots of experience now. He can create a good kernel at last. I hope.


Oh no! The legendary rewrite from scratch!...

As for making a good design: Linux has no design. At least on any kernel-wide scale. And picking up what I said above, this is what makes Linux so successful.

The kernel evolves according to the current requirements. There is no over-engineering or over-design. But there is also no restrictions on change, so the faults and shortcomings can be fixed when they're found.

Because of this, Linux now supports almost every architecture under the Sun and has a large community of people and companies working on it, each one following their own interests.

As long as the current model keeps working as well as it has been working up until now, it won't be changed just to please the people using Linux on the desktop.

The desktop is not a priority concern for most people developing the kernel, servers and embedded systems and single-purpose appliances are. It is also a difficult market to enter because it is already locked by Microsoft and Apple, and also because having a consistent desktop experience requires an unifying vision of what that experience should be, which goes against the very model of multiproject opensource software. The kernel just follows the path that allows it to maximize quality and reach, and that means flexibility and no stable internal ABI.

Graphics card companies just don't play along because the desktop Linux market is too small and filled with people that don't give them much profit. Which sends us back to the previous paragraph.

Reply Parent Score: 2