Logo    
Продукты, технологии Проекты, внедрения Новости мира IT Форумы Курилка Новые публикации Учебный центр
CitForum    CITForum на CD Море(!) аналитической информации! :: CITFORUM.RU
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware HOWTO

21.10.2004

[an error occurred while processing this directive]
Google
WWW CITForum.ru

2000 г

Кризис в программном обеспечении и способы его преодоления

Copyleft (С) Олег П. Филон (см. Примечание)
v1.0 Ноябрь 1999, Гомель, BY
см. также статью Этюд о героях невидимого фронта

За последнее десятилетие ПК (персональные компьютеры) получили широчайшее распространение и стали доступны практически повсеместно, от деревенской избы до современного оффиса. Тем острее встает проблема ПО (программного обеспечения), без которого компьютер представляет собой бесполезный металлолом.

Программы для компьютеров, как правило, стоят немалых денег, и обычно стоимость установленного ПО превышает стоимость собственно ПК. Таким образом, речь идет о сумме, сравнимой со стоимостью всего парка имеющихся компьютеров, и по самым приблизительным и скромным оценкам составляет миллиарды долларов. Часть этих денег уже уплачена за легально купленное ПО. БОльшая же часть ПО используется нелегально, в нарушение муждународных законов. Можно сказать, что мы используем это ПО в долг, и когда придет время этот долг платить - пока неизвестно. Долг в миллиарды долларов - это только одна сторона кризиса.

Вторая сторона кризиса ПО - закрытость коммерческих программ. Такая программа представляет собой "черный ящик", выполняющий какую-то работу, но внутреннее устройство которого закрыто и непознаваемо. При подключении ПК ко всемирной сети Интернет нет никакой гарантии, что какая-то из работающих программ не станет работать как передатчик, посылающий информацию из вашего ПК на другие компьютеры в сети. Любой серьезный пользователь должен знать о существовании такого "черного ящика" у себя в ПК. Для страны же в целом это настоящая угроза информационной безопасности.

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

Закрытость программ обеспечивается системой мероприятий от самого начала разработки проекта вплоть до лицензионного соглашения, которое обязан выполнять пользователь при покупке программы. Вокруг исходного кода (текста программы) создается завеса секретности, и как правило, продаются и распространяются только исполняемые файлы, из которых невозможно и незаконно понять внутреннее устройство программы. Это и есть тот самый запечатаный "черный ящик".

Исторически сложилась ситуация, что стандартной для ПК стала ОС (операционная система) Windows американской корпорации Microsoft. ОС - это самая первая программа, автоматически запускаемая при включении компьютера. Затем эта программа - ОС - по командам пользователя выполняет другие программы и предоставляет им ресурсы компьютера. Аппаратная архитектура, в нашем случае ПК с процессором от Intel или совместимым с ним, вместе с ОС образуют вычислительную платформу, и любая программа, работающая на ПК, привязана к этой платформе. Даже в США, где есть конкурирующие платформы и имеется зрелый рынок больших машин, правительство и эксперты пытаются бороться с угрожающей монополизацией рынка ПО империей Microsoft.

У нас же, и это тоже одно из проявлений кризиса, вышеупомянутая платформа Wintel практически вытеснила другие вычислительные платформы. Приученные к бесплатному сыру, многие наши специалисты-компьютерщики так и не поняли, что они оказались в мышеловке. Удобство работы пользователя, его привычка к определенному стилю работы, отсутствие системы подготовки профессионалов привели к тому, что ОС Windows устанавливают везде, где надо и где не надо. Затем оказывается, что сервер Windows отдает явное предпочтение другим программам от Microsoft, а с другими системами в общей сети Интернет Windows взаимодействует весьма неохотно. Таким образом круг замыкается, вы оказываетесь в плену у т.н. "решений Microsoft", и вырваться из этого плена все труднее.

Эти разоблачения происков Microsoft можно было бы с таким же успехом адресовать и любой другой фирме, занимающей монопольное положение на рынке. 30 с лишним лет назад фирма IBM также старалась заставить потребителей использовать только ее продукцию. И другие фирмы, торгующие коммерческими программами, отличаются от Microsoft разве что отсутствием монопольного контроля над вычислительной платформой. Возможно, у нас еще долго не было бы иного выбора, если бы не сеть Интернет и не предвидение одного человека.

Движение за свободное ПО, или т.н. проект GNU (Gnu Not Unix) основал легендарный программист Ричард Столмен в середине восьмидесятых. Его целью было создание совершенно открытой ОС с доступными исходными кодами, а также всех необходимых для нормальной работы приложений. И не только полностью открытых, но и с гарантией, что эти программы будут открытыми и доступными на все времена. Столмен вместе с первыми версиями своих программ разработал особое лицензионное соглашение, GNU GPL (General Public Licence). Это соглашение гарантирует, что автор программы разрешает как угодно использовать свою программу, дополнять, изменять ее, но требует всегда публиковать исходный код программы и сделанных изменений. Таким образом, фирмы, создающие коммерческие закрытые программы, или не могут использовать программы из проекта GNU, или обязаны предоставить исходный код своих доработок.

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

Первым фактором, кардинально изменившим привычное положение вещей, стало широкое распространение Интернет. Открытая модель разработки, использующая преимущество доступности исходного кода программ, позволила привлечь к разработке современных программ самых талантливых программистов по всему миру. Работая над одним проектом, люди зачастую общаются исключительно через Сеть (Интернет), находясь в разных концах земного шара. Открытость исходного кода резко ускоряет нахождение ошибок, гарантирует качество алгоритмов и невозможность замаскированых дыр в "черном ящике" внутри программ. Несмотря на отсутствие прямой денежной платы за работу над тем или иным проектом, сегодня армия программистов, так или иначе делающих вклад в проекты GNU, огромна, и для отдельных проектов далеко превосходит возможности даже такого монстра как Microsoft.

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

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

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

США, бесспорный нынешний лидер в разработке компьютеров, программ и Интернет, казалось бы, меньше других заинтересованы с успехе альтернативной вычислительной платформы. Но и в продвижении открытых программ они остаются впереди. Фирмы, занимающиеся свободным ПО, процветают, к ним проявляет интерес большой капитал. Не утихают попытки ослабить монополию Microsoft через суд. И хотя свободные программы уже прочно заняли часть рынка, их более широкому распространению мешает множество факторов. Вот некоторые из них, общие для всех стран:

  • число пользовательских приложений пока что больше для Windows, чем для других платформ
  • фирмы, торгующие коммерческими программами, обладают огромными деньгами и не жалеют средств на продвижение своей продукции
  • привычка пользователя к определенному стилю работы и нежелание его менять
  • дефицит специалистов по интернет-технологиям и открытым программам

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

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

Многие страны предпринимают попытки вырваться из плена Microsoft и использовать возможности, предоставляемые Интернет и открытыми программами. Например, в Мексике принята государственная программа по установке более ста тысяч компьютеров с ОС Linux в школах по всей стране и подключении этих школ к сети Интернет. В Европе, в странах ЕС, также стараются поддержать альтернативную платформу, в первую очередь ОС Linux. Более подробно об этой ОС, наиболее яркой и перспективной из открытых систем, можно прочитать в интернет, например, на http://www.citforum.ru/operating_systems/unix.shtml

Выводы из изложенного:

  1. Необходимо осознать наличие серьезного кризиса в области ПО. Повсеместная практика нелегального копирования программ привела к потенциальному долгу в миллиарды долларов. Уровень защищенности ПК и локальных сетей от проникновения из Интернет представляет угрозу информационной безопасности страны. Подготовка специалистов в области программирования и технологий интернет отстает от мирового уровня и отставание увеличивается.
  2. Кризис назревал не один год и его преодоление также требует много времени и усилий. Придется ломать устоявшиеся привычки, учитывать больше вариантов, принимая решения.
  3. Преодоление кризиса не требует дополнительных затрат, но требует проведения грамотной целенаправленной политики на всех уровнях, от школьных программ до предоставления услуг интернет государственными компаниями.
  4. Использование свободно доступных и открытых программ позволяет почти полностью сократить огромные затраты на лицензионное ПО, прекратить пиратское распространение и использование коммерческих программ в большинстве областей, где есть бесплатные аналоги.
  5. Свободное ПО открывает новые возможности для ведения бизнеса, предоставления услуг и создания рабочих мест.

Примечание:

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

Изменять этот документ нельзя.

С уважением Олег П. Филон
Oleg.Philon@mail.ee

 

Ближайшие курсы Центра Информационных Технологий:

25-28 октября 2004, Москва
Введение в объектно-ориентированный анализ и проектирование и унифицированный процесс разработки программного обеспечения c использованием языка UML и CASE-средства IBM Rational Rose

1-4 ноября 2004, Москва
Современные технологии анализа и проектирования информационных систем

1-5 ноября 2004, Москва
Основы передачи данных

9-10 ноября 2004, Москва
Основы моделирования бизнес-процессов и спецификации требований к ПО

Подписка на новости библиотеки:

Новые поступления в on-line библиотеку:

19 октября

  • Функциональная безопасность программных средств
  • Технологические процессы и стандарты обеспечения функциональной безопасности в жизненном цикле программных средств
  • Так как же восстановить данные таблицы?
  • Использование CAST и табличных функций в PL/SQL

    14 октября

  • Разрезая биллионы
  • Платформа, которой не существует
  • Intel 9xx: время тестов
  • Сбалансированная система показателей: краткий обзор рынка программного обеспечения
  • Кросс-браузерность: теория и практика

    12 октября

  • В борьбе за каждый миллиметр
  • Хранилища данных и семантические разрывы
  • BI и ССП: связь между ними
  • Десять заповедей резервного копирования

    7 октября

  • XML-СУБД Sedna: технические особенности и варианты использования
  • Хранилище данных: вопросы и ответы
  • Порядок разработки ETL-процессов

    5 октября

  • Использование сокетов в Delphi
    Часть первая: стандартные сокеты
    Часть вторая: сокеты Windows
  • Задачи и аналитическая платформа для ВРМ
  • Методики, технологии и инструменты ВРМ
  • Выбор системы управления эффективностью бизнеса: решающие факторы

    30 сентября

  • MySQL: Руководство разработчика
  • MySQL: Руководство по ODBC и MyODBC

    28 сентября

  • СУБД ЛИНТЕР. Технический обзор
  • Новое в СУБД ЛИНТЕР 6.1
  • Использование ЛИНТЕР в качестве встроенной СУБД

    21 сентября

  • Материалы книги П.Б.Храмцова "Система доменных имен"
  • Храните свои терабайты в ящике
  • Тестирование контроллеров iSCSI
  • Девять ошибок, которые могут помешать работе SAN

    16 сентября

  • Курс лекций В.В.Воеводина "Параллельная обработка данных"
  • Заморочки от Oracle, или знать бы, где упасть
  • Реинжиниринг: многое в малом
  • CASE-технологии: что, когда, как?

    14 сентября

  • Сильнее угроза - крепче защита (обзор 16 инструментов)
  • GnuPG - OpenSource шифрование и цифровые подписи
  • Оптимизация не-HTML-сайтов для поисковых серверов
  • Новые графические супер-карты от ATI и NVidia
  • Новая жизнь Ethernet

    9 сентября

  • Экстремальное программирование и быстрая разработка ПО
  • 64 бита - "народные" и не очень
  • Рынок ЖК-дисплеев: компании меняют приоритеты
  • Футбольный стадион на рабочем столе

    7 сентября

  • Методология оценки безопасности информационных технологий по общим критериям
  • MySQL Administrator - рулить СУБД легко
  • Взгляд на Windows через лупу
  • Все яйца в одном лукошке
  • Жесткие диски: любимая емкость

    2 сентября

  • Обзор внешних жестких дисков
  • Техника безопасности в беспроводном мире
  • Добавляем в компьютер USB
  • OpenGL и Delphi на практике
  • OpenGL: раскрой глаза на трехмерную графику
  • Иллюзии и реалии безопасности (обзор журнала Computer)

    31 августа

  • Ipsysctl tutorial 1.0.4
  • От включения питания до приглашения Bash
  • OpenBSD - заметки конечного пользователя
  • Запуск Linux-приложений из FreeBSD

    24 августа

  • О системных таблицах InterBase
  • О blog-ах замолвим пару словечек
  • Что такое RSS?
  • Разгон... Sound Blaster'а

    19 августа

  • Введение в Delphi 8
  • Парное тестирование - возьмем от ХР лучшее
  • XML-RPC: вызов процедур посредством XML
  • Связь и интернет для всей планеты
  • Сети для ловли будущего
  • Три кита будущей беспроводной свободы

    17 августа

  • Стеганография. Особенности использования программ на основе метода наименьшего значащего бита
  • Ping своими руками
  • Спецификации XML 1.1 и "Пространства имен 1.1"
  • Что нового в WSDL 2.0

    11 августа

  • Информационная безопасность в современных системах управления базами данных
  • Методические рекомендации №1 "О порядке автоматизации отчетности по МСФО"
  • Черводинамика: причины и следствия
  • Оживляем веб-страничку
  • Тихий ПК: несколько простых способов избавиться от компьютерного шума

    10 августа

  • Полезные советы по Windows XP
  • Oracle и Perl - это очень просто

    9 августа

  • Проблемы при восстановлении и их решение
  • Восстановление сервера с помощью onbar и ISM
  • Настройка диспетчера хранения данных ISM

    5 августа
    Виктор Костромин. "Linux для пользователя"

    Все новости >>>



  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware HOWTO

    Реклама на IT-портале citforum.ru

    Нестандартные PR-акции - pr@citforum.ru
    Пресс-релизы и информация в каталог компаний - manager@citforum.ru
    Послать комментарий
    Информация для авторов
    Rambler's Top100 TopList This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2004 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.