Markdown Follow-Up

Following my “Standard” Markdown Controversy post, I’ve had a few exchanges on Twitter with people who made basically three points:

  1. “All Jeff Atwood was trying to do was create a standard.”
  2. “If Gruber had objections or wanted to be involved, he could have been.”
  3. “Gruber had plenty of warning about what they were doing.”

Trying to explain anything on Twitter is like trying to drink a shake through a cocktail straw; 140 characters is not enough even for a proper sentence. So, I’m going to address these arguments here. I often think in similar ways to John Siracusa, so if you listened to the Accidental Tech Podcast episode 81, much of what I will say is substantially the same.

Point 1: Standards

Standards committees effectively wrest control of a project away from a creator, in much the same way that the founder of a company can be kicked to the curb by a board of directors. There is no upside for Gruber to participate in creating a new standard. If he involves himself, he’s lending credibility to their efforts, and collaborating in his removal from relevance.

This completely ignores the fact that he fundamentally disagrees with the direction they want to take the project. The ways they want to change Markdown fit their use cases, but do not necessarily fit any other use case. Gruber’s original Markdown is completely focused on online writing.

They obviously don’t care about tables, for example, or footnotes, because they don’t address them at all. I guess they’re leaving that to “nonstandard” variants like MultiMarkdown, which address usages needed by offline writers and academics, but will not deign to include such things in their One True Way.

But code blocks? Ho, boy, do they like code blocks; indented, fenced, and conceptual. They’re programmers, so of course being able to include and flexibly markup code blocks is far more important (to them) than other issues.

This is the main problem with a new standard: whoever creates the standard defines it. A group of programmers wants to reduce ambiguity and strictly define use cases, make consistent HTML output, and introduce various ways of formatting code blocks within the markup. Shocker. Their standard is not a standard that a group of designers, or a group of writers would have created. Few of the proposed changes would improve actual usage for anyone except programming-focused writers.

Point 2: Involvment

Yes, Gruber could have been involved if he wanted to be. He doesn’t want to be involved (see Point 1). As I wrote in the earlier article, Atwood was agitating for a revised spec at least as far back as 2009. (Probably even before that, but that was the first time I’d heard of it, and I wasn’t even using Markdown at the time so didn’t particularly care.)

So what? Again, as I said earlier, Gruber doesn’t get his panties in a bunch about forks that use the concept but not the name, or forks that use part of the name — with prior permission — while preserving his original usage, but extending Markdown in various ways.

It’s pretty obvious that what he objected to was the attitude of entitlement and propriety Atwood assumed. The lack of respect is palpable in nearly every public exchange between the two that I’m aware of. As Siracusa pointed out, it’s probably Atwood’s frustration with what he perceives as Gruber’s intransigence toward changes in an open source project. There’s no question that from a programming standpoint Gruber has not been making regular revisions and contributions to Markdown, and that must be infuriating for a programmer, like Atwood. It’s likely that his feelings for Gruber as a person have been colored by his interactions regarding Gruber’s work.

However, Gruber is under no obligation to make changes, nor confer legitimacy on someone who wants to change his implementation. It’s his thing, he can do whatever he wants to with it. He has been fairly generous in the past, even in comparison with other open source developers. The sticking point here was the appropriation of the name. Hell, it’s in his license:

Neither the name “Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

(Emphasis mine.)

Point 3: Notice

Silence does not imply consent.

Gruber’s “advance notice” was being told what they were planning to do, not being asked for his permission. There’s a big difference, though it’s apparently invisible to some people, considering my interactions on Twitter and comments I’ve seen in other forums.

It’s the same difference between telling your dad, “Hey, I’m taking the car sometime after dinner”, and “Hey, dad, can I use the car after dinner?” One is likely to result in being able to use the car. The other is likely to get your car privileges revoked for at least the evening, and maybe for a couple of days following, unless you quickly correct your attitude.

No form of the name Markdown should have been used without Gruber’s express permission. They didn’t get it. They should never have proceeded with using “Standard Markdown” without it. And then they compounded the problem by — yet again — changing the name on their own timeline when they notified him (not asked him) that they were going to use “Common Markdown” instead.

What is so puzzling is that Atwood doesn’t need to take anything from Markdown to make this project successful. He could make his own implementation and be within his legal and ethical rights. Don’t like the spec? Make your own strictly-defined one. Just don’t use the name of the original or use the name of its creator to promote your version.

Atwood is well-known enough in the tech/programming community that he certainly doesn’t need to ride Gruber’s coattails. He could have called it something like Flugelhorn and still gotten people trying it out due to curiosity. It really is mind-boogling that naming even became an issue, especially after all the work put into the coding part of the project.

If CommonMark (name changed again at Gruber’s request[1] because of Atwood jumping the gun) is actually superior to Gruber’s standard Markdown, it will be widely adopted. Make something that works better, and it doesn’t matter what you call it, people will use it. Like I said, I use Fletcher Penney’s MultiMarkdown instead of Gruber’s original because it fits my uses better. It’s possible that CommonMark will supplant Markdown and become the better-known, more widely-used version. I doubt it, but it is possible. Committing to winning on the merits of the implementation, not on name-recognition, is what should have been their focus in the first place.


  1. “Edit: after a long and thoughtful email from John Gruber – which is greatly appreciated – he indicated that no form of the word ‘Markdown’ is acceptable to him in this case. We are now using the name CommonMark.”  ↩