How to use open formats

  A couple of months ago an exec from a big tech company asked me to write about how to create standards, or how to work openly or collaboratively. There are lots of names for what we do, lots of ways to describe it. So I wrote a piece, and promised to write more.
  Then on Friday I reblogged a comment I read on Stack Overflow because I thought it was a wise summary of what could be learned from the Atom community's attempt to overthrow RSS.
  You had to tilt your head at a very odd angle to miss the raging torrent that RSS had become. Only if you missed that would you think that it could be replaced. Atom criticized RSS for being too fragmented, too fought-over, only to further fragment it, and fight over it even more.
  In the comments of that post I added three things that I've wanted to say for a long time. I even wanted to put some of them in the RSS 2.0 spec, but decided against it, because it wouldn't be understood (I felt) by most people who read specs.
  Here are the three things:
  1. If it hurts when you do it, stop doing it.
  2. Shut up and eat your vegetables.
  3. Assume people have common sense.
  One of the few criticisms the Atom folk hurled at RSS was that there was no way to know if a title had markup.
  Most feed developers, if they ever tried to put markup in a title and failed to have it understood by an aggregator, seem to have applied rule #1.
  That's one of the big rules of technology. Yes, it would be better if specs warned you off, or made it illegal so a validator could warn you about it (hey a validator could even if it's not in the spec). But like software, no spec is perfect. No spec writer anticipates everything. So you have to use common sense when interpreting the trail of clues left behind.
  Number 2 says you have to choose between being a person who hangs out on mail lists talking foul about people and their work, or plowing ahead and making software anyway even though you're dealing with imperfection. If you're serious about software, at some point you just do what you have to do. You accept that the format won't do everything anyone could ever want it to do. Realize that's how they were able to ship it, by deciding they had done enough and not pushing it any further.
  And item #3 says at some point just give up trying to please the lawyers and list inhabitants, and work for the people who are willing to avoid the things that hurt and people who mostly do things that are good for themselves.
  So this is another howto -- it's how to be a user of common formats and protocols and be productive with them and get past those who focus on the negatives.