Standard Flavored Markdown

I think we mostly agree, but I take issue w/ this statement:

This Standard Markdown spec is intended to be 100% compliant with the original Markdown syntax description, so of course it is still Markdown.

Is it? If I put bbcode into my markdown file and run it through Gruber’s original markdown processor it will spit out gibberish. That’s not “100% compliant” by any stretch.

Honestly, this feels like a superset, and the name should reflect as such. There are at least two supersets of C that I’m familiar with: C++ and Objective-C. Both of them are ‘standardized’. What if both authors decided to name their superset “Standard C” instead?

To be clear, I think the Standard Markdown project is a great endeavor, but the name is dumb.

All in favor of Markdown++?

In all seriousness, Standard C would not have made as much sense since it already had a full spec, rather than being abandoned by someone who seems determined to make it as annoying as possible to use. The spiteful name makes sense in context.

I think it’s a great idea and it has every right to name itself “Standard Markdown”, as it is exactly that: an approach to a standardized markdown spec. All the other markdown “flavors” out there still call themselves markdown, so why shouldn’t this be called markdown too?

And for the record, because @NobodyMan said it: C++ is not a superset of C! It is somewhat similar and some or even many C programs are compiled fine by a C++ compiler. The semantics however… even the syntax isn’t exactly compatible (just try to get a perfectly valid C program containing ‘this’ as an identifier to compile with a C++ compiler…).

The idea for “Standard Markdown” comes exactly from the current/previous lack of any kind of standardization. And considering who is involved in this standardization, they are probably in a good position to actually propose and maintain it.

Note, I said compliant with the syntax description, not with Gruber’s Markdown.pl. If there’s nothing in the syntax spec that requires BBCode to render as gibberish, then an implementation that gracefully handles BBCode can still be compliant. That said, I agree that this could also be viewed as a superset like Objective-C. (C++ is not a true C superset, as simon_lmn notes.)

It just seems bizarre to me to advocate dropping the word Markdown from the name, when this is clearly still Markdown. Why does choosing one Markdown from the multiverse of possible Markdowns - and deciding by consensus that it will hereafter be the Prime Markdown - make it no longer valid to call it a Markdown flavor?

… rather than being abandoned by someone who seems determined to make it as annoying as possible to use.

Do I think that Gruber is being needlessly douchey? Yeah, kinda. But it smacks of entitlement to claim that someone is actively wronging you because they haven’t updated a spec. And if I wrote code gratis and only ask that you change the name of your derivative, I’m gonna be irritated when you make me out as the bad guy.

2 Likes

If that’s so, why aren’t all the other Markdown derivatives changing their names? It’s literally impossible to write a Markdown parser that is not a fork because the current “spec” is so ambiguous:

See for yourself.

“But moooom, all the other kids are doing it!”

Regardless of what others are doing, the copyright owner licensed the spec under specific terms, including:

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.

Ignoring this term means you’ve broken the deal, and opens you up to a copyright infringement lawsuit.

Forking Markdown within the terms of its license is a great thing. But that doesn’t mean you get to ignore the license like a bad open source citizen.

(update: I was flat-out wrong in my assertion that Standard Markdown shoehorns bbcode syntax into the spec. I apologize for contributing to the confusion on this topic.)

If there’s nothing in the syntax spec that requires BBCode to render as gibberish, then an implementation that gracefully handles BBCode can still be compliant.

That’s a fair point. Though a superset, it’s reasonable to state that an objective-c compiler is a 100% compliant c-compiler. But it’s quite another thing to take that superset and proclaim “Yup, this is the standard”. One thing I think is pretty unambiguous is that this so-called standard violates the philosophy of markdown, which states (emphasis mine):

Readability, however, is emphasized above all else. A Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions.

One look at bbcode syntax and you’ll see that it does not come close to acheiving this goal of readability. Honestly I would have less beef with the name all the authors set out to do was to tighten up the ambiguity of the original spec. But this is as if someone came along and said “hey I created a standard guacamole recipe. Oh and by the way it includes rutabagas and blue-fin tuna.”

That example is a pretty good example of why this discussion is acrimonious. Your goal seems to be to parse any and all characters thrown at Markdown in exactly the same way. I don’t think Markdown’s original creator would count accurate parsing of gibberish as goal of the project.

Is this gibberish?

# Hello there

This is a paragraph.

- one
- two
- three
- four

1. pirate
2. ninja
3. zombie

Check out how that parses in Babelmark.

15 different rendered outputs from 22 different Markdown parsers.

1 Like

How many different page renderings?

Prepare to have less beef, then. Jeff only mentioned that BBCode is accepted by Disqus - that has nothing to do with Standard Markdown, and indeed the spec makes no mention of BBCode. Skim the spec - it is nothing more than a tightening of the Markdown syntax. It’s only the Disqus parser that’s implementing a superset, akin to Objective-C. Standard Markdown really is just a spec and a test suite for an unambiguous flavor of Markdown.

1 Like

(Of course, IANAL)

But you can’t copyright a name, a concept or an idea. You can write all sorts of stuff in a “license”, it doesn’t make it legally binding.

You need to apply for and register a trademark if you want to protect a name. And you would probably need to do this worldwide, to be sure.

Markdown is, as a markup language, a concept/method/idea, which isn’t protected by copyright. Markdown, as a concrete parser/renderer implementation, such as the original Markdown.pl, is protected by copyright, but only this specific expression in code!

Is it disrespectful to use the name “Markdown” even though the original ‘creator’ does not want you to? Maybe. Is it illegal? Definitely not!

IANAL either, and nothing in this topic is legal advice, but you seem to be a bit confused about some basic principles.

Names, concepts, and ideas can be copyrighted in so far as they are described in written words. In the United States, one’s creations receive copyright protections as soon as they are created, regardless of whether or not those protections are asserted. A license is a grant by a copyright holder to use that person or organization’s copyrighted work. The license can set whatever terms it wants to, in exchange for giving permission to use that copyrighted work.

I think the W3C (and all other markup language specification creators) would disagree with you. XML, HTML, and all of their other markup language specifications are copyrighted. They can (and do) license those specification under all kinds of terms. In the case of Markdown, the license terms included the fact that you can’t use the name Markdown in any derivative work.

Markdown.pl is a piece of software and both the source code and any binaries are also copyrighted and licensed under the same terms … in addition to the specification.

Yes. Especially if one is wanting to be a good open source citizen. Respecting a copyright holder’s license is extremely important.

Probably, since the license is pretty darn specific. But I suppose you could roll the dice and let a judge decide.

1 Like

Because the name may be used with permission. Get permission, then its all good.

1 Like

That ad hominem charge might bear some credibility if you had actually rebutted anything Simon wrote and if your own post wasn’t riddled with errors and confusion. I won’t bother to give your post the fisking it so deserves, but will just comment on the first, critical, point.

This is basic, fundamental, incontrovertible legal principle, it is true and you failed to refute it. Specifically, the term “Markdown” is not copyrightable … that’s why we have trademarks. So instead of refuting this true statement, you offered

which is sophistic malarkey. Written works can be copyrighted, regardless of what they describe, or whether they describe anything at all … but the works are not the things they describe. You can write a thousand volumes about the term “Markdown”, with a copyright on all of them, while never having a copyright to the name “Markdown”, as no one does.

And as for specifications, which are also written works and thus can be copyrighted … if you write your own independent specification of a language, you own the copyright to that, regardless of whether there are other specifications describing a similar language. Again, written works are distinct from what they describe.

1 Like

That example is a pretty good example of why this discussion is acrimonious. Your goal seems to be to parse any and all characters thrown at Markdown in exactly the same way. I don’t think Markdown’s original creator would count accurate parsing of gibberish as goal of the project.

Actually, what makes it acrimonious is that sort of grossly dishonest personal attack. There is no evidence whatsoever of such a goal. Only formatting defined by the specification is specified … that’s tautological. And certainly one should be able to predict what the output would be … how could such a reasonable, desirable goal be a source of acrimony?

If it’s so clear, then why don’t you seem to have any idea what it says? It only applies to derived works, not independent implementations.

Please don’t confuse people with facts. Only sophistry, fabrication, and myth are permitted, like:

Fortunately, the folks working on Standard Markdown won’t be swayed by such blatantly false nonsense.

All the other Markdown derivatives are not as prominent as yours. Besides, another bad deed does not make your bad deed better :wink:

Gruber has made it clear that he does not want others to use the Markdown name for these kinds of projects. I’m not sure why you can’t show the (I would think small) amount of respect required to adhere to his wishes (and his license). I really think this is a great project, and I hope every relevant implementation of Markdown will try to adhere to it, and I hope you’ll expand it with a formal grammar soon, but by actively antagonizing Gruber, you’re only sabotaging yourself, and all of the good that can come out of this.

1 Like

Prepare to have less beef, then. Jeff only mentioned that BBCode is accepted by Disqus - that has nothing to do with Standard Markdown, and indeed the spec makes no mention of BBCode.

Oh man, time for my mea culpa.

After reading your reply I actually read the spec (which is arguably what I should have done before spouting off) and sure enough I am wrong. I feared that Standard Markdown was an overreaching superset of safe-html, markdown, and bbcode; but this is not the case. It looks like it really is just a restatement of Gruber’s markdown with less ambiguity. Thank you for correcting me, and I apologize for adding to to the confusion in this thread.

3 Likes