← Back to team overview

openstack team mailing list archive

Re: Just JSON, and extensibility

 

Mark Nottingham wrote on 04/13/2012 12:56:46 PM:

> In particular, if people are actually using these tools to do data
> binding, it's going to lead them to place dependencies upon the
> structure of our interfaces, and unless the scheme is constructed
> *exactly* right, we'll get lots of bug reports in the future when
> these tools base their "contracts" on their interpretation of a
> Schema that got published on the Web site at some point in the past.

Be a bit careful here.  If you're suggesting that JSON is better because
it doesn't force (or even give you the option) of being precise in what
your interfaces looks like, implying that you won't get bug reports when
the JSON changes, I think this is probably wrong.  IMO, the stuff around
XML like XSDs (and I include in this topic things like IDLs) just makes
it easier for people to write tooling if they want. But in the end,
changing an interface is just as brittle regardless of whether its in
XML or JSON - both have extensibility points and both will have clients
that will break with the 'expected' data goes missing.

IMO, both JSON and XML have their places.  And I do agree with Mark
on one key thing... don't add all of the stuff to JSON that people
claimed was too heavy in XML.  And, to me, this includes namespaces.
In the end, once you start down that road you'll just end up with
a curl-braced version of XML and won't we look silly at that point.  :-)

Earlier you said:
> It's not that just "our dev community" isn't seeing much value in
> XML, it's a good portion of the world.

Again, this needs to be weighed very carefully. With emerging technologies
its easy to assume that the entire world agrees with you while things
are still too new to be part of the mainstream. This xml vs json fight has
been going on for a while, and I've heard a number of times from a number
of different companies that they will not touch JSON
simply because its too new, too unstructured, doesn't have the tooling
and validation capabilities of XML, blah blah blah.  Now, ideally these
same folks should be speaking up in the community to express their concerns
and desires, but for whatever reason they may not choose to - or can't.

Now, I'm not suggesting that we MUST keep XML just to satisfy
people who choose not to participate in OS, rather I want the decision to
be
made with all of the implications considered.  And to me, knowing that
Openstack
might not be as easy a sell to some folks because their shop is so heavily
invested in XML and not JSON (when, IMO, support for both isn't that hard -
its just a matter of making it part of the normal code development/approval
process) seems like it might be a mistake - at least given the current
state of the world.  After all, if XML were really as dead as some people
imply I doubt we would even be having this conversation.

-Doug

References