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.
Thread beginning with comment 385566
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Linux needs a design
by CrLf on Tue 22nd Sep 2009 22:37 UTC in reply to "Linux needs a design"
CrLf
Member since:
2006-01-03

This lack of stable ABIs and constant swapping of old code for new code prohibits stability.


You confuse ABIs with APIs apparently.

Trying to keep a stable ABI actually goes against stability. Since everything you do can break the ABI (even more so since we are talking about an _internal_ ABI), you are forced to do all kinds of hacks to avoid it, and that leads to terrible code and, in the long run, bugs and stability problems.

Reply Parent Score: 1

RE[2]: Linux needs a design
by Kebabbert on Wed 23rd Sep 2009 09:05 in reply to "RE: Linux needs a design"
Kebabbert Member since:
2007-07-27

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. Just copy from your desktop and off you go. If not compatible, you should file a bug.

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.

Solaris first version, called SunOS, where not that good. It took several years and tries, and then SUN released Solaris which is far better. SunOS is the first iteration and not good. 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.

Reply Parent Score: 2

RE[3]: Linux needs a design
by gustl on Wed 23rd Sep 2009 09:52 in reply to "RE[2]: Linux needs a design"
gustl Member since:
2006-01-19

Sorry, but regarding Userland, Linux has a very stable ABI!

Most of the time you don't need it because most apps are packeged by the ditributor anyway.

Proof?

I can still run a game (Heroes of Might and Magic 3) which I bought somewhen in 2001/2002. At that time the 2.4 Kernels still have been in use.

What you might refer to is library binary compatibility. That is not an issue of the Kernel, but of Distributors and proprietary Software Vendors. Proprietary Software should bring with them ALL needed libraries, best compiled in statically. Then there is NO issue at all of running a 1999 program on 2009 Linux machines.

Reply Parent Score: 1

RE[3]: Linux needs a design
by CrLf on Wed 23rd Sep 2009 10:46 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