
Markdown: The Spec - it's coming and it's full of personalities - voidfiles
http://www.rumproarious.com/2012/10/29/markdown-the-spec/
======
buro9
As Gruber said:

> If you liked the original, which I created dictatorially, what makes you
> think you’d like a sequel from by a committee?

What dictator ever accepted that a group of people could do a better job?

The best thing for this new effort is to now embrace the new name (tentatively
Rockdown), create the test suite and move on.

Markdown becomes one of the influencers in the footnotes, and hopefully we all
get a highly consistent and implementable syntax and set of parsers that we
can use.

My hope is that the "committee" isn't open to anyone joining it, or open to
too much external influence. dgreensp (from Meteor) seemed to hope that too,
and was reaching out to just the right people who could make a difference and
whose views were valuable.

It's a shame Jeff felt the need to create such a spectacle when this could've
just been presented fait accompli without having such a distracting spectacle.

dgreensp had it right though, but just didn't account for Jeff's character
(although he clearly did account for Gruber's by not CC'ing him originally).
Here's hoping that he now ignores both of them and pushes forward anyway.

Consistent tests that lead to consistent and implementable parsers... these
are good goals.

If Markdown has to have a 5% change in it's DNA to make this work, then this
is also a good thing.

I hope dgreensp isn't feeling too disheartened by the clash of personalities
of Gruber and Jeff.

~~~
Tyrannosaurs
I don't think Jeff was trying to create a spectacle, I honestly think he's all
about the community and was trying to be inclusive.

What both Jeff and Gruber bring to the party is profile. As the article points
out, there are already variants of Markdown that fix many of the problems but
it would seem none of them have gained traction.

If you can get the founder of StackOverflow / StackExchange and the original
creator of Markdown on-board, there's a good chance that whatever you come up
with will get some momentum.

Specifications and test suites are all well and good but if no-one uses them
what was the point? I suspect Jeff, as well as being someone with a good track
record on making stuff happen, was an attempted solution to that problem.

~~~
jspthrowaway
> What both Jeff and Gruber bring to the party is profile. As the article
> points out, there are already variants of Markdown that fix many of the
> problems but it would seem none of them have gained traction.

Sounds like the market has spoken.

------
chjj
Sorry, creator and maintainer of marked here (
<https://github.com/chjj/marked> ). Is a repo for this spec up on github yet?
I have a few obscure cases across multiple markdown engines that I've
documented over the past year or so. Are only the top dogs (reddit, stack,
github, etc) invited to join the development? A spec for markdown should be
more than just what features are included (GFM tables, code fences, etc).

I hope development of this spec will be perpetual, similar to the WHATWG's
HTML(5), if it happens at all. I've been dealing with markdown edge cases for
more than a year now and I'm always finding new things I missed. It's really
amazing how markdown is just a giant string of special cases and exceptions
(this is probably due to the way it was initially written). The post by Jeff
Atwood lead me to believe it's supposed to be geared more toward features as
opposed to exact specifications. (I could be wrong about this).

Although I agree Gruber seemed kind of impolite and dismissive here, I think
we should take things slow, and not rush into making a "spec" right away. The
closest thing there has ever been to a markdown spec was Gruber's original
test suite (on top of the markdown docs). It is actually kind of hard to track
down since you can't find it on his website (I don't think I saw it mentioned
in these articles either). My test suite is based on a fork of it (
<https://github.com/chjj/marked/tree/master/test/tests> ). That test suite
covers no where near enough to demonstrate everything. I have a feeling this
spec would take a long time to complete, especially if it's including more
compex features like GFM tables and whatnot. There will also probably be a ton
of arguing over which features should be included.

~~~
voidfiles
Hi, I wrote the blog post. I haven't been able to find any public discussion
about a spec from the parties involved other then Atwood's blog post.

------
zoul
Wow. I think that Atwood’s proposal was an honest and good move, and a needed
one. If Gruber feels like someone is twisting his hands by asking publicly,
why not say so in a decent, grown-up manner? “OK, this makes sense, but I
would have preferred you to write in private and not force me by writing an
open letter.”

It’s a shame that so many technologies get shaped by egos instead of rational
thinking. Good engineers should know better than that. If someone thinks the
proposal for a spec plus a test suite is somehow technically flawed, say so
and state the reasons. If not, let’s put the egos aside, take an extra dose of
tolerance and work towards a common goal.

~~~
zzzeek
The best ideas and software are labors of love, but love is not very rational.

------
Groxx
The spec. The spectacle. This fall, only on Twitter!

I see the assertion that:

> _MMD has a very clear specification. It also has an openly available test
> suite._

But the specification link goes to the help page [1] which as far as I can
tell has no _spec_ , just links to descriptions (Gruber's canonical blog post)
and examples. Is there an _actual_ spec for MMD, or are they claiming examples
_are_ specs?

[1]: <http://fletcherpenney.net/multimarkdown/help/>

~~~
mvzink
There is a test suite [1] available, though. Furthermore, the core of MMD is
in the PEG grammar [2], which is enough of a specification for me.
Compatibility of language subsets is even provable, so specifying a MMD-lite
version (which might be the vanilla Markdown features) would be simple. On the
other hand, I think its flexibility/sanity is actually a disadvantage for MMD:
with the confusion and variability of a spec-free language that is still
roughly familiar (i.e. Markdown), people seem more likely to adopt it with
their own implementations and customizations.

[1]: <https://github.com/fletcher/MMD-Test-Suite>

[2]: [https://github.com/fletcher/peg-
multimarkdown/blob/master/ma...](https://github.com/fletcher/peg-
multimarkdown/blob/master/markdown_parser.leg)

~~~
qznc
The grammar is not enough. You also need to specify the output of the HTML
transformation.

------
mathias
> On Macdrifter Gabe Weatherhead said: > > > Nowhere does he mention MMD and
> it seems very unlikely that he does not know about it.
> [<http://stackoverflow.com/questions/tagged/multimarkdown>]

Wow. Just because there’s a Stack Overflow tag for it doesn’t mean that Jeff
knows about it. It’s a community-driven site.

~~~
jrajav
Given, that was a pretty bad citation. Still, it's a good guess that he heard
about MultiMarkdown somewhere along the way since he considered and initiated
the use of Markdown on Stack Overflow / Exchange; he's been personally
involved with it for roughly 4 years now.
([http://www.codinghorror.com/blog/2008/05/is-html-a-humane-
ma...](http://www.codinghorror.com/blog/2008/05/is-html-a-humane-markup-
language.html)) ([http://www.codinghorror.com/blog/2009/10/treating-user-
myopi...](http://www.codinghorror.com/blog/2009/10/treating-user-myopia.html))

------
nthitz
As usual, Gruber seems like a bit of a prick.

~~~
SuitAndThai
It's not terribly hard to see how this whole thing came to be offensive to
him. Jeff put Gruber in the public spotlight with a question like "give us
permission?"

Gruber says 'Yes': whoop de doo

Gruber says 'No': Well, the person at fault looks like Gruber for being
prohibitive of others trying to improve his work.

If his opinion was really to be respected, Jeff should've messaged John behind
closed doors to see if he could expect his support or not on this committee,
like John had any real say in the matter.

~~~
alexchamberlain
Part of the problem is Gruber is incredibly resistant to change. The software
he wrote hasn't changed in 8 years, despite a number of bugs.

~~~
gordonguthrie
> The software he wrote hasn't changed in 8 years, despite a number of bugs.

That isn't the problem. The problem is that the software hasn't changed
despite a number of bugs and the source code asking you to submit bugs.

'Deprecate or maintain' is not an unreasonable request of a public persona in
the technology sector.

------
redbad
Am I the only one who thinks Jeff Atwood is completely without the necessary
credibility to spearhead an effort like this?

To say nothing of the time-tested idiocy of designing a spec by committee?
IEEE telco protocols being the canonical example?

The whole effort seems like a terrible idea. Gruber's responses seem to me to
be completely appropriate.

~~~
jamesaguilar
Are there a lot of things that have been standardized without a committee
being involved? I'm not aware of many. Designed, yes. Standardized, no.

~~~
lucian1900
JSON, sort of. Crockford humorously says he is a standards body because of
that.

~~~
RyanMcGreal
Crockford also developed a standard for JSON [1] and actively participates in
maintaining it. [2]

[1] <http://tools.ietf.org/html/rfc4627>

[2] <https://github.com/douglascrockford/JSON-js/commits/master>

------
mmahemoff
For those who are saying Jeff Attwood posted this publicly out of nowhere,
please read this from 2009:

[http://www.codinghorror.com/blog/2009/12/responsible-open-
so...](http://www.codinghorror.com/blog/2009/12/responsible-open-source-code-
parenting.html)

Now I don't know if he privately mailed Gruber prior to writing that, but to
say it came out of nowhere is to forget several years of Stack's history with
wanting Markdown to work like one would expect of a living open-source
project.

------
SuitAndThai
> _Nowhere does he mention MMD and it seems very unlikely that he does not
> know about it._

I would hardly expect Jeff to keep track and know of every topic in
StackOverflow, let alone one with only 11 questions. Give the man some room to
err.

------
acabal
Wow, Gruber is kind of a jerk. Or maybe that's a symptom of having
conversations in 140 character bursts.

~~~
DougBTX
Jeff comes along and says, "I'm going to mock you if you don't let me take
over your project," and Gruber is the jerk for saying no?

~~~
malkarouri
Totally agree. Jeff is almost acting like a common bully here. I am surprised
people are coming to the opposite conclusion.

------
wamatt
An ideological debate between _collaborative_ vs _dictatorial_ approaches,
misses the point entirely.

Markdown was a good effort, but I've been feeling for a while now can do
better. It's rather encouraging, that there are others attempting to design a
new standard. Ideally it would be one that's easier to work with, and less
idiosyncratic. ('new' of course, does not automatically equate to 'better' in
this instance).

Furthermore, developing this should not require anyone to _'be someone'_.
While it may help adoption, if it's great, then by it's own merits, it could
have a decent chance of succeeding.

------
porker
I still wish reStructuredText was considered - it's solid, adaptable and (for
some reason) totally unsexy.

~~~
MatthewPhillips
Could be because it's hosted on Sourceforge.

------
calinet6
This post has made me realize how dysfunctional twitter is for real
communication. It's nigh impossible to follow or understand.

~~~
jimminy
That was the post's fault not Twitter's. I had to stop reading because I got
so confused.

Tweets in that post start referencing Gruber's response, but Gruber's response
wasn't shared within the post, when it should have been. And authorship of
tweets within the post wasn't really clear.

Edit: Looking at it again, Gruber's response is there, but I missed it for the
authorship issues.

------
pohl
Open letter to Jeff: SO is awesome, but long-in-the-tooth. What it really
needs is an open spec for federated, gamified Q&A. What say you? I eagerly
await your enthusiastic embrace.

FAQ

 _Are you asking for Jeff to open the SO service?_

No, we only feel that the structure of Q&A and reputation management be
federated and openly specified. But we do feel that _StackExchange_ would be
the perfect name for the protocol.

 _Are you making an analogy?_

No, though we might be modeling behavior.

~~~
tarabukka
That's a poor analogy. A service and a way of formatting documents are
completely different. Not to mention that most ways of formatting documents
have a context-free standard already.

~~~
jonny_eh
Not all analogies have to be identical. It was close enough to demonstrate how
you approach people about their projects.

------
davidgerard
I think of the MediaWiki wikitext specification and how that started as a
simplification of HTML and was incrementally extended into a barely-computable
disaster that, quite literally, put back a Wikipedia visual editor about six
years.

------
gadders
I'm getting flashbacks here of Dave Winer and the battle over RSS and Atom.

~~~
mcormier
Then you might want to re-watch episode 6 of nerd TV:
<http://www.pbs.org/cringely/nerdtv/shows/>

------
mrpsbrk
We all have pandoc, and <3, and we can all choose between RST and Markdown,
and we all know RST is a better spec (as in, there is one), but we keep on
coming back to MD.

I suspect the reason is that MD does conform to the end-to-end principle.
Having a spec is, itself, putting too much intelligence in the pipes. Not
having a spec leaves all the intelligence into the ends: The person who's
writing (which is very bad at following rules and specs) and the parser
program (which can be as elaborate as needed).

That is why no spec (and Gruber's attitude) is a feature.

------
loup-vaillant
Let's imagine the worst happens: John Gruber explicitely refuses to give up
the name "Markdown", and to bless any standardization process. Which would
then need another name.

Ideally the name should be clearly different than the original one, and
clearly signal the underlying spec is the same, only _better_ (of course, the
actual spec better live to that expectation).

"Rockdown" sounds cool, but it doesn't work. Sure, it _rocks_ , but it's
doesn't say "you should use me, not my obsolete father".

An obvious choice is "<qualifier> Markdown". For instance, "Clean Markdown",
or "Standard Markdown". We may think that's cheating, but we already talk
about "<website> flavoured Markdown". There will soon be another one, that
explicitly pretends to be _the_ flavour. Better let the name reflect that. As
for the actual Markdown, I guess people will start calling it "Original
Markdown".

Now there's little chance, but maybe, maybe John Gruber will still shout that
his original version is _the_ standard no matter what. If monsters like Stack-
overflow, Reddit, and GitHub make a good "std Markdown" anyway, no one will
believe him.

Anyway, enough with the name. Let's just write that BNF. A reference
implementation in something like MetaII or OMeta will then be a piece of cake.
If I ever do that on my own, I'll call it "Strict Markdown". Because I don't
like when obvious errors in my Markdown code produce unintended output instead
of an error message (major culprits are links and emphases).

~~~
jspthrowaway
> 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.

<http://daringfireball.net/projects/markdown/license>

~~~
nickmain
The license means nothing unless you're copying Gruber's code.

Gruber doesn't have a trademark on the name "Markdown".

~~~
loup-vaillant
I don't know about the USA, but here in France, one can have a right to
trademark even when it's not officially registered. The main requirement is to
show that you have established a _de facto_ brand.

Nevertheless, <http://news.ycombinator.com/item?id=4719809>

------
antihero
Did everyone forget about RST? That said, RST is a bit complicated seeming.

~~~
klibertp
I did not, but I'm a Python programmer. It seems too few pythonistas
participate in this thread to make a difference - RST was mentioned just 3
times. And Textile was mentioned once, although not as an alternative but as
an inspiration for Markdown. MediaWiki syntax was mentioned once, but
described as crap.

I just felt the need to count something, don't mind me.

------
grannyg00se
I'm not 100% convinced that one global Markdown spec is going to be of net
benefit. I'd be fine with pockets of specialized Markdown flavours. For
example, I don't see how merging whatever is in Fountain (for screenplays)
into a common Markdown spec would be useful for general use.

On the other hand, having separate flavours for every different online code
repository site, or blog engine, is probably too far in the specialized
direction.

I think it might be easier to start with standardizing in small groups (eg:
GitHub/StackOverflow/CodingHorror) and slowly globbing other variants into the
standard. Perhaps that is the direction this will end up taking. So far I
can't see what is going on other than conflict.

~~~
loup-vaillant
A possibility is to separate the core from extensions. The idea would be for
everybody to observe the core spec, and clearly signal any extension. If an
extension makes consensus, it could even be standardized. The most widely used
standard extensions could then be merged in the core spec. The other, more
specialized extensions, would stay in their separate standard.

------
variedthoughts
I have always found Git Flavored Markdown funny. Not in a bad way, really.
Just funny. Thinking of the taste of markdown is just interesting, and
something we can possibly expand on. So we could perhaps refer to the original
as 'vanilla markdown'. Git is of course 'git flavored'. Perhaps we need
'markdown with nuts'. Or from the bagel side, 'everything markdown'. Pandoc
would probably be 'everything markdown'.

I know the main thread is a very serious topic and there are passionate
opinions. However, let's make sure we keep it light and civil.

