17.7. Переносимость, открытые стандарты и открытый исходный код

17.7. Переносимость, открытые стандарты и открытый исходный код

Переносимость требует стандартов. Эталонные реализации с открытым исходным кодом являются наиболее эффективным из известных методов, как для распространения стандарта, так и для того, чтобы вынудить коммерческих поставщиков согласиться со стандартом. Для разработчика реализация опубликованного стандарта в открытом исходном коде может одновременно сокращать объем работ по кодированию и позволяет создаваемому продукту извлечь преимущества (как ожидаемые, так и неожиданные) из труда других разработчиков.

Рассмотрим, например, разработку программы захвата изображений для цифровой камеры. Зачем создавать собственный формат для сохранения изображений или покупать коммерческий код, когда (как было сказано в главе 5) существует многократно проверенная, полнофункциональная библиотека для записи PNG-изобра-жений, реализованная в открытом исходном коде?

Создание (или воссоздание) открытого исходного кода также оказало значительное влияние на процесс стандартизации. Несмотря на то, что это не является официальным требованием, IETF приблизительно с 1997 года все больше сопротивляется превращать в стандарты документы RFC, которые не имеют по крайней мере одной эталонной реализации с открытым исходным кодом. В будущем кажется вполне вероятным, что степень соответствия любому определенному стандарту будет все больше измеряться соответствием реализациям с открытым исходным кодом, которые были одобрены авторами стандарта.

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

Генри Спенсер.

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

До конца 90-х годов данная рекомендация была бы невыполнимой. Несколько альтернатив частных операционных систем и средств разработки были "благородными экспериментами", подтверждениями академических идей или "игрушками". Но Internet изменил все. В середине 2003 года Linux и другие Unix-системы с открытым исходным кодом доказали свою стойкость как платформы для создания программного обеспечения промышленного качества. В настоящее время разработчики имеют лучшую альтернативу, чем зависимость от краткосрочных бизнес-решений, направленных на защиту чужой монополии. Применяйте защищенные конструкции — создавайте программы на основе открытого исходного кода и вы не попадете в безвыходное положение.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

1.5.2. Кроссплатформенная переносимость и открытые стандарты

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

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


16.7.1. Что определяется как открытый исходный код

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

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


16.7.2. Стандартные лицензии на открытый исходный код

Из книги Системное программирование в среде Windows автора Харт Джонсон М

16.7.2. Стандартные лицензии на открытый исходный код Ниже представлены стандартные условия лицензий в проектах с открытым исходным кодом, с которыми читателю, вероятно, придется столкнуться.MIT <http://www.opensource.org/licenses/mit-license.html>Лицензия MIT или Консорциума X (MIT X Consortium License—


17 Переносимость: переносимость программ и соблюдение стандартов

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

17 Переносимость: переносимость программ и соблюдение стандартов Осознание того, что операционные системы целевых машин были настолько же большим препятствием для переносимости, насколько их аппаратная архитектура, привело нас к радикальному предложению: избежать


17.7. Переносимость, открытые стандарты и открытый исходный код

Из книги автора

17.7. Переносимость, открытые стандарты и открытый исходный код Переносимость требует стандартов. Эталонные реализации с открытым исходным кодом являются наиболее эффективным из известных методов, как для распространения стандарта, так и для того, чтобы вынудить


19 Открытый исходный код: программирование в новом Unix-сообществе

Из книги автора

19 Открытый исходный код: программирование в новом Unix-сообществе Программы как секс — лучше, когда они бесплатны. —Линус Торвальдс Глава 2 заканчивалась формулировкой самого значительного закона в истории Unix. Операционная система Unix "расцветала", когда ее практика


19.1. Unix и открытый исходный код

Из книги автора

19.1. Unix и открытый исходный код В разработке открытого исходного кода используется тот факт, что выяснение и исправление ошибок, в отличие от, например, реализации определенного алгоритма, является задачей, которая допускает ее разделение на несколько параллельных


19.5. Многообразие лицензий на открытый исходный код

Из книги автора

19.5. Многообразие лицензий на открытый исходный код 19.5.1. Лицензия MIT или Консорциума X Самым свободным видом лицензии на свободное программное обеспечение является тот, который гарантирует неограниченные права на копирование, использование, модификацию и


1.5.2. Кроссплатформенная переносимость и открытые стандарты

Из книги автора

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


16.7.1. Что определяется как открытый исходный код

Из книги автора

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


16.7.2. Стандартные лицензии на открытый исходный код

Из книги автора

16.7.2. Стандартные лицензии на открытый исходный код Ниже представлены стандартные условия лицензий в проектах с открытым исходным кодом, с которыми читателю, вероятно, придется столкнуться.MIT <http://www.opensource.org/licenses/mit-license.html>Лицензия MIT или Консорциума X (MIT X Consortium License—


19 Открытый исходный код: программирование в новом Unix-сообществе

Из книги автора

19 Открытый исходный код: программирование в новом Unix-сообществе Программы как секс — лучше, когда они бесплатны. —Линус Торвальдс Глава 2 заканчивалась формулировкой самого значительного закона в истории Unix. Операционная система Unix "расцветала", когда ее практика


19.1. Unix и открытый исходный код

Из книги автора

19.1. Unix и открытый исходный код В разработке открытого исходного кода используется тот факт, что выяснение и исправление ошибок, в отличие от, например, реализации определенного алгоритма, является задачей, которая допускает ее разделение на несколько параллельных


19.5. Многообразие лицензий на открытый исходный код

Из книги автора

19.5. Многообразие лицензий на открытый исходный код 19.5.1. Лицензия MIT или Консорциума X Самым свободным видом лицензии на свободное программное обеспечение является тот, который гарантирует неограниченные права на копирование, использование, модификацию и


Windows, стандарты и открытые системы

Из книги автора

Windows, стандарты и открытые системы Эта книга посвящена разработке приложений с использованием Windows API. Вполне естественно, что у программистов, воспитанных на UNIX и открытых системах, могут возникнуть следующие вопросы: "Является ли Windows открытой системой?", "Представляет ли


1.3. Открытый исходный код — это безопасно?

Из книги автора

1.3. Открытый исходный код — это безопасно? Бытует мнение, что программы с открытым исходным кодом надежнее и безопаснее, чем коммерческие.Сторонники этого утверждения считают, что такую систему исследуют много людей разными способами и тем самым выявляют все возможные