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.

This talk has been presented at React Day Berlin 2022, check out the latest edition of this React Conference.

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
Hello my friend, in this talk, I wanna share with you how to build your own open source project. Building an open source software project can be challenging. I receive a lot of things randomly in a day, like thank you messages for making my life easier, which motivates me. To choose an open source project to work on, pick one you use every day. Your software is being used when people report issues and send pull requests.
Lecciones de Mantenimiento de Bibliotecas TypeScript
TypeScript Congress 2022TypeScript Congress 2022
30 min
Lecciones de Mantenimiento de Bibliotecas TypeScript
Top Content
Mark Erickson, a Senior Frontend Engineer at Replay, discusses JavaScript libraries and their support for TypeScript, including migration, versioning, and debugging. He also explores the challenges of supporting multiple TypeScript versions and designing APIs for use with TypeScript. Additionally, he shares advanced Redux type tricks and insights into maintaining a TypeScript library. The poll results reveal the widespread usage of TypeScript among developers, with many gradually migrating their codebases. Lastly, he provides tips for upgrading TypeScript and verifying functionality.
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
Nuxt.js modules are a central part of Nuxt and have had 14 million downloads. Creating Nuxt modules is easy with Nuxt 3. Modules can provide assets, CSS injection, plugins, and auto imports. Learning Nuxt modules gives a deeper understanding of Nuxt and extends its functionalities. The Nuxt community is friendly to newcomers and encourages module creation.
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
Race conditions can be complex to debug and reproduce, causing frustration for users. The speaker discusses examples of race conditions and ways to fix and avoid them. They demonstrate an example of an auto-completion field in React and how to handle race conditions in API calls. The speaker introduces the FastCheck framework for property-based testing to address race conditions and improve tests. Randomizing inputs and outputs can help uncover bugs specific to certain scenarios. The speaker also discusses mitigating race conditions in React and handling test overhead and reproducibility.
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?)
This talk provides tips for selecting the right open-source library, such as using NPM trends to compare libraries and considering bundle size, dependencies, and licenses. It also emphasizes the importance of choosing libraries maintained by multiple maintainers and being cautious when trusting engineers. The talk highlights a cautionary tale about relying on a single maintainer and suggests paying attention to changes in major versions and specifying exact versions in dependencies to mitigate security vulnerabilities.

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.