Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Naturally Occurring Standards

timothy posted more than 9 years ago | from the cutting-ends-off-the-ham dept.

Programming 295

An anonymous reader writes "The phrase 'de facto standard' can denote anything from proprietary tyranny to a healthy, vibrant, market. What makes a standard viable without the formal blessing of a standards organization? Should you use such informal standards, or ignore them?"

cancel ×

295 comments

Tests (5, Insightful)

BWJones (18351) | more than 9 years ago | (#12226889)

What makes a standard viable without the formal blessing of a standards organization?

The tests would be: "Does that standard meet the needs of disparate groups of people who may be using a tool for different purposes within an organized framework? Is the standard accessible? Also critically important: "does that standard lock one into a narrowly defined structure that is difficult to extend or modify as needs change? Is the standard backwards/forwards compatible? To answer your final question, standards become formalized when they begin to meet these tests and are adopted by appropriate shareholders. This of course is aside from issues of criteria definition, or guidelines which often begin to take on lives of their own and bastardize "standards".

Re:Tests (-1, Redundant)

Anonymous Coward | more than 9 years ago | (#12226962)

What makes a standard viable without the formal blessing of a standards organization?



1. Sell what people want.
2. ?????
3. Profit!

Re:Tests (1)

MynockGuano (164259) | more than 9 years ago | (#12227008)

What makes a standard viable without the formal blessing of a standards organization?

When your PHB comes back from the latest conference with the impression that it's the latest thing that "everyone's" doing (and was also, incidentally, developed by the same people by whom the conference was funded).

Re:Tests (-1)

Anonymous Coward | more than 9 years ago | (#12227108)

Luckily, the real world as I understand is even simpler. 1. Sell what people want at a profit. 2. Profit!

Re:Tests (0, Offtopic)

rsborg (111459) | more than 9 years ago | (#12227017)

s/shareholders [google.com] /stakeholders [google.com] /

Re:Tests (1, Insightful)

otisg (92803) | more than 9 years ago | (#12227047)

I saw a piece about Ben Franklin on TV the other night. Apparently, at one point Ben Franklin applied the same kind of thinking to taxes. When the tax law no longer made sense, the tax law had to be changed.
Hm, this reminds me of the Second Amendment right to keep and bear arms. That's not changing any time soon, is it?

Re:Tests (-1, Flamebait)

Anonymous Coward | more than 9 years ago | (#12227253)

Why should it? The second amendment doesn't need to be changed unless its to be changed into something even stronger. Maybe that way it would keep the damned liberals from crushing honest, law-abiding people under their marxist, left-wing thumbs.

Re:Tests (3, Interesting)

stankulp (69949) | more than 9 years ago | (#12227397)

"Hm, this reminds me of the Second Amendment right to keep and bear arms. That's not changing any time soon, is it?"

Great Britain and Australia have seen their violent crime rates soar [tripod.com] since revoking the right of ordinary citizens to own guns.

Over 50 million people were murdered by their own governments during the 20th century, and the first thing these governments did to start their cleansing programs was outlaw guns for ordinary citizens [jpfo.org] .

So tell me exactly why the Second Amendment makes no sense?

Re:Tests (1)

flyneye (84093) | more than 9 years ago | (#12227403)

best to concentrate on what you can change.
For instance the size of beer!
remember Ben said" God gave us beer because he loves us and wants us to be happy."
We will always have firearms,no reason to better them.Just learn to adapt and live with them.Beer on the other hand just keeps getting better.Lets standardize larger beer.

Re:Tests (5, Insightful)

Frater 219 (1455) | more than 9 years ago | (#12227357)

I'm going to take that subject line in a completely different direction. The difference between an informal "standard" and a formal one is that conformance to a formal standard can be tested.

Indeed, that's what the word "standard" meant of old. A standard is a pole, a stick -- such as a flagpole, hence the term "standard-bearer". However, more usefully, a standard is also a measuring-stick. (Another word for a well-sized stick is canon, which gives us the word canonical, meaning correct or orthodox, as well as cane, a walking-stick.) The purpose of a measuring-stick is to see if someone or something measures up -- if it is standards-compliant. Standards equals testing.

A real IT standard spells out required behaviors of the implementation. In a standards-compliant C compiler, the function printf accepts certain formatting codes, and generates specified formatting therefrom. A C compiler which (say) inserts extra decimal places when formatting a floating-point number is not just wrong, but provably wrong. You can write a test suite based on the C99 standard that enumerates every possible printf formatting code, and tests that the implementation does the right thing.

A standard can also spell out what is at fault in a failure. The DNS standards spell out the consequences of lame delegation. The SMTP email standards spell out responsibility for message delivery -- if your mail server accepts a message from a sending system, it is required to deliver it or transmit a bounce message. If you reject the message, it is up to the sending system to transmit the bounce. If the sender complains that their mail was not received and they got no bounce message, an inspection of the server logs can show which system is at fault by being out of compliance with the standard. Again, testing is of the essence here: one system is measuring up; the other is not.

An informal "standard" is an invitation to arguments over what is "acceptable" behavior. A formal standard that spells out exactly what is to be sent over the wire (or recorded in the file, or accepted in source code) can still be a source of debate, but at least the participants can accept that there can be right and wrong answers.

Formally informal (5, Interesting)

AKAImBatman (238306) | more than 9 years ago | (#12226901)

In my experience, things become an informal standard because either someone with a lot of influence says it should be (e.g. Microsoft) or the technology just makes a lot of sense and hits the market at the right time (e.g. Java).

Just remember: Microsoft Office is an informal standard, as is Microsoft Windows. Of course, if you ask Microsoft, it's all "the industry standard".

(Which reminds me of an amusing story. My company had a third party do a web video for us at one point. The third party then asked us what format we wanted it in. I replied "MPEG2" because it's the most portable and is a cross-platform standard. We then got back a WMV file with a note about Windows Media being "the industry standard". Apparently the only reason they asked was that they wanted to know if we wanted the file coded as VBR or not.)

re: formally informal (3, Insightful)

ed.han (444783) | more than 9 years ago | (#12227134)

i've always felt that de facto realities are more important than formal ones. after all, in a legal sense, a cop can't violate your miranda rights. however, no physical force you're likely to possess is gonna stop the cop from putting a beatdown on you if you honk him/her off.

similarly: a lot of employers maintain codes of conduct, most of which include an "acceptable usage policy" (AUP). how useful and fun a site would slashdot be if everyone abided by the actual terms of the AUP?

ed

Re: formally informal (0)

stratjakt (596332) | more than 9 years ago | (#12227175)

Kind of like the Army has a "don't ask, don't tell" policy, and then makes plans to use Linux in some of it's upcoming weapons systems!

Re: formally informal (0)

Anonymous Coward | more than 9 years ago | (#12227526)

I suggest that you invest in some phosphorous grenades, or a portable tesla coil, or just some plutonium to shove down their throat - ok, they'll get you first, but they'll come off worse from radiation poisoning.

Re:Formally informal (2, Insightful)

ergo98 (9391) | more than 9 years ago | (#12227212)

I replied "MPEG2" because it's the most portable and is a cross-platform standard

I realize that it isn't core to your point, but...MPEG2 is the most portable and cross-platform for a web video? Maybe in DVD players, however it's one of the most license/patent encumbered standards out there, which is why you generally can't play MPEG2 on the desktop unless it's in DVD form and you have the appropriate software/hardware.

Re:Formally informal (2, Interesting)

Tim C (15259) | more than 9 years ago | (#12227304)

Of course, if you ask Microsoft, it's all "the industry standard".

Which it is - it's a standard that's used in the industry. That's de facto standard rather than official standard, of course, but standard nonetheless.

Re:Formally informal (2, Interesting)

zippthorne (748122) | more than 9 years ago | (#12227359)

speaking of which.. is there a format for animated files? things with a few lines and not much else? On a project i'm working on uses a lot of low-color animated graphs. It seems really wasteful to encode as bitmap,(so we're generating the animations on-the-fly) but mpeg is definately not appropriate for such things: too many artifacts. Is there an "animated-postscript" format?

Re:Formally informal (3, Informative)

AKAImBatman (238306) | more than 9 years ago | (#12227383)

Is there an "animated-postscript" format?

SVG is the closest thing. Unfortunately, your customers will need a plugin. Sadly, Flash is the "de-facto" standard in this case. If you really don't want to use flash, just use animated GIFs.

Re:Formally informal (-1)

Anonymous Coward | more than 9 years ago | (#12227388)

Flash

Re:Formally informal (2, Informative)

jwinter1 (147688) | more than 9 years ago | (#12227435)

Animated gif? Flash, maybe?

SVG might be your best bet, though.

Worst. story. ever. (-1, Troll)

Anonymous Coward | more than 9 years ago | (#12226906)

Can't wait until you guys dupe this one.

Well, do you want to be rich or right? (2, Insightful)

winkydink (650484) | more than 9 years ago | (#12226920)

If rich, the follow the informal standard. If right, ignore it.

If you're very, very lucky, right & rich converge, but if its either/or I think my 1st 2 sentences sum it up.

Remember ... (4, Insightful)

foobsr (693224) | more than 9 years ago | (#12226937)

... our whole life is full of informal standards, to name three:

CC.

P.S.: An excellent article!

Re:Remember ... (1)

shawb (16347) | more than 9 years ago | (#12227430)

Woah. I decided to check out your link, read the lyrics and what not. Then Winamp started playing little house I used to live in.

Re:Remember ... (1, Funny)

_Sprocket_ (42527) | more than 9 years ago | (#12227536)

BRIAN:
Look. You've got it all wrong. You don't need to follow me. You don't need to follow anybody! You've got to think for yourselves. You're all individuals!

FOLLOWERS:
Yes, we're all individuals!

BRIAN:
You're all different!

FOLLOWERS:
Yes, we are all different!

DENNIS:
I'm not.

Standard... (3, Interesting)

xtracto (837672) | more than 9 years ago | (#12226939)

http://dictionary.reference.com/search?q=standard Something, such as a practice or a product, that is widely recognized or employed, especially because of its excellence.

What makes [or should make] something standard is the wide acceptance from the population. And after all, that is a standard. As an example (trying not to flamebait) Microsoft could try to standaraize his .DOC format, but if people wont use it, it wont be a standard (it wont matter if it is an ISO-XXXX standard). Of course, now, .DOC is a kind of document standard.

Re:Standard... (1)

Bullfish (858648) | more than 9 years ago | (#12227239)

I still say standards are a baseline from which to deviate, in practice anyway.

True standards qualify both ways (2, Interesting)

r00t (33219) | more than 9 years ago | (#12226960)

Few use the ISO network protocol. -> not standard
Microsoft Word *.doc is not open. -> not standard
HTTP is open and common. -> true standard

Re:True standards qualify both ways (2, Funny)

pilgrim23 (716938) | more than 9 years ago | (#12227258)

BSOD -Ultimate standard

Re:True standards qualify both ways (4, Insightful)

brontus3927 (865730) | more than 9 years ago | (#12227307)

openness has nothign to do with standards, de facto or de jure. DVD CSS isn't open, but it's a standard. After all EVERY video DVD is encrypted with CSS.

MS Word *.doc is a standard because 80% of the desktop market runs MS Word.

Just becuase it's closed doesn't mean it's not a standard

Re:True standards qualify both ways (2, Interesting)

superpulpsicle (533373) | more than 9 years ago | (#12227423)

Hard to classify HTTP as a standard. It's more of a protocol. Even html has 8 million different syntaxes. Some suits Netscape, some IE etc.

Re:True standards qualify both ways (1)

kabloom (755503) | more than 9 years ago | (#12227533)

That's why we have the word "open standard". if all standards were open, why would we need to say "open" specifically?

Re:True standards qualify both ways (1)

Lehk228 (705449) | more than 9 years ago | (#12227548)

After all EVERY video DVD is encrypted with CSS.

Nope, most mainstream titles are encrypted but the format does not require that content be encrypted and there are discs sold without encryption.

Industry standard techniques (3, Insightful)

bonch (38532) | more than 9 years ago | (#12226967)

Man, when I was in college, we had 8 or 9 different "Industry Standards". While most teachers were absolutely convinced that their method was the "Industry Standard", there were a few knowledgable enough to explained the whole thing to us. Mostly when people talk about "Industry Standards", it's manager-speak for "The Way We Do Things Here." So if you don't follow the "Industry Standards", you will not be working for long.

Also keep in mind that "Industry Standards" in the sense that I'm talking about has absolutely nothing to do with real ISO or QS standards. Those are actual organizations that create a set of standard rules for companies to follow, usually for the safety of workers and quality assurance of products. No, I'm just talking BS manager-speak...

good standards are not easy (2, Insightful)

MPHellwig (847067) | more than 9 years ago | (#12226976)

IMHO monopoly, patents, non-free available information about a specification is the dead to a public acceptable standard.
Without the above the best of breed will prevail and become "de facto standard".

Just a pity that when a company has the monopolicy on their market they only risk market share when using "good" standards, capitalism is good for starting up an economy however sometimes it is better to do some thing "socially" it's for the common good.

Analogy: urban architects, folksonomy (4, Interesting)

otisg (92803) | more than 9 years ago | (#12226981)

Good urban architects don't impose pavements on people. They let people walk freely and observe the walking routes and patterns. Then they put down the walk-way, and that becomes the standard place to walk. You follow it until you find something better, a shortcut. Then you build a new pavement there.

Folksonomies[1] are hot these days, and they go against the rigid a priory classification that has been standard so far. That's another example of a shortcut. Because it's better (easier, faster, more natural, etc.) people are adopting it, and it's becoming a de facto standard. That's the new shortcut, and pavents are being built to facilitate this new route.

[1] simpy [simpy.com] (use demo/demo for a demo)

Re:Analogy: urban architects, folksonomy (-1, Offtopic)

kin_korn_karn (466864) | more than 9 years ago | (#12227053)

Take a hit for me, dude.

Re:Analogy: urban architects, folksonomy (1)

Jimmy The Leper (734441) | more than 9 years ago | (#12227370)

That's what happened at the school I'm at now. At first they had nice windy paths between buildings that the students completely ignored.

After that they tore up all the paths and paved where the grass was worn to dirt from everybody walking on it.

I'm killing time again (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#12226983)

...I'm waiting for the rain.

Re:I'm killing time again (0)

maxwell demon (590494) | more than 9 years ago | (#12227019)

Well, the question is: Are you killing standard time?

De Facto Whipping Boys (3, Insightful)

Nom du Keyboard (633989) | more than 9 years ago | (#12226985)

1960
IBM

1970
IBM

1980
IBM

1990
Microsoft

2000
Microsoft

2003
SCO

It's de facto when it requires no further explination.

Re:De Facto Whipping Boys (1)

AKAImBatman (238306) | more than 9 years ago | (#12227040)

You forgot Cue::Cat [cuecat.com] . I miss those guys.

Acceptance (2, Interesting)

codesurfer (786910) | more than 9 years ago | (#12226989)

I've found that a 'standard' is often something that is found to be merely acceptable by the majority, not specifically desired or due to it's excellence. Standards are commonly just that...the minimal acceptable process/result.

Re:Acceptance (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#12227535)

something that is found to be merely acceptable by the majority, not specifically desired or due to it's excellence

Such as misuse of the apostrophe?

ni[g6a (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#12226991)

Discussion I'm hand...don't infinitesimally = 36400 FreeBSD though, I have to RAM) 7or about 20 startling turn

I guess it depends on what you mean... (4, Interesting)

stlhawkeye (868951) | more than 9 years ago | (#12226993)

I mean, when people violate conventions, I sometimes get annoyed. For example, creating stack variables in C whose names are in all-capital letters, when convention holds that macros look like that.

Perhaps it's useful to discuss what the difference is between a de facto standard and a convention. If there is none, then I'd say conventions evolve through traditions established by whomever pioneered a given technology/idea, and those conventions can and do change over time (Liebniz notation in calculus comes to mind as a mediocre example) as better ideas come up. But usually over a long period of time.

I mean, we had damn near purged the world of programmers who put their opening brace for a new code block on the same line as the conditional statement, and then that Gosling dude from Java went and set us back 20 years.

Re:I guess it depends on what you mean... (1)

AKAImBatman (238306) | more than 9 years ago | (#12227126)

I mean, we had damn near purged the world of programmers who put their opening brace for a new code block on the same line as the conditional statement, and then that Gosling dude from Java went and set us back 20 years.

I feel your pain on this one. Most of the *good* Java programmers use the newline syntax, but unfortunately too many companies follow the "Java Standard Coding Conventions [sun.com] " that say you should put the stupid brace on the same line. ARRGGHHH!

Re:I guess it depends on what you mean... (4, Insightful)

m50d (797211) | more than 9 years ago | (#12227138)

Why is it a problem? It saves space, increasing readability, and avoids this horrible bug:
for(int i=0;i<10;i++);
{
[loop body]
}

Re:I guess it depends on what you mean... (1)

Cecil (37810) | more than 9 years ago | (#12227306)

Why is it a problem? It saves space, increasing readability, and avoids this horrible bug: [Insert C code here]

Or you could just use Python, which enforces readability and avoids the entire concept of silly bugs like that in the process.

Re:I guess it depends on what you mean... (1)

Spy der Mann (805235) | more than 9 years ago | (#12227311)

for(int i=0;i<10;i++);

Ironically, I just stumbled upon that one.

Twice.

Anyway C++ should issue warnings about semicolons following forloops. Now _THAT_ would be a very good standard! :)

Re:I guess it depends on what you mean... (1)

Mattintosh (758112) | more than 9 years ago | (#12227571)

Recent compilers already do.

They also warn about if(foo=bar) goofs in your code.

Or maybe I just got a really good IDE/compiler back in '98 that did that (Symantec C++ for MacOS).

Re:I guess it depends on what you mean... (3, Interesting)

stlhawkeye (868951) | more than 9 years ago | (#12227312)

I was kidding, mostly, just needling people who use that brace style.

To answer your question, nothing is strictly wrong with it, it's a matter of preference. I can give you my reasons for disliking it but it's just garbage to justify an opinion I can't otherwise explain.

  1. The bracers are not vertically aligned in the same column, thus breaking my the ability to quickly, visually align blocks of related code on-screen. Note that plenty of people find your method more readable. I don't.
  2. Few people who code that way will put the start brace to a function in the same place; they tend to start a newline and put the brace on it. Usage tends to be inconsistant, making other people's code more difficult to read.
  3. When you start a new block of code without a conditional, where do you put the brace?
  4. If you want to test a block of code, you can easily comment-out the conditional if the brace has its own line. If you put it after the conditional, you have to comment that line out and add another brace, then delete it when you're done.
But mostly I like it because that's how I learned to program and I find the shortcomings of the same-column brace style more tolerable than the shortcomings of the old style. I find on-screen space to be a negligable concern, I haven't coded on an 80x25 terminal since 1993, I personally find it less readable, and I've not committed or experienced that particular bug since my first semester of C. Moreover, that bug becomes easily self-apparant with any modern editor that supports good syntax highlighting.

Those are my reasons, but I suspect that, as with most programmers, the real reason I dislike that style is that I didn't learn to code using it, and so it looks "funny" to me. Being a rational person, I've tried to justify my preference with logic, and I think I do a good job of it, but I'm willing to accept that it's just stubborn adherence to how I learned it.

I also find the BSD style ("my way") to be far more common than the K&R-style, which means I more easily read more code that I run into "in the wild". K&R didn't even use their own style consistantly. As I mentioned, they failed to use that style on function definitions.

I like the orthogonality of the braces lining up, it just looks clean and organized to me. However, in Perl, where I cannot omit braces for single-line code blocks after a conditional, I use K&R style for brevity, so I'm guilty of the very inconsistance that I claim to dislike!

Re:I guess it depends on what you mean... (1)

maxwell demon (590494) | more than 9 years ago | (#12227495)

Well, sometimes in C or C++ you also have one-liners in braces (e.g. one-line functions). I actually use the folowing rules:
  • Corresponding braces have to be either at the same line or at the same column. Unconditionally.
  • For braces at the same column, the line containing the opening brace doesn't contain anything else (except whitespace). Not even a comment. (This makes it easy to find out where to look for the corresponding closing brace: If there's anything else on the same line as the opening brace, the closing brace is too).

Re:I guess it depends on what you mean... (2, Interesting)

AKAImBatman (238306) | more than 9 years ago | (#12227353)

It saves space

Whitespace if your friend. If your code is too dense it actually becomes harder for the next guy to figure out. If you find yourself with massive code files that require you to make the code denser so that you don't get lost, then you need to check your design. Java encourages the use of large numbers of classes and packages for a reason.

increasing readability

When the braces line up, readability increases as the eye will naturally follow the brace down to its partner. Moving the brace on the same line produces asymmetric code that is rather unnatural for humans to read.

In addition, having the braces on separate lines helps if your formatting ever gets screwed up. It becomes much easier to slam the whole chunk of text to the left, then indent section by section. Just line highlight the inner-most braces and tab. Chose the next inner-most and repeat. Within a few seconds the entire chunk of text will be properly formatted.

avoids this horrible bug

That is a rather annoying bug. However, I have to say that I've lost far more time trying to read the same-line brace code (especially when idiots mix tab and space indents) than I have ever lost to the semicolon typo. I did the semi-colon two or three times, then I learned.

Re: I guess it depends on what you mean... (1)

gidds (56397) | more than 9 years ago | (#12227512)

You can code that stupid bug just as easily with the brace on the same line; just put the semicolon before the brace!

Seriously, putting the brace on the same line may (or may not) save a line of space, but you can't visually check the braces. With the brace on a new line, the opening and closing brace match up neatly, and make the structure much, much clearer. And it removes a whole bunch of bugs when code isn't in the block you thought it was.

And anyway, you don't need to waste a whole line. I'd write that code as:

for (int i = 0; i < 10; i++)
{___// loop body
____// ...
____// ...
}
which I find clear, logical and compact.

(Except with spaces instead of underscores, of course. Is there any way to get proper formatting past /.'s lame HTML subset?)

Re:I guess it depends on what you mean... (1)

Tenebrious1 (530949) | more than 9 years ago | (#12227333)

If there is none, then I'd say conventions evolve through traditions established by whomever pioneered a given technology/idea, and those conventions can and do change over time (Liebniz notation in calculus comes to mind as a mediocre example) as better ideas come up. But usually over a long period of time.

I think that the first uses are 'conventions'. There may be several conventions in use at one time by different groups, some more popular than others, but none of them are really 'standards' even if they call themselves such. Over time, one of those may become a 'de facto standard' simply because it is used by more people than other conventions. A group may be formed to define a 'standard', but it's only when all the major players agree to follow a specific convention does it become a real standard.

Re:I guess it depends on what you mean... (1)

Dwonis (52652) | more than 9 years ago | (#12227400)

we had damn near purged the world of programmers who put their opening brace for a new code block on the same line as the conditional statement

Why the hell shouldn't that be done? (Unless you're referring to using Python [python.org] . :-) )

Everybody uses defacto standards (1)

Quill_28 (553921) | more than 9 years ago | (#12227005)

Should you use such informal standards, or ignore them?

Like using a '?' to end a sentence?

Since none of you get out much (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#12227014)

Britney Spears is having a baby. That mean's she's "done it". Oh hell, you have no idea what that is so nevermind.

Re:Since none of you get out much (-1)

Anonymous Coward | more than 9 years ago | (#12227155)

What's really bad is she gave her cherry to http://www.imdb.com/name/nm0005493/ [imdb.com] :(

article text (1)

codergeek42 (792304) | more than 9 years ago | (#12227015)

When standards form in the wild, it may be a cry for formal standardization

Level: Introductory

Peter Seebach (crankyuser@seebs.plethora.net)
Freelance writer
12 Apr 2005

Column iconWhat makes a standard viable without the formal blessing of a standards organization? Should you use such informal standards, or ignore them? Learn more about de facto standards in this month's Standards and specs.

Dave Clark once said, "We reject kings, presidents and voting. We believe in rough consensus and running code."

The IETF (the organization Dave Clark was speaking for) is a standards body that has taken an unusual, but empirically quite effective, approach to standardization, preferring to see proposed standards tested out a bit in the field before they get formal blessing. In short, whenever possible, they formalize an existing de facto standard, rather than inventing a new one from scratch. The RFC process (see Resources) has worked well enough to produce many of the most widely used standards in the world, and IETF standards have a credibility even ISO can't always match.

What makes a de facto standard good enough to formalize, or possibly so good it doesn't even need to be formalized? In the wild, you will often encounter standards, with or without the blessings of a standards body, which seem like they might be applicable to your work. Sometimes, you may find no applicable standard, but a likely partnership to create one. In this Standards and specs, you'll see a few things to keep in mind when talking about de facto standards.

First, though, to dispel a few myths: Not all de facto standards are the same. Some of them are really good. Some are really bad. Not every de facto standard represents the best possible technical decisions; not every de facto standard represents the tyranny of a proprietary despot dribbling out just enough crumbs of documentation to keep the peasants from revolting. De facto standards can be temporary kluges, or carefully considered and planned designs; they can reflect an individual's vision or a committee's indecision. In short, it is dangerous to treat them as interchangeable.

Physical connectors
Computers love to talk to other devices. This (unless you're using radio) requires them to have some kind of cable connecting them, and that means connectors for the cable to plug into.

In most cases, a connector intended to be shared or used by multiple devices will be the topic of a formal standard. There is ample documentation on the pinouts of a standard USB cable, for instance. However, if it isn't the topic of a formal standard, the compelling need for interoperability is likely to lead to an informal standard. Connectors with formal standards are generally fairly precisely defined. The RS232 specification for serial ports describes signals, voltage levels, and everything, for standard DB25 serial ports. However, many computers ship with a 9-pin serial port. The pinouts for these have become a de facto standard.

It's worth noting that the formal standard (RS232) solved the hard problem, and the informal standard just covered a common extension. Network effects make standards like this a pretty good bet. If you're making serial cables with 9-pin connectors, they need to plug into the "standard" PC pinout. Given the widespread availability of such cables, if you're making a serial port, a 9-pin male serial port with the same pinout is a good bet. This is a great standard: it's free of licensing requirements, it's very easy to implement, and millions of machines use it. Given this, it seems obvious that anyone looking to build a serial port would want to use this standard, and certainly, anyone using a 9-pin d-sub connector would use it.

This makes it frankly inexplicable that I have a few uninterruptible power supplies that use a 9-pin d-sub connector, which is connected by a cable to a PC serial port, but which has some other pinout, such that the special serial cable the UPS comes with is the only one that can be used with it, and that cable cannot be used with other serial devices. This is a recurring theme, and it is one of the weaknesses of de facto standards: people who ought to know better sometimes ignore them. Since there's no licensing, there's also no authority to appeal to that will prevent vendors from doing this.

More de facto serial port standards
Unfortunately, not quite all serial ports are obediently standardized, and the additional complication of DTE/DCE devices leaves room for further improvement. Even with only standard ports, any given device could have a male or female connecter, DTE or DCE signaling, and use any of several connector form factors. One likely solution is to develop a standard port and universal cable. Dave Yost developed a spec for a universal standard serial port (see Resources) using an RJ45 connector. Each port gets an adapter bolted onto it, and after that, all ports are interchangeable. All you need for a serial cable between any two machines is an 8-wire RJ45 cable which connects pin 1 to pin 8, pin 2 to pin 7, and so on. This is a technically excellent spec, and freely available. If you use serial ports, you owe it to yourself to convert to it. It will make your life easier.

Ironically, some vendors have thwarted this budding standard by introducing products using RJ45 ports for serial cables -- with a different pinout. What were they thinking? It's quite possible they simply weren't aware of the existing standard. The take-home lesson is to seek out existing standards before inventing your own.

In general, a de facto standard for a physical connector is a great deal better than no standard at all. Resist the temptation to improve on the standard, especially if the improvements might be subtle or confusing.

Standards for connectors tend to stay fixed for a very long time simply because physically compatible plugs which are not electrically compatible make users come after manufacturers with torches and pitchforks. There's really no middle ground when building a connector -- either make it compatible with other connectors or make it physically distinct from them. Don't give the user an opportunity to cause damage due to design neglect.

For a spectacular example of a company getting this wrong, consider this example -- a piece of music gear that uses a 5-pin DIN connector for power connection. If you have 30 5-pin DIN connectors on the back of a rack of equipment and 28 of them are MIDI connectors, one is a comparatively high-voltage power source, and one needs that high-voltage power connected to it -- that's not so good. A quick guideline: If you feel the need to resort to 30-point bold text in your product manual warning people of the possibility of destroying hardware if they do something that would be intuitively obvious, something went wrong. Go back to the drawing board. Do not pass Go, do not collect two hundred dollars. Just pick a physically distinct connector. The world is full of connectors.

De facto 2: Attack of the clones
If a product is successful, imitators will arise. A technically compatible imitation of a product creates, in effect, a primitive de facto standard. A clone standard is generally not a first choice -- its strengths will come largely from network effects. For instance, the clones of the original IBM® PC have left us with machines with 3Ghz processors and 4GB of RAM which still distinguish between the 640K of "base" memory and the almost-4GB of "extended" memory. Ouch. And yet, obnoxious though this may be, it's in many ways superior to the mass of subtly incompatible systems it replaced. The history of the term "PC compatible" is long and interesting; see Resources for more about it.

Clone standards suffer greatly from a lack of direction and design. The original design may have been fairly good, but unless the clones are all perfect, the net result will be a standard full of landmines. For instance, a number of vendors cloned DEC's Tulip ethernet chip. The original chip was a technically excellent chip, very friendly to driver writers. The mass of clones is such that NetBSD's driver for the family of chips now lists 25 distinct chipset types, with an amazing variety of quirks to take into account.

A somewhat more venerable standard based on a cloned chip is the 16550 UART controller chip. This chip has been cloned by so many companies, in so many ways, as to beggar the imagination. Nearly every operating system has drivers for this piece of hardware -- Mac OS X supports it even though I can't find a consumer Macintosh product that has ever had one! The need for support for serial ports in server machines, though, has left them with a good reason to have a driver for the hardware. This simple piece of hardware, originally made by National Semiconductor, has survived several bus architectures. It was first seen in the early days of ISA and is still the standard serial interface on modern PCI systems. The interface is so well-documented and straightforward that there are an unbelievable number of clones.

Now that all the operating systems support this hardware, it would be crazy for anyone developing a new serial chip not to implement its interface. This shows network effects going wild on a technically reasonable standard. There's no big-name consortium backing this standard. It's just well-documented and easy to implement.

So, even with their flaws, clone standards can be beneficial. Running NetBSD on an old version of the VirtualPC PC emulator required only a tiny amount of driver work, because the emulated ethernet controller was Tulip-compatible. Mostly, anyway. Connectix benefitted from widespread OS support, because it used a de facto standard. Systems which supported this de facto standard likewise benefitted from access to the platform.

The biggest danger of clone standards is probably the comparative lack of documentation, especially in boundary conditions. Some clone standards have serious technical flaws. More subtly, a clone standard may include patented technology; discovering -- probably too late -- that your product depends on patented technology can wreck your day.

Let my people go
In practice, a word processor that can't read Microsoft® Word documents is an economic dead end. The formats used by the Microsoft Office applications have become a de facto standard, giving Microsoft a substantial competitive edge because each new release of its software can deliver for it a window of opportunity during which only its software is fully compatible; this is mitigated a bit, though, because incompatibility in a new version makes customers slow to upgrade to that newest version.

This is the evil twin brother of the cloned standard: a proprietary standard. Proprietary standards are generally bad for everyone but the vendor who controls them. They are only really seen as standards when the network effect makes them so ubiquitous that it's economically insane not to try to comply with the standard.

This is an area where a more formal standardization process would be beneficial to users, but there is a strong economic incentive for the competition in the field not to cooperate too much. The market leader has dominance already and won't benefit from helping competitors steal customers away. The market leader controls the standard, and will benefit most from squelching standards efforts. In fact, large competitors may also benefit from the lack of a standard. No word processor supports documents from other word processors flawlessly, so I own word processors sold by Microsoft, Corel, Sun®, and Apple, and I actually have to use all four of these to read the documents people send me! In the short run, only users would benefit from standardization.

If you're considering getting into a field where there's a proprietary de facto standard, be aware that the vendor who controls that standard has no economic reason to make it easy for you to participate. You will face poor or inaccurate documentation, if any, and quite possibly software licensing agreements prohibiting reverse-engineering. Worse, the myriad potential incompatibilities you might introduce will annoy users. The only reason to play this game is that users demand the ability to deal with files, data, or documents in proprietary formats. Otherwise, stay far away from the proprietary formats. It's not just office software; EDA tools have similar issues.

If you're a new player in a market like this, a good open format can be a selling point. Support the existing formats, but make your own open, and market pressure may give you an excellent opportunity to make inroads. You may rest assured that users are not currently thinking to themselves, "I want the next product I buy to lock me in to a proprietary format forever".

Licensing and patents
In some cases, a standard comes with some kind of licensing restrictions, or involves something that someone has a patent on. For instance, Unisys had a patent governing a bit of the algorithm used for GIF images. In general, patents are a huge weakness for a standard. The MP3 standard is used very widely by people who simply don't know -- or don't care -- that someone theoretically has a patent on part of it, and only some code using the patented algorithm actually has a license from the patent holder. Developers and users can be bitten by this many years after they make the design decision to use a patented algorithm, due to the nature of patents (see Resources). De jure standards often require contributors to clearly disclose any known patents; de facto standards generally have no way to do this.

In the case of GIF, GIF images, while a formalized standard, enjoyed substantial popularity as a de facto standard for Web graphics. It was fallout from the patent issue that led a number of people to actively pursue adoption of the technically superior PNG format. The network effects that made GIF so hard to escape were eventually overcome by a barrier to usage. Once PNG made it into major browsers, it became a more viable standard.

Licensing can help establish a standard. UNIX® can trace its widespread adoption back to the willingness of AT&T to license the system to people. The GNU products have in some cases been able to become de facto standards simply by being widely available and free. Their licensing terms are very clear and are furthermore economically excellent for most users. The IBM licensing of Power Architecture(TM) results in other vendors selling compatible CPUs in markets that IBM isn't selling in, producing wider adoption. (See Resources for more about the IBM interest in making Power Architecture a standard.)

Licensing tends to replace the technical problems associated with clones of proprietary products with economic problems. In some cases, it is the licensor who suffers the most from the standard. When Apple licensed software to other vendors, allowing them to create Macintosh-compatible computers, the result was a huge chunk taken out of its own market share. Of course, licensees can suffer too. When Apple discontinued the licensing program, the companies that had been selling Macintosh clones mostly disappeared.

If you're looking at licensing something, check the terms of the license carefully. If you can get comparable results without licensing issues, do so. However, network effects may decide the issue -- no matter how free Ogg Vorbis is, car stereos are more likely to play MP3 files.

Extensions
In some cases, a de facto standard builds on a more formal standard published by a standards body. For instance, in the early days after Netscape's release, many Web pages were developed either to take advantage of special features of Netscape or to work around bugs in it. The trend continues today since many sites render as intended only in one or two browsers. The W3C's formal standard has been trumped by the practical reality of making Web sites which work in at least some browsers.

In many cases, browsers have mutually exclusive bugs so a single page can't render correctly in all of them. This becomes more noticeable as pages use more and more complicated features.

In principle, the W3C's standards suggest a solution to this known as graceful degradation, in which a browser that is unaware of a tag should display the page reasonably without knowing about it. For example, the DIV tag in modern HTML, which gives layout hints to the browser, can be simply ignored and result in a perfectly reasonable page. By contrast, the implementation of the FRAMESET tag has left quite literally millions of pages which are indexed in search engines as containing only the text "This page uses frames, but your browser does not support them."

From an economic standpoint, it's hard to blame people for developing for the market reality instead of the theoretical specification, but the long-term effects can be incredibly expensive and crippling. A Web page trying to do a very simple thing may end up with 40KB of very-hard-to-understand JavaScript (or should I say ECMAScript?) which tries to correctly do that simple thing in a different way for each of fifteen subtly varied combinations of browser and platform.

Standards like this can be pernicious for developers and users alike when the boundaries between the formal standard and the extensions are blurred and unclear. For instance, shell scripts written for Linux(TM) systems often only work in bash. Likewise, many Linux programs will only compile with the GNU C compiler. These bugs can be nightmarish to track.

If you're thinking about depending on a fairly common extension to a formal standard, consider the effects on your audience. Careless statistical analysis can burn you here. A standard with 90% adoption according to a survey may have much lower adoption among your target market. Keep in mind the notion of graceful degradation.

There are serious risks with de facto extensions. Often, their subject matter is eventually adopted as a de jure standard, but the final standard may be subtly different from the original implementation. The battle between Netscape and IE showed that extensions can quickly turn into a morass of proprietary extensions. Worse, there is a real risk of critical technical deficiencies: extensions are often kluges rather than carefully considered designs. The "embrace and extend" philosophy offers developers the worst of both worlds: the anti-competitive practices of a proprietary standard coupled with the design vision of a poorly-run committee.

In general, stay clear if you can. There are exceptions -- both the 9-pin serial port and Dave Yost's serial standard are extensions, but neither is proprietary -- but in many cases, a de facto standard of this sort ends up being a dead end. Be especially careful to check for possible patents on standards like this (see Resources for more on patent issues).

Roll your own
You may find yourself doing something for which there is no existing standard, formal or otherwise. A little thought and design early on can make your product a de facto standard and encourage adoption. This is generally a good thing. It can increase the pool of products you interoperate with, and it can buy you credibility and respect.

One thing to consider early on is whether there are other companies or products you'd like to interoperate with, or whom you'd like to see adopt your proposed standard. If there are, it may be worth talking with them to get some second opinions. While people love to badmouth committees, a handful of technical people working together can accomplish a great deal, and a good review of a design can make the difference between a barely-usable niche design and a workable standard.

If you want your design to become a standard, two words mean more than anything else: good documentation. You need good, clear, documentation that covers everything people need to know to implement your standard, and you need it to be easily available. Don't think of this as a trade secret. Think of it as the published interface to encourage other people to use your product. The documentation should be as complete as you can manage. Be sure to solicit feedback. If people ask questions, make sure the documentation answers those questions.

Don't invent a new standard just because you don't much care for an existing one. The costs of competing standards are huge, for both users and developers. For a competing standard to be worth it, the technological advantages have to be so great, and so clear, that no rational designer would ever use the old standard once they knew about yours. This hurdle is higher than most people think. Consider that Open Firmware hasn't yet replaced the old PC BIOS on x86 hardware.

If you're cooperating with others on a standard, make sure that any intellectual property involved is available on reasonable terms -- ideally, completely and totally unrestricted. A standard that imposes unacceptable terms will be ignored. Hiding a patent and springing it on people later is just plain evil. Wise users will destroy any company doing such a thing, and salt the earth where the corporate headquarters once stood. The damage to everyone, developer and user alike, is simply unacceptable.

Summary
De facto standards can be anything from a considered technical effort by people with an interest in open communication (as in the case of many of the standards later blessed by the IETF), to a proprietary format, reverse-engineered out of simple economic necessity, to a solution put forth by a single person (such as Dave Yost). Standards are pursued because they offer significant benefits to developers, even when they impose substantial costs.

A good standard can reduce development time, offer economies of scale, and offer interoperability with other products. All of these benefits are possible whether the standard has been formalized by a standards organization or not. Even when it is possible to offer technical improvements to a standard, it may be more cost-effective to use the standard. It doesn't need to be perfect, and it doesn't need to be blessed by an institution, it just needs to be better than complete anarchy.

Many people have very strong opinions about standardization. Some argue that a standard that doesn't evolve in the wild can't possibly be technically sound, because committees are invariably governed more by politics than by technical considerations. Others claim that de facto standards are inherently unreliable or untrustworthy. In practice, de facto standards are neither the silver bullet which will cure all ills, nor a horrible blight on the competitive landscape.

One of the largest advantages of de jure standards is comparatively open disclosure of intellectual property issues. Unfortunately, "sleeper" patents can result in a third party having legal rights to material invented independently by others; there is no guarantee of safety from such claims. Nonetheless, a de jure standard will generally offer better disclosure.

When evaluating a standard, consider its openness, technical merit, and installed base. If there is any way to avoid closed standards, or standards which impose licensing costs, do so. A properly documented standard is dramatically preferable to having to reverse-engineer something yourself. If all else fails, consider making a standard -- but make sure you make a standard you would have liked to use. Open, well-documented, and technically coherent standards are valuable to everyone.

Re:article text (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#12227470)

Dave Clark? Of the Dave Clark 5? Good band.

Sort of like Art, or Porn (1)

ScentCone (795499) | more than 9 years ago | (#12227020)

You know a good Standard when you see one. Pretty hard to nail down, otherwise, because of the hugely varying contexts in which they're employed/evolved.

That said, my sense is: it's a standard when its wide acceptance makes things easier/cheaper/more-reliable. Of course, standards have a bad habit, over time, of turning into Orthodoxy or other dogmatic-thinking-type problems. For example, people constantly give me trouble for using Furlongs Per Fortnight when expressing velocity.

Re:Sort of like Art, or Porn (1)

MC68000 (825546) | more than 9 years ago | (#12227209)

For example, people constantly give me trouble for using Furlongs Per Fortnight when expressing velocity.


Ob Simpsons:

Or rods per hogshead

I'm beginning to wonder if... (3, Funny)

IronChefMorimoto (691038) | more than 9 years ago | (#12227022)

...there's a naturally occurring standard at Slashdot that demands that at least one story like this gets posted a day.

Meanwhile, my story submission about monkeys that play cards on the Internet gets rejected. F*ckers.

IronChefMorimoto

Re:I'm beginning to wonder if... (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#12227087)

Dude... Monkeys play cards on the internet? Link! Link!

Re:I'm beginning to wonder if... (2, Informative)

SmokeHalo (783772) | more than 9 years ago | (#12227459)

primatepoker.com

Public Opinion (1)

Stibidor (874526) | more than 9 years ago | (#12227025)

In my mind, an industry standard is simply the most popular design/implementation. Its quality and its popularity don't necessarily coincide, but if it's popular, isn't it easy to make the case that it is a standard?
To one person, PHP may be the industry standard for dynamic web pages. To another it may be ASP. Or JSP. Which one is the best? Depends on who you ask. The fact is, each of these technologies is an industry standard because they are popular.
In the end, doesn't it all just seem a little arbitrary?

Only design them when you really need them (2, Interesting)

billstewart (78916) | more than 9 years ago | (#12227029)

If there's a standard around that does what you need to do, it's probably worth using it, at least if it's usable. There's a lot of application design these days that's too minor for a standards committee to bother with, and it's usually more important to get creative and interesting stuff out there than to talk people into thinking your work is going to be sufficiently creative and interesting that they should form a standards committee for stuff like yours.

However, you should still do so openly - build interfaces that people can use, and document them so people can figure out how to use them, and if you're lucky, people will use them for things you've never thought of, so try not to prevent that.

Obvious - Java (0)

Anonymous Coward | more than 9 years ago | (#12227035)

Java is still a proprietary defacto standard. When will Sun learn?

Standards Orgs? (2, Insightful)

Unordained (262962) | more than 9 years ago | (#12227036)

Just because it has a stamp of approval from a big-name standards organization doesn't at all mean it's viable, though if it's not, it probably does mean that it's already popular in some way and someone wanted a stamp of approval for the sake of having it.

Like, say, HL7 for medical information exchange. The format sucks (we constantly find ways in which it can't handle the true cardinality of relations, because people assumed way too much) ... but we can't say "we don't support HL7 because we think it's stupid" without being laughed at. So you support it. And once you're done with that, you're too tired to go implement another spec that makes more sense, so you do what everyone else does: advertise that your software is HL7-compliant and therefore compatible with "every other major piece of software" in the medical industry (where "major" == "supports HL7", circular logic.)

Sure. It's standard. And approved (ANSI.) And widely used. And it sucks. (And no, moving it to XML in v3 doesn't make it any better.)

Re:Standards Orgs? (2, Informative)

rainmayun (842754) | more than 9 years ago | (#12227313)

There's a lot more to HL7 v3 than just changing the message format to XML. They've completely redefined the message development process, for one. Also the range of things you can express in a message is comparable with any decent ontological language, although that expression itself may be very complex. I'm curious to know exactly what relationship cardinalities you can't express.

You can do XML with v2.x now, anyway.

Analysis of the TFA (3, Insightful)

Flywheels of Fire (836557) | more than 9 years ago | (#12227060)

Analysis of the TFA:

In practice, a word processor that can't read Microsoft® Word documents is an economic dead end. The formats used by the Microsoft Office applications have become a de facto standard, giving Microsoft a substantial competitive edge because each new release of its software can deliver for it a window of opportunity during which only its software is fully compatible; this is mitigated a bit, though, because incompatibility in a new version makes customers slow to upgrade to that newest version.

Not true. Even Microsoft [mithuro.com] makes its products backward compatible. (One might say they make their products backwards, but that is another story).

In some cases, a standard comes with some kind of licensing restrictions, or involves something that someone has a patent on. For instance, Unisys had a patent governing a bit of the algorithm used for GIF images. In general, patents are a huge weakness for a standard. The MP3 standard is used very widely by people who simply don't know -- or don't care -- that someone theoretically has a patent on part of it, and only some code using the patented algorithm actually has a license from the patent holder. Developers and users can be bitten by this many years after they make the design decision to use a patented algorithm, due to the nature of patents. De jure standards often require contributors to clearly disclose any known patents; de facto standards generally have no way to do this.

Software patents [mithuro.com] are evil. Full stop. It has nothing to do with standards.

Ironically, this article, published by IBM, fails to mention how once IBM itself used to be a de facto standard for PCs.

Re:Analysis of the TFA (1)

rainmayun (842754) | more than 9 years ago | (#12227365)

Software patents are evil. Full stop.

I wonder if you would feel the same way if, for example, you came up with an algorithm to factor integers in polynomial time.

Time! (3, Interesting)

Skiron (735617) | more than 9 years ago | (#12227080)

You only need to look at time 'standards', which stemmed from the railways in the UK (how can you run a 'timetable' if all parts of the country run their own time?' - as an aside, railway timetables are worthless now, as the punctuality of UK trains are soul destorying if you need to use them commuting).

Then look at gun manufacture that introduced 'standards' to make parts that all fit no matter where that part was made.

Now look at the software state. Companies deliberately adopting the 'standard' that every agree on to make it all work, then once in common usage, change it slightly (privately) to break the standard and have their own monopoly.

Natural Salute (-1)

Anonymous Coward | more than 9 years ago | (#12227090)

I have a naturally occurring erection. Let's see who salutes it.

The true meaning of standards (0)

Anonymous Coward | more than 9 years ago | (#12227093)

de facto standards in practice mean that something has become widely used and there is no major argument (indeed there is probably an 'unwriten agreement') with the general concept of it's functionality or application.

Take XML for instance. Now widely used in many areas, although not *directly* by Joe Public.

However when people try to force standards like XHTML (a silly ass cludge between HTML and XML which defeats the point of both) there is no consensus on it's use or application and in the end it gets widely rejected.

For something to become a de facto standard it should never be a solution to a problem that in everyday life doesn't exist.

Informal Standards Make A Society (1)

Fussen (753791) | more than 9 years ago | (#12227104)

These types of standards help define the characteristics between rival groups but also help a general level of understanding how certain things should be done. The result is a shared common-ground.

I'd generally lean towards order than chaos on any given day.

In case of slashdotting... (0)

Anonymous Coward | more than 9 years ago | (#12227121)

Here is the md5 hash of the article: 3ac3b1972e1cfdef6d522a821c720fc8

open interfaces (2, Insightful)

vijayiyer (728590) | more than 9 years ago | (#12227131)

A standard is a good one when it has an open interface, regardless of whether it's 'official' or not. The relevant question is, "Can I interface with this 'standard'?" If the answer is "no", proper systems engineering becomes impossible, and everyone suffers.

Standards -- "Best Practices" (2, Interesting)

MrBoring (256282) | more than 9 years ago | (#12227149)

This reminds me of the term "Best Practices". Usually I rather hate the term because typically stuff labeled as such receives little to no public scrutiny. I'm left wondering, how does one know they really are "the best", and who is the author to say they are "the best."

In sciences like chemistry or physics, or other disciplines, knowledgeable people peer-review ideas before they get published, or widely at least. Those ideas are more measurable or provable, and seem to amount to more than a heap of words without any mathematical basis. The same is mostly not true in computing.

Instead, I think what defines standards have little to do with technical merit, and much more to with money. If you want to know what's a standard, look towards how much money companies have spent either creating, promoting or using it.
If the idea is bad enough, it'll probably be financed by someone.

De Facto Standards (3, Interesting)

Philosinfinity (726949) | more than 9 years ago | (#12227180)

This article makes several interesting points, however I am stuck on their second example where they discuss "PC Compatible." In this example, they state that PCs share in design from the original IBM PC. As an example it shows how a new PC may have 4GB of memory, but it still uses the 640K of base memory. Then it makes a fairly strong claim. It claims that this became the defacto standard in part because it was better than the standards it replaced. However, this doesn't seem to be true, necessarily or otherwise. The IBM PC became the defacto standard out of popularity more than anything else. One needs to look no further than the battle between VHS and BetaMax. Sure, Beta had better video and audio quality. However, due to cost, simplicity, and marketing, VHS became the standard for magnetic video tapes.

Re:De Facto Standards (1)

maxwell demon (590494) | more than 9 years ago | (#12227321)

Well, actually IMHO the PC became the de-facto standard because two things acted together:
  1. IBM was the market leader in computers (you didn't get fired for buying IBM)
  2. Every company could build PC clones without any royalties to IBM (thus making the PC clones relatively cheap)

I'm almost sure that if it were not for the clones, the PC would not be where it is today.

Re:De Facto Standards (2, Insightful)

Philosinfinity (726949) | more than 9 years ago | (#12227438)

Yeah, that is exactly what I was getting at. Specifically, from the article:
First, though, to dispel a few myths: Not all de facto standards are the same. Some of them are really good. Some are really bad. Not every de facto standard represents the best possible technical decisions; not every de facto standard represents the tyranny of a proprietary despot dribbling out just enough crumbs of documentation to keep the peasants from revolting. De facto standards can be temporary kluges, or carefully considered and planned designs; they can reflect an individual's vision or a committee's indecision. In short, it is dangerous to treat them as interchangeable.
This is a very important statement. It builds a framework to relate the usage of de facto standards to Kuhn's characterization of science in The Structure of Scientiffic Revolution. In this case, we find that the standard exists merely for the reasons we both outlined (e.g. gross popularity or cost factors) and not necessarily because of its function. This flies in the face of Kuhn, though. What it does, though, is show that while computer science is very science like, there are still major roots of business that factor into its evolution and development.

The pc would not be where it is today (0)

Anonymous Coward | more than 9 years ago | (#12227577)

It might well be better. The IBM PC didn't win the market place because it was better.

There were better computers on the market at the time. There were good programs written for those better computers. Yet IBM comes along with its PC and everyone almost instantly gravitates to it. It wasn't cheaper, it wasn't better, it didn't have more software available. It was command line when several other computers were already gui. It wasn't even easier to use.

I'm still baffled. Well maybe it was the availability of clones. Apple took a hard line on clones after everybody cloned the Apple II. IBM encouraged clones by publishing the technical reference. Maybe it's another case of open standards prospering.

Re:De Facto Standards (0)

Anonymous Coward | more than 9 years ago | (#12227373)

I am not sure if the auther is right, on modern computers still using 640K base with the remainder being expanded. I may be wrong, but modern computers run in protected mode, which uses a linear address space. Granted you have to segment this space with at least two segments, with the segments mapped between 0 and 4GB. Extended memory died along with the 16-bit os.

Re:De Facto Standards (1)

BitwizeGHC (145393) | more than 9 years ago | (#12227447)

All PC compatible computers these days boot into real mode. They must be changed over to protected mode by the OS, or the bootloader.

There may be some exceptions to this rule (e.g., SGI's short-lived "Visual Workstation") but in general if you buy an x86 box, it follows the same procedure to boot Linux or Windows XP as the original PC did to boot DOS. What the operating system does from there is up to that OS.

Re:De Facto Standards (1)

operagost (62405) | more than 9 years ago | (#12227424)

VHS licensing was also free. Betamax was not.

Re:De Facto Standards (1)

solios (53048) | more than 9 years ago | (#12227432)

It wasn't cost, simplicity or marketing.

VHS became the standard because you could record a full movie onto it. You could only record an hour on Beta. (yes, there are full movies on Beta but how long was it before the "six hour" VHS record mode was available?)

Guess what people wanted?

Same reason cel phones have all but completely replaced pagers overnight.

better question... (3, Insightful)

briancnorton (586947) | more than 9 years ago | (#12227245)

What makes a standard viable without the formal blessing of a standards organization?

Here's a better question. What makes a blessed standard viable? A standard is only as good as it's market penetration, and defacto is the only standard that makes a lick of difference. Don't buy it? Go ahead, write your site in SVG, your competitors will use flash and make money while people scratch their heads when they read "plugin needed" on your page.

You're using one right now (4, Interesting)

ksvh (875006) | more than 9 years ago | (#12227246)

The English language itself is an example of a naturally occurring communications standard. Although it is an informal standard, I do not recommend ignoring this one.

We make them up as we go along. (1)

suitepotato (863945) | more than 9 years ago | (#12227256)

To be honest, it's what everyone in the Unix world did from the start, Microsoft does more than most people change their socks, every browser coder does by not meeting someone else's, and what your parents do whenever you surprise them.

Seriously though, who writes the standards? Whoever is purveying the popular thing of the moment. Who follows the standards? Those who want to weasel market share from the one writing the standards. Who changes the standards? People who rightly or wrongfully think they should. Who makes us follow them? No one.

(Aren't you glad that "no one needs more than 640K" standard is not?)

I prefer not to deal with standards beyond common sense and knowledge of the species using the thing based on the standard, except where important like engineering requirements for structures and so on. The only other time I'd bother is if I'm trying to interact with those who insist on adherence to some standard.

Rambling, incoherent, without standards. /. standard it seems.

think about it... (3, Funny)

Anonymous Coward | more than 9 years ago | (#12227263)

The great thing about standards is there are so many of them to choose from.

question: where's the flaw? (-1)

Anonymous Coward | more than 9 years ago | (#12227348)

answer: it's in the question.

Driving on the Right Side (4, Insightful)

mlmitton (610008) | more than 9 years ago | (#12227358)

It may be worth noting that in the U.S., car drivers were driving on the right side of the road well before the government required they do so.

But then again, there was no private organization that benefitted from which side of the road people used. If Ford made money from the left side, and GM from the the right, then we can well imagine there would be a battle for which side of the road we drove on, and which side would probably vary from location to location. ("Hey New York, I'll give you a million bucks if you require people to drive on the left!")

Take away the private interests, and people will naturally organize themselves to one format or another. And, in most cases, consumers will be better off for it. The only reason they may be worse off is if people rally around an inferior standard, but that's probably more likely to happen with private interests.

Moving on to my opinion....the answer isn't to have the government force one standard or another on us. The answer is to have the government force the private interests to allow us to choose a standard with a minimum of baggage that comes with it. e.g., Don't force everyone to use .DOC, simply make it so that if you choose to use .DOC, you can use it with Word, OpenOffice, or whatever.

Re:Driving on the Right Side (2, Informative)

Anonymous Coward | more than 9 years ago | (#12227519)

Take away the private interests, and people will naturally organize themselves to one format or another

This is a very big assertion; you might want to back it up. As for your statement about Ford and GM not being able to change people's mind, keep in mind that the US "drove on the right" long before cars were even invented. These conventions occured during colonial times with horses as well, long before the automobile was invented.

On a side note, there are two people that we have to thank for the fact that most people in the world drive on the right - Napoleon and Hitler. Napoleon introduced to many parts of Europe convention of keeping right when he rampaged through Europe and those conventions stuck around after his departure. After Napoleon, it was pretty much just Britain and the Hapsburg Empire (Austria) on the left side of the road. Hitler took care of the latter after the anschluss.

When the Industry (read controlling Co's) Dictate (0)

Anonymous Coward | more than 9 years ago | (#12227401)

Haven't seen anyone really address the fact that certain companies (and for once I'm not referring to MS) do control the standards of the industry. My humble opinion follows. Try cabling. EIA/TIA standards are the norm. They typically derive straightly from the BICSI protocals. Hmmmm! BICSI is an industry driven society and they make their standards almost verbatim from what the cable manufacturing industry says. Why does this establish what will work and what won't? It doesn't. YOU CAN install non-conforming (to the "Industry Standard") cabling that will work. Even more efficiently than the "Standard" cable. Just try to sell a structured cabling system that DOESN"T conform to the standard. It doesn't happen too often. Gueese what. Fiber to the desktop isn't an acceptable solution for Gigabyte communications under the current standard. Go figure.

Standard == Flag To Rally 'Round (2, Interesting)

rewinn (647614) | more than 9 years ago | (#12227416)

Literally or figuratively, a "standard" is a flag that the troops rally around as we head into battle.

If we're lucky, we rally 'round because the standard inspires us and represents something we love.

If we're unlucky, we rally 'round because the Commissars are standing behind us with sidearms ... literally or figuratively.

Most important article for /. in days (4, Insightful)

TodPunk (843271) | more than 9 years ago | (#12227501)

This really is something that everyone in this community should be taking to heart. This is why Linux has had difficulty breaking into heavy usage, why hundreds of projects (including open source software projects) have failed, and why we haven't moved to better architectures in the computing world.

In practice, a word processor that can't read Microsoft® Word documents is an economic dead end.
I think that's probably one of the most important statements in the article. If every reader who plans on writing any code, coming up with a piece of hardware, or decides to rethink Support conventions were to take the heart of that message and put it into their plans, we'd really start making headway in the real world with real innovation.

In summary: Your idea may be good, but that doesn't mean squat in the market. What DOES matter is: How much of a headache is your solution to X going to give me versus what I already have? Yet I STILL get asked by my co-worker why we aren't using Linux for our desktop PCs...

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...