Daniel Bachhuber omawia WP-CLI, WP REST API i wyzwania związane z wkładem w Open Source w Roots Radio Podcast
Opublikowany: 2016-05-16
Daniel Bachhuber, opiekun projektu WP-CLI i współtwórca API WP REST, dołączył do Chrisa Carra i Austina Praya w ostatnim odcinku podcastu Roots Radio. Bachhuber omówił swoje ostatnie doświadczenia z crowdfundingiem swojej pracy nad „A More RESTful WP-CLI”, a także wyzwania, jakie napotkał jako współtwórca różnych projektów open source na przestrzeni lat.
W pierwszej części odcinka Bachhuber podzielił się tym, jak spędził 283 godziny czasu, które społeczność WordPress sfinansowała, aby rozwijać projekty API WP-CLI i WP REST. Dofinansowanie dało mu możliwość poświęcenia czasu na oba projekty. Bachhuber poświęcił około 95 godzin na REST API w styczniu i lutym, ale większość godzin poszła na uczynienie WP-CLI bardziej przyjaznym dla programistów, którzy pracują z REST API.
„Programiści WordPress będą teraz poświęcać dużo czasu na pisanie punktów końcowych REST, które eksponują ich funkcjonalność światu, i byłoby naprawdę miło, gdyby WP-CLI ładnie współpracował z tym i pozwalał na korzystanie z tej funkcji w wierszu poleceń bez konieczności oddzielnego pisania własnych poleceń WP-CLI” — powiedział Bachhuber.
Omówił wyzwanie związane z określeniem tego szerokiego celu i czego dowiedział się o crowdfundingu w trakcie tego procesu.
„Projekt kickstarterowy RESTful WP-CLI był celowo ambitny, ponieważ jestem facetem, który ma wielkie pomysły i lubi robić wielkie rzeczy” – powiedział Bachhuber. „Są pewne rzeczy, które czuję się naprawdę szczęśliwe, że udało mi się do tej pory dostarczyć i wyprodukować, a są też inne funkcje, których z tego czy innego powodu nie byłem jeszcze w stanie wykonać, co jest trochę frustrujące .
„To zupełnie inna gra w piłkę, próbująca sprostać oczekiwaniom twoich sponsorów Kickstarter, niż w przypadku pojedynczego klienta. Mam 107 klientów, których muszę uszczęśliwić” – powiedział.
Niemniej jednak Bachhuber powiedział, że był w stanie skrócić zaległości dotyczące WP-CLI do mniej niż 60 spraw, a poświęcony czas pozwolił mu rozwiązać stare problemy, które „słabły od zarania dziejów”.
W ramach nagród oferowanych współtwórcom kampanii crowdfundingowej Bachhuber zaoferował swój czas na konsultacje z osobami i organizacjami, które okazały się łatwiejsze niż tradycyjne nagrody rzeczowe.
„Naprawdę cieszę się, że wybrałem [konsulting] zamiast dawania fizycznego łupu, ponieważ bardzo trudno jest je zdobyć i wysłać do wszystkich, szczególnie gdy masz międzynarodowych sponsorów” – powiedział. „Chociaż spędziłem dużo czasu na zdobywaniu nagród, rozmowach z ludźmi, rozmowach z nimi i spotykaniu się z nimi osobiście, jest to znacznie łatwiejszy wysiłek niż wysłanie 100 kubków do kawy na całym świecie”.
Zapytany, czy zrobiłby to ponownie, Bachhuber odpowiedział, że tak, ale podkreślił, że spędzanie tak dużo czasu nad projektem open source działa tylko wtedy, gdy zachowujesz zdrową równowagę z innymi aspektami życia.
„Myślę, że to naprawdę ważne, jeśli regularnie uczestniczysz w projektach open source lub nawet je utrzymujesz, abyś zrównoważył swój czas między tym i innymi rzeczami” – powiedział. „Naprawdę łatwo jest wypalić się na wspomnianym projekcie open source, jeśli spędzasz nad nim 100% swojego czasu przez cały miesiąc lub sześć miesięcy.
„Całkiem celowo powiedziałem, że pieniądze, które zbierałem, miały pokryć moje zaangażowanie w projekt przez sześć miesięcy, określoną liczbę godzin i że będzie to praca w niepełnym wymiarze godzin. To był naprawdę zdrowy sposób na podejście do tego. Myślę, że wypaliłbym się, gdybym po prostu spróbował się w to zanurzyć, podkręcić i przejść do następnej rzeczy” – powiedział Bachhuber.

Emocjonalne wyzwania związane z pracą nad projektami Open Source
W trakcie wywiadu Bachhuber został poproszony o podzielenie się swoimi odczuciami na temat tego, co nazwał „zamieszaniem z REST API”, które miało miejsce w lutym. Zespół API REST napisał we wrześniu 2015 r. propozycję scalenia, która zalecała połączenie API w dwóch częściach – infrastruktury w 4.4 oraz postów, komentarzy, warunków i punktów końcowych użytkowników w 4.5 lub 4.6. Po częściowym zrealizowaniu tej propozycji zespół przeprowadził czat na temat statusu, aby omówić dalszy plan.
Bachhuber powiedział, że dyskusja stała się „bardzo emocjonującym wydarzeniem” po tym, jak Matt Mullenweg powiedział, że projekt wymaga zgodności funkcji z administratorem WordPressa, zanim którykolwiek z punktów końcowych będzie mógł zostać rozważony do połączenia. Po spędzeniu setek godzin w projekcie wraz z garstką oddanych współpracowników, którzy byli już rozproszeni, stwierdził, że to nowe wymaganie jest trudną do przełknięcia pigułką.
„Na dobre lub na złe, jako opiekun, a nawet uczestnik projektu open source, musisz mieć grubą skórę i zdawać sobie sprawę, że przez cały czas podejmowane decyzje nie dotyczą ciebie – one dotyczą projektu” powiedział Bachhuber. „Nawet jeśli osobiście czujesz się urażony tą decyzją, nie ma to znaczenia, ponieważ nie dotyczy ona ciebie. Naprawdę trudno jest sobie z tym poradzić emocjonalnie”.
Lata współtworzenia i utrzymywania przez Bachhubera projektów open source nauczyły go kilku rzeczy na temat radzenia sobie ze stresem i konfliktami, którymi zamierza podzielić się na WordCamp Europe podczas wykładu zatytułowanego: „Moje kondolencje, jesteś teraz opiekunem popularnego projektu systemu operacyjnego. ”
„Wiele radości sprawia mi utrzymywanie projektów open source” – powiedział Bachhuber. „Muszę również aktywnie pracować nad emocjonalną stroną równania, aby upewnić się, że jestem w zdrowej przestrzeni do dalszego prowadzenia projektu, a projekt nie wpływa na mnie osobiście. Zajęło mi lata dojście do punktu, w którym czuję się z tym komfortowo”.
W przypadku WP REST API Bachhuber doszedł do miejsca, w którym może posegregować swoje reakcje emocjonalne i odpowiedzi na różne opinie.
„Doszedłem do punktu, w którym obchodzi mnie to, ale nie obchodzi mnie to”, powiedział. „Zależy mi na tym, że nadal chciałbym zobaczyć, jak te punkty końcowe wchodzą w sedno i zobaczyć, jak urzeczywistniają się owoce naszej pracy. Nie obchodzi mnie to, ponieważ nie jestem emocjonalnie przywiązany do tego, co dzieje się w określonym przedziale czasowym. Szczerze wolałbym, żeby to się stało, gdy wszystko jest gotowe przedwcześnie i zdaję sobie sprawę, że mogę nie być najlepiej wykwalifikowaną osobą do podjęcia tej decyzji”.
W pozostałej części odcinka Bachhuber i Carr omawiają React, Redux, Karma, Enzyme i inne narzędzia do testowania i programowania za pomocą interfejsu API REST. Sprawdź nagranie odcinka w Roots Radio, aby uzyskać więcej informacji na temat pracy Bachhubera nad WP-CLI i jego doświadczeń z finansowaniem społecznościowym.
