On Monday 18 March 2002 11:54 pm, Marcus Brinkmann wrote:
On Mon, Mar 18, 2002 at 07:38:57PM +0100, Eneko Lacunza wrote:
Don't you see that the GNU system has been greatly helped by Linux? Linux helped it with more testing, more popularity, more developers...
This remains to be seen. The FSF almost was diminished to irrelevance by the growth rate of "Linux" (actually GNU/Linux), and although many people started to use the system
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.
(and some contributed back to it),
The number of people contributing to free software has greatly increased in the last 5 years, due to the popularity of Linux, and the ease of collaborating over the net.
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 :-)
Don't get me wrong, this is not to diminish the job Linux developers have done. But maybe this gives you some ideas: Linux has poor code reusage.
Yes, Linux isn't perfect. What large piece of software in production use, and hacked on by many people, is?
Linux is "good enough".
Heck, they can't even reuse their own code from one kernel version to the next (even between minor versions). This would be all dandy if it would only be their problem, but it effects other projects just as well, like the C library, and all kernel specific software that relies on the exposed interfaces. This is actually a two-fold problem. On the one hand, external interfaces change in an incompatible way, and on the other hand, internal interfaces change dramatically. And this without proper documentation of the changes, of the internals, and the lack of revision control (now bitkeeper has appeared, which is not free software, and I don't even know if it allows me to track changes in the kernel). This is particularly bad because Linux is _the_ free software repository for hardware drivers, there are drivers for every exotic device. But there is an utter lack of a clean driver framework, particularly for non-(IDE, SCSI, NIC) drivers. The interfaces improve from version to version, so there is hope, but it remains to be seen.
You obviously know more about it than I do; have you made suggestions to the kernel developers about how it could be improved?
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?
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.
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.
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.