Дэниел Бачхубер , сопровождающий проекта WP-CLI и один из разработчиков WP REST API , присоединился к Крису Карру и Остину Прею в недавнем выпуске подкаста Roots Radio . Баххубер рассказал о своем недавнем опыте краудфандинга его работы над « A More RESTful WP-CLI », а также о проблемах, с которыми он столкнулся на протяжении многих лет в качестве участника различных проектов с открытым исходным кодом.
В первой части эпизода Баххубер рассказал, как он потратил 283 часа времени, которые сообщество WordPress профинансировало, на продвижение проектов WP-CLI и WP REST API. Финансирование дало ему возможность выделить время между двумя проектами. Бачхубер потратил около 95 часов на REST API в январе и феврале, но большая часть времени ушла на то, чтобы сделать WP-CLI более удобным для разработчиков, которые работают с REST API.
«Разработчики WordPress собираются потратить много времени на написание конечных точек REST, которые открывают миру их функциональность, и было бы очень хорошо, если бы WP-CLI хорошо взаимодействовал с этим и позволял вам использовать эту функциональность в командной строке. без необходимости отдельно писать свои собственные команды WP-CLI », – сказал Баххубер.
Он обсудил проблему определения этой широкой цели и то, что он узнал о краудфандинге в процессе.
«Проект кикстартера RESTful WP-CLI был намеренно амбициозным, потому что я парень, у которого большие идеи, и который любит делать большие дела», – сказал Баххубер. “Есть некоторые вещи, от которых я чувствую себя действительно счастливым, что мне удалось отправить и произвести до сих пор, и есть другие функции, которые по той или иной причине я еще не совсем смог выполнить, и это немного расстраивает.
«Это совершенно другая игра с мячом, пытающаяся оправдать ожидания ваших покровителей на Kickstarter, чем использование одного клиента. У меня 107 клиентов, которых я должен осчастливить», – сказал он.
Тем не менее, Баххубер сказал, что ему удалось сократить количество невыполненных задач для WP-CLI менее чем до 60, а выделенное время позволило ему решить старые проблемы, которые «не решались с незапамятных времен».
В рамках вознаграждения, предложенного участникам краудфандинговой кампании, Баххубер предложил свое время проконсультироваться с отдельными лицами и организациями, что, по его мнению, было проще, чем традиционные физические награды.
«Я действительно рад, что выбрал [консалтинг] вместо того, чтобы раздавать материальный товар, потому что его очень сложно закупить и отправить всем, особенно когда у вас есть международные спонсоры», – сказал он. «Несмотря на то, что я потратил много времени, выполняя награды, разговаривая с людьми, разговаривая с ними и встречаясь с ними лично, справиться с этим намного проще, чем отправлять 100 кружек кофе по всему миру».
Когда его спросили, сделает ли он это снова, Баххубер ответил утвердительно, но подчеркнул, что тратить столько времени на проект с открытым исходным кодом работает только в том случае, если вы сохраняете здоровый баланс с другими аспектами жизни.
«Я думаю, что действительно важно, чтобы, если вы регулярно вносите свой вклад в проекты с открытым исходным кодом или даже поддерживаете их, вы балансировали свое время между этим и другими делами», – сказал он. «Очень легко выгореть на упомянутом проекте с открытым исходным кодом, если вы потратите на него 100% своего времени в течение целого месяца или шести месяцев.
«Я намеренно сказал, что деньги, которые я собирал, пойдут на покрытие моего участия в проекте в течение шести месяцев, определенного количества часов, и что это будет неполный рабочий день. Это был действительно здоровый подход. Думаю, я бы перегорел, если бы я просто попытался погрузиться в это, запустить его и перейти к следующему делу », – сказал Баххубер.
Эмоциональные проблемы при работе над проектами с открытым исходным кодом
В ходе интервью Бахубера попросили поделиться своими чувствами по поводу того, что он назвал «неразберихой с REST API», которая произошла в феврале. В сентябре 2015 года команда REST API написала предложение о слиянии, в котором рекомендовалось объединить API в двух частях – инфраструктуре в 4.4 и сообщениях, комментариях, условиях и конечных точках пользователей в 4.5 или 4.6. После частичного выполнения этого предложения команда провела статусный чат, чтобы обсудить дальнейший план.
Баххубер сказал, что обсуждение стало «очень эмоционально напряженным событием» после того, как Мэтт Малленвег сказал, что проекту необходим паритет функций с администратором WordPress, прежде чем можно будет рассматривать возможность слияния какой-либо из конечных точек. Потратив сотни часов на проект вместе с горсткой преданных делу участников, которые уже разошлись, он обнаружил, что это новое требование было трудной пилюлей.
«Хорошо это или плохо, но как сопровождающий или даже участник проекта с открытым исходным кодом, вы должны иметь толстую кожу и понимать, что все время принимаемые решения касаются не вас – они касаются проекта», – сказал Баххубер. «Даже если это решение вас лично оскорбляет, это не имеет значения, потому что дело не в вас. Это действительно сложно эмоционально ».
Годы участия Бахубера в проектах с открытым исходным кодом и их поддержки научили его нескольким вещам об управлении стрессом и конфликтами, которыми он планирует поделиться на WordCamp Europe в докладе под названием «Мои соболезнования, теперь вы поддерживаете популярный проект ОС. ”
«Мне очень нравится поддерживать проекты с открытым исходным кодом, – сказал Баххубер. «Я также должен активно работать над эмоциональной стороной уравнения, чтобы убедиться, что я нахожусь в здоровом пространстве, чтобы продолжать поддерживать проект, и проект не влияет на меня лично. Мне потребовались годы, чтобы прийти к выводу, что мне это комфортно ».
В случае с WP REST API Баххубер пришел к тому моменту, когда он может разделить свои эмоциональные реакции и ответы на различные мнения.
“Сейчас я подошел к тому моменту, когда мне все равно, но мне все равно”, – сказал он. “Мне не все равно в том смысле, что я все равно хотел бы, чтобы эти конечные точки вошли в ядро и увидели плоды наших трудов. Мне все равно, потому что я эмоционально не привязан к тому, что происходит в какой-то конкретный период времени. Честно говоря, я бы предпочел, чтобы это произошло, когда это будет готово произойти преждевременно, и я понимаю, что, возможно, я не самый подходящий человек для принятия такого решения ”.
В оставшейся части эпизода Баххубер и Карр обсуждают React, Redux, Karma, Enzyme и другие инструменты для тестирования и разработки с помощью REST API. Посмотрите запись этого эпизода на Roots Radio, чтобы узнать больше о работе Бахубера над WP-CLI и его опыте краудфандинга.