Standard Markdown

update: the name’s been changed to Common Markdown

Yesterday, Jeff Atwood announced that Standard Markdown, a project he had been working on for some time, was finally completed and ready for public review.

Like many a Markdown enthusiast, I have struggled with the fact that Markdown doesn’t have a standard. It does have an ambiguous definition which is a nice plain English way of describing how to use it, and it does have a reference implementation in Perl which people have leaned on as an official spec, but it too has ambiguities and bugs, and given that it hasn’t been touched in over ten years as of the time of this post’s writing, it’s safe to say that John Gruber (the co-creator of Markdown) has no interest in maintaining a spec for Markdown that is of the caliber needed for how widely it’s used, aside from a few fleeting mentions of his own preferences in some discussion boards.

I’m not upset that Gruber has left it untouched; I’m really happy that he and Aaron Swartz created it, but its situation has left us with some issues which Jeff Atwood has described in great detail, and Jeff Atwood set out to solve it by creating Standard Markdown.

The intent is misrepresented:

Jeff Atwood isn’t just going around being pissed that Markdown got abandoned from the top. He actually took the initiative to go about building a canonical standard, and he did in about as much the right way as a person can. He got together major players who are using Markdown in a big way (and often slight dialects of it), each with varying uses of Markdown (some using it for documentation like GitHub, others using it in forum software, etc.), and these companies worked together to build a solid standard of Markdown that everyone can work from, complete with a reference C and JavaScript implementation. There is now a detailed and unambiguous Markdown spec that sets rules on things that were previously unclear and deviates as little as possible from standard Markdown (and it doesn’t deviate from any of the major things you come to expect from any Markdown implementation).

Gruber’s reaction:

(this is @markdown’s second tweet in this account, the first is from several years ago describing Markdown)

A lot of people are taking the “I just hate that they called it that” stance:

That seems like an easy shot to take at Standard Markdown (easier than saying it was taken over, because Gruber has mostly stopped maintaining it). People are treating it as though this is some attempt to mislead people into thinking that Standard Markdown is the original Markdown.

Yes, the intent is absolutely there that Standard Markdown become the canonical Markdown, and it probably will become the de facto Markdown, because there’s so much weight behind it. The creators don’t see this as another fork of Markdown; we have plenty of well-defined forks and forks of forks (for instance: Pivotal Tracker made their own implementation of Markdown in the new Tracker, and described as a slight variant to GitHub Flavored Markdown).

Gruber is fully credited throughout Markdown’s spec, and great care was taken to make sure the spirit of Markdown is well-respected (after all, that’s what draws us to it). If you want to go and see Gruber’s spec in all its ambiguous glory, you can do so. There’s a link to it in the second paragraph of the home page of Standard Markdown’s site. Standard Markdown as a proper noun is a decent enough name. Already googling “standard markdown” will get you links to Atwood’s group’s implementation on the first page of results, and the name “standard markdown” is distinct from just plain old “Markdown” to indicate there is some standard to be followed.

I struggle to believe Gruber’s in all this fuss because of a name. Is Gruber upset he wasn’t consulted? He didn’t express interest in solidifying the spec when Atwood was lamenting the fragmentation of Markdown. If he had shown any interest in being involved in making a canonical unambiguous spec, it doesn’t seem like he would have been denied that opportunity. And even in the absence of his participation, his opinions were consulted in making the spec; there are links to his comments in there.

Is there worry that Markdown is being taken over by a consortium that might later grow to not represent users’ interests later on? I admit that worries me, but standards like Markdown shouldn’t evolve much (less so with a general-purpose canonical spec), and when they do, they should do so slowly and with discussion by stakeholders, exactly the type of thing a standards body solves. If new use cases emerge and Markdown isn’t adequate, people can adopt something new. And since Markdown is just plain text, no one’s ever really in danger of their data becoming inaccessible through Markdown falling out of favor.

Are people upset at specific design choices made about Standard Markdown? Are any of the changes breaking to the point where so-called Standard Markdown looks nothing like Markdown? None of the people in my Twitter feed mention that, and if they had, I’d consider those legitimate complaints, especially if this is to become a more widely adopted Markdown spec. And if they did have such concerns, that’s what the discussion site is for. But the people I’m seeing complain about Standard Markdown aren’t complaining about this.

Being upset that it’s named “Standard Markdown” is just petty. Standard Markdown is the result of a huge amount of work, and by taking a giant undertaking and redirecting all the attention onto its name it’s a slap in the face to the effort that people put into Standard Markdown in good faith to make it a better language. It feels like when Richard Stallman tried to insist that people refer to Linux as GNU/Linux. Maybe he was right and had the moral high ground, but it wasn’t a pragmatic choice.

John, if you’re reading this, Standard Markdown is the best thing to happen to your markup language since you invented it ten years ago. It’s too widely used for your original Markdown spec to be adequate for all use cases, and people stepped in and built a thorough spec and reference implementations. Something like this ensures the long-term health of Markdown, and what it needs above all is a thumbs-up from you, not quibbling over the name of the standard. I hope you review the standard and provide feedback and guidance on it. It would be sad if you became a footnote in Markdown’s history over something so minor as what a spec is named.

Leave a Reply

Your email address will not be published. Required fields are marked *