Модели разработки и распространения по
Все программное обеспечение по модели разработки можно разделить на две группы:
Программы с закрытым исходным кодом (Proprietary Software) – тексты программ не предоставляются пользователя;
Программы с открытым кодом (Open Source Software) - тексты программ предоставляются пользователям. При этом выделяются понятия:
Исходный текст (код) программы – последовательность действий, описанная на любом из языков программирования в текстовом виде, необходимая для выполнения какой либо задачи на компьютере. Распечатка исходного текста дает полное представление о логике работы программы.
Бинарный (исполняемый) код программы – результат автоматической обработки исходного текста программы, где текст языка программирования заменяются последовательностью нулей и единиц, необходимых для управления центральным процессором компьютера. Распечатка бинарного кода не дает представления о логике работы программы.
Лицензия – свод правил, регулирующих права на использование, модификацию и распространение программы во всех ее проявлениях – в бинарном виде и в исходных текстах и разделение ответственности в случае нарушения таковых.
В последнее время мировая общественность и государственные органы развитых стран все больше и больше внимания уделяют программному обеспечению с открытым исходным кодом (интерес своим происхождением обязан Linux).
Интернет может значительно сократить стоимость обеспечения пользователей некоторыми типами программ, такими, как ОС, компиляторы и утилиты. Интернет предоставляет возможность создания бесконечного количества доступных удаленному пользователю абсолютно идентичных копий компьютерных программ, мультимедиа-презентаций либо интересных дискуссий по электронной почте.
Программы с открытым кодом разрабатываются международным сообществом программистов. Международное сообщество программистов - это свободное объединение свободных людей. Но это организованное сообщество. Это сообщество возглавляют лидеры – признанные неформальные авторитеты. Любой участник сообщества программистов может провозгласить себя лидером, но не каждый лидер сможет увлечь за собой сообщество. Международное сообщество ряда серьезных программ имеет более сложную организацию, которая имеет не только лидеров проекта в целом, но и лидеров национальных групп. Такая организация проектов позволяет выпускать более качественные переводы программ на национальные языки. На национальном уровне свободные программы поддерживаются специализированными программистскими предприятиями, которые участвуют в международной разработке программ.
Большинство разработчиков программ с открытыми исходниками делают это в погоне за мечтой, а не для пополнения своих банковских счетов. Их мотивировки могут различаться, но, попросту говоря, способности многих выдающихся программистов используются не полностью на тех должностях (часто в корпоративной среде), на которых им приходится работать.
Сторонники разработки программ с открытыми кодами отмечают следующее:
все пользователи, использующие вычислительную технику для обеспечения нужд бизнеса, заинтересованы в соблюдении авторских прав разработчиков программного обеспечения, как гарантии его дальнейшего развития;
современный уровень развития общества, практически не оставил сфер экономики, где возможна коммерческая деятельность без использования вычислительной техники;
для подавляющего большинства форм хозяйственной деятельности программное обеспечение не является средством образования прибыли и выполняет вспомогательную функцию, обеспечивая сопутствующий документооборот, тем самым увеличивая стоимость произведенного продукта или услуги за счет роста накладных расходов;
борьба за снижение затрат – наиболее естественная рыночная стратегия, и она в первую очередь распространяется на вспомогательное производство (делопроизводство, программное обеспечение).
Следовательно, как считают сторонники открытых программ, нарушение лицензии на использование программного обеспечения не всегда следует относить к преднамеренной преступной деятельности. Это может быть вынужденное (навязанное рынком) поведение, обусловленное необходимостью обмена электронными документами в процессе хозяйственной деятельности.
По способам распространения программное обеспечение делят на следующие виды:
Свободное ПО – это множество программных решений, в которых права пользователя («свободы») на неограниченные запуск, изучение, распространение и изменение (совершенствование) программ защищены юридически при помощи свободных лицензий.
В соответствии с современным законодательством большинства стран, программный продукт и его исходный код по умолчанию охраняется авторским правом, которое даёт правообладателю (чаще всего правообладателем является организация-наниматель автора служебных произведений), полную власть над изменением, распространением, способом использования и поведением программы, включая случаи, когда исходный код опубликован. Сила власти правообладателя настолько велика, что даже изучение или попытки исправления ошибок программ путём дизассемблирования могут преследоваться уголовным правом.
Чтобы избавить пользователя от проблем, вызванных перекосом законодательства об охране результатов интеллектуальной деятельности в сторону правообладателя, сами правообладатели могут передать пользователю права на четыре вышеперечисленные свободы действий. Это достигается путём выпуска исходного кода программного обеспечения на условиях одной из особого рода лицензий, называемых свободными лицензиями. Несмотря на то, что по условиям свободных лицензий выданные пользователям разрешения правообладатель отозвать не может, свои права, гарантированные законодательством, он сохраняет.
Свободное ПО легко коммерциализируется — существует множество бизнес-моделей, где исключена необходимость оплаты копий программы. Например, высокую популярность имеет бизнес-модель, когда предприниматель может заработать за счёт предоставления услуг технической поддержки.
Свободное ПО - это программы, лицензия которых требует, чтобы они (программы) вплоть до исходного текста находились в открытом доступе, а их исходный текст мог подвергаться изменениям (модификации, улучшению) и свободно распространяться. Для обозначения свободного программного обеспечения используются ниже перечисленные понятия: Программное обеспечение Open Source; Программы с открытым исходным текстом; Свободно распространяемые программы.
Ниже перечисленные понятия противоречат принципам свободного программного обеспечения: Бесплатные программы; Хакерские программы; Программы, исходный текст которых - коммерческая тайна; Программы без права свободного использования.
Свободное программное обеспечение доступно не только в исходных текстах, но и в бинарном виде, годном для выполнения на компьютере. С точки зрения пользователя, свободные программы мало чем отличаются от коммерческих программ:
Предусмотрена автоматическая установка и конфигурация;
Есть документация, система контекстной справки;
Есть возможность автоматического удаления программы с компьютера.
Любой грамотный пользователь компьютера может самостоятельно установить нужную ему программу, в том числе и распространяемую свободно.
Сторонники свободного ПО утверждают, что свободное программное обеспечение как правило, имеет более высокое качество, и для этого есть несколько причин:
Каждый участник сообщества разработчиков передает свою часть разработки в открытом исходном коде. Естественно, что каждый разработчик оформляет исходный текст своих программ как можно лучше, и как можно лучше его документирует. Известно что, качество оформления исходных текстов и качество работы программ на их основе связаны прямой зависимостью;
Разработку свободных программ проводят свободные люди в свободное время. Это значит, что в свободных программах отсутствуют негативные последствия вызванные нехваткой времени, которые всегда есть при коммерческом способе разработки программ;
Открытость исходных текстов позволяет оперативно устранять ошибки, значительно быстрее, чем это может быть сделано в промышленных программах, где исходный код является коммерческой тайной компании разработчика. Обнаруженная ошибка в программе Open Source воспринимается сообществом нормально и исправляется незамедлительно. Ошибки в коммерческих программах, часто скрываются их производителями, так как наличие ошибок в коммерческих программах есть потеря конкурентных преимуществ на рынке. Поэтому многие ошибки в коммерческих программах исправляются, только после того как на них укажут пользователи.
Иерархическая организация международного движения Open Source, представленная в сети интернет общественными сайтами, не позволяет распространяться хакерским программам, а открытый исходный код позволяет службам безопасности более эффективно проверять критические места в программном обеспечении до его внедрения в промышленную эксплуатацию.
Бесплатное (freeware) - это программное обеспечение, лицензионное соглашение которого не требует каких-либо выплат правообладателю. Такое программное обеспечение может бесплатно распространяться всем желающим.
В русском языке существуют различные слова для обозначения бесплатного и свободного программного обеспечения, таким образом языковой проблемы различения бесплатного и свободного программного обеспечения не существует.
Однако, многие тексты на тему программного обеспечения составляются на английском языке, в котором слова «свободный» и «бесплатный» переводятся одинаково словом «free». Это создаёт путаницу в именовании бесплатного и свободного программного обеспечения. Поэтому для именования бесплатного программного обеспечения появился термин freeware, а для именования свободного и открытого программного обеспечения — термин FOSS (Free and Open Source Software). Однако, фонд свободного программного обеспечения рекомендует именовать свободное программное обеспечение «free software».
Условно-бесплатное ПО (shareware) – Исторически так обозначали программы, свободно распространявшиеся третьими лицами (например, через BBS или FidoNet, в сборниках программ на компакт-дисках) и содержавшие в себе просьбу заплатить деньги автору программы. Однако, с течением времени значение изменилось, и говоря о Shareware, все чаще стали иметь в виду не свободное распространение (которого в наше время может и не быть — программа может быть доступна только с сайта производителя), а приемы и уловки, используемые авторами shareware-программ с целью побудить пользователя заплатить за уже полученную им бесплатно программу.
Сейчас под Shareware чаще всего понимают также способ или метод распространения при котором испытателю предлагается ограниченная по возможностям (неполнофункциональная или демонстрационная версия), сроку действия (триал версия, от англ. trial— пробный) или версия с встроенным раздражающим блокиратором-напоминанием (NAG) о необходимости оплаты использования программы. В лицензии также может быть оговорен запрет на коммерческое или профессиональное (не тестовое) её использование. Иногда программа спустя некоторое время (например, 30 дней) прекращает запускаться. Иногда становится недоступной часть функций. Иногда функциональность остаётся в полном объёме, но пользователю время от времени показывается напоминание о том, что он пользуется незарегистрированной версией.
Основной способ распространения shareware-программ — это каталоги программного обеспечения или реклама в поисковых системах.
В отличие от условно-бесплатного программного обеспечения, бесплатное программное обеспечение не предполагает никакой платы разработчику и, соответственно, никаких дополнительных услуг, таких как улучшенные версии, за эту плату не предполагается.
Коммерческое ПО (commercial software) — программное обеспечение, созданное коммерческой организацией с целью получения прибыли от его использования другими, например, путем продажи экземпляров.
Множество людей ошибочно считают коммерческое и свободное ПО противоположностями. Различия между этими двумя видами не столь критичны, как может показаться на первый взгляд. Ведь свободным ПО считается с того момента, как автор предоставляет права на свободную модификацию, распространение и извлечение прибыли со своего продукта. Из этого следует, что свободные программы вполне могут быть и коммерческими продуктами. Хорошими примерами коммерческих программ относящихся к разряду свободных, могут служить компилятор GNU ADA или многие операционные системы на основе GNU/Linux.
Наиболее важной особенностью коммерческий программных продуктов является поддержка крупных компаний, прямо заинтересованных в распространении своего детища. Многие организации предоставляют исключительно платную поддержку своим продуктам. Такой подход, как правило, используют организации, предоставляющие открытые исходные коды. Для продуктов, распространяющихся на коммерческой основе, действуют обычно бесплатные службы поддержки, призванные увеличить уровень доверия у клиентов и потенциальных покупателей.
Далеко не всегда, но как правило, сроки критически важных изменений в коммерческих продуктах значительно меньше, чем у некоммерческих проектов. Это связано с тем, что над коммерческим продуктом работают целые группы разработчиков, и эта работа является их основным занятием. Разработчикам-любителям, как правило, приходится искать дополнительные способы заработка, и это уменьшает время, затрачиваемое на дополнения и изменения программ.
Несовместимость форматов электронных документов свойственна только коммерческим программам. Закрытые программы (Proprietary Software) обладают закрытым (не документированным) форматом файла электронного документа, который используется как средство борьбы с продукцией конкурентов. Часто разработчики допускают не совместимость формата файла документа в новой и старой версии коммерческой программы для извлечения дополнительной прибыли от повторной продажи лицензии на использование старым пользователям. И старые пользователи вынуждаются на повторную покупку лицензии за счет естественного роста рынка и числа документов с измененным форматом.
Идеология свободно распространяемых программ не преследует цели повторного извлечения прибыли за счет своих пользователей. Напротив такие программы предоставляют свободный доступ к экспорту/импорту электронных документов. Открытый формат электронного документа защищает потребителя не только при смене версий программы, но и дает возможность читать документы в условиях отсутствия создавшей из программы.
- Содержание
- Введение
- Лекция 1. Введение в курс. Классификация компьютерных информационных технологий
- Предмет дисциплины. Понятие «компьютерные информационные технологии»
- Технологическая схема обработки информации
- Базовые и специальные информационные технологии
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 2. Информационные ресурсы автоматизированных систем обработки экономической информации
- Понятие «информационные ресурсы». Классификация
- Политика Республики Беларусь в области формирования информационных ресурсов
- Информационные услуги, режимы их предоставления
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 3. Техническое обеспечение компьютерных информационных технологий
- Классификация эвм
- Процессоры
- Устройства автоматизации ввода данных
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 4. Сетевые информационные технологии. Компьютерные сети: основные понятия и принципы построения
- Компьютерные сети: понятие, классификация
- Топология компьютерной сети
- Модель коммутационной сети
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 5. Локальные вычислительные сети
- 1. Оборудование лвс
- 2. Методы доступа к сети
- 3. Стандарты локальных сетей
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 6. Сетевые информационные технологии. Сетевые модели
- Эталонная модель osi
- Конвергенция компьютерных и телекоммуникационных сетей
- Корпоративные сети
- Преимущества, которые дает использование сетей
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 7. Глобальные компьютерные сети
- 1. Глобальная сеть Интернет, протоколы tcp/ip
- 2. Адресация компьютеров в сети
- 3. Услуги Интернет
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 8. Сетевые ит. Интернет и бизнес
- Задачи бизнеса в Интернете
- Классификация электронного бизнеса
- 3. Правовые аспекты электронного бизнеса
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 9. Сетевые информационные технологии. Электронные платежные системы
- Виды платежных систем
- Услуги платежных систем в Беларуси
- Формирование сетевой экономики
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 10. Технологии обеспечения безопасности информационных систем
- 1. Понятие безопасности информационных систем
- 2. Угрозы информационно безопасности
- 3. Методы и средства защиты информации
- Физические и юридические лица имеют право
- Особенности обеспечения безопасности в компьютерных сетях
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 11. Программное обеспечение компьютерных информационных технологий. Системное по
- Модели разработки и распространения по
- Виды лицензий на использование по
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 12. Программное обеспечение компьютерных информационных технологий. Прикладное по
- Технологии обработки информации. Офисные пакеты
- Технологии автоматизированного ввода документа (осr-системы)
- Технологии автоматизации перевода текстов
- Технологии организации рабочего места
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 13. Технологии искусственного интеллекта
- Понятие искусственного интеллекта
- 2. Области применения ии
- Понятие экспертной системы
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 14. Пакеты для математической обработки данных. Maple. Основы работы
- Компоненты экрана, справочная система Maple
- Вычисления в Maple
- Числа и константы
- Стандартные функции
- Преобразование математических выражений
- Решение уравнений
- Численное решение уравнений
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 15. Пакеты для математической обработки данных.Maple. Матрицы и графики
- Работа с массивами
- Графики и анимация
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 16. Технологии и инструментальные средства программирования. Основы алгоритмизации
- 1. Понятие алгоритма
- 2. Типы алгоритмических процессов
- Повторять:
- 3. Способы записи алгоритмов
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция №17. Технологии и инструментальные средства программирования. Языки программирования
- Технологии разработки программных комплексов
- Классификация языков программирования
- Инструментальные средства программирования
- Контрольные вопросы
- Литература
- Основные понятия