The grub drama
This is a rant. A rant which goes to the grub maintainers, and one that could go nearly identically to many people in the KDE environment or many other open source projects.
I really like grub. I really like grub 0.97 despite that it's been unmaintained for years and not booting on two of my important machines. I should like grub 2 because its configuration looks more straightforward and for its better features - direct booting of .iso images, from LVM and RAID. But actually, I have learned to hate grub 2 since it is not finished and badly documented, and that its existence is already being used as an excuse for grub 0's development having stopped years ago (and it being renamed to "grub-legacy" to clearly show that it's the unloved child) - and things looks like this is not going to change any time soon.
grub 0.97 is the de facto standard in booting Linux, its most prevalent advantages probably being its capability of reading filesystems and its command shell, which allows booting kernels and other software that one wasn't planning to boot when the system was shut down. There is a small fraction of people who still use lilo despite its disadvantages, for example on achitectures that are not supported by grub, if one wants to have the boot FS on LVM, if one just prefers lilo for non-technical reasons or on systems that grub doesn't work on.
The last three systems, by the way, that I still run lilo on are Pyramid pizzaboxes with supermicro-made mainboards from 2002, which just refuse to boot if grub is used and the vendor just says that grub 0.97 is still beta and that they do not support grub on their systems: "Use Lilo."
Grub's last upstream release, 0.97, dates back to 2005, and upstream has stopped developing this grub release years ago. grub 2, the new way to go, had its first release in 2003, and the last "stable" release that people are supposed to use dates back to februar 2008. grub 2 is clearly a step in the right direction, but there are still bugs, and the most prevalent show stopper against grub 2 is the almost complete absence of any documentation. I have, for example, not yet found good documentation about the new config file format, which is a completely different deal from what we are used to with grub 0. The commands' manual pages do little more than list the (obvious!) command line options without giving much more information about what the actually do, let alone usage examples. The documentation (which used to be really excellent for grub 0), has been "moved" to a wiki, which has some useful content but cannot keep up with the excellent documentation that grub 0 used to have.
Additionally, grub2 does not seem to have a grub shell which can be called from within the host system, which makes installing grub 2 in "exotic" situations much harder than it used to be with grub 0.
I am also quite disappointed that despite the grub upstream web pages claiming that grub 2 is under active development, the last release is more than fifteen months in the past while there are still so many shortcomings. The Debian maintainers of grub 2 are regularly packaging grub 2 subversion snapshots, which is a good idea in face of upstream's release policy which is quite different from what's being told in the wiki. I am, however, reluctant to rely on a development snapshot of a software to boot productive systems.
Guys, you cannot declare a widely used, well-documented software legacy when the replacement is still in a nearly unuseable shape and the docs are hidden in the helpful files named .c and .h. This is simply unacceptable. It's a drama that the docs are still in such a pitiful shape fifteen months after your last release.
But, grub is not the only free software project that so blatantly scores developer fun over the needs of the end user. I know that it is a boring task to fix bugs and to work around design shortcomings in the existing version of software, and that it is much more fun to hack away on new designs and new code, but dropping old versions before the new version is up to par with the old one is annoying the users and driving people away to other software packages. This applies to grub, a quite low-level program, but also to larger and more complex projects like KDE who has recently pulled the same stunt by dropping development and support for KDE 3.5 while KDE 4 is still missing many many features and KDE 3.5's stablity, thus driving people (back) to GNOME or alternative desktop environments. This "we give a damn about people who actually use our software, our compilers run without users as well" attitude is a show of disrespect for the user base and makes me very sad as this does indeed show that free software is in no way superior to its commercial counterparts.
Sadly, I do not have a solution for this issue since I know that free software developers are usually volunteers who do not have to report to anybody, and that they do not need to care for their user base. But I hope that people begin to reconsider their attitude and think about what kind of horrible damage is being done to the user base and to free software's reputation.
Display comments as Linear | Threaded
Anonymous on :
Note that grub 1 still accepts bugfixes, just not new features. In particular, you should report the bug about not booting on those supermicro boards to upstream. It may well get fixed.
Also, grub upstream has specifically said that they would like someone to become the maintainer of grub 1, and that they only don't accept new features for grub 1 because they don't have a maintainer to make those decisions.
Marc 'Zugschlus' Haber on :
Sorry, but after seeing #451710 and #344121, I have kind of lost my motivation to report grub bugs.
Anonymous on :
I suppose you're expecting a 25 year commitment, like Microsoft to its INT 0x21 interface. What quality software we have seen arise from that decision!
Why would any reasonable person, not bound by contract law, do such a thing to themselves? And why would you expect it of them? Very cruel indeed. And what a great way to gain developer interest! Step right up folks, spend your free time working around bugs in products that have been deprecated by their original authors!
kju on :
What a lovely attitude. "I do not get money for doing this" seems to be the standard excuse by lazy OSS developers. While technically spoken this is true, this is not a way to maintain a project because it does harm to OSS in general and our common goal.
Kapil Hari Paranjape on :
On the one hand, I don't think that a "25 year commitment" is being asked for. A commitment to continue maintaining the older version until the new version is up to speed is the (IMHO not un-reasonable) real request.
On the other hand, the excuse is not "I do not get money for doing this". Rather it is "I do not have time to do both" (of the above).
The problem is the lack of "apprentices" who are willing to learn by maintaining older versions. It seems to be too un-glamorous to do that.
Jon on :
Marc, why have those two bugs disuaded you from reporting more? I read them expecting a horrible bug reporting experience and found only a faintly rude bug report and another that went unanswered (and I'll accept that unanswered bug reports really sap motivation).
Peter Eisentraut on :
See also: http://www.joelonsoftware.com/articles/fog0000000069.html