Since I’m working on lscube (this week, with the introduction of Ragel-based parsers, I had not even time to write on the blog, as you might have noticed), I’ve had to reference to the RFC specification for RTSP/1.0 (RFC2326) quite a fwe times. The problem is that officially the RFC is available only in text form, and in PDF (derived from the text form).
It wouldn’t be that bad if the text file was not designed to be read on screen but rather printed, so that all the pages are marked with headers and footers that have no meaning on screen. They really make it look bad to me, sometimes I think a section ended at one point, but then I find out that it continued on the following page and I missed some information.
So at the end I decided to take a day off from development and look at solving this problem. I took the text file for RFC2326 and copied it over on a DocBook 5 document. It required a full day of work but then it was done, and I could read the RFC much more easily. I actually haven’t finished linking the bibliography, but that’s a minor issue for now. I haven’t published my work yet because I’m not sure if the license of the RFC allows me to do that. If somebody have any idea I’d be glad.
What I was thinking of doing was to transform to DocBook any RFC I have to use for any reason, and then cross-reference them when they make sense. For instance, RFC 2326 references RFC2068 (HTTP/1.1) quite a few times, since half of RTSP is defined in key of HTTP/1.1. Beside the fact that this RFC is obsoleted by RFC2616, and the section numbers don’t add up any longer, I’d like sometimes to be able to just click on the “See” reference to read what the other RFC says.
It’s probably a mostly useless project for most people, but if the licenses allow for it, I’d like to see if this could be brought into a big project, with other people adding to this by importing more RFC into a single repository, reformatting them, merging the eventual Erratas released, updating references so if an RFC has been obsoleted, like it’s the case for RFC2068, a reference to the new RFC is present in the old ones, like RFC2326.
The problem here is, do RFC licenses like this allow this kind of project?
Copyright © The Internet Society (1998). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
“AS IS” basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
I have written to the RFC editors to ask what is the official stance on this but I haven’t received any answer yet (nor I count on receiving one to be honest). I think that in spirit it should be allowed, but it might not be permitted by the actual wording, which actually concerns me since it would stop something that in my opinion would be a very nice way to make the job of following RFCs much easier.