ISO / IEC网站和C和C ++标准的收费

ISO C标准(ISO / IEC 9899)和ISO C ++标准(ISO / IEC 14882)不在线发布; 相反,必须为每个标准购买PDF。 我想知道这背后的理由是什么……对C和C ++编程语言都没有害处,这些语言的权威性规范是不是可以免费获取和在线search的? 这不鼓励使用可能不准确的,非权威的来源来获取关于这些语言的信息吗?

虽然我知道在开发C和C ++标准方面花费了很多时间和精力,但是我仍然对收费标准的select感到困惑。 例如, OpenGroup Base Specification可以免费在线; 他们通过收取authentication来赚钱。 有没有人知道为什么ISO标准委员会没有在authentication标准合规方面的收入,而不是收取这些文件? 另外,有没有人知道ISO标准委员会的暴露神秘的网站是否有意使这样看? 就好像他们不希望人们访问和购买规范。

最后一件事…… C和C ++标准通常被描述为“开放标准”……虽然我意识到这意味着任何人都可以执行该标准,但是应该修改“开放”的定义吗? 对标准进行收费而不是公开提供似乎违背了开放的精神。

PS我有一个ISO / IEC 9899:1999和ISO / IEC 14882:2003的副本,所以请不要谈论便宜或任何东西…虽然如果你想说这样的事情,你可能要考虑高中,本科和研究生可能没有多less额外的现金。 此外,你可能要考虑的事实,即ISO网站是非常粗略的,他们甚至不告诉你的费用,直到你进行结帐…并不真正鼓励一个去拿一份副本,现在做它?

编辑/评论
我发现,如果ISO标准委员会从authentication中获得收入,它会激励对标准进行更小更频繁的更改,而不是非常大的修改。 它也会激励创build一个可实施的标准(我怀疑如果ISO C ++委员会从authentication中获得收入,那么他们首先会引入“出口”)。

我已经find了一个解决scheme来解决没有在线PDF的问题….我已经将我的标准副本上传到了我的Google文档中,这样我仍然可以从任何一台计算机上访问它,而不用担心。

对于什么是值得的,Herb Sutter写了一篇关于这个问题的文章,在评论中有一些讨论:

如他所言,“开放”并不一定意味着“免费”。 至于学生或财力有限的其他人可能需要免费版本的文件,请注意:

  1. 学生可能想要的许多参考资料(甚至被要求访问)都不是免费的
  2. 对于大多数工作来说,标准并不是一个必要条件 – 有大量免费可用的文档对于几乎任何人可能想用C或C ++所做的大部分工作来说已经足够了
  3. 草案文件在许多情况下可以免费下载; 虽然它们不是标准,但最终的草案版本非常接近,可能足以满足很多用途。

如果你对C或C ++编程认真,我build议你应该有一个标准的副本(尽pipe我不会说这是一个要求)。 我还build议不应该有这样的期望,即他们会自由的,就像任何职业或爱好一样,“交易的工具”通常不是自由的 – 无论这些工具是锤子这样的物体还是信息如手册或规格。

实际上,我认为如果你只能有一个或另一个标准,或者你刚开始的时候,一套好的参考标准对于一套标准是比较好的(对于C ++,你可能需要一些不同的标准) ,而Harbison&Steele则是C)所需要的。

不要误会我的意思 – 我不反对他们被免费提供(我很高兴他们目前的价格相当便宜),但是我不认为有理由期望他们获得自由。

SO问题的答案是: “我在哪里可以find当前的C或C ++标准文档? ,有指向廉价的版本和免费的草稿版本。 另请注意,目前的C99标准(包含TC1和TC2)可免费下载:

有一个注意事项N1124“是WG14的工作文件,但它反映了发行时的综合标准”。

这是不幸的,但我明白为什么它是这样的。

标准组织要求自筹资金 – 收费标准背后的想法是那些受益于标准的人正在为其生产支付费用。 由于这些标准组织是政府间组织(不是像开放组织这样的公司),他们没有一个从事提供authentication业务的章程,所以他们不能以这种方式提供资金。

有没有人知道为什么ISO标准委员会没有在authentication标准合规方面的收入,而不是收取这些文件?

这一个我可以回答:在那里没有钱。 除了EDG,从来没有一个符合标准的C ++编译器。 即使他们向供应商付费(而且供应商很愚蠢,让他们的显然不合格的编译器评估),除了GCC(谁会为此付钱?),很less有供应商可以从中赚钱。

关于费用:至less在某一点上,最好的交易是购买C ++ 03标准,作为一本书。

不要纵容盗版或把自己当作榜样,要获得副本是很容易的。

只需使用谷歌search“iso 14882 pdf”将可靠地产生一个链接。 目前,结果正在被C ++ 0x FCD的副本混淆。 但最后几次我需要一个副本,我发现一个免费的托pipe在google.com

至于大学生,我记得在随机的电脑实验室做任务,我没有我的文件方便。 打谷歌,我在一分钟之内的参考。

我不知道从供应商到供应商的费用在哪里变化。 标准委员会得到了雇主的很好的补偿。 美元的数额太随机,不能成为税收。

我曾经购买过一个标准(好吧,我的老板买了):IEEE 1275开放固件。 我在逛逛的时候收到了全球工程文档的200美元。 它在普通的复印纸上作为廉价的复印件出现。 我不认为它甚至被缩小了,它肯定没有任何掩饰。 恒定的剪纸。 我添加了一个三环活页夹,并发誓永远不会再这样做。 (哦,标准被撤销,并被劣质的英特尔废话所取代。)

现在看看GED的网站,他们收取30美元的C ++ 03合法PDF和373- 567美元(!)的合法Xeroxed副本的各种表面上相同的版本。

虽然我知道在开发C和C ++标准方面花费了很多时间和精力,但是我仍然对收费标准的select感到困惑。 例如,OpenGroup Base Specification可以免费在线; 他们通过收取authentication来赚钱。 有没有人知道为什么ISO标准委员会没有在authentication标准合规方面的收入,而不是收取这些文件?

我不能说出确切的动机,但请记住,ISO是一个庞大的组织。 他们不只是标准化编程语言,还包括容器尺寸,电源插头,显示尺寸和一百万个其他的东西。 他们也比更专业的标准化组织更重视稳定性,即使以繁琐的繁文</s>节为代价,工作stream程也非常缓慢。

我可以想象他们为什么要收费的原因有几个:

  • 它为本组织的一些工作提供资金
  • 他们并不认为这是一个问题。 一般来说 ,ISO并不是真正处理个人使用的标准。 他们的大部分标准都是针对大公司与其他大公司合作的。 对于那些,支付几美元毫无意义 ,甚至可以被视为质量的certificate。
  • 该组织相当老。 他们并不总是能够分发PDF文档。 最有可能的是,收取文件费用的规则起源于必须打印并运送给您的那些日子。
  • 你不是从ISO本身购买文件,而是从特定的国家机构,如ANSI。 这应该给你一些ISO的概念,以及它有多大的资金来源。 事实上,各国之间的标准价格差异很大,导致我认为价格是由各国的国家机构确定的,而不是由国际标准化组织集中制定的。
  • 一个ISO标准是相当重的。 这是标准化组织,如果某些事情是由ISO来标准化的,那么通常可以相当确定它是通过了,从各个angular度考虑的,并且实际上在实践中起作用 。 很less有组织有这样的logging。 看看每一个W3C“标准”的火车残骸。 看看构成互联网的大量可怕的RFC。
  • 对C ++编译器的authentication收费不太可能是一个非常有利可图的风险。 目前还没有很多的兼容编译器,现有的几个编译器都是免费编写的,就像开源项目一样。 他们可能会因为支付数千美元的authentication费而受到很大的阻碍(为了弥补成千上万名下载标准的用户的收入损失,他们必须要花费数千美元)。 你是否愿意把新的编译器从商业中解放出来,这样你就可以节省20美元或者他们收取的任何东西? 如果G ++有这种进入门槛的话,G ++是否会落地? LLVM的Clang编译器? 地狱,微软会愿意一年又一年地付这个费用,那时他们可能只关注.NET?

最后一件事…… C和C ++标准通常被描述为“开放标准”……虽然我意识到这意味着任何人都可以执行该标准,但是应该修改“开放”的定义吗? 对标准进行收费而不是公开提供似乎违背了开放的精神。

不,他们使用正确的定义。 他们不收取标准费用 。 您可以免费实现C ++编译器,无需支付任何版税或许可费用。 该标准公开可用的。 它不是免费的 。 但是肯定是公开的。 任何人都可以访问它。 您不必与ISO相关联,或者为特定公司(或任何公司)工作。 你不必是一个特定国家的公民,也不需要在政府工作,或者有一个在标准委员会工作的叔叔。 任何愿意交出几美元的人都可以公开使用它,而不是C ++教科书的成本。

这是他们收取的文件 。 不是标准。 该标准是免费和开放的。 该文件不是免费的。

真的,这里不应该有什么新东西。 你为什么认为开放源代码运动在“啤酒自由”和“自由自在”这两个方面做出了很大的区别? 因为开源并不一定意味着免费 。 通常,开源软件是免费的,但并不是必须的,并不总是这样。

你是否也认为“开源”的名字应该改变?

我们已经有了一个词,意思是“免费”。 免费”。 免费分发的标准可以称为“免费”。 “开放”意味着别的东西。 你为什么要把“开放”的含义改为“免费”?

“开放”有几个含义。

在这种情况下,无论您是谁,都可以随心所欲地获得许多标准的副本。 你可以自由地执行它们,没有任何困难。 如果你愿意的话,你可以自己join委员会并加以处理,并以这种方式影响委员会。 在所有这些方面它是开放的。

现在,你需要钱来获得标准的副本。 我不知道坐在这个委员会上,但是出于实际的目的,至less会有开会的费用。

就个人而言,我认为坚持“开放”也意味着“自由”是没有用的。 开放和封闭之间有一个明显的区别(在这个区域你可能无法获得一个副本,或者不能自由地使用它,或者影响它的发展),混淆这个是否花钱会混淆事物。

还有一个问题就是,即使考虑到大量的志愿者工作,标准化过程也需要花钱。 它应该来自税收吗? 这就是我的select,无论是从使用标准的人和组织收取的税费。

最后,我不认为这是一个真正的问题。 这些标准对大多数人来说并不是很有用。 除非读者已经知道这个语言,否则他们是毫无价值的,甚至不如一般的参考文献。 他们不适合休闲读者。 实际上对他们有用的人可能愿意花几块钱去支持标准制定过程。

自2004年以来,我一直参与ISO,这是我迄今为止学到的。 ISO不是商业组织,因此没有付费会员。 OMG等其他标准组织通过组织为交换成员(并发挥其杠杆作用)付费而获得资助。 国际标准化组织不是这样工作的:它是由国家机构组成,它们是各自国家的代表。 因此,收费标准是他们必须为自己的工作提供资金的唯一途径。

另外,由于ISO不是商业性的,ISO不会进行authentication。 authentication业务(这是一笔生意)被私营公司利用作为他们围绕ISO标准服务的一部分,而不是ISO本身。

最后,ISO标准不打算由个人购买。 他们针对组织,并相应地定价。

希望这可以帮助。

这是开放的,“没有限制谁可以参与”。 任何人都可以joinC ++委员会。 这是一个开放的过程。