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

Я ранее говорил о том, что такое Micro, как началось это путешествие и каково будущее проекта, поэтому я не буду повторять это здесь, но буду повторять TLDR;

Micro - это фреймворк с открытым исходным кодом для облачной разработки, а M3O (m3o.com) - это Micro as a Service или будущая бизнес-модель.

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

Давай не приукрашиваем

Открытый исходный код - это сложно. Очень трудно. Я не говорю о хакерских атаках на выходных, которые вы устраиваете на GitHub, выставляете лицензию MIT и называете «открытым исходным кодом». Я говорю о многолетних усилиях по поддержанию одного проекта, на который полагаются тысячи, если не сотни тысяч. Это жестокая, неблагодарная работа, за которую никто не хочет платить вам, и тем более не хочет отдать хоть каплю благодарности несколькими пенни в банке с чаевыми, чтобы вы продолжали работать. Так почему кто-то это делает? Я могу говорить только о своих мотивах, так что давайте углубимся в это.

Во-первых, почему с открытым исходным кодом сложно? Я начал испытывать глубокое уважение к разработчикам ПО с открытым исходным кодом. Особенно такие, как Сальваторе Санфилиппо, автор Redis, который недавно подошел к концу своего пути после более чем десятилетнего сопровождения проекта. Я никогда не забуду слова, которые он однажды сказал на сцене по поводу управления проблемами открытого исходного кода, которые он не хотел комментировать: Я закрываю их в своей голове. Для любого, кто не занимается сопровождением, это звучит абсурдно.

«Как кто-то мог такое сделать? Как ты посмел не ответить? Как ты посмел не ответить на мой вопрос ?! Вы понимаете, кто я! Я - раскладывающий клавиатуру воин, которому дано Богом право высказывать вам свое мнение и комментировать, что должно делать ваше программное обеспечение, и вы должны исправить это прямо сейчас бесплатно, потому что я так говорю ».

Ага… Я также закрываю в уме проблемы и отказываюсь от подписки на все эти уведомления GitHub. Послушайте, мы не говорим, что не благодарны за то, что у вас есть пользователи нашего программного обеспечения. Когда я начинал, я очень нервничал, потому что никогда раньше не поставлял программное обеспечение с открытым исходным кодом. Я никогда не чувствовал себя достаточно хорошим, чтобы написать что-то, что даже отдаленно могло бы считаться пригодным для использования кем-либо еще. Но потом это случилось, и я был взволнован. Я отвечал на каждый вопрос в течение нескольких минут, я был на Slack и github как ястреб. Вы бы видели мою серию на GitHub, она длилась более 100 дней. Люди отмечали, насколько я отзывчив, и было потрясающим чувством, когда они использовали мое программное обеспечение.

Так что случилось? Расскажу, что случилось ... выгорание.

Выгорающий

Вы знаете это, я знаю это, мы все это знаем. Выгореть. Враг разработчика. То, что неизбежно настигает всех нас, когда мы делаем что-либо достаточно долго. Это отсутствие баланса между работой и личной жизнью? Это какой-то другой клише, который мы все знаем, или статьи NYTimes, распространенные в HN и Twitter? По правде говоря, и я считаю, что выгорание происходит, когда вы не чувствуете, что получаете должное вознаграждение за проделанную работу и потраченное время.

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

Для меня работа была всепоглощающей вещью, и открытый исходный код ничем не отличался. Первые 10 месяцев я делал это бесплатно, а затем мне повезло со спонсором, который поддерживал меня в течение следующих 3 лет после этого. За это время я перешел от безденежья к минимальной заработной плате, чтобы в конечном итоге заработать то, чем я занимался до ухода с работы в 2015 году, используя приличную налоговую уловку на НИОКР, чтобы цифры работали. Поверьте мне, когда я говорю, что вы действительно не хотите заполнять свои собственные налоговые льготы на НИОКР только для того, чтобы сэкономить 15 тысяч фунтов стерлингов, чтобы вместо этого они могли уложиться в ваш карман.

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

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

Выживание в качестве сопровождающего

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

Сначала поговорим о финансах, а затем перейдем к мысленной стороне дела. С финансовой точки зрения вам нужна экономия, потому что в первый день никто не будет платить, фактически открытый исходный код бесплатен, поэтому никто НИКОГДА не будет платить, но давайте начнем с того, что никто не будет платить вам. Во-вторых, как только вы начнете расходовать свои сбережения, вам придется просить милостыню. Сегодня мы называем это пожертвованиями или спонсорами, но на самом деле это просто хороший способ просить милостыню. Просите денег у халявщиков, использующих ваше программное обеспечение, умоляйте отрасль выделить вам минуту своего времени и 10 долларов в месяц, чтобы вы могли платить за обед в ресторане один раз в неделю. Был ли третий? Хм, ну нет, тебе просто придется продолжать попрошайничать.

Если вы не являетесь сопровождающим одного из самых популярных проектов на GitHub, вам будет сложно найти настоящих спонсоров. И под настоящими спонсорами я имею в виду людей, которые будут тратить 100 тысяч долларов в год, чтобы поддерживать вас. Люди могут бросить в вас 1 или даже 10 тысяч долларов, но это не окупит вашу арендную плату навсегда или даже за пару месяцев в Сан-Франциско. И эти люди, вероятно, делают разовые пожертвования, потому что это оказывается для них полезным в тот момент, потому что на самом деле они хотят поддержки. RedHat как первый настоящий бизнес, построенный на проданной поддержке с открытым исходным кодом, вот и все, не более того, они упаковывают дистрибутив Linux и обеспечивают поддержку, и вот как они выжили. Это может работать, но вы действительно хотите сидеть и предлагать поддержку или вы хотите создавать программное обеспечение?

Спонсоры

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

Позвольте мне сказать это еще раз ...

НИКТО НЕ БУДЕТ ПЛАТИТЬ ВАМ ЗА БЕСПЛАТНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

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

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

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

Продать что-нибудь

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

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

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

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

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

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

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

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

Отдохни немного

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

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

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

Пора прекращать работу

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

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

В начале 2019 года я дал себе еще один год. Я сказал, что если до конца этого года ничего не изменится, то через 5 лет, и я готов. 5 лет - достаточно хорошее время для этого, и в конце я построил что-то классное, что многие люди начали использовать, но я должен жить дальше.

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

Как вы действительно живете, чтобы рассказывать историю?

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

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

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

Я получил финансирование и потратил последний год на создание продукта (m3o.com), который я активно продвигаю как убийцу гигантов AWS, разрушитель мечты Kubernetes и будущее всей разработки облачного программного обеспечения.

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

Вы можете позавидовать docker, kubernetes и всем этим другим проектам мирового класса, которые процветают, но загляните за занавес и поймете, что вендоры управляют там большей частью техобслуживания, например Amazon, Micro ... ну не Amazon, а Microsoft, Google и т. Д. активно инвестируют в открытый исходный код. И венчурные капиталисты тратят на это деньги, потому что они думают, что какая-то монетизация возможна за счет безумно успешного проекта, в то время как все остальные просто в пути.

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

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

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