Веб-сайт ИСО / МЭК и взимание платы за стандарты C и C ++ - PullRequest
41 голосов
/ 29 апреля 2010

Стандарт ISO C (ISO / IEC 9899) и стандарт ISO C ++ (ISO / IEC 14882) не публикуются в Интернете; Вместо этого необходимо приобрести PDF для каждого из этих стандартов. Мне интересно, в чем причина этого ... разве не вредно для языков программирования C и C ++, что авторитетная спецификация для этих языков не сделана свободно доступной и доступной для поиска в Интернете? Разве это не поощряет использование, возможно, неточных, недостоверных источников информации об этих языках?

Хотя я понимаю, что много времени и усилий было потрачено на разработку стандартов C и C ++, я все еще несколько озадачен выбором платы за спецификацию. Например, Базовая спецификация OpenGroup доступна бесплатно онлайн; они зарабатывают деньги, взимая плату за сертификацию. Кто-нибудь знает, почему комитеты по стандартам ISO не зарабатывают на сертификации соответствия стандартам, а не взимают плату за эти документы? Кроме того, кто-нибудь знает, намеренно ли так выглядит сайт комитета по стандартам ISO ? Как будто они не хотят, чтобы люди посещали и покупали спецификацию.

И последнее: стандарты C и C ++ обычно описываются как «открытые стандарты» ... хотя я понимаю, что это означает, что кому-либо разрешено применять стандарт, следует ли пересмотреть определение «открытый»? Взимание платы за стандарт вместо того, чтобы делать его открытым, кажется противоречащим духу открытости.

P.S. У меня есть копия ISO / IEC 9899: 1999 и ISO / IEC 14882: 2003, поэтому, пожалуйста, не делайте замечаний относительно дешевизны или чего-то еще ... хотя, если у вас есть искушение сказать такие вещи, вы можете рассмотреть высокий школьники, студенты и аспиранты, у которых, возможно, не так много дополнительных денег. Кроме того, вы, возможно, захотите учесть тот факт, что веб-сайт ISO действительно схематичен, и они даже не сообщают вам стоимость, пока вы не приступите к оформлению заказа ... на самом деле не побуждает кого-то пойти и получить копию, теперь это?

Редактировать / Комментировать
Мне приходит в голову, что если комитеты по стандартам ИСО будут получать свои доходы от сертификации, это будет стимулировать более мелкие, но более частые изменения в стандарте, а не очень большие изменения очень редко. Это также стимулировало бы создание реализуемого стандарта (я сомневаюсь, что комитет ISO C ++ в первую очередь ввел бы «экспорт», если бы они получали свои доходы от сертификации).

Я нашел решение одной из неприятностей, связанных с отсутствием PDF-файла в Интернете ... Я загрузил свою копию стандартов в свои Документы Google, чтобы я мог получить к ней доступ с любого компьютера, не неся его с собой. .

Ответы [ 8 ]

18 голосов
/ 30 апреля 2010

Как бы то ни было, Херб Саттер написал статью, касающуюся этого вопроса, и в комментариях есть немало дискуссий:

Как он упоминает, «открытый» не обязательно означает «бесплатную». Что касается студентов или других лиц с ограниченными финансовыми возможностями, которым могут потребоваться бесплатные версии документов, обратите внимание:

  1. многие ссылки, которые студенты могут пожелать (или даже обязаны получить к ним доступ), не являются бесплатными
  2. для большинства работ стандарты просто не являются обязательным требованием - существует множество свободно доступных документов, которые более чем достаточны для большей части работы, которую почти каждый может захотеть сделать с C или C ++
  3. проекты документов во многих случаях можно загрузить бесплатно; хотя они не являются стандартом , окончательные черновые версии очень близки и могут быть достаточно хороши для широкого использования.

Если вы серьезно относитесь к программированию на C или C ++, я бы посоветовал вам иметь копию стандартов (хотя я бы не сказал, что это требование). Я также предположил бы, что не следует ожидать, что они будут бесплатными, так же как и для любой профессии или «занятия», «инструменты торговли», как правило, не бесплатны, независимо от того, являются ли эти инструменты физическими объектами, такими как молотки, или информацией. такие как руководства или спецификации.

На самом деле, я бы сказал, что хороший набор ссылок предпочтительнее набора стандартов, если бы у вас был только один или другой, или вы только начинаете (возможно, вам нужна пара других для C ++, в то время как Harbison & Steele - все, что нужно для C).

Не поймите меня неправильно - я не против того, чтобы они были сделаны свободно доступными (и я рад, что они в настоящее время довольно недороги), но я не думаю, что есть какая-либо причина ожидать, что они будут бесплатными .

Ответы на вопрос SO, «Где найти текущие стандартные документы C или C ++?» , содержат указатели на дешевые версии и бесплатные черновые версии. Также обратите внимание, что текущий стандарт C99 (со встроенными TC1 и TC2) доступен для бесплатной загрузки:

Есть примечание, что N1124 "является рабочим документом WG14, но он отражает консолидированный стандарт на момент выпуска".

8 голосов
/ 29 апреля 2010

Это прискорбно, но я понимаю, почему это так.

Органы по стандартизации должны быть самофинансируемыми. Идея взимания платы за стандарты заключается в том, что те, кто извлекает выгоду из стандарта, платят за его производство. Поскольку эти органы по стандартизации являются межправительственными организациями (не такими компаниями, как The Open Group), у них нет устава заниматься сертификацией, поэтому они не могут финансировать его таким образом.

7 голосов
/ 29 апреля 2010

Кто-нибудь знает, почему комитеты по стандартам ISO не зарабатывают на сертификации соответствия стандартам, а не взимают плату за эти документы?

На этот вопрос я могу ответить: там нет денег, чтобы заработать. За исключением EDG, никогда не было стандартного компилятора C ++. И даже если они взимают плату за попытки поставщиков (и поставщики достаточно глупы, чтобы оценить их явно несоответствующие компиляторы), кроме GCC (кто за это заплатит?) Очень мало поставщиков, на которых можно заработать.

Относительно вознаграждения. По крайней мере, в один момент лучше всего было купить стандарт C ++ 03 в виде книги.

6 голосов
/ 30 апреля 2010

Хотя я понимаю, что много времени и усилий было потрачено на разработку стандартов C и C ++, я все еще несколько озадачен выбором платы за спецификацию. Например, базовая спецификация OpenGroup доступна бесплатно онлайн; они зарабатывают деньги, взимая плату за сертификацию. Кто-нибудь знает, почему комитеты по стандартам ISO не зарабатывают на сертификации соответствия стандартам, а не взимают плату за эти документы?

Я не могу сказать точную мотивацию, но имейте в виду, что ИСО - это огромная организация. Они не только стандартизируют языки программирования, но также измеряют размеры контейнера, разъемы питания, размеры шоу и миллионы других вещей. Кроме того, они гораздо больше, чем более специализированные организации по стандартизации, очень сосредоточены на стабильности, даже за счет большого количества волокиты и очень медленных рабочих процессов.

Я думаю, есть несколько причин, по которым они взимают плату за документ:

  • финансирует часть работы организации, а
  • они не видят в этом проблемы. ISO в целом не имеет большого отношения к стандартам, которые будут использоваться отдельными лицами. Большинство их стандартов предназначены для крупных компаний для работы с другими крупными компаниями. Для тех, кто платит несколько долларов, это означает ничего и может даже рассматриваться как доказательство качества.
  • организация довольно старая. Они не всегда могли просто распространять документ в формате PDF. Скорее всего, правило взимания платы за документы возникло в те дни, когда их нужно было распечатать и отправить вам.
  • вы покупаете документ не у самой ISO, а у конкретных национальных органов, таких как ANSI. Это должно дать вам некоторое представление о том, насколько велика ISO, и насколько большой она должна финансировать сеть. На самом деле цена на стандарт варьируется в зависимости от страны, и я полагаю, что цена устанавливается отдельными национальными органами, а не централизованно ISO.
  • стандарт ISO довольно тяжелый. Это стандартное тело , и если что-то стандартизировано ISO, вы можете обычно быть достаточно уверенным, что оно проработано, рассмотрено со всех сторон и на самом деле работает на практике. Немногие организации имеют такой послужной список. Посмотрите на крушение поезда, которое является каждым стандартом W3C. Посмотрите на огромное количество ужасно заниженных RFC, составляющих Интернет.
  • плата за сертификацию компиляторов C ++ вряд ли будет очень прибыльным предприятием. Вокруг не так много совместимых компиляторов, и некоторые из существующих компиляторов написаны бесплатно, как проекты с открытым исходным кодом. Им может быть существенно затруднено то, что им придется платить тысячи долларов за сертификацию (а это должны быть тысячи долларов, чтобы компенсировать потерянный доход от тысяч пользователей, загружающих стандарт). Готовы ли вы вывести из строя новые компиляторы, чтобы сэкономить 20 долларов или что-нибудь еще? G ++ когда-нибудь взлетел бы, если бы у них был такой барьер для входа? Будет ли компилятор LLVM Clang? Черт, Microsoft будет готова платить этот сбор год за годом, когда они могут просто сосредоточиться на .NET?

И последнее: стандарты C и C ++ обычно описываются как «открытые стандарты» ... хотя я понимаю, что это означает, что кому-либо разрешено применять стандарт, следует ли пересмотреть определение «открытый»? Плата за стандарт, а не за его открытость, кажется противоречащей духу открытости.

Нет, они используют правильное определение. Они не заряжаются для стандарта . Вы можете бесплатно внедрить компилятор C ++ , не выплачивая лицензионных отчислений и лицензионных платежей. Стандарт является в открытом доступе. Это просто не свободно доступно. Но, конечно, открыто. Любой может получить к нему доступ. Вы не должны быть связаны с ISO или работать в конкретной компании (или любой компании вообще). Вы не должны быть гражданином определенной страны или работать в правительстве или иметь дядю, который работал в комитете по стандартам. Оно открыто доступно для любого , кто готов отдать несколько долларов, меньше, чем стоит хороший учебник C ++.

Это документ , за который они взимают плату. Не стандартный. Стандарт бесплатный и открытый. Документ не бесплатный.

Действительно, в этом не должно быть ничего нового. Как вы думаете, почему движение Open Source делает такое большое различие между «свободным как в пиве» и «свободным как в свободе»? Поскольку открытый источник не обязательно означает бесплатно . Часто программное обеспечение с открытым исходным кодом является бесплатным, но это не обязательно, и это не всегда.

Как вы думаете, следует ли изменить имя с открытым исходным кодом?

У нас уже есть слово, которое означает «бесплатный». Это бесплатно". Стандарт, который распространяется бесплатно, можно назвать «бесплатным». «открытый» означает что-то еще. Почему вы хотите изменить значение слова «открытый», чтобы обозначить то же самое, что и «свободный»?

5 голосов
/ 29 апреля 2010

Чтобы не потворствовать пиратству или считать себя образцом для подражания, достаточно просто получить копию.

Просто поиск в Google "iso 14882 pdf" надежно создаст ссылку.На данный момент результаты замаскированы копиями CCD C ++ 0x.Но в последние несколько раз мне нужна была копия, я находил бесплатную, размещенную на google.com .

Что касается студентов, я вспоминаю, как выполнял задания в случайных компьютерных лабораториях, где я не делалмои файлы не пригодятся.Нажмите Google, и я получу ссылку в течение минуты.

Я не знаю, где даже взимается эта плата, которая сильно варьируется от поставщика к поставщику.Комитет по стандартам хорошо компенсируется своими работодателями.Сумма в долларах слишком случайна, чтобы быть налогом.

Я однажды купил стандарт (ну, его купил мой работодатель): IEEE 1275 Open Firmware.Это было что-то вроде $ 200 от Global Engineering Documents после того, как я совершил покупки.Это была дешевая фотокопия на обычной бумаге для ксерокса.Я не думаю, что это было даже упаковано в термоусадочную пленку, и это, конечно, не идет с каким-либо видом покрытия.Постоянные сокращения бумаги.Я добавил три кольца связующего и поклялся никогда не делать этого снова.(О, и стандарт был отозван и заменен на дерьмо Intel.)

Глядя на сайт GED сейчас, они берут 30 долларов за легальный PDF C ++ 03 и 373-567 (!) За несвязанный Xeroxed.копии различных якобы идентичных изданий.

3 голосов
/ 12 мая 2010

Я работаю с ISO с 2004 года, и это то, чему я научился до сих пор. ИСО не является коммерческой организацией и поэтому не имеет платных членов. Другие органы по стандартизации, такие как OMG, финансируются за счет сборов, которые организации платят в обмен на членство (и использование своего рычага). ИСО работает не так: она состоит из национальных органов, которые являются представителями своих стран. Таким образом, взимание платы за стандарты является единственным способом, которым они должны финансировать свою собственную работу.

Кроме того, а также из-за того, что ISO не является коммерческим, ISO не проводит сертификацию. Сертификационный бизнес (который является большим бизнесом) используется частными компаниями как часть их услуг в соответствии со стандартами ISO, но не сам ISO.

Наконец, стандарты ISO не предназначены для покупки физическими лицами. Они предназначены для организаций и имеют соответствующую цену.

Надеюсь, это поможет.

2 голосов
/ 29 апреля 2010

«Открыть» имеет несколько значений.

В этом случае вы можете получить столько копий стандартов, сколько захотите, независимо от того, кто вы. Вы можете реализовать их свободно, без каких-либо дополнительных трудностей. Вы можете, если хотите, присоединиться к Комитету, работать над ним самостоятельно и таким образом влиять на него. Во всех этих отношениях он открыт.

Теперь вам понадобятся деньги, чтобы получить копии стандарта. Я не знаю о том, чтобы сидеть в комитете, но для практических целей по крайней мере будут расходы на посещение заседаний.

Лично я не думаю, что так полезно настаивать на том, что слово «открытый» также означает «свободный». Здесь есть четкое различие между открытым и закрытым (в котором у вас могут возникнуть проблемы с получением копии, или если вы не сможете свободно использовать ее, или влияете на ее разработку), и неразбериха с тем, стоит ли это денег, приведет к путанице.

Существует также проблема в том, что процесс стандартизации стоит денег, которые должны исходить от кого-то, даже учитывая огромное количество добровольческой работы. Должен это из налогов? Вот как выглядит альтернатива для меня, либо налоги или сборы с людей и организаций, использующих стандарты.

Наконец, я не вижу в этом реальной проблемы. Стандарты не очень полезны для большинства людей. Они бесполезны, если читатель уже не знает языка, и они даже не очень хороши в качестве общих ссылок. Они не для случайного читателя. Люди, которые действительно используют их, вероятно, захотят потратить на них несколько долларов, и это пойдет на поддержку процесса разработки стандартов.

1 голос
/ 01 октября 2010

Это открыто как "без ограничений относительно того, кто может участвовать". Любой может присоединиться к комитету C ++. Это открытый процесс.

...