[OpenAFS] Selecting a configuration file format for OpenAFS Services

Russ Allbery rra@stanford.edu
Sun, 17 May 2009 11:24:34 -0700

"Buhrmaster, Gary" <gtb@slac.stanford.edu> writes:

> I am going to suggest an alternative.  XML format.  It is ugly, but
> provides arbitrary complex levels, and can represent even binary data
> if needed.  I tend to have a hate relationship with XML, but it does
> give one flexibility.

XML is an okay wire representation because there are a lot of parsing
and validation libraries available, but it's spectacularly awful at
being human-editable.  If we were designing a data interchange format,
I'd be inclined to agree with using XML, but for human-editable
configuration files, I think we need to go a different direction.

> Another format that has been used is YAML.  It is certainly more human
> readable friendly, and the library is under a compatible license as I
> recall.

The impression that I'm getting from the general trends in this area is
that JSON is displacing YAML as the XML alternative of choice.

I wouldn't mind using JSON, although it has the drawback of not having
the section concept that's part of the Kerberos profile and Windows INI
formats.  You can, of course, create an equivalent of sections with
nested objects and that would work fine, but I think the clear syntactic
separation of sections from settings in the profile and INI formats is
useful for humans.

Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>