代码之家  ›  专栏  ›  技术社区  ›  Michael Aaron Safyan

ISO/IEC网站及C、C++标准收费

  •  41
  • Michael Aaron Safyan  · 技术社区  · 16 年前

    ISOC标准(ISO/IEC 9899)和ISO C++标准(ISO/IEC 14882)没有在网上公布;相反,人们必须为这些标准中的每一个购买PDF。我想知道这背后的原因是什么…对C语言和C++编程语言来说,这些语言的权威性规范不是免费的、可在线搜索的吗?这难道不鼓励使用可能不准确的、非权威的来源来获取有关这些语言的信息吗?

    虽然我了解到开发C和C++标准花了很多时间和精力,但我仍然对选择规范的选择感到困惑。这个 OpenGroup Base Specification 例如,可以在网上免费获得;他们通过收取认证费来赚钱。有人知道为什么iso标准委员会在证明标准符合性方面没有收入,而不是收取这些文件的费用吗?还有,有人知道ISO标准委员会 atrociously looking website 是故意这样看的吗?好像他们不想让人们参观和购买规格。

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

    我有一份i so/iec 9899:1999和iso/iec 14882:2003的复印件,所以请不要评论价格便宜或其他…虽然如果你想说这些话,你可能会考虑高中生、本科生和研究生,他们可能没有那么多额外的钱。另外,你可能想考虑这样一个事实:iso网站很粗略,他们甚至不会告诉你费用,直到你进行结帐…不会真的鼓励一个人去拿一本吧?

    编辑/评论
    我突然想到,如果ISO标准委员会从认证中获得收入,它将激励对标准进行较小但更频繁的更改,而不是很少进行非常大的修订。它也会鼓励建立一个可实施的标准(我怀疑ISO C++Copy委员会是否会首先引入“出口”,如果他们从认证中获得收入的话)。

    我已经找到了一个解决办法,其中一个烦恼没有PDF在线…我已经将我的标准副本上传到我的google文档中,这样我就可以从任何一台计算机上访问它,而不必随身携带。

    8 回复  |  直到 16 年前
        1
  •  18
  •   Community Mohan Dere    9 年前

    值得一提的是,赫伯·萨特(Herb Sutter)写了一篇关于这个问题的文章,评论中也有不少讨论:

    正如他所提到的,“开放”并不一定意味着“无成本”。如果学生或其他经济拮据的人可能需要免费版本的电子文档,请注意:

    1. 许多学生可能想要(甚至被要求访问)的推荐信都不是免费的
    2. 对于大多数工作来说,标准并不仅仅是一个要求——有大量免费的文档,这些文件对于大多数人可能想用C或C++做的工作来说是绰绰有余的。
    3. 草稿文档在许多情况下都可以免费下载;而不是 这个 标准的,最终的草案版本非常接近,可能足够好的许多用途。

    如果你是认真的C或C++编程,我建议你应该有一个标准的副本(虽然我不会说这是一个要求)。我还建议,不应该期望他们是免费的,就像任何职业或业余爱好一样,“行业工具”通常都不是免费的——无论这些工具是锤子之类的实物,还是手册或规范之类的信息。

    事实上,我认为,一组好的引用比一套标准更可取,如果你只能有一个或另一个,或者你开始了(你可能想要两个不同的C++,而哈比森和斯梯尔则是C所需要的)。

    别误会我——我不反对免费提供(我很高兴他们现在很便宜),但我不认为有任何理由期望他们免费。

    所以问题的答案, "Where do I find the current C or C++ standard documents?" ,有指向廉价版本和免费草稿版本的指针。另请注意,目前的C99标准(包括TC1和TC2)可免费下载:

    N1124“是一份WG14工作文件,但它反映了发布时的综合标准”。

        2
  •  8
  •   caf    16 年前

    很不幸,但我明白为什么会这样。

    标准机构必须自筹资金——收取标准费用背后的想法是,那些从标准中受益的机构然后为其生产支付费用。由于这些标准机构是政府间组织(而不是像开放集团这样的注册公司),它们没有提供认证业务的章程,因此它们不能以这种方式为其提供资金。

        3
  •  7
  •   sbi    16 年前

    有人知道为什么iso标准委员会在证明标准符合性方面没有收入,而不是收取这些文件的费用吗?

    我能回答的是:那里没有钱赚。除了EDG之外,从来没有一个标准的符合C++编译器。即使他们对那些试图(而且供应商愚蠢到让他们的明显不符合标准的编译器进行评估)的供应商收费,除了gcc(谁会为此买单?)能赚钱的小贩很少。

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

        4
  •  6
  •   Stack Overflow is garbage    16 年前

    虽然我了解到开发C和C++标准花了很多时间和精力,但我仍然对选择规范的选择感到困惑。例如,opengroup基本规范可以在网上免费获得;它们通过收取认证费用来赚钱。有人知道为什么iso标准委员会在证明标准符合性方面没有收入,而不是收取这些文件的费用吗?

    我说不出确切的动机,但请记住ISO是 巨大的 组织。它们不仅使编程语言标准化,而且还包括容器尺寸、电源插头、显示尺寸等。他们也比专业化程度更高的标准化组织更注重稳定性,甚至不惜牺牲繁文缛节,工作流程也非常缓慢。

    我想他们对文件收费有几个原因:

    • 它为组织的一些工作提供资金,
    • 他们不认为这是个问题。国际标准化组织 一般来说 不太涉及个人使用的标准。他们的大多数标准都是为了让大公司与其他大公司合作。对那些人来说,付几美元意味着 没有什么 ,甚至可以被视为质量的证明。
    • 这个组织相当古老。他们并不总是能够分发pdf文档。最有可能的是,收取文件费用的规则起源于文件必须打印并发送给您的日期。
    • 你不是从iso本身购买文档,而是从特定的国家机构购买,比如ansi。这应该能让你了解到iso有多大,以及它需要资助的网络有多大。事实上,标准的价格在不同国家之间差别很大,这使我相信价格是由各个国家机构制定的,而不是由ISO统一制定的。
    • ISO标准相当重。它是 这个 标准体,如果某个东西是由ISO标准化的,您可以 通常地 从各个角度和实际情况来看,一定要做到这一点 作品 在实践中。很少有组织有这样的记录。看看火车残骸,这是每一个W3C的“标准”。看看构成互联网的数量惊人的未指定的RFC。
    • 对C++编译器的认证收费不太可能是一个非常赚钱的项目。目前没有多少兼容的编译器,而且现有的一些编译器都是作为开源项目免费编写的。他们可能会因为必须支付数千美元的认证费而受到很大的阻碍(而要弥补数千用户下载标准所带来的收入损失,就必须支付数千美元)。你愿意把新的编译器赶出公司,这样你就可以省下20美元或其他任何费用吗?如果g++有那样的进入障碍,他们会不会从地面上下来?llvm的clang编译器会吗?天哪,微软愿意年复一年地支付这笔费用吗? 能够 专注于.net?

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

    不,他们用的是正确的定义。他们不收费 标准 . 可以实现C++编译器 免费 ,不支付任何版税或许可费。标准 是 公开提供。只是没有 自由地 可用。但肯定是公开的。任何人都可以访问它。你不必与iso联系在一起,也不必为某个特定的公司(或任何公司)工作。你不必是某个国家的公民或在政府工作,也不必有在标准委员会工作的叔叔。它是公开提供给 任何人 谁愿意交几块钱,比一本好的C++教科书便宜多少。

    它是 文件 他们收费。不是标准。标准是免费开放的。文件不是免费的。

    真的,这里面应该没有什么新鲜的。为什么你认为开源运动对“啤酒中的自由”和“自由中的自由”做出如此大的区分?因为 打开 来源并不一定意味着 免费的 . 通常,开源软件是免费的,但它不一定是免费的,也不总是免费的。

    那么您是否也认为应该更改“开源”名称?

    我们已经有了一个词,意思是“自由”。是“免费的”。免费分发的标准可以称为“免费”。“打开”是别的意思。你为什么要把“开放”的意思改成“自由”的意思?

        5
  •  5
  •   Potatoswatter    16 年前

    不要纵容盗版,也不要把自己当成榜样,获得一本就足够容易了。

    只需在谷歌上搜索“iso 14882 pdf”就能可靠地生成链接。现在,结果被C++0X FCD的拷贝弄糊涂了。但最近几次我需要一个拷贝,我发现一个免费的 在google.com上 .

    至于大学生,我记得我在随机的电脑实验室里做作业,那里没有我的文件。点击谷歌,我在一分钟内就有了推荐信。

    我不知道那笔费用是从哪来的,每一个供应商都有很大的不同,甚至到哪去了。标准委员会得到了雇主的丰厚报酬。美元的数额太随意了,不可能是税。

    我确实买过一个标准(我的雇主买了):ieee 1275开放固件。在我逛了一圈之后,大概是全球工程文档的200美元。它是普通复印机纸上的廉价影印品。我不认为它是收缩包装,它当然没有任何形式的封面。不断的剪纸。我加了一个三环活页夹,发誓再也不这样做了。(哦,标准被低劣的英特尔废话取代了。)

    看看GED的网站,他们收取30美元的合法PDF的C++ 03和373美元- 567美元(!)用于各种表面相同版本的未装订的复印件。

        6
  •  3
  •   CesarGon    16 年前

    我从2004年就开始参与i so,这是我到目前为止学到的。ISO不是商业组织,因此没有付费会员。其他标准机构(如omg)的资金来源是组织作为成员所支付的费用(并发挥其杠杆作用)。国际标准化组织不是这样运作的:它是由国家机构组成的,它们是各自国家的代表。因此,对标准收费是他们为自己的工作提供资金的唯一途径。

    此外,也由于ISO不是商业性的,所以ISO不做认证。认证业务 大的 商业)被私营公司作为其服务的一部分,围绕着ISO标准而开发,但不是ISO本身。

    最后,ISO标准不打算被个人购买。它们以组织为目标,并相应定价。

    希望这有帮助。

        7
  •  2
  •   David Thornley    16 年前

    “开放”有几个含义。

    在这种情况下,无论您是谁,您都可以获得任意数量的标准副本。您可以自由地实现它们,不再有任何困难。如果你愿意的话,你可以加入委员会,自己动手,并以这种方式影响它。在所有这些方面它都是开放的。

    现在,你需要钱来复制标准。我不知道是否要参加委员会,但为了实际目的,参加会议至少会有费用。

    就我个人而言,我认为坚持“开放”也意味着“自由”并不是那么有用。这里有一个明确的区别,开放和封闭(在这里你可能很难得到一个副本,或者不能自由使用它,或者影响它的发展),把这个和它是否要花钱混淆。

    还有一个问题是标准化过程需要花费金钱 来自某人,即使考虑到大量的志愿者工作。应该 它来自税收?对我来说,这就是另一种选择,不是税收就是 使用标准的人员和组织的费用。

    最后,我不认为这是一个真正的问题。标准对大多数人来说并不是很有用。除非读者已经知道这门语言,否则它们毫无价值,甚至不能作为一般参考文献。它们不是给随便的读者看的。真正使用它们的人可能会愿意在它们身上花费几美元,这将支持标准制定过程。

        8
  •  1
  •   stonemetal    16 年前

    它是开放的,就像“没有限制谁参与”一样,任何人都可以加入C++委员会。这是一个开放的过程。