Category: общество

Category was added automatically. Read all entries about "общество".

FreeBSD demon

Благотворительные забеги

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

Непонятно.
FreeBSD demon

Opensource

На моём компьютере установлена ровно одна закрытая программа - IntelliJ IDEA. И делает она это только потому, что мне в ней удобнее чем в Eclipse. Перестанет мне в ней быть удобно (или кто-нибудь допилит Eclipse до вменяемого состояния) - и не будет она больше стоять (и, если честно, я буду только рад).

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

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

Свобода выбора


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

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

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

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

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

А где же прибыль?


На чём зарабатывать деньги, спросите вы? Я отвечу: на чём угодно, кроме продажи софта. Посмотрите на Google, Yahoo, Sun, Mozilla, Apache. Они не продают софт. Однако имеют большое влияние в софтверной отрасли (и от нехватки средств не страдают). Опенсурс - это не про прибыль. Это про деланье мира лучше, а людей счастливее. Продавайте рекламу, поддержку, услуги - что угодно. Делайте закрытый софт для себя, только не надо его продавать.

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

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

Мораль


Разработчики, убеждайте своих работодателей пользоваться открытыми программами и разрабатывайте новые открытые программы, если это не межает бизнесу компании. Очень бывает обидно разработать классную библиотечку/компонент/whatever, а потом сменить работу и выяснить, что придётся писать его повторно, т.к. договор с первым работодателем не даёт вам никаких прав на код, который вы написали.

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

Ушёл патчить Django.