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:
- http://herbsutter.com/2010/03/03/where-can-you-get-the-iso-c-standard-and-what-does-open-standard-mean/
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:
- many references that students may want (or even be required to access) are not free
- 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++
- 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:
- http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
There’s a note that N1124 “is a WG14 working paper, but it reflects the consolidated standard at the time of issue”.