¿Por qué código abierto? ¿Estás loco?
Los pros y los contras de publicar como código abierto un producto de consumo.
Mucha gente me ha escrito para preguntarme por qué Monica es de código abierto. Hay muchas razones y quiero explicarlas aquí con detalle. Publicar un producto de consumo como código abierto y al mismo tiempo intentar ganarse la vida con él no es algo tan habitual (por desgracia), y quizá esto inspire a otros a hacer lo mismo. A mí me inspiró la forma en que Sentry, GitLab y muchos otros han creado empresas alrededor de productos de código abierto y, aunque Monica todavía no genera ingresos, quería compartir lo que pienso sobre el tema.
Las ventajas de publicar tu producto como código abierto
- Siempre quise crear un producto de código abierto. Probablemente por idealismo. Uso productos de código abierto desde que tengo memoria y quería contribuir humildemente al ecosistema a cambio. También me parecía que quedaba bien en el currículum.
- Monica contiene muchos datos personales. Diría que esos datos son potencialmente mucho más delicados que lo que la gente publica en Facebook. Para algunos es una preocupación enorme de privacidad. Al hacer Monica de código abierto y ofrecer maneras de instalarla tú mismo en algo que posees y controlas, eres tú quien decide si quieres correr el riesgo de dejar tus datos en manos de otro o mantenerlos bajo tu control.
- Por la naturaleza sensible de los datos que aloja Monica, y porque soy un desarrollador solo que no es tan bueno como la comunidad en conjunto, necesitaba abrir el código para que cientos de ojos lo examinaran y buscaran errores, posibles brechas y mejoras. Y encontraran mucho antes que yo lo que había que corregir o mejorar.
- Cuando la gente tiene acceso a tu código y además usa la plataforma, te asombrará cuánto contribuye. Envían pull requests con grandes ideas y conceptos que puedes incorporar de inmediato al producto para que todos se beneficien. Es fantástico. Por supuesto, no todas las ideas son buenas y de vez en cuando rechazarás alguna pull request por distintos motivos. Pero en conjunto es extremadamente positivo y recibirás funcionalidades estupendas.
- En una época en la que las redes sociales son tremendamente opacas sobre lo que recopilan y cómo usan los datos, la gente se preocupa cada vez más por su privacidad. Con muy buen motivo. Monica no muestra anuncios ni revende ningún dato. Pero ¿por qué creerme? Por una razón: el código fuente disponible libremente es exactamente lo que está en producción. No mantengo una segunda copia con modificaciones privadas. Por tanto, todo lo que hago es transparente y los usuarios pueden comprobar que no hago nada turbio. Se trata de transparencia y de construir una relación basada en la confianza.
- Los desarrolladores son la parte más importante de un ecosistema. Cuando les gusta lo que haces, crean un ecosistema alrededor y cosas geniales en las que nunca habrías pensado. Es un momento realmente mágico cuando ocurre. Los desarrolladores también son influyentes poderosos y tus mejores embajadores. La gente menos técnica acude a ellos a menudo para pedir consejo sobre tecnología. Y si les gusta Monica, hablarán de ella con casi el mismo alcance que un artículo sobre las Kardashian en una revista del corazón.
Los inconvenientes de publicar tu producto como código abierto
- Sea cual sea tu licencia, existe el riesgo de que alguien tome tu código, monte una empresa alrededor y se quede con el mercado al que querías llegar. No puedes hacer nada al respecto. Un dicho popular sostiene que una idea no vale nada, que solo cuenta la ejecución. En el caso de Monica es más que una idea: el código ya está ahí y ya es una ejecución. Cuanto más maduro sea el producto, más tentador resultará para otros robar el código. Estoy dispuesto a vivir con ello mientras la comunidad se beneficie del resultado.
- Si creces, quizá resultes menos atractivo para los inversores de riesgo o para posibles compradores. Pero ¿sabes qué? En mi caso es una buena noticia, porque no estoy construyendo algo para ellos, sino para los usuarios. Me da igual lo que piensen los fondos de inversión sobre el producto.
- Atender a la comunidad consume tiempo. No me malinterpretes. Me encanta interactuar con ella y me siento afortunado de que ya exista una comunidad apasionada alrededor de Monica. Pero mientras intento construir lo siguiente del producto, paso cada día mucho tiempo revisando incidencias, comprobando pull requests y respondiendo correos. Una parte importante de mi tiempo, de hecho. Insisto, no digo que sea malo. En realidad lo disfruto muchísimo. Pero ese consumo de tiempo hay que tenerlo en cuenta si decides abrir tu producto: tienes que estar dispuesto a participar y a cuidar de tu comunidad.
No se me ocurren más inconvenientes. Deberías plantearte publicar tu próxima idea como código abierto.