c++cstandardsiso

Why does ISO/IEC charge for the C and C++ standards instead of providing them for free?


The ISO C Standard (ISO/IEC 9899) and the ISO C++ Standard (ISO/IEC 14882) are not published online; instead, one must purchase the PDF for each of those standards. I am wondering what the rationale is behind this... is it not detrimental to both the C and C++ programming languages that the authoritative specification for these languages is not made freely available and searchable online? Doesn't this encourage the use of possibly inaccurate, non-authoritative sources for information regarding these languages?

While I understand that much time and effort has gone into developing the C and C++ standards, I am still somewhat puzzled by the choice to charge for the specification. The OpenGroup Base Specification, for example, is available for free online; they make money by charging for certification. Does anyone know why the ISO standards committees don't make their revenue in certifying standards compliance, instead of charging for these documents? Also, does anyone know if the ISO standards committee's atrociously looking website is intentionally made to look that way? It's as if they don't want people visiting and buying the spec.

One last thing... the C and C++ standards are generally described as "open standards"... while I realize that this means that anyone is permitted to implement the standard, should that definition of "open" be revised? Charging for the standard rather than making it openly available seems contrary to the spirit of openness.

P.S. I do have a copy of the ISO/IEC 9899:1999 and ISO/IEC 14882:2003, so please no remarks about being cheap or anything... although if you are tempted to say such things, you might want to consider the high school, undergraduate, and graduate students who might not have all that much extra cash. Also, you might want to consider the fact that the ISO website is really sketchy and they don't even tell you the cost until you proceed to the checkout... doesn't really encourage one to go and get a copy, now does it?

Edit / Comment
It occurs to me that if the ISO standards committees were to make their revenues from certification that it would incentivize smaller but more frequent changes to the standard rather than very large revisions very infrequently. It would also incentivize creating an implementable standard (I doubt the ISO C++ committee would have introduced "export" in the first place if they got their revenues from certification).

I have found a solution to one of the annoyances of not having the PDF online.... I have uploaded my copy of the standards into my Google Docs, so that I can still access it from any computer without carrying it around.


Solution

  • For what it's worth, Herb Sutter wrote an article touching on this issue, and there's a fair bit of discussion in the comments:

    As he mentions, "open" does not necessarily mean "no-cost". As far as students or others with limited financial means who might want free versions of thee documents, note that:

    1. many references that students may want (or even be required to access) are not free
    2. for most work, the standards simply aren't a requirement - there is plenty of freely available documentation that is more than adequate for much of the work that almost anyone might want to do with C or C++
    3. the draft documents are freely downloadable in many cases; while they aren't the standard, the final draft versions are very close and might be good enough for a lot of uses.

    If you're serious about C or C++ programming, I'd suggest that you should have a copy of the standards (though I wouldn't say it's a requirement). I'd also suggest that there shouldn't be an expectation that they'd be free, just as for any occupation or avocation the 'tools of the trade' are generally not free - whether those tools are physical objects like hammers, or information such as manuals or specifications.

    In fact, I'd argue that a good set of references would be preferable to a set of the standards, if you could only have one or the other or you're starting out (you'd probably want a couple different ones for C++, while Harbison & Steele is all that's needed for C).

    Don't get me wrong - I'm not opposed to them being made freely available (and I'm happy that they're currently rather inexpensive), but I don't think there's any reason to expect them to free.

    The answers to the SO question, "Where do I find the current C or C++ standard documents?", have pointers to cheap versions and free draft versions. Also note that the current C99 standard (with TC1 and TC2 incorporated) is available for free download:

    There's a note that N1124 "is a WG14 working paper, but it reflects the consolidated standard at the time of issue".