Cómo construir una gran comunidad de código abierto en diez sencillos pasos

Entonces tienes un proyecto de Código Abierto (FOSS). ¿Y necesitas a alguien para usarlo? Un problema comun! Como resultado, el éxito de un proyecto de software libre depende directamente de la salud de su comunidad.

En la reciente conferencia All Things Open, el experto en construcción comunitaria Jono Bacon habló sobre la naturaleza crítica de una comunidad saludable y cómo es esencial para un proyecto de código abierto. En Progress, tuve el privilegio de ayudar a construir, moderar, guiar y administrar dos comunidades: nuestros Expertos Desarrolladores y nuestra Comunidad NativeScript. El programa Developer Experts es un grupo de 38 evangelistas comunitarios apasionados por los productos Progress y Telerik. La comunidad NativeScript, principalmente activa en Slack, está compuesta por más de 2400 desarrolladores entusiastas de NativeScript, tanto experimentados como novatos, que conversan sobre todas las cosas de NativeScript y se ayudan mutuamente a desarrollar sus proyectos móviles.

Dado el crecimiento de estos grupos durante el año pasado, creo que podría ser útil para otros compartir algunos ejemplos concretos sobre la construcción de la comunidad como alguien que no tiene absolutamente ninguna capacitación para construir este tipo de comunidad.

Literalmente lo invento a medida que avanzo

Aunque el gif anterior puede decir mucho, algo definitivamente está haciendo clic en la comunidad NativeScript. Pedí a algunos de nuestros miembros un ejercicio de asociación de palabras pequeñas: "Dame cinco palabras que asocias con la comunidad NativeScript":

Genial cómo asocias la palabra Emoji hace el caso por diversión

Algunos de nuestros expertos en desarrollo han tenido resultados aún más concretos:

¿Hacer amigos, hacer carreras, ganar dinero? Lo encontrarás todo aquí.

¿Convencido de que construir una comunidad vale la pena? Sigue leyendo.

Consejo 1: encuentra una plataforma y quédate con ella

Inicialmente, nuestro centro comunitario estaba en Grupos de Google, pero rápidamente se hizo evidente que la interfaz no era capaz de construir buenas conversaciones. Cuando nos mudamos a Slack, se hizo real, muy rápido. Lamenté el hecho de que Slack no tiene hilos o, para planes impagos, una forma fácil de retener conversaciones. Un foro sería una buena manera de tener este tipo de conversación, y productos como Discourse ofrecen un plan gratuito para proyectos de software libre, pero para nosotros todo es Slack, todo el tiempo. La holgura tiene muchos usos sorprendentes. Hemos convertido los Slack Chats organizados con nuestros expertos en desarrollo en artículos bien recibidos para nuestra red de desarrolladores. Incluso lo hemos usado para ayudar con hackatones. A veces, los 37 canales de NativeScript Slack parecen un poco frenéticos, pero todos nos llevamos bien.

Más o menos lo que sucede en Slack

Consejo 2: Tacos y bots

Esto parece cursi, pero amamos nuestros tacos. Primero comencé a experimentar con Slackbots para hostigar a mi líder de equipo perpetuo:

Como resultado, es fácil escribir chatbots e integrarlos con Slack. Y son excelentes para ayudar a involucrar a la comunidad. Usamos el bot @heytaco para construir una tabla de clasificación de las personas más útiles en Slack, y puede ser bastante competitivo.

Para capacitar a los recién llegados en el uso de @heytaco, creo un "zap" de Zapier para ver el canal Slack para los nuevos miembros y darles la bienvenida con un taco amigable:

No por nada soy la "reina de los bots": tenemos un bot secreto de Santa Claus ejecutándose en este momento en el canal Developer Expert, y he intentado programar y sondear bots para organizar actividades grupales. Uno de mis bots se salió un poco de control, enviando recordatorios a las personas cada media hora, pero sobre todo son una excelente manera de elevar el nivel de alegría de su canal Slack. Un poco de tontería es muy útil.

El taco de baile de Hey Taco!

Consejo 3: Obtenga a las personas las herramientas que necesitan

Los desarrolladores son personas inteligentes. Si encuentran una herramienta o un proceso que les facilitará su trabajo, es probable que no solo lo tomen y lo usen, sino que lo mejoren. Habilitar, amplificar y celebrar este proceso crea un gran ecosistema de software en torno a su proyecto abierto central que el dinero no puede comprar. Sea testigo de los fragmentos NativeScript + Angular 2 para Visual Studio Code que Nathan Walker creó, así como su proyecto Advanced Seed que le permite activar rápidamente una aplicación web, móvil y de escritorio con código compartido. Otro ejemplo es el complemento Webstorm para NativeScript creado por Issam Guissouma, y ​​utilizado por muchos otros desarrolladores que aman este IDE.

La gente feliz de Axones, a quien estaba tan feliz de conocer en París. ¿Puedes ver al desarrollador de NativeScript que está creando el plugin de Webstorm?

Consejo 4: cultiva tus ayudantes

Me da el mayor placer ver a aquellos que han sido ayudados convertirse en grandes ayudantes. El señor Rogers tenía razón. ¿Puedes decir que solía ser un superfan?

Encuentra los ayudantes!

Los ayudantes en nuestros canales hacen un esfuerzo adicional para ayudar a sus compañeros a hacer el trabajo. Es una gran cosa Ayudamos a nuestros ayudantes dándoles acceso a los principales recursos de ingeniería e invitándolos a chats, llamadas y bases de código para ampliar su comprensión de la plataforma. También los señalamos hacia contratos, oportunidades de asociación y programas para colaborar con individuos y empresas. Cuantos más miembros de la comunidad se conviertan en expertos y más expertos se conviertan en profesionales en su plataforma, mejor será para todos. Este consejo tiene que ver con el karma.

Consejo 5: concursos Spin Up

De vez en cuando me gusta hacer un concurso improvisado de creación de aplicaciones en Slack. Estos se han vuelto muy populares y han generado algunas aplicaciones listas para producción que pueden presentarse en nuestro escaparate. Los concursos tienen muchos usos. Obliga a las personas a alejarse de su trabajo diario y trabajar en un proyecto que les permite construir una aplicación completa de principio a fin en un corto período de tiempo. Este ejercicio es útil para nosotros internamente para eliminar errores, y útil para la comunidad para ver qué se puede construir. Nuestro primer concurso, un desafío para construir una aplicación de lector de noticias, se realizó de manera extremadamente improvisada; nuestro segundo vio la creación de algunas aplicaciones meteorológicas hermosas; nuestro tercero se convirtió en la batalla de las aplicaciones con algunos de nuestros compromisos de blog más pesados ​​registrados, y actualmente estamos ejecutando nuestro cuarto concurso para las vacaciones. Me encantan los concursos por la competencia amistosa, la participación de la comunidad y los excelentes resultados.

La entrada ganadora de Josh Sommer

Consejo 6: Amplificar blogs

¡Todos saludan a los increíbles bloggers! Un conjunto de excelentes blogs orientados a la comunidad es un signo seguro de compromiso comunitario. Si bien tenemos nuestros propios blogs internos centrados en el desarrollador (Telerik Developer Network y los blogs NativeScript), es de vital importancia que también se escuchen las preocupaciones de la comunidad. Internamente, es posible que no podamos hacer un cambio rápido de las características y peculiaridades de una versión, pero puede apostar que Nathanael Anderson lo hará, a través de su blog. ¡Y si no lo hace, Nic Raboy o Brad Martin seguramente lo harán! Hemos realizado algunos interesantes blogs híbridos o experimentos de intercambio de contenido, incluidos NativeScript Snacks, que es un sitio que administro pero el contenido es totalmente generado por la comunidad. Hasta ahora está funcionando bien.

Luminarias NativeScript en el día del desarrollador NativeScript en Boston

Consejo 7: presenta un miembro de la comunidad

Cada mes, en broma le pregunto al grupo de Expertos Desarrolladores, "quién quiere ser Miss ", y saben que es hora de ser voluntario para ser un Experto Desarrollador destacado en el blog de Telerik. Esto ha demostrado ser una forma muy agradable de conocerse, especialmente en este grupo que es extremadamente internacional y disperso. ¿Sabía, por ejemplo, que Osei Fortune es de Trinidad y que de buena gana le enseñará jerga local y le dará una receta para los dobles? ¿Que Nathan Walker es un artista y músico apasionado? ¿Que Jochem Bökkers ha estado escribiendo software desde los días de PASCAL pero lo que lo vuelve loco es su teclado suizo? Es posible que estas personas nunca se encuentren cara a cara, pero este tipo de "característica" pone caras a los nombres y personaliza a las personas.

es un objetivo digno

Consejo 8: envíe botines, calcomanías e insignias para formar su tribu

Este es probablemente el método más obvio de construcción de la comunidad, pero aún funciona de manera brillante para construir su "tribu" y su "marca". Un logotipo sólido y buenas pegatinas son una forma asequible de difundir el amor. Tenemos la suerte de tener un presupuesto suficiente para enviar botín a todo el mundo. A todos les encanta recibir cajas por correo, pequeños regalos y amor. ¡Forma tu tribu!

Un equipo feliz y arrogante en Sudáfrica

Consejo 9: Construye carreras

Este es mi favorito de todos ... ver a los desarrolladores desarrollar sus habilidades y convertirse en profesionales en el campo, lo suficiente como para comenzar a desarrollar sus carreras en la plataforma que han ayudado a crear. Me enorgullece que nuestros esfuerzos estén ayudando a pagar las hipotecas, el cuidado de los niños, aunque solo sea en parte, ayudando a las personas a cambiar su carrera profesional.

El gif favorito de Osei (@Triniwiz)

Consejo 10: comete actos de amor y alegría

como podemos ayudarte? Esa es la gran "pregunta" del proyecto FOSS. Y la ayuda es recíproca: ayudarlo nos ayuda, ayuda al proyecto y ayuda a crear algo que es más grande que cualquiera de nosotros.

Y un consejo extra ... intenta mejorar. Definitivamente podemos hacer más y mejor. Me gustaría, por ejemplo, ver mucha más diversidad en nuestra comunidad, y estoy trabajando con mis colegas para promover este objetivo. Me gustaría ver que los estudiantes más jóvenes prueben nuestro proyecto, por lo que crear más currículo y recursos de aprendizaje es un objetivo. Siempre podemos mejorar. Pero mientras tanto, es simplemente divertido ser parte de una próspera comunidad de personas maravillosas.