пятница, 17 июня 2022 г.

[work.open-source.anger] А давайте подсчитаем чужие деньги или почему не стоит смотреть зубы дареному коню

По случаю тяпницы позволю себе тригернуться на комментарий к последней статье о SObjectizer на Хабре. Вот этот комментарий:

Ещё б документация была б хорошая, а не вот это месиво доксигена. Ну и в туториалах на gh кросс-ссылки и вычитку английского, а то встречаются там местами штуки типа "бесплатных функций" (free functions).

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


Смотрите, на Хабре у меня сейчас 60 статей. Пусть 40 из них касаются SObjectizer-а.

Давайте представим, что написание одной статьи -- это один рабочий день. Оно, конечно, совсем не так, более реалистично было бы считать три дня, но для простоты и наглядности возьмем всего один рабочий день.

Итак, 40 статей -- это 40 рабочих дней. С учетом того, что в месяце от 20 до 22 рабочих дней, 40 рабочих дней -- это почти что два календарных месяца.

Возьмем какую-то условную зарплату условного C++ника в 2000USD в месяц.

Даже не будем сейчас смотреть на то, насколько ЗП в 2000 актуальна и на то, что 2000 "на руки" -- это раза в 1.5 меньше того, во сколько разработчик обходится работодателю.

Просто считаем 2K в месяц.

Итого мы получаем 4K только на статьи про SObjectizer на Хабре.

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

Но ведь есть не только статьи на Хабре.

Предположим, что документирование нового релиза SObjectizer-а -- это 20% из потраченного на релиз времени.

Допустим, что один релиз -- это как раз календарный месяц, т.е. порядка 20 рабочих дней. Значит на документирование уходит 4 рабочих дня.

Опять же, отталкиваясь от "чистой" ЗП в 2000USD получаем, что по деньгам 4 рабочих дня -- это ~400USD.

Т.е. в каждом релизе только документирование обходится в 400USD.

А релизов было, ну скажем, двадцать.

Что дает восемь тысяч долларов "потраченных" только на документацию к SObjectizer-у.

С учетом еще четырех за статьи на Хабре в сумме выходит 12K.

Это только документация. Ничего больше.

И, напомню, это все наши собственные средства. У нас нет никаких спонсоров, которые хоть сколько-нибудь помогали бы нам материально.

Посему я хочу задать вопрос всем, кто готов кинуть камень в качество документации любого бесплатного открытого проекта: а вы могли бы из своих личных денег потратить хотя бы 1/10 от названной суммы на помощь этому самому открытому проекту?

Мне вот вспоминается, как в начале 2021-го года мы хотели собрать хотя бы 6000USD внешних средств чтобы не приостанавливать работы над SObjectizer и, особенно, RESTinio. Шесть тысяч на год. Но всего лишь один спонсор был готов выложить 200USD и еще от одного можно было попробовать получить еще 200USD. Еще я многократно говорил, что мы готовы взяться за добавление в RESTinio функциональности http-клиента где-то за 3-3.5K USD, но никто интереса не проявил. Так что о готовности поддерживать бесплатный OpenSource у меня есть собственные представления.


Теперь давайте к сути.

Я далек от того, чтобы на подобные комментарии отвечать в стиле: "это бесплатно, так что просто скажите спасибо за то, что есть".

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

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

Ибо если что-то не нравится или чего-то не хватает, то есть всего два способа это исправить: либо сделать самому, либо оказав помощь мейнтейнерам проекта.

И это касается не только наших открытых проектов. Такшта старая народная мудрость "дареному коню в зубы не смотрят" все еще актуальна.


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

1 комментарий:

eao197 комментирует...

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

Так же wiki проекта постоянно обновляется если пользователи задают вопросы, ответов на которые в wiki нет, либо же эти ответы неочевидны.

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