Daniel Bachhuber habla sobre WP-CLI, la API REST de WP y los desafíos de contribuir al código abierto en Roots Radio Podcast

Publicado: 2016-05-16

daniel-bachhuber Daniel Bachhuber, mantenedor del proyecto WP-CLI y desarrollador colaborador de la API REST de WP, se unió a Chris Carr y Austin Pray en un episodio reciente del podcast Roots Radio. Bachhuber habló sobre su experiencia reciente en la financiación colectiva de su trabajo en "A More RESTful WP-CLI", así como los desafíos que ha enfrentado como colaborador de varios proyectos de código abierto a lo largo de los años.

En la primera parte del episodio, Bachhuber compartió cómo pasó las 283 horas de tiempo que la comunidad de WordPress financió para avanzar en los proyectos WP-CLI y WP REST API. La financiación le dio la oportunidad de dedicar tiempo dividido entre los dos proyectos. Bachhuber dedicó aproximadamente 95 horas a la API REST en enero y febrero, pero la mayor parte de las horas se dedicó a hacer que WP-CLI sea más amigable para los desarrolladores que trabajan con la API REST.

“Los desarrolladores de WordPress van a dedicar mucho tiempo ahora a escribir puntos finales REST que expongan su funcionalidad al mundo, y sería muy bueno si WP-CLI interoperara bien con eso y le permitiera usar esa funcionalidad en la línea de comando. sin tener que escribir por separado sus propios comandos WP-CLI”, dijo Bachhuber.

Habló sobre el desafío de alcanzar este objetivo amplio y lo que aprendió sobre el crowdfunding durante el proceso.

“El proyecto kickstarter RESTful WP-CLI fue intencionalmente ambicioso, porque soy un tipo que tiene grandes ideas y le gusta hacer cosas grandes”, dijo Bachhuber. “Hay algunas cosas de las que me siento muy feliz de haber podido enviar y producir hasta ahora, y hay otras características que, por una u otra razón, no he podido ejecutar todavía y eso es un poco frustrante. .

“Es un juego de pelota completamente diferente tratar de administrar las expectativas de los patrocinadores de Kickstarter de lo que es un solo cliente. Tengo 107 clientes a los que tengo que hacer felices”, dijo.

Sin embargo, Bachhuber dijo que pudo reducir la acumulación de problemas para WP-CLI a menos de 60 problemas y el tiempo dedicado le ha permitido resolver problemas antiguos que han "languidecido desde el principio de los tiempos".

Como parte de las recompensas ofrecidas a los contribuyentes de la campaña de crowdfunding, Bachhuber ofreció su tiempo para consultar con individuos y organizaciones, lo que le resultó más fácil que las recompensas físicas tradicionales.

"Estoy muy contento de haber elegido [consultoría] en lugar de tener que dar botín físico, porque es muy difícil conseguir y enviar a todo el mundo, especialmente cuando tienes patrocinadores internacionales", dijo. “Aunque he pasado gran parte de mi tiempo cumpliendo con las recompensas y hablando con la gente, haciéndoles llamadas y reuniéndome con ellos en persona, es un esfuerzo mucho más fácil de administrar que enviar 100 tazas de café a todo el mundo”.

Cuando se le preguntó si lo volvería a hacer, Bachhuber dijo que sí, pero enfatizó que dedicar tanto tiempo a un proyecto de código abierto solo funciona si se mantiene un equilibrio saludable con otros aspectos de la vida.

“Creo que es muy importante que, si contribuye a proyectos de código abierto de manera regular o incluso los mantiene, equilibre su tiempo entre eso y otras cosas”, dijo. “Es muy fácil quemarse con dicho proyecto de código abierto si dedica el 100 % de su tiempo a él durante un mes completo o seis meses.

“Fui bastante intencional al decir que el dinero que estaba recaudando cubriría mi participación en el proyecto durante seis meses, una cierta cantidad de horas, y que sería algo de medio tiempo. Esa fue una forma muy saludable de abordarlo. Creo que me habría quemado si hubiera tratado de sumergirme en él, arrancarlo y pasar a lo siguiente”, dijo Bachhuber.

Los desafíos emocionales de trabajar en proyectos de código abierto

Durante el transcurso de la entrevista, se le pidió a Bachhuber que compartiera sus sentimientos sobre lo que él denominó "el alboroto con la API REST" que ocurrió en febrero. El equipo de API REST había escrito una propuesta de fusión en septiembre de 2015 que recomendaba fusionar la API en dos partes: la infraestructura en 4.4 y las publicaciones, comentarios, términos y puntos finales de los usuarios en 4.5 o 4.6. Después de ejecutar parcialmente esa propuesta, el equipo mantuvo un chat de estado para discutir el plan a seguir.

Bachhuber dijo que la discusión se convirtió en "un evento muy emocionalmente tenso" después de que Matt Mullenweg dijera que el proyecto necesitaba paridad de funciones con el administrador de WordPress antes de que cualquiera de los puntos finales pudiera considerarse para la fusión. Después de dedicar cientos de horas al proyecto junto con un puñado de colaboradores dedicados que ya estaban dispersos, descubrió que este nuevo requisito era una píldora difícil de tragar.

"Para bien o para mal, como mantenedor o incluso como participante de un proyecto de código abierto, debe tener la piel dura y darse cuenta de que todo el tiempo las decisiones que se toman no son sobre usted, sino sobre el proyecto". Bachhuber dijo. “Incluso si te ofende personalmente la decisión, no importa porque no se trata de ti. Es realmente difícil lidiar con eso emocionalmente”.

Los años de Bachhuber de contribuir y mantener proyectos de código abierto le han enseñado algunas cosas sobre cómo manejar el estrés y los conflictos que planea compartir en WordCamp Europa en una charla titulada: “Mis condolencias, ahora es el mantenedor de un popular proyecto de sistema operativo. ”

“Encuentro mucha alegría en mantener proyectos de código abierto”, dijo Bachhuber. “También tengo que trabajar activamente para abordar el lado emocional de la ecuación para asegurarme de estar en un espacio saludable para continuar manteniendo el proyecto y que el proyecto no me afecte personalmente. Me ha llevado años llegar a un punto en el que me sienta cómodo con eso”.

En el caso de la API REST de WP, Bachhuber ha llegado a un lugar donde puede compartimentar sus reacciones y respuestas emocionales a las diferentes opiniones.

“He llegado a un punto en el que me importa, pero no me importa”, dijo. “Me importa en el sentido de que todavía me encantaría ver esos puntos finales entrar en el núcleo y ver los frutos de nuestro trabajo realizados. No me importa porque no estoy emocionalmente apegado a que eso suceda en un período de tiempo en particular. Honestamente, preferiría que sucediera cuando esté listo para suceder prematuramente, y me doy cuenta de que podría no ser la persona mejor calificada para tomar esa decisión”.

En el resto del episodio, Bachhuber y Carr analizan React, Redux, Karma, Enzyme y otras herramientas para probar y desarrollar con la API REST. Consulte la grabación del episodio en Roots Radio para obtener más detalles sobre el trabajo de Bachhuber en WP-CLI y su experiencia de financiación colectiva.