Haciendo que una biblioteca de código abierto sea financieramente sostenible

Rate this content
Bookmark

React Flow es una biblioteca de código abierto utilizada por miles de desarrolladores y cientos de empresas. ¿Cómo nos aseguramos de que se mantenga viva y también sea gratuita? Compartiré algunas ideas a lo largo de nuestro viaje desde la liberación de React Flow como código abierto hasta alcanzar el "cero negro", incluyendo los hallazgos de nuestra investigación de usuarios donde hablamos con algunas de las personas que nos apoyan cada mes.

FAQ

ReactFlow introdujo un modelo de precios con opciones adicionales de pago, incluyendo características de ejemplos profesionales y soporte individual, lo que permitió generar ingresos suficientes para sostener el proyecto.

ReactFlow es una biblioteca de código abierto diseñada para facilitar la construcción de interfaces y aplicaciones. Originalmente fue creada como parte de un proyecto más grande y luego se lanzó como un proyecto independiente de código abierto.

Los principales desafíos incluyeron la necesidad de mantener la biblioteca con un creciente número de usuarios y preguntas, además de asegurar la estabilidad y funcionalidad necesarias. Los intentos iniciales de financiación mediante patrocinios de GitHub no proporcionaron suficientes recursos financieros.

La licencia MIT es crucial para ReactFlow porque permite que tanto individuos como empresas pequeñas puedan usar la biblioteca sin costo, manteniendo el compromiso del equipo con el principio del código abierto y la accesibilidad.

Descubrieron que los suscriptores no solo pagaban por las características adicionales, sino que también veían su pago como un apoyo al desarrollo continuo de toda la biblioteca, valorando el trabajo y la dedicación del equipo de ReactFlow.

La propuesta de valor de ReactFlow incluye proporcionar una herramienta robusta y confiable en un nicho de mercado con pocos competidores, junto con un soporte efectivo y personalizado que ayuda a construir una relación de confianza con sus usuarios.

ReactFlow incluye atribuciones visuales en su herramienta que pueden ser removidas, pero presentan una decisión moral para las empresas que la usan, incentivándolas a considerar el apoyo financiero si están en posición de hacerlo.

Además del acceso a la biblioteca bajo la licencia MIT, los planes de pago ofrecen características adicionales como ejemplos profesionales, informes de errores prioritarios y soporte individual, enriqueciendo la experiencia del usuario y ofreciendo valor agregado.

John Robb
John Robb
8 min
02 Dec, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla trata sobre cómo se logró que una biblioteca de código abierto, ReactFlow, sea financieramente sostenible. Se probaron varios métodos, incluyendo el patrocinio de Github y la financiación cruzada, pero finalmente se agregó un precio a la biblioteca. Generar confianza y expectativas claras a través del apoyo continuo y la comunicación con los suscriptores fue clave para obtener apoyo financiero. El problema de las personas que no saben cuánto contribuir se abordó mediante la provisión de una estructura de precios clara. Se agregaron características adicionales como soporte individual y ejemplos profesionales para combatir la paradoja de la elección y fomentar el apoyo financiero.

1. Haciendo una Biblioteca de Código Abierto Sostenible

Short description:

Estoy aquí para hablar sobre cómo hicimos que nuestra biblioteca de código abierto fuera financieramente sostenible. Construimos ReactFlow como una biblioteca de código abierto que ganó tracción. Probamos varios métodos para mantenerla financieramente, incluyendo el patrocinio de Github y la financiación cruzada. Sin embargo, queríamos mantener la licencia MIT y permitir que las empresas más pequeñas la utilizaran. Así que añadimos un precio a la biblioteca.

Hola a todos. Soy John. Hola a todos. Soy John. Eso se sintió como una introducción intensa. Estoy aquí para hablar sobre cómo hicimos que nuestra biblioteca de código abierto fuera financieramente sostenible.

Soy John. Trabajo para ReactFlow. Es una biblioteca que construimos para construir otra cosa que estábamos haciendo hace un par de años. ¿Alguien aquí ha utilizado ReactFlow en algún momento? Algunas manos levantadas y más para ayudar a construir la biblioteca. Gracias por eso.

Construimos esto hace un par de años. Mientras hacíamos otra cosa, decidimos hacerlo de código abierto. Terminó ganando tracción, lo cual fue genial, pero por supuesto, lo que viene con una biblioteca de código abierto que se utiliza con frecuencia es que necesitamos mantenerla. Empezamos a tener muchos problemas, mucha gente haciendo preguntas, el canal de Discord empieza a crecer. Nuestra pregunta fue cómo podemos asegurarnos de que tenga todas las características que necesita, que sea estable para todas estas personas que la están utilizando? Eso viene con las finanzas. ¿Cómo nos aseguramos de mantenerla financieramente?

Probamos varias cosas. Primero, el patrocinio de Github. Para nosotros, no funcionó en absoluto. No era suficiente dinero para trabajar en esto y dedicar una cantidad considerable de tiempo a ello. No teníamos suficientes seguidores, ni suficiente dinero por seguidor. La financiación cruzada era una opción, pero por supuesto, eso es trabajar como una agencia un poco más intensa y luego dividir tu tiempo entre dos cosas. Ir a inversores. Queríamos tener la opción de poder decidir la dirección de nuestra propia biblioteca en ese momento así que eso no era una opción para nosotros. Por supuesto, estaba la opción de simplemente añadir una licencia propietaria en lugar de MIT, venderla a algunas de las empresas que la utilizan por un par de miles de euros y poder ir a Mallorca. Pero para nosotros, la licencia MIT era muy importante ya que habíamos utilizado un montón de cosas con licencia MIT y queríamos que las personas que no pudieran pagarla o las empresas más pequeñas pudieran utilizarla, y creemos en el código abierto en general.

Entonces, ¿qué hicimos? Añadimos un precio. Así que todos ustedes probablemente han visto este tipo de pantalla con tres rectángulos antes y saben exactamente lo que significa. Tienen una opción más barata a la izquierda, más cara a la derecha. Así que a la izquierda tenemos la biblioteca tal como está.

2. Building Trust and Clear Expectations

Short description:

Código abierto, MIT, todos pueden usarlo. Añadimos características, informes de errores y soporte individual. La gente se suscribió y nos volvimos financieramente sostenibles. Hablamos con los suscriptores y obtuvimos información. Construir confianza a través de un soporte continuo es importante. Al responder rápidamente, los suscriptores nos conocieron y nos apoyaron. Hacer nuestras expectativas claras nos ayudó a obtener apoyo financiero.

Código abierto, MIT, todos pueden usarlo. Solo descárgalo como quieras. Y luego agregamos algunas características de ejemplos profesionales, informes de errores prioritarios, y para los que están dispuestos a pagar un poco más, les ofrecimos soporte individual durante una hora al mes y queríamos ver qué sucedía. Veamos si esto funciona. La gente se suscribió. Increíble. Y así es como nos convertimos en una empresa de tres personas financieramente sostenible.

Genial. Pero lo que sucede es que no estábamos seguros de por qué la gente se suscribía para pagar por algo que básicamente pueden obtener de forma gratuita. Así que eso es de lo que voy a hablarles hoy, lo que descubrimos a partir de una investigación que nuestra buena amiga Eileen, que es investigadora, dijo: `Oye, ¿por qué no les preguntas a tus suscriptores por qué están pagando?` Así que hablamos con ocho suscriptores. Y obtuvimos una gran cantidad de información valiosa de ellos. Y algunos de ellos son específicos de React flow, ¿verdad? Nuestra propuesta de valor es excelente, lo cual es increíble. Y en el espacio, en ese momento, no había muchos competidores en este nicho. Pero hoy, compartiré con ustedes algunas cosas que puedo transmitirles a todos ustedes que no están relacionadas solo con React flow.

Hablo rápido. Soy de cerca de la ciudad de Nueva York. Así que despacio. Ahí vamos. Haciendo clic en los botones. Atrás, atrás. Y eso fue un descanso para todos ustedes. El primer punto de cuatro. Probablemente muchos de ustedes ya saben si han trabajado en software de código abierto, que construir confianza a través de un soporte continuo es muy importante al principio, especialmente si vas a tratar de averiguar qué características construir, tus usuarios te lo dirán. Y al responder rápidamente a esas cosas en GitHub y Discord, comenzarás fácilmente a construir esa confianza. Así que cuando realmente hablamos con nuestros suscriptores, no solo sabían que React flow es una gran biblioteca, conocían nuestros nombres. Así que no solo estaban apoyando la biblioteca que obtenían en GitHub y la documentación, sino que nos estaban apoyando a nosotros como personas.

Luego la pregunta es, si nos apoyan como personas, ¿cómo podemos lograr que realmente nos apoyen financieramente si pueden hacerlo? Y eso es haciendo nuestras expectativas claras. Como dije antes, probamos los patrocinios de GitHub y no funcionó en absoluto, ni siquiera cerca de ser financieramente sostenible. Y luego implementamos esta cosa que es prácticamente el modelo probado y verdadero de las empresas SaaS durante años, y funcionó. Y nuestra hipótesis aquí es que básicamente hemos reducido la elección, porque hay tantas bibliotecas de código abierto, no estamos seguros de cómo apoyarlas.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Cómo Construir Tu Propio Proyecto de Código Abierto
React Advanced Conference 2022React Advanced Conference 2022
16 min
Cómo Construir Tu Propio Proyecto de Código Abierto
Todos usamos proyectos de código abierto todos los días, como paquetes de npm, editores, aplicaciones web e incluso sistemas operativos... ¿Alguna vez has pensado en construir uno propio? En esta charla, compartiré mi experiencia construyendo jest-preview, desde cuando era solo una idea vaga, hasta convertirse en una biblioteca ampliamente adoptada para ayudar a los ingenieros frontend a escribir pruebas más rápido. Compartiré contigo cómo encontrar una idea para un proyecto en el que trabajar, cuáles son los desafíos que debes superar como autor de un proyecto de código abierto, cómo administrar el tiempo de manera eficiente y cómo llamar la atención de los ingenieros de todo el mundo.
Lecciones de Mantenimiento de Bibliotecas de TypeScript
TypeScript Congress 2022TypeScript Congress 2022
30 min
Lecciones de Mantenimiento de Bibliotecas de TypeScript
Mantener bibliotecas de JS ampliamente utilizadas ya es complicado, y TypeScript agrega un conjunto adicional de desafíos.

Únete al mantenedor de Redux, Mark Erikson, para conocer algunos de los problemas únicos a los que se enfrentan los mantenedores de bibliotecas de TS y cómo el equipo de Redux ha abordado esos problemas. Cubriremos:

- Compromisos de diferentes formas de definir tipos de TS para una biblioteca
- Cómo apuntar a diferentes versiones de TS y consideraciones para determinar el rango de versiones admitidas
- Migrar bibliotecas de JS existentes a TS
- Diferencias entre escribir tipos de "aplicación" y tipos de "biblioteca"
- Administrar y versionar APIs de tipos públicos
- Consejos y trucos utilizados por los tipos de las bibliotecas de Redux
- Limitaciones de TS y posibles mejoras a nivel de lenguaje
Módulos Nuxt 3 y Código Abierto
Vue.js London 2023Vue.js London 2023
31 min
Módulos Nuxt 3 y Código Abierto
Los módulos Nuxt son la forma por defecto de extender nuestras aplicaciones Nuxt con nuevos comportamientos y funcionalidades. ¿Alguna vez has construido el tuyo propio? ¿Por qué te molestarías con cientos de módulos ya disponibles? Vamos a responder esas preguntas juntos y ver por qué crear tus propios módulos en Nuxt 3 puede ayudarte a tener una comprensión más profunda de cómo funciona Nuxt, al mismo tiempo que te abre el camino para involucrarte en el código abierto.
Rompe la Carrera: Detección Fácil de Condiciones de Carrera para React
React Day Berlin 2023React Day Berlin 2023
31 min
Rompe la Carrera: Detección Fácil de Condiciones de Carrera para React
Las condiciones de carrera se encuentran entre algunos de los problemas más desafiantes de detectar y reproducir. Como tal, representan un desafío significativo en el desarrollo, notablemente en la interfaz de usuario. En esta charla, exploramos cómo detectar condiciones de carrera aprovechando las técnicas de fuzzing. Te guiamos a través del descubrimiento del verdadero problema de las condiciones de carrera y cómo impactan en la experiencia del usuario. Te proporcionamos herramientas y ejemplos que demuestran cómo detectarlas fácilmente en tu trabajo diario gracias a las pruebas que se basan en el fuzzing. Después de esta charla, esperamos que tu código React esté libre de condiciones de carrera o al menos que tengas las herramientas adecuadas para ayudarte.
The State of XState
React Finland 2021React Finland 2021
18 min
The State of XState
Over the past few years, state machines, statecharts, and the actor model have proven to be viable concepts for building complex application logic in a clear, visual way with XState. In this talk, we'll take a peek into the future of XState, including new features in the next version, and new tools and services that will make it even easier to create and collaborate on state machines.
¿Es la indicada? (¿Cómo seleccionar una biblioteca de código abierto?)
React Advanced Conference 2023React Advanced Conference 2023
10 min
¿Es la indicada? (¿Cómo seleccionar una biblioteca de código abierto?)
Como desarrolladores de software, a menudo usamos bibliotecas de código abierto. En esta charla, compartiré algunos consejos sobre cómo seleccionar una biblioteca de código abierto y a qué prestar atención al trabajar con bibliotecas de código abierto.

Workshops on related topic

Node.js: Aterrizando tu primera contribución de código abierto y cómo funciona el proyecto Node.js
Node Congress 2023Node Congress 2023
85 min
Node.js: Aterrizando tu primera contribución de código abierto y cómo funciona el proyecto Node.js
Workshop
 Claudio Wunder
Claudio Wunder
Esta masterclass tiene como objetivo brindarte un módulo introductorio sobre los aspectos generales del código abierto. Sigue a Claudio Wunder de la Fundación OpenJS para que te guíe sobre cómo funciona el modelo de gobierno de Node.js, cómo se toman decisiones de alto nivel y cómo hacer tu primera contribución. Al final de la masterclass, tendrás una comprensión general de todos los tipos de trabajo que hace el proyecto Node.js (desde la clasificación de errores hasta decidir los próximos 10 años de Node.js) y cómo puedes formar parte del panorama más amplio del ecosistema JavaScript.

Las siguientes tecnologías y habilidades suaves podrían ser necesarias:
- Comprensión básica de Git e interfaz de GitHub
- Conocimiento de inglés profesional/intermedio para la comunicación y para permitirte contribuir a la organización Node.js (ya que todas las contribuciones requieren comunicación dentro de los problemas y solicitudes de GitHub)
- La masterclass requiere que tengas una computadora (de lo contrario, se vuelve difícil colaborar, pero las tabletas también están bien) con una configuración de IDE, y recomendamos VS Code y recomendamos la extensión GitHub Pull Requests & Issues para colaborar con problemas y solicitudes directamente desde el IDE.

Se cubrirán los siguientes temas durante la masterclass:
- Un repaso de algunas características de la interfaz de GitHub, como los proyectos de GitHub y los problemas de GitHub
- Repasaremos los conceptos básicos del código abierto y seguiremos la Guía de código abierto
- Repasaremos Markdown
- Cubriremos el gobierno del código abierto y cómo funciona el proyecto Node.js y hablaremos sobre la Fundación OpenJS
- Incluyendo todas las formas en que uno puede contribuir al proyecto Node.js y cómo se pueden valorar sus contribuciones
- Durante esta masterclass, cubriremos problemas de nodejs/nodejs.dev, ya que la mayoría de ellos son de nivel básico y no requieren conocimientos profundos de C++ o de Node.js.
- Dicho esto, aún recomendamos a los asistentes entusiastas que deseen desafiarse a sí mismos a los "Good First Issues" de nodejs/node (repositorio principal) si lo desean.
- Permitiremos a cada asistente elegir un problema o trabajar junto con otros asistentes para abordar problemas juntos mediante la función de Pair Programming a través de la característica de VS Code Live Share
- También podemos hacer salas de descanso en Zoom para las personas que deseen colaborar juntas
- Claudio estará allí para brindar apoyo a todos los asistentes y, por supuesto, responder cualquier pregunta sobre problemas y desafíos técnicos que puedan enfrentar
- Las tecnologías utilizadas en nodejs/nodejs.dev son React/JSX, Markdown, MDX y Gatsby. (No se necesita ningún conocimiento de Gatsby, ya que la mayoría de los problemas son agnósticos a la plataforma)
- Al final de la masterclass, recopilaremos todos los colaboradores que hayan abierto con éxito una solicitud de extracción (incluso si es un borrador) y reconoceremos su participación en las redes sociales.