Wednesday, September 10, 2014

Markdown and CommonMark

Jeff Atwood has been repeatedly trying to hijack Markdown rather than fork it. It’s hard to believe that he would think Common Markdown would be acceptable when Standard Markdown was not. Gruber clearly doesn’t want to give him the name, so this reads as Atwood increasingly trying to rationalize just taking it.

Dave Winer:

Whatever his feelings for Gruber are, he’s hurting himself a lot more by taking the name of the project. It isn’t his to take. If he wants to make a contribution, let it stand on its own and accept competition from others.

Gruber did the hard work, had the vision, and used his goodwill to get Markdown to happen. He can’t and shouldn’t stop anyone from building on what he did (and as far as I can tell he doesn’t want to), but they shouldn’t stop him either.

Winer (of course) sees parallels with RSS:

Now it is what it is. A bunch of programmers fighting over who gets to be the Holy Father of Markdown is only going to create confusion, it won’t actually change what Markdown is.

Programmers always underestimate deployment, and think they can wave a magic wand and get everyone to upgrade.

Werner Vogels:

It is a case of “Worse is better” - instead of excellent formalized frameworks we favor tools that work. Help us (in this case writers) do our jobs. My two favorite tools in this case (e.g. Textmate and Byword) seem to be fine with the definition as is and as such I don’t see reason to resort to an standardization effort.

I think it’s great that people have been able to extend Markdown in different ways, for different purposes, even creating domain-specific derivatives. However, the argument that it’s good for the basic features to remain underspecified has never been clear to me. Today, people wouldn’t say that about HTML and the Web, so why should Markdown be different? How is it more user-friendly to the writer to get different output from different tools?

So I think the formalization effort is a good thing, and (given Gruber’s wishes) that it’s also good for it to proceed under a different name, CommonMark:

Because there is no unambiguous spec, implementations have diverged considerably. As a result, users are often surprised to find that a document that renders one way on one system (say, a GitHub wiki) renders differently on another (say, converting to docbook using Pandoc). To make matters worse, because nothing in Markdown counts as a “syntax error,” the divergence often isn’t discovered right away.

8 Comments RSS · Twitter

I've worked on a project that rendered Markdown three different ways (using JS in the browser, using Java when rendering a webpage for the first time, and again using a different Java renderer when creating a PDF). The fact that Markdown has effectively no standard meant that the same basic Markdown text would come out differently in each implementation. I appreciate the fact that not every implementation of Markdown needs to adhere to some kind of basic level of compatibility, but I also hope that, in the future, more of them will.

> So I think the formalization effort is a good thing, and (given Gruber’s wishes) that it’s also good for it to proceed under a different name

Yes, that, exactly.

I was quite disappointed by the passive-aggressive approach of Jeff Atwood, who is otherwise a smart, effective and apparently nice person.

I think this turned out for the best in the end. CommonMark is a good name for a standardization effort, but at the same time it is distinctive enough to not mistake it for Markdown itself. I see CommonMark as a new flavor of Markdown where the aim is to have many interoperable implementations.

I thought of the comparison to HTML myself, where the same thing applies that Gruber has claimed of Markdown (i.e. it took off because, not in spite, of lack of standardisation). The question would then be, is CommonMark XHTML or is it HTML5…

@Aristotle Right. To be clear, I do think the lack of standardization helped both in the beginning. It’s an interesting question. HTML5 came from outside the W3C—the Gruber of the analogy—yet it’s now adopted by that organization.

License or not, Gruber had no legal standing to enforce Jeff Atwood's use of the "Markdown" name: that is a matter of trademark law, not copyright. This is why projects like NeoOffice and Mozilla have real, federally registered trademarks associated with their brand name. If it's that important to Gruber, Daring Fireball LLC can pinch off a few bucks from its $9,500 weekly sponsor rate, hire a trademark attorney, and properly register the "Markdown" mark with the USPTO. Otherwise his assertion of proprietary interest in the brand name lacks any real substance.

I don't even think Atwood owed Gruber any consideration in forking the project with a derivative name. Forks happen all the time in open-source, especially when a critical mass of developers in a specific community judges that the maintainer of the project has not been an adequate steward of the project. The fork, a decade ago, of the X Server in the Unix/Linux world from XFree86 to X.org (based on a licensing change that required a specific credit line to the XFree86 project) is a good example here. The very fact that there are so many forks/variations of Markdown out there suggest that many developers don't, in fact, think Gruber has been a terribly good steward of Markdown. I've observed that his primary defenders are those in the Mac world: an unsurprising development given his status as the God of Mac bloggers, but also unsurprising because there is not as strong a culture of large-scale open-source development among Mac/Cocoa developers as there is in other communities, especially Unix/Linux.

@Kevin To me, this is more about the cultural norms of reasonable behavior and the potential impact of the name on the various projects—and less about what could be gotten away with, legally speaking.

It’s not that it was a derivate name. It’s that the name implied that it was the “real” Markdown. An analogy would be if you didn’t like what Linus Torvalds was doing, so you created “Standard Linux.” (Yes, I realize that Torvalds has an official trademark.) I think whether Gruber has been a good steward is totally irrelevant to all of this (and subjective, anyway).

I can see both sides of this. The word "Standard" means "has standards, a specification, etc." in the computing world, so "Standard Markdown" doesn't offend me.

John could have and perhaps should have trademarked it. He neglected Markdown, tries to play that off as a sort of artistic decision or something, and a group forked it and gave it a fairly "standard" name.

Yet, it was still a little lousy to do, particularly given John's reluctance to work with them and their past efforts.

CommonMark is fine. I hope everyone's happy with it.

Leave a Comment