Лицензионные и свободно распространяемые программы. Лицензионные, условно бесплатные и свободно распространяемые программы. Определение свободного программного обеспечения

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

История

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

Вот ответы на часто задаваемые вопросы. Если у вас есть вопрос, который не указан здесь, свяжитесь с нами. Распространение и использование программного обеспечения с открытым исходным кодом. Использование нашего логотипа, ссылки на нас и т.д. Что такое ПО с открытым исходным кодом?

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

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

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

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

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

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

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

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

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

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

Большинство людей выбирают одну из категории «популярные», но вы можете выбрать любую лицензию, указанную в списке. Если вы впервые выбираете лицензию с открытым исходным кодом, мы рекомендуем вам найти того, у кого есть опыт лицензирования с открытым исходным кодом, и поговорить с ними о вашем проекте - это поможет вам выбрать наиболее подходящую лицензию. Человек не должен быть адвокатом, он может быть разработчиком, у которого есть опыт выпуска открытого исходного кода.

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

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

  • Программу можно свободно использовать с любой целью («нулевая свобода »).
  • Можно изучать, как программа работает, и адаптировать её для своих целей («первая свобода »). Условием этого является доступность исходного текста программы.
  • Можно свободно распространять копии программы - в помощь товарищу («вторая свобода »).
  • Программу можно свободно улучшать и публиковать свою улучшенную версию - с тем, чтобы принести пользу всему сообществу («третья свобода »). Условием этой третьей свободы является доступность исходного текста программы и возможность внесения в него модификаций и исправлений.

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

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

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

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

Основная общественная лицензия GNU

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

В конечном счете, нет никакой лицензии, которая подходит для каждого сообщества. Используйте тот, который лучше всего соответствует целям и идеалам вашего сообщества. Что такое «соглашения о спонсорах»? Они похожи на лицензии с открытым исходным кодом?

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

Миграция на свободное ПО

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

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

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

Иногда проект включается сам, обычно как некоммерческая организация; иногда она представлена ​​зонтичной некоммерческой организацией; иногда некоммерческая корпорация считает себя главным спонсором проекта и запрашивает соглашения с поставщиками для управления сообществом разработчиков и поддержания публичного распространения программного обеспечения, о котором идет речь.

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

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

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

Свободное программное обеспечение в школе: сообщество LinuxSchool

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

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

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

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

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

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

Свободные лицензии

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

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

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

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

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

Однако технология производства компьютеров развивалась не менее активно, чем программное обеспечение для них. В 1970-е годы существовало огромное разнообразие различных архитектур вычислительных машин, различавшихся также производительностью и ценой. Естественно, для каждой архитектуры приходилось разрабатывать отдельный набор программного обеспечения. С середины 1970-х в большинстве американских университетов для академических разработок использовались компьютеры архитектуры PDP-10 , что позволяло сотрудникам разных университетов использовать разработки друг друга на своих машинах. Сотрудники лаборатории искусственного интеллекта (MIT) в конце 1970-х разработали для PDP-10 собственную операционную систему ITS (Incompatible Timesharing System - несовместимая система с разделением времени) и очень большой набор программ для неё. Исходные тексты написанных в MIT программ были общедоступны, сотрудники других университетов пользовались их исходными текстами и присылали им исправления, всё программное обеспечение в этих лабораториях было полностью академическим.

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

Введение ограничений для ПО

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

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

Фонд свободного ПО в прошлом делил несвободное ПО на полусвободное (такое, которое отличается от свободного лишь запретом на коммерческое использование) и проприетарное (собственническое, англ. proprietary ) (которое не имеет всех четырёх свобод, даже если коммерческое использование разрешено); но это разделение более не используется.

Иногда к несвободному ПО относят и всё «коммерческое ПО », считая свободное ПО видом бесплатного, однако это неверно: получать выгоду от программы можно не только продажей несвободных лицензий.

Определение свободного ПО

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

  • Программу можно свободно использовать с любой целью («нулевая свобода »).
  • Можно изучать, как программа работает, и адаптировать её для своих целей («первая свобода »). Условием этого является доступность исходного текста программы.
  • Можно свободно распространять копии программы - в помощь товарищу («вторая свобода »).
  • Программу можно свободно улучшать и публиковать свою улучшенную версию - с тем, чтобы принести пользу всему сообществу («третья свобода »). Условием этой третьей свободы является доступность исходного текста программы и возможность внесения в него модификаций и исправлений.

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

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

Open source software

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

Основная общественная лицензия GNU

Сообщество разработчиков и пользователей

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

Взаимопомощь

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

Пользователь свободно распространяемой программы не получает вместе с ней никаких гарантий: автор сделал её исходный текст открытым для общества, но при этом не взял на себя обязательств объяснять всем, как работает программа. Хотя справедливости ради стоит заметить, что любая несвободная программа в 99 % случаях тоже поставляется «как есть» и без гарантий. Поскольку сообщество пользователей большинства программ распределено по всему миру, для организации взаимодействия в нём наиболее активные пользователи (а зачастую и сами авторы) организуют (реже - используют существующие) списки рассылки , форумы и другие средства общения в Интернете . Для накопления и рубрикации информации по программе (в частности, списков часто задаваемых вопросов (ЧаВо ; англ. FAQ - frequently asked questions), а также организации более сложных форм взаимодействия (совместной разработки, систем отслеживания ошибок) создаются веб-сайты , посвящённые программам.

Исправление ошибок

В любой достаточно сложной программе непременно имеются ошибки и дефекты, количество которых обычно неизвестно. Многие крупные производители ПО создают и оплачивают работу отдела контроля качества (QA - Quality assurance), который контролирует соответствие процесса разработки ПО определенным требованиям, выполнение которых позволяет снизить вероятность появления ошибок в ПО (например, требованиям стандарта DO-178B, который применяется при разработке ПО для авиационных систем). Тем не менее, в настоящее время отсутствуют методы, позволяющие полностью гарантировать отсутствие ошибок в достаточно сложном ПО (существуют формализованные критерии сложности ПО).

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

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

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

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

У типичной свободной программы (то есть, некоммерческой и/или разрабатываемой небольшой компанией или частным лицом) обычно нет оплачиваемого отдела контроля качества. Значит, пользователь может столкнуться с ещё большим количеством ошибок, чем в типичной коммерческой проприетарной программе. Тем актуальнее для него возможность сообщить об ошибке разработчикам программы. Раньше в сопровождающей программу документации было принято указывать электронный адрес, по которому разработчики принимали сообщения об ошибках (bug report). Некоторые вводили стереотипную форму для таких сообщений, чтобы облегчить и автоматизировать их обработку. Уже это требует существенно более высокой связности сообщества во всём мире, существенно большей, чем достаточно для закрытой разработки.

Разработчики и контролёры‐испытатели проприетарного продукта могут ходить на службу в один и тот же офис и там обмениваться информацией или тратить определённую долю рабочего времени на составление и анализ строгих отчётностей, содержащих сообщения об ошибках и рапорты об устранении неисправностей. Такая организация труда эффективна, если круг разработчиков невелик, а ввести общую дисциплину относительно легко. Для открытого же проекта круг и взаимное расположение потенциальных разработчиков не ограничены ничем, поэтому эффективность разработки в гораздо большей степени зависит от того, насколько просто всем членам сообщества договариваться между собой, а также от «сознательности» пользователей.

Простому и упорядоченному приёму и перенаправлению сообщений об ошибках служат системы отслеживания ошибок (bug tracking system), самые известные из которых разработаны участниками больших проектов для себя, а благодаря свободным лицензиям используются повсеместно. Таковы GNUTS (разработанная в GNU), Bugzilla (Mozilla Foundation), JitterBug (проект Samba) или Debian BTS. Более ранние версии ориентируются на электронную почту, более поздние включают в себя web-интерфейс. Например, при помощи Bugzilla организуется сайт в Интернете , на котором пользователь может заполнить форму сообщения об ошибке. Каждое сообщение имеет свой номер, по которому можно попасть на «персональную» страницу данной ошибки, где отражаются все происходящие по её поводу события, от первоначального сообщения (открытия) до исправления (закрытия). При каждом изменении в состоянии ошибки Bugzilla рассылает всем заинтересованным лицам (включая, естественно, сообщившего об ошибке и занимающихся данной программой разработчиков) письма по электронной почте. Поскольку Bugzilla позволяет оставлять комментарии и прикладывать файлы, она является полноценным средством для общения пользователя с разработчиком по поводу ошибки в программе.

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

Чтобы облегчить и автоматизировать процесс внесения исправлений, Ларри Уолл в 1984 году разработал утилиту patch («заплатка»), которая в формализованном (но хорошо понятном человеку) виде описывает операции редактирования, которые нужно произвести, чтобы получить новую версию текста. С появлением этой утилиты пользователь, обнаруживший и исправивший ошибку в программе, мог прислать автору небольшую заплатку, по которой автор мог понять, какие изменения предлагаются, и автоматически «приложить» их к своему исходному тексту. С появлением утилиты patch гораздо больше пользователей стало включаться в разработку программ с доступным исходным текстом, немалую роль и здесь сыграла сеть Usenet . В конце концов, данный способ исправления стал общеупотребительным и применяющимся не только к исходному коду программы, но и непосредственно к скомпилированному исполнимому коду в случае закрытого ПО, а слово «патч» стало нарицательным . Патчи (файлы-заплатки с исправлениями) - обязательный атрибут сегодняшней разработки любых программ любой сложности.

Если пользователю программы не хватает в ней какой-то функции, то при должной квалификации он вполне может запрограммировать её сам и включить в исходный текст программы, либо заплатить за это кому‐то ещё. Естественно, ему выгодно, чтобы его дополнение попало в «главный», авторский вариант программы (его называют upstream) и появлялось во всех последующих версиях: можно точно так же оформить его в виде патча и выслать автору. Этой возможности лишён пользователь несвободной программы, даже если он достаточно квалифицирован. Единственный способ включить в программу нужную ему функцию - обратиться к производителю (если программа проприетарная) с соответствующей просьбой и надеяться, что производитель сочтёт предложенную функцию действительно необходимой.

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

Написать большую программу в одиночку довольно сложно и даже не всегда возможно, особенно если автор занимается этим в свободное от работы время. Большинство современных свободных программ пишется группой разработчиков. Даже если начинал писать программу один человек и она оказалась интересной, к разработке могут присоединиться активные пользователи. Чтобы они могли не только вносить отдельные исправления, но и вообще всю разработку вести совместно, нужны специальные инструменты. Помимо патчей, для организации совместной разработки ПО применяются системы управления версиями . Функции системы контроля версий состоят в том, чтобы организовать доступ к исходным текстам программы для нескольких разработчиков и хранить историю всех изменений в исходных текстах, позволяя объединять и отменять изменения и пр. Самая ранняя свободная система управления версиями - RCS - использовалась ещё на заре свободного ПО абонентами сети Usenet, затем на смену ей пришла более развитая CVS , но сегодня и она считается во многом устаревшей и всё чаще заменяется Subversion , Git и другими.

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

Очень многие свойства сообщества разработчиков и пользователей свободных программ проистекают из того, что все его участники обычно занимаются этой программой из интереса или потому, что эта программа - необходимый для них инструмент (например, зарабатывания денег или по другой причине). Время, потраченное ими на программу, не оплачивается, поэтому нет никакой надежды, что обстоятельства не переменятся и разработка не прекратится вовсе. Нередки случаи, когда разработка программы начинается благодаря одному автору-энтузиасту, который привлекает многих к участию в разработке, а потом энтузиазм лидера гаснет, а вместе с ним затухает и разработка. Сегодня существуют тысячи программ, так никогда и не достигших версии 1.0, хотя «выгорание» лидеров и не единственная этому причина. Кроме того, программа может быть необходимой, но «неинтересной», а потому не найдётся и свободных разработчиков.

Место свободных программ на сегодняшнем рынке ПО очень значительно, и многие коммерческие и государственные предприятия используют свободное ПО прямо или опосредованно. Собственно, опосредованно все пользователи Интернета задействуют, например, свободную программу BIND , предоставляющую службу DNS . Многие организации, особенно предоставляющие услуги через Интернет, используют свободный web-сервер Apache , от работы которого непосредственно зависит их прибыль, не говоря уже о серверах на платформе Linux . Главный недостаток с точки зрения коммерческого пользователя: разработчики свободных программ не несут никаких обязательств по качеству программы, кроме моральных. Поэтому, сегодня большие корпорации, например, Intel или IBM , находят необходимым поддерживать проекты по разработке свободного ПО, оплачивая сотрудников, которые работают в рамках этих проектов.

Философия

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

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

Классическим таковым методом является де-юре сохранение прав на ПО за производителем, который как бы дает ПО своим пользователям во временное пользование. В этом случае использование нелицензионного ПО по сути приравнивается к концепции права англоязычных стран, известной как theft of services. Но эта концепция не имеет аналогов в иных национальных культурах, например, российской, и именно по причинам, приведенным на 2 абзаца выше (хозяин не лишается возможности использования вещи, что и есть главное негативное последствие кражи). В российском праве theft of services любых видов есть не более чем административное правонарушение, при этом за нелицензионное ПО предусмотрена уголовная ответственность, что звучит диссонансом в российской культуре.

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

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

Несвободные программы называют «проприетарными » (от англ. proprietary ) или «собственническими». Иногда их неправильно называют просто «коммерческими », что неверно: получать выгоду от программы можно различными способами и многие успешные свободные проекты это подтверждают.

Миграция на свободное ПО

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

Распространённость свободного и открытого ПО

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

СПО активно используется в Интернете. Например, самый распространённый веб-сервер Apache является свободным, Википедия работает на MediaWiki , также являющимся свободным проектом.

СПО используется в Министерстве юстиции Бельгии, в котором уже половина компьютеров работает под управлением Linux , и полицией Франции, которая к 2014 году планирует полностью перейти на Ubuntu Linux . О переходе на программное обеспечение с открытым исходным кодом объявило также Патентное ведомство Нидерландов. Перевести все компьютеры этого учреждения на свободное ПО планируется до конца 2009 года .

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

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

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

В учреждения Министерства Обороны России, а также в российских посольствах в других странах используется операционная система МСВС . Данная ОС, сделанная на основе Red Hat Linux с незначительными изменениями, не является свободным ПО, её исходные коды закрыты.

В начале 2012 года около 22 тыс. рабочих мест в поликлиниках Москвы планировалось [



Похожие статьи