НовостиОбзорыСобытияIT@Work
Open Source:

Блог

О проблеме "Just for fun"

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

Итак, что такое "Just for fun"? Первоначально, это было просто частью названия автобиографии Линуса Торвольдса: "Just for Fun: The Story of an Accidental Revolutionary" (кстати, хорошая книжка, советую почитать), а позже эту фразу стали использовать для того, чтобы подчеркнуть некоммерческий характер развития многих СПО-проектов.

Возвращаемся к заблуждениям, вот конкретный пример:
Проблема СПО в модели «just for fun», её проблема в том, что каждый делает не то, что должен, а то что хочет. А ведь иногда нудные и скучные вещи делают продукт более дружественным к пользователю, более стабильным и массовым. Всем известно, что программировать новое намного интереснее, чем оптимизировать и тестировать старое. Вот и получается что за нудные и неинтересные вещи никто не делает. Именно проработанность нудных, но важных вещей являются тем, что отличает СПО от коммерческого софта.
Собственно, главная мысль содержится в первом предложении, на него и стоит обратить особое внимание.

Заблуждение №1. О том, что СПО и «just for fun» неразрывно связаны.
Я видел множество открытых проектов, которые от начала и до конца были написаны наёмными работниками. И написаны были по всем правилам: с ТЗ, тестированием, контролем качества, доработкой и прочее. Эти проекты, в плане кода ни капли не отличались от другого СПО, конечно, у такого ПО отсутствовала "душа" и сообщество, но по «внешним признакам», такие программы от разработанных «just for fun» отличить не легко.

Заблуждение №2. О том, что «just for fun» может быть только в СПО.
Можно привести пример сотен freeware программ (закрытых, проприетарных), которые написаны именно "just for fun". Люди не пытаются заработать на этом ПО, а просто пишут в своё свободное время. Разработчики этих программ могут игнорировать просьбы пользователей и годами не исправлять ошибки в ПО. Из-за того, что исходный код таких программ не доступен, у вас нет возможности самим исправить что-то (или кого-то нанять, чтобы исправить), как в случае с СПО.

Заблуждение №3 О том, что "Just for fun" — всегда плохо.
Не все понимают, что зачастую в программы, которые пишутся не за деньги,  а «для себя» вложено намного больше усилий и тщательной проработки. Действительно, если разработчик сам пользуется программой, то он сделает её удобной для себя. Добавьте к этому понимание того, что код смогут увидеть другие программисты. Разве будет разработчик делать «тяп-ляп», если понимает, что по качеству этого кода другие будут судить о его профессиональных качествах?

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

Можно продолжать ещё долго, но думаю, что уже понятна главная мысль о том, что сам подход "Just for fun" к разработке ПО не может служить критерием того, насколько хорош или плох продукт.  Свободное ПО обладает рядом фундаментальных свойств, одно из них это то, что большая часть проектов начинается как "Just for fun". Но понимают это не многие и очень часто смотрят на СПО «со своей колокольни», не учитывая специфики, собственно, СПО.  А из-за этого особенности выдают за  недостатки.

PS: Кроме того, всегда нужно помнить, что существуют некоммерческие проекты по созданию СПО, и коммерческие компании, пытающиеся заработать на СПО.  Это два связанных между собой, но очень разных «мира», всегда нужно учитывать о каком из них идёт речь.
Михаил Романов
Я говорил о проектах гораздо меньшего масштаба. Вы привели лидеров с долгой и сложной историей, а тут нужны примеры по-проще.
Я привел те, которые знаю.
Если вам известны другие - расскажите.

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

Тем более, что так оно и есть.
Чтобы этот тезис подтвердить, достаточно привести проект, который:
- живет долгое время (скажем лет 5-7 - это хороше время зрелости для ПО),
- активно развивается (тут с критериями сложнее, я предложу вараинт серьезное обновление функционала раз в 2-3 года и не реже чем раз в полгода выпуск обновлений с исправлениями и улучшениями),
- не имеет финансирования (в том числе косвенного, т.е. например, библиотека используется в коммерческом проекте и развивается силами участников этого проекта), т.е. живет только за счет интереса участников.
Иван Шихалев
Чтобы этот тезис подтвердить, достаточно привести проект, который:

http://freepascal.org/ подойдет?