На волне внедрения DevOps да и в целом развития ИТ в массах всё больше и больше становится популярным использование СПО. Даже Microsoft очень неплохо приложило руку к тому, чтобы популяризировать СПО в массах. Одна проблема — пользователи это потребители, а кто-то (наверняка кто-то да был) внушил этим пользователям, что в СПО действуют те же правила, что и в коммерческом софте, только при этом ничего не нужно платить.
Итак, давайте рассмотрим четыре логических ошибки, которые допускают пользователи в своём отношении к СПО. Всего четыре, потому что я считаю их наиболее важными.
1. Разработчик СПО отвечает перед пользователями.
GPL говорит:
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
MIT говорит:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
Очень подробно о MIT можно почитать здесь.
В общем-то любая GPL-совместимая (даже в одну сторону) лицензия говорит, что СПО и её автор или любой участник продукта не несёт какой либо ответственности за работоспособность приложения. Единственная ответственность у разработчика — следовать лицензионным правилам, однако не все лицензии этого требуют.
Вообще GPL не подразумевает того, чтобы вы свой код выкладывали только под GPL и использовали сами только GPL версию. Вы вправе выложить свой код под другой лицензией, однако не все это одобряют, но о вкусах не спорят… Правда во всём этом очень много НО, которые не укладываются в рамках данной заметки.
Однако как показывает практика (сугубо личный опыт), то именно в странах где наиболее распространено пиратство, зачастую пользователи не читают лицензионных соглашений. Как в прочем в большинстве стран, потребитель не читает текст лицензии, а соглашается сразу ("не, ну мне же нужно воспользоваться софтиной"). К сожалению, многие пользователи, узнав о том, что они согласились с отказом об ответственности, почему-то считают себя обманутыми разработчиком софта и в упор не хотят соглашаться со своей ответственностью. В целом вопрос самоответственности у людей — больной вопрос общества.
Очень точный термин для подобного отношения подобрал limassolsk в этом комментарии. И именно такое (как описано выше) отношение к СПО не созидает развитие, а наоборот ведёт к деградированию сообщества.
Я скажу по себе: очень раздражает вопрос "чем это лучше {{ something }}?" на OpenNet. Этот вопрос реально не относится к авторам СПО, потому что они не продают свой продукт. В конечном счёте, никто не должен на этот вопрос отвечать, если нет какой-либо выгоды, а есть реальная возможность самостоятельно выяснить "чем это лучше/хуже". Правильный вопрос был бы — "чем помочь?".
Итак, разработчик СПО со свободной лицензией никак не отвечает перед потребителем. Используя СПО вы автоматически соглашаетесь на те условия, которые прописаны в тесте лицензионного соглашения. Это вопрос не только юридический, но и морально-социальный.
2. Разработчик СПО работает за идею.
Не только. За идею в одиночку можно работать над Pet-проектом. Я хочу напомнить всем одну картинку очень ёмкую:
Мы люди. Мы нуждаемся в еде, крыше над головой и т.д. СПО убивают не коммерческие компании или двойные лицензии, а, как ни странно, простые обыватели, распространяя негативные (и очень часто лживые) слухи об СПО, просто потому что им не понравилось отношение автора/реализация функционала/интерфейс, потому что он не как в {{ anything }}.
Стоит так же отметить, что идеи могут не совпадать, не говоря уже о приоритетах.
Есть ещё одна категория СПО, которую наполняют различные крупные и не очень компании, разрабатывающие софт и выкладывающие его ограниченную версию под любой свободной лицензией. Они так же страдают от потребительского отношения, правда уже не только от обывателя, но и от крупных вендоров-потребителей. Так, например, страдает Mongo от того, что её решения очень часто зашиваются каким-либо облачным провайдером и они зарабатывают на труде сотрудников Mongo, при этом ничего не принося проекту (облачные провайдеры не добавляют популярности, а опять же эксплуатируют эту популярность). Конечно там не всё так однозначно, но это пример того потребительского отношения к СПО, которое всё активнее развивается в "сообществе потребителей".
Итак, автор СПО не обязан работать за идею, респект и/или ещё какие-то нематериальные блага, особенно если его продукт приносит что-либо материальное потребителю.
3. Разработка СПО не может быть хобби.
Скажите это Линусу с его "по фану". Иногда, у людей совпадает интерес и они вместе начинают развивать продукт в свободное от работы время. Но наступает такой момент, когда хобби может надоесть, но это не делает ни продукт, ни разработчика плохим, ведь сам продукт остался прежним. Порой у разработчиков появляется желание сменить работу, деятельность или место жительства. Мы ведь не осуждаем это? Почему тогда, потребитель считает должным облить грязью разработчика, у которого пропала мотивация тащить на себе проект, которым пользуются многие, но ни приносят никакой пользы, кроме сообщений о багах и предложений по улучшению? Ведь в конечном счёте, пользователь делает это не из чувства взаимопомощи, а чаще всего из-за своих "шкурных" интересов (ему просто мешает этот баг).
Стоит отметить, что работа приносящая удовольствие очень похожа на хобби. Как сказал Конфуций:
Выбери себе работу по душе, и тебе не придется работать ни одного дня в своей жизни.
В действительности, потребительское отношение очень часто убивает желание заниматься каким-либо хобби.
Мне раньше нравилось заниматься фотографией. Я был неплохим репортажником, притом с упором на экстремальные виды спорта, в частности на Bike-stunt. Мне это реально нравилось.
Так же мне нравилось фотографировать реальные эмоции людей на концертах или на улице.
Это всё приносило мне много удовольствия, особенно обработка фотографий. Я относился к тем, кто обрабатывал практически каждый кадр как картину. На это уходила целая ночь, а то и несколько дней.
Но со временем люди, желающие "на халяву" обновить свой альбом в "одноклассниках" отбили это желание, каждый раз мотивируя что раз уж у меня есть камера и так хорошо получается, то я просто обязан их пофотографировать. Некоторые к один или два раза, после моего решительного отказа делать это бесплатно, покупали съёмку выпрашивая огромную скидку. Другие же воспринимали за оскорбление, ведь, как они считали, это они делали мне одолжение, убого позируя на камеру, даже не удосужившись замазать свои прыщавые лица хотя бы качественным тональным кремом.
Из личного опыта в других сферах, я могу сделать вывод, что потребительское отношение никогда не способствует развитию и созиданию, а только разрушает любую, даже очень классную, идею или инновацию.
Итак, даже самый простой Pet-проект может перерасти в очень востребованный, функциональный и популярный продукт. Но даже самый крутой проект можно уничтожить, демотивируя автора потребительским отношением.
4. Пользователю не нужно читать лицензионное соглашение.
Анекдот в тему:
В отделе статистики Microsoft вычислили, что русские – самая быстро-читающая нация в мире. После появления на экране лицензионного соглашения из нескольких десятков пунктов, они уже через пол-секунды нажимают «я прочитал и согласен с условиями».
Очень важно понимать, на что ты соглашаешься, когда нажимаешь кнопку "Согласен". В конце концов, кто-нибудь может добавить в соглашение пункт:
Используя данный софт, вы автоматически соглашаетесь с тем, что ваша квартира теперь принадлежит нам, а так же соглашаетесь на изъятие вашей почки в пользу нашего генерального директора.
Проблема в том, что те же правила, которые потребитель использует в коммерческих продуктах, он начинает применять в СПО. <sarkazm>
Действительно, а зачем смотреть под какой лицензией выложен продукт, если его можно просто скачать и установить?</sarkazm>
И не важно потребителю, что лицензия этого продукта подразумевает некоммерческое использование, а он хочет его применить в своей компании как платный сервис.
Эта привычка пришла из "пиратства", когда чтение лицензионного соглашения было действительно ненужным, ведь устанавливая "пиратский софт", потребитель уже нарушил это самое соглашение.
А теперь весьма "холиварный" вопрос: нужно ли автору-разработчику знать условия свободной лицензии, под которыми он выкладывает свою софтину? Вопрос конечно риторический, но всё же стоит уточнить, что ДА (всякие индивиды попадаются, кто-то думает что нет). Более того, когда нам шлют Pull-request, стоит так же помнить, что его шлют именно под той же лицензией, что и сам проект (есть исключения), а значит основной автор уже не сможет "закрыть" или перелицензировать проект.
То же касается и тех, кто использует свободные библиотеки. Это огромный камень в огород гордо кричащих в issues разработчиков, у которых проект становится уязвимым из-за каких-то багов или же особенностей в используемой библиотеке. Никакие "звёздочки", никакая популярность и прочие нематериальные блага не могут изменить условия лицензионного соглашения, которое принимает потребитель используя СПО.
Итог.
В своё время, пиратский "рынок" софта очень сильно избаловал потребителя, когда хороший и качественный софт можно было получить абсолютно бесплатно, при этом можно было на каком-либо трекере ещё и пожаловаться на софтину используя различные эвфемизмы и междометия.
Теперь потребитель очень твёрдо верит, что ему что-то должны, но при этом не готов за это платить. Развилось
Однако важно понять Open Source Community это не про потребителя и не несёт такой идеи. Основная идея Ричарда Столмана была в том, чтобы защитить авторов СПО от ответственности, от "тивоизации" и позволить разработчикам делиться своими наработками безопасно. СПО это не уровень потребителя — это уровень разработчика. Именно разработчики "соизволили" поделиться своим трудом, а не пользователи "соизволили" пользоваться софтом.
Поэтому:
- Будьте благодарны и помните — авторы СПО вам ничего не должны.
- Все хотят "кушать" и рабский труд в большинстве стран с конституцией запрещён.
- Даже самый интересный проект, может стать обузой из-за потребительского отношения.
- Читайте всё с чем соглашаетесь явно и неявно. Следуйте тому, с чем соглашаетесь, не соглашайтесь с тем, что не собираетесь исполнять.
Берегите себя и свои нервы, друзья-разработчики.
Автор: onegreyonewhite