[Babel-users] Implementations of Babel [was: routes appearing later than hoped-for]

Juliusz Chroboczek jch at irif.fr
Thu Mar 8 21:30:31 UTC 2018


> I wasn't aware of Toke's implementation of babel so far. Why are there
> two?

I happen to believe that open (published) file formats and open protocols
are way more important than free software.  If the protocol is published,
then it is easy enough to redo the implementation; if the protocol is
closed, than even if you've got the source code, reverse-engineering the
protocol might be difficult or even impossible.

Now how do you verify that a protocol is written down in enough detail
that it can be reimplemented independently?  By asking your good friends
to reimplement it.  Since I've got plenty of good friends ;-), we ended up
with four independent implementations of Babel:

  - I did the original implementation (with help from Grégoire Henry and
    Julien Cristau),
  - Markus Stenberg did a toy implementation in Python;
  - Toke Høyland-Jørgensen did a high-quality implementation within BIRD;
  - David Schinazi did a top-secret, proprietary implementation.

A nice side-effect of having multiple implementations is that it keeps me
honest: with multiple implementations, I cannot evolve the protocol
without consulting the community.  This means that even if I become
completely crazy tomorrow, the protocol has a good chance to remain
relatively sane.

-- Juliusz



More information about the Babel-users mailing list