Re: ASI: Maintainers/Credits

Daniel Quinlan (quinlan@proton.pathname.com)
Thu, 19 Sep 96 23:10 PDT


Ulrich Windl <ulrich.windl@rz.uni-regensburg.de> writes:

> ASI (Another Silly Idea): What about converting the files
> Maintainers and Credits into SGML (HTML)?
>
> I think that a lot of EMail addresses and HTTP references could
> benefit from it, especially that almost everybody has a WWW browser
> nowadays.

I think a better idea would be to write a simple script that converts
from the MAINTAINERS and CREDITS file into HTML or other formats. The
header in CREDITS explains that it is designed to be easily converted.

Further, HTML is not a really good format for document maintenance. I
think kernel documentation should be easily readable by humans in
source form. You're going to have a revolt if you *require* a browser
to read documentation in the kernel.

> [...] Finally, even if the file format will stay the same, we could
> finally agree whether the source tree should be US_ASCII
> (i.e. 7bit), or ISO 8859 Latin 1 (8bit, Linux default).

I don't see what the problem is with using Latin-1 for the CREDITS and
MAINTAINERS file. However, I don't think it is a good idea for the
rest of the kernel source. MIME would be a *really* bad idea.

For example, here is a simple Perl script for converting CREDITS into
HTML. Run it like this:

$ credits2html CREDITS credits.html

------- start of cut text --------------
#!/usr/bin/perl

# Copyright (C) 1996 Daniel Quinlan
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# The fields are: name (N), email (E), web-address (W), PGP key ID and
# fingerprint (P), description (D) and snail-mail address (S).

$/ = "\n\n";
$prog = $0;
$prog =~ s@.*/@@;

open(STDIN, "< $ARGV[0]") || die "$prog: can't read \`$ARGV[0]': $!\n";
open(STDOUT, "> $ARGV[1]") || die "$prog: can't create \`$ARGV[1]': $!\n";

print <<EOF;
Linux Project Credits

Linux Project Credits

This is at least a partial credits listing of people that have contributed to the Linux project.


EOF # skip header while (<>) { last if /----------/; } # convert credits while (<>) { undef $name; undef $pgp; undef $description; undef $snail; undef @web; undef @email; # input credits record s/^#.*//g; if (/N: (.*)/) { $name = $1; } if (/\nP: (.*)/) { $pgp = $1; } while (s/\nE: (.*)//) { push(@email, $1); } while (s/\nW: (.*)//) { push(@web, $1); } while (s/\nD: (.*)//) { $description .= $1 . "
\n"; } while (s/\nS: (.*)//) { $snail .= "$1
\n"; } # output credits record in HTML if ($name) { print "\n\n

\n$name\n"; } if ($description) { print "

\n" . "$description"; } while ($tmp = pop(@email)) { $tmp =~ m/(\S+)/; $mailto = $1; if ($mailto =~ /\@/) { print "EMAIL: $tmp
"; } else { print "EMAIL: $tmp
"; } } while ($tmp = pop(@web)) { print "WEB: $tmp
\n"; } if ($pgp) { print "PGP: $pgp
\n"; } if ($snail) { print "$snail"; } } ------- end ----------------------------