On Tue, Mar 19, 2002 at 01:35:56PM +0000, phil hunt wrote:
Indeed; therefore more users for GNU software. Thanks almost entirely to the popularity of GNU/Linux distributions, the GNU GPL is now the mnost-copied dopcument in the world -- more copies of it exist than the Bible and Koran put together.
As with the Bible and with the Koran: It doesn't matter how many copies exists, if nobody reads them.
And what? This is (maybe) a sad thing, but I think that Linux has done an excelent work.
I think he could have done a much better job.
You are welcome to write a better kernel yourself :-)
No need to joke. I am working on it. You can listen to one of my talks in summer (planned is UKUUG in Bristol and LSM in Bordeaux) on how we are doing it.
And, the past has showed that we are achieving our goals. For example, nobody uses libc5 anymore, but glibc. GLibC was initially written as part of the GNU system, by one of the Hurd's lead developers. That it was easy to add support for GNU/Linux is also an achievement of the design criteria I mentioned earlier here.
Yes, Linux isn't perfect. What large piece of software in production use, and hacked on by many people, is?
It doesn't need to be perfect. Quality is not a black-or-white issue. There are criteria you can set, and which you can meet or fail.
Linux is "good enough".
That's true from a certain point of view. I tried to show you why it isn't quite so from where I am standing.
Heck, they can't even reuse their own code from one kernel version to the next (even
[...]
You obviously know more about it than I do; have you made suggestions to the kernel developers about how it could be improved?
No, as I am not a driver developer. I don't develop driver frameworks either. There are people who do develop driver frameworks, but I don't know if they communicate with the Linux kernel developers. Maybe the L4Env project will give the Linux developers some ideas on how to do a driver framework if they are interested in it. But looking at > 5 years of Linux development, there doesn't seem to be too much interest, as even the most obvious small things are not cleaned up.
I would certainly be very happy if Linux and other groups could settle on a common driver framework that is shared among multiple projects. It would be an amazing win for everyone involved. But that requires that everyone shares the vision and accepts that the benefit of sharing and cooperating outweighs the additional cost of another level of indirection and abstraction.
The other issue is more at the root of the overall design as a UNIX clone: It can discourage development of code. Just look at the KGI/GGI saga. I have not participated in GGI, but from the outside look at it it seems that the fact that Linus ruled out inclusion of graphic drivers into the kernel has hurt them a lot.
Why would you want a graphics driver in the kernel? Doesn't it traditionally (in the Unix world) go outside?
I don't want a graphics driver in the kernel. I don't want any driver in the kernel, to be honest ;) But having said that, I don't want a webserver in the kernel either. But see, there is a webserver in Linux. Does that make you wonder? It should.
Also, Linus could have done a better job of encouraging only free software, for example by disallowing non-free binary drivers.
I think they are iffy too. Linus however takes what he would probably describe as a pragmatic approach to free software.
That is what I am criticizing.
Instead concurrenting with projects like GGI, he could have tried to encourage them, were it not for the problematic monolithical design of the kernel itself. My gut feeling is that for the Linux kernel, squeezing out the last bit of performance might be considered more important by its developers than adding compatibility or abstraction layers
I get that impression too. That's why Linus isn't a fan of microkernels.
OTOH, by splitting some parts out of the Linux kernel and putting them into user space, the sawmill project could actually make those parts run faster. There is a lot that can be said about microkernel and monolithical kernel design, this is not the place to discuss it. But I would suggest to keep an eye open for such alternative designs, it has happened in the past that something that looked unfeasible in one decade achieved am ajor breakthrough in the other.
Things like free software, user freedom, cooperation, code reuse, and compatibility are very important for the Hurd system.
Then I hope Hurd is successful. If Hurd and Linux are both successful, there will hopefully be some friendly competition between them.
Well, that will surely happen. However, what I would prefer is cooperation, rather than competition.
Thanks, Marcus