что такое свободное программное обеспечение

Свободное программное обеспечение

Как и бесплатное (freeware) и бесплатно распространяемое программное обеспечение, СПО можно использовать и обычно получить бесплатно (но конкретный распространитель может взимать плату за получение у него копий, за каналы доставки, носители — компакт-диски или дополнительные сервисные услуги). Однако freeware обычно распространяется в исполнимом виде без исходных кодов и является проприетарным ПО, а чтобы ПО было свободным (free software), получателям должны быть доступны его исходные коды, из которых можно создавать исполняемые файлы, вместе с соответствующими лицензиями. Из-за того, что словом «продажа» называют и продажу оригинала, и распространение копий за деньги, и платное лицензирование (обычно на несвободных условиях), некоторые всё же считают свободное ПО подмножеством бесплатного.

Часто различают свободное и открытое ПО (open source) — хотя доступность исходного кода для СПО является обязательным, а многие открытые программы являются одновременно свободными. Выбор названия часто связан с используемым языком и с целями свободности или открытости.

Движение СПО зародилось в 1983 году, когда Ричард Столлман сформировал идею о необходимости свободы использования программного обеспечения (англ. software freedom) пользователями. В 1985 году Столлман основал Фонд свободного программного обеспечения, чтобы обеспечить организационную структуру для продвижения своей идеи.

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

Связанные понятия

Упоминания в литературе

Связанные понятия (продолжение)

Кросс-платформенность или межплатформенность — способность программного обеспечения работать с двумя и более аппаратными платформами и (или) операционными системами. Обеспечивается благодаря использованию высокоуровневых языков программирования, сред разработки и выполнения, поддерживающих условную компиляцию, компоновку и выполнение кода для различных платформ. Типичным примером является программное обеспечение, предназначенное для работы в операционных системах Linux и Windows одновременно.

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

О программном обеспечении рассказывает другая статья.Переносимое приложение (также портативное, автономное, и — неточно, в качестве кальки — портированное; англ. portable application, portable app) — программное обеспечение, которое для своего запуска не требует процедуры установки и может полностью храниться на съёмных носителях информации, что позволяет использовать данное ПО на многих компьютерах. Переносимое приложение может быть настроено так, чтобы считывать свои конфигурационные настройки.

Источник

Что такое свободное программное обеспечение (СПО)?

Обновлено Ноя 6, 2019

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

История

Когда появились первые компьютеры, то все программы для них представляли собой СПО в том смысле, какой вкладывается в это понятие сейчас. Например, стоимость программ, установленных на компьютерах IBM, была включена в цену аппаратного обеспечения.

В 1969 году правительство США объявило, что включение свободных программ в комплект аппаратных средств нарушает принципы конкуренции. Поэтому в 1970 и начале 1980-х годов в индустрии программного обеспечения начали использовать технические меры, чтобы предотвратить изучение и модифицирование ПО, а в 1980 году был принят закон об авторском праве для компьютерных программ.

В 1983 году Ричард Столлман, член хакерского сообщества MIT Лаборатории искусственного интеллекта, объявил начало проекта GNU, разочаровавшись в последствиях изменения культуры компьютерной индустрии. В январе 1984 года началась разработка программного обеспечения для операционной системы GNU и был создан Фонд свободных программ. Ричард Столлман разработал свободное программное обеспечение и понятие free software (свободное программное обеспечение) для того, чтобы обеспечить свободу копирования ПО для всех.

Термин open source (открытый код) был создан гораздо позднее, в 1998 году Эриком Реймондом и Брюсом Перенсом, которые считали, что термин free software в английском языке неоднозначен, т.к. может означать и «свободный», и «бесплатный», а потому смущает многих коммерческих предпринимателей.

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

“Свободное программное обеспечение” означает свободу, а не цену. Чтобы понять эту концепцию, следует представлять себе “свободу слова”, а не что-то бесплатное.

Существуют четыре разновидности свободы пользователей программы:

Только удовлетворяющая всем четырём перечисленным принципам программа может считаться свободной программой, то есть гарантированно открытой и доступной для модернизации и исправления ошибок и дефектов, и не имеющей ограничений на использование и распространение. Нужно подчеркнуть, что эти принципы оговаривают только доступность исходных текстов программ для всеобщего использования, критики и улучшения, и права пользователя, получившего исполняемый или исходный код программы, но никак не оговаривают связанные с распространением программ денежные отношения, в том числе не предполагают и бесплатности. Наоборот, свободное ПО вполне можно распространять (и распространяют), взимая при этом плату, однако соблюдая при этом критерии свободы: каждому пользователю предоставляется право получить исходные тексты программ без дополнительной платы (за исключением цены носителя), изменять их и распространять далее. Всякое программное обеспечение, пользователям которого не предоставляется такого права, является несвободным — независимо от любых других условий.

Источник

10 мифов о свободном ПО

Разбираемся, почему free software — это не всегда бесплатно и зачем open source начинающему программисту.

что такое свободное программное обеспечение. Смотреть фото что такое свободное программное обеспечение. Смотреть картинку что такое свободное программное обеспечение. Картинка про что такое свободное программное обеспечение. Фото что такое свободное программное обеспечение

что такое свободное программное обеспечение. Смотреть фото что такое свободное программное обеспечение. Смотреть картинку что такое свободное программное обеспечение. Картинка про что такое свободное программное обеспечение. Фото что такое свободное программное обеспечение

Есть программисты, которые объединяются в команды и после работы бесплатно создают полезные программы. Есть компании, которые нанимают этих программистов, а потом выкладывают в открытый доступ исходные тексты приложений и сервисов, чтобы другие люди могли их исследовать, изменять под себя и распространять дальше. А продвигают все эти «странные» идеи известные всему миру айтишники, такие как Ричард Мэттью Столлман, Брюс Перренс, Лоуренс Лессиг.

Миф 1

Свободное ПО = бесплатное

что такое свободное программное обеспечение. Смотреть фото что такое свободное программное обеспечение. Смотреть картинку что такое свободное программное обеспечение. Картинка про что такое свободное программное обеспечение. Фото что такое свободное программное обеспечение

Фанат Free Software Foundation, использую Linux и недолюбливаю Windows. Пишу истории про кодинг и программы на Python. Влюблен в LISP, но пока что не умею на нем программировать.

Свободное ПО может быть платным, это не запрещено. Но оно не может быть проприетарным, то есть закрытым и нарушающим «четыре свободы» GNU:

Свободное ПО называется free software, а бесплатное — freeware. В отличие от свободных, бесплатные программы бывают закрытыми и могут распространяться в виде исполняемых файлов, по которым нельзя понять их внутреннюю структуру. Например, популярная программа для очистки Windows от мусора CCleaner — бесплатная, но не свободная.

Миф 2

Свободное ПО == open source (открытые исходники)

Две главных организации, которые продвигают идеи открытого и свободного ПО, — Open Source Initiative (OSI) и Free Software Foundation (FSF). Они чуть по-разному понимают термины «свободный» и «открытые исходники». FSF больше внимания уделяет свободам пользователей и использует термин free software. OSI же считает, что слово free сбивает людей с толку, намекая на бесплатность, и подчёркивает значение открытых исходников и метод разработки программ. Для OSI основной термин — open source software.

По сути и OSI, и FSF занимаются одним делом, а все их разногласия — в небольших философских акцентах.

У каждой программы есть лицензия — юридические условия, на которых её можно использовать. Обычно она ограничивает возможность исследовать устройство, модифицировать код и создавать на его основе новые программы. Это относится даже к тем из них, код которых выложен в открытый доступ. Пример — WinRAR, популярный архиватор челябинца Евгения Рошаля: исходники открыты, но делать с ними ничего нельзя. Такие программы тоже считаются несвободными.

Миф 3

Если есть исходный код — это open source

На самом деле нет. Для этого нужен полностью понятный код, который можно легко прочесть. Несвободными являются даже те программы, которые прошли обфускацию — когда исходный текст прогоняют через специальный сервис и делают его трудночитаемым. Часто так поступают с программами на интерпретируемых языках, особенно с разными скриптами на JavaScript, Perl или PHP. Они переводятся в машинный язык только в момент выполнения, и потому их исходники всегда доступны. В коде после обфускации не разобраться — теряются стройность и красота, остаётся только функциональность.

Вот классический пример исходника на языке C, всё логично и ясно даже без комментариев:

Он же после обфускации:

Попробуете понять, что тут происходит? И представьте, что таких строк тысячи или десятки тысяч, как бывает в обычных программах.

Миф 4

Свободное ПО — это лицензия GNU GPL

Многие связывают свободное ПО с самой известной лицензией — GNU GPL от Free Software Foundation. На самом деле свободных лицензий очень много: МIT, BSD, Mozilla Public License (MPL), Common Development and Distribution License (CDDL), Apache Software License. Да и у авторов GPL есть разные версии их свободной лицензии: для документов, «железа» и программ.

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

Миф 5

Свободное ПО — для любителей, а не для серьёзных программистов

К открытым проектам может присоединиться и профессионал, и новичок, и просто любитель кодинга: повышать квалификацию, нарабатывать портфолио и репутацию. Работа над свободным ПО в мире программистов считается хорошим тоном. Конечно, писать критически важные части ядра Linux или FreeBSD так просто вам не дадут, но какие-то небольшие и менее приоритетные задачи выполнять можно сразу.

Миф 6

Свободное ПО — недоработанное и у него меньше функций

Спорное утверждение. Да, открытые программы для работы с растровой и векторной графикой сильно отстают от коммерческих аналогов, но в них всё равно можно полноценно работать. А свободный 3D-редактор Blender массово используют в Голливуде — например, в нём сделаны спецэффекты «Человека-паука 2».

Большинство серверов в мире работает на Linux, FreeBSD или OpenBSD. Да и программируем мы в основном на свободных языках. Веб тоже держится на СПО : браузеры Chromium и Mozilla Firefox, серверы Ngnix и Apache, базы данных MySQL и PostgreSQL, свободный движок для сайтов WordPress — список можно продолжать долго. Это отлично проработанные программы, которые по многим параметрам превосходят коммерческие аналоги.

Миф 7

Свободное ПО только для программистов, простому человеку не разобраться

Миф 8

На свободном ПО не заработать

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

Например, разработчик браузера Firefox, Mozilla Foundation, существует на государственные гранты, пожертвования, помощь от крупных компаний и за счёт коллабораций. Корпорация Google одно время платила фонду, чтобы быть в браузере поисковиком по умолчанию. Эти деньги шли на зарплату программистам, пиарщикам, тимлидам, маркетологам, формировали рекламный бюджет и так далее. Похожая финансовая модель и у других сообществ — того же Linux Foundation или проекта GNU.

Зачем корпорации спонсируют такие проекты? Они пользуются многими свободными программами и хотят, чтобы софт был лучше и надёжнее, быстрее обновлялся. В бизнесе повсеместно применяются веб-серверы Ngnix и Apache, свободный офисный пакет LibreOffice, операционные системы Linux или FreeBSD. Поэтому всем важно, чтобы вовлечённые в их создание программисты достойно зарабатывали.

К примеру, Линус Торвальдс с 1997 по 2003 год работал в компании Transmeta, где ему платили зарплату и давали возможность разрабатывать ядро Linux, а Гвидо ван Россум спокойно занимался Python в DropBox. К свободному ПО серьёзно относятся и многие ИТ-гиганты — те же Oracle, Google и даже Microsoft спонсируют сообщества напрямую или предоставляют им своих разработчиков.

Миф 9

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

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

Свежий пример: в мае 2020 года вышла новая версия музыкального редактора Audacity 2.4.0, а через день один из пользователей обнаружил проблему: при определённых условиях терялись данные. Буквально за 5-6 часов сообщество программистов протестировало программу, свежий релиз отменили, в центре загрузок оставили предыдущую версию. А ещё через день проблему устранили и вышла исправленная, с номером 2.4.1.

Производители коммерческого софта ориентированы на продажи, поэтому могут иногда замалчивать факты о безопасности или не решают проблемы вовремя, отдавая приоритет новым разработкам. А обнаружить «дыры» проприетарных программ не так уж и сложно — хакеры по всему миру регулярно отчитываются о новых багах версий Windows.

Миф 10

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

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

Известные компании всё больше ориентируются на свободный код и видят в нём выгоду. Например, в марте 2020 года «ВКонтакте» выложили на GitHub под свободными лицензиями код фронтенда своих мобильных приложений, а на порталах графических редакторов Figma и Sketch (под лицензией Creative Commons) появилась вся их графика. Это поможет сторонним разработчикам мини-приложений для соцсети создавать более профессиональные решения.

Зачем всё это начинающему программисту

Свободное программное обеспечение — не просто форма разработки приложений, но и философия. Поэтому идеи подхватили в разных сферах: появились лицензии для свободных аппаратных платформ, для творческих людей (семейство Creative Commons) и даже проекты open source велосипедов и автомобилей.

Для новичка в программировании свободное ПО — отличный способ набить руку, наработать портфолио и принести пользу людям, а для программиста-профи или бизнесмена — достойно зарабатывать, пусть и без космической маржи.

Как новичку присоединиться
к open source проекту

Вот несколько свободных проектов на разных языках программирования. Присоединяйтесь и добавляйте их себе в портфолио.

Python

JavaScript

Что почитать и посмотреть об open source и free software

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

Python Software Foundation License — BSD-подобная лицензия на свободное ПО, совместимая с GNU General Public License (GPL).

На конференции для разработчиков Build 2020 Microsoft представила
менеджер пакетов в стиле Linux. Он работает в командной строке и командой в пару строк может обновить все программы.

Frontend — клиентская сторона пользовательского интерфейса к программно-аппаратной части сервиса.

Нумерация списка этих свобод от 0 до 3 — фишка авторов-программистов.

Фонд FSF считает официальным английский текст GNU GPL, а российское законодательство признает только лицензии, переведенные на русский язык. Поэтому правовой статус GPL в России немного туманный.

Источник

Открытое и свободное программное обеспечение

Иногда я пишу короткие учебные тексты по разным темам, связанным с IT. Чтобы потом не читать их в студенческих рефераатах, решил выкладывать их на Pikabu: в отличие тематических блогов вроде habr-а, тут публикации со временем не самовыпиливаются, а поисковики индексируют местные тексты ничуть не хуже, и антиплагиат отловит засранцев (эдакое депонирование для бедных). Если промахнусь с тегами, не пинайте сразу, а подскажите как исправиться.

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

Итак, в момент установки программы вас обычно просят принять условия лицензионного соглашения. Вы не глядя нажимаете «Принимаю», после чего программа устанавливается. Но это не просто формальность. Программа — интеллектуальная собственность её разработчиков, и их права защищены законом. Использовать программу можно только на тех условиях, которые выдвинули её правообладатели. Например, копия программы может быть “привязана” к определенному компьютеру, и при замене компьютера придется раскошелиться на новую копию этой программы.

Конечно, ограничения не могут противоречить закону. Например, в статье 1280 Гражданского кодекса РФ предусмотрено право законного приобретателя программы самостоятельно изучать её устройство и вносить в нее изменения для достижения способности программы к взаимодействию с другими программами, так что лицензионный запрет на декомпиляцию и дизассемблирование программ в России не работает.

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

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

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

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

Открытое программное обеспечение (Open Source)

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

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

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

Свободное программное обеспечение

Некоторые разработчики идут на более решительный шаг: они объявляют программу свободной от коммерческих ограничений. По-английски “свободная” (free) звучит как “бесплатная” (free), но это не одно и то же. Понятие и принципы свободного программного обеспечения сформулировал Ричард Столлман в 70-е годы.

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

1) не ограничивает, для чего можно использовать программу;

2) позволяет открыто распространять исходный программный код;

3) позволяет без ограничений распространять копии программы и исходного кода;

4) позволяет изменять программу и открыто публиковать измененную версию.

То есть свободную программу можно 1) запускать, 2) изучать, 3) распространять и 4) улучшать без всяких ограничений со стороны её авторов.

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

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

Многие корпорации вкладываются в свободное ПО, чтобы не зависеть от производителей коммерческого. Например, программный код Linux, свободного ядра операционных систем, дорабатывается такими гигантами программной индустрии как IBM, Intel, Oracle и Google, которые боятся попасть в зависимость от разработчиков коммерческих операционных систем вроде Microsoft и Apple.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *