Escribe software y distribúyelo gratis
(nonogra.ph)- Nonograph se publicó como software libre, gratuito y de código abierto, y el costo de publicarlo fue de aproximadamente 600 dólares, la mayor parte destinada a 2 revisiones de seguridad iniciales
- Nonograph está disponible gratis para cualquier persona que lo quiera, y un programa pequeño de escritura puede alojarse por unos 5 dólares al mes
- Se repite el patrón de que sitios web, apps y servicios que eran excelentes empeoran por las suscripciones, las funciones de IA impuestas y las funciones pensadas para atraer capital de riesgo
- La monetización, como convertir funciones que antes estaban incluidas en el precio base en paquetes separados, y cambiar el precio de 9.99 dólares a 11.99 dólares, o 12.99 dólares con anuncios, perjudica la experiencia del usuario
- Si el desarrollo de software se ve no como una forma de ganar dinero sino como autoexploración y un hobby, se pueden evitar más funciones de extracción de valor hostiles al usuario y tomar como ganancia real la experiencia, el descubrimiento y las metas personales
Por qué elegí distribuirlo gratis
- Nonograph es software libre, gratuito y de código abierto, y publicarlo costó unos 600 dólares, la mayor parte destinada a 2 revisiones de seguridad iniciales
- Nonograph ahora está disponible gratis para cualquiera que lo quiera
- Se ha repetido la tendencia de que sitios web, apps y servicios que eran excelentes empeoren por las suscripciones, las funciones de IA impuestas y las funciones pensadas para atraer capital de riesgo
- Los cambios como convertir en paquetes de funciones separados lo que antes estaba incluido en el precio base, y pasar de 9.99 dólares a 11.99 dólares, o 12.99 dólares con anuncios, perjudican la experiencia del usuario
- El dinero es una realidad, pero no todo necesita monetizarse, y un programa pequeño de escritura como Nonograph puede alojarse por unos 5 dólares al mes
- Incluso con cientos de miles de lectores diarios e incluyendo 3 proxies, agregar infraestructura de suscripción solo aumentaría los costos de desarrollo y podría hacer que los usuarios se vayan
Desarrollo de software como hobby
- Si todo el mundo intenta monetizar sus hobbies, eso se convierte en un segundo trabajo, y el trabajo deja de ser divertido
- En la adolescencia, en lugar de hacer un trabajo tradicional, al vender contenido de videojuegos en línea se aprende que una pasión que se perseguía por diversión pasa a perseguirse para cumplir cuotas o generar ganancias
- Cuando se monetiza, uno termina persiguiendo constantemente el próximo trimestre o los siguientes 1,000 clientes
- Si el desarrollo de software se ve no solo como un medio económico sino como un medio de autoexploración, resulta más natural, y como no existe expectativa de ganancia económica, puede surgir mejor software con menos funciones de extracción de valor hostiles al usuario
- Si se ve el desarrollo de software como un hobby, como dibujar, tocar un instrumento o hacer ejercicio en el bosque, también se pueden entender decisiones que implican asumir pérdidas, y la ganancia real no siempre tiene que ser dinero, sino experiencia, descubrimiento, nuevas perspectivas y metas personales
- Quienes desarrollan persiguiendo capital de riesgo deberían juzgar si su software realmente merece cobrar por él y fijar precios en consecuencia o no cobrar, y la mayoría de los proyectos no necesitan equipos de más de 3 ingenieros, por lo que lo adecuado es que sigan siendo proyectos de hobby
1 comentarios
Comentarios en Hacker News
He publicado proyectos open source y también he vendido software de pago, y no creo que necesariamente haya que publicarlo gratis.
En el lado del open source, algunos comentarios venían con bastante sentido de derecho, y las interacciones con clientes de software pago fueron mucho más constructivas.
Supongo que depende de la persona, pero la disposición a pagar puede ser un buen filtro.
También en productos comerciales hubo clientes que, después de usar el software durante años, daban ganas de devolverles el dinero y pedirles que no volvieran, y además es más difícil ignorar el sentido de derecho y los comportamientos extraños de quienes sí pagaron.
En open source es mucho más simple marcar límites.
Mi tipo favorito es la gente que nunca hizo ni una contribución positiva pero amenaza con abandonar la herramienta.
Si es open source, uno se ríe y dice “que te vaya bien”, pero en lo comercial todo se vuelve más frustrante y delicado.
Por lo que me ha tocado vivir, no creo que la disposición a pagar sea un filtro tan significativo.
Más bien está empeorando, y mucha gente se ha vuelto tan impaciente que cree que todos trabajan solo para ellos.
Quería que las entradas para el público fueran gratis, pero cuando eran gratuitas iba mucha menos gente.
Cuando cambió el precio de la entrada arbitrariamente a 7 euros, el teatro se llenaba cada vez.
Quienes recién empiezan se preocupan de que, si cobran caro, la presión de los clientes será mayor, pero en la práctica pasa al revés: cuanto más altas son las tarifas, más fácil es encontrarse con un mejor tipo de cliente.
No sé cuál sea la lección exacta, pero quizá sea que trabajar con gente tacaña no está muy bueno.
Puedes publicar algo como open source y aun así no aceptar ni commits ni comentarios. Por ejemplo, se puede hacer como aquí: https://codeberg.org/y20k/escapepod/src/branch/master/CONTRI...
Usar GPL, MIT u otra licencia abierta/libre que prefieras no significa que debas tolerar acoso.
Si quieres, puedes permitir que otros lo usen o construyan encima sin aceptar ese sentido de derecho.
Aunque los demás no lo hagan así, tienes la libertad de definir por tu cuenta el tipo de interacción que quieres.
La clave es que hago software para cubrir mis propias necesidades, y puedo aceptar o no las propuestas de otros.
Si no les gusta, pueden hacer un fork y arreglarlo.
Mientras respeten las condiciones de la licencia que propuse, todo bien.
No creo que haya una respuesta fácil en este debate.
No todo debería girar en torno al dinero, pero al mismo tiempo necesitamos ganar dinero para sobrevivir.
La respuesta no es “nadie debería ganar dinero con el software”, pero tampoco parece ser “hay que cobrar por todo el software que se escribe”.
Entonces, ¿cómo decidimos cuál de las dos aplica?
No quiero dejar de vivir como desarrollador profesional de software.
He podido mantenerme a mí y a mi familia con una actividad que me gusta, y eso me ha permitido disfrutar ir a trabajar todos los días durante más de 20 años.
Al mismo tiempo, no creo que deba cobrar por cualquier pedazo de código aleatorio que haga por diversión.
No intento monetizar cada minuto del día, pero sí quiero monetizar lo suficiente para pagar la hipoteca, comprar comida, ahorrar para el retiro y darme algún gusto de vez en cuando.
Cuando leo textos que presentan ganar dinero con software como algo terrible, mi intuición es que este tema debería ser mucho más matizado que eso.
El software tiene algo fundamentalmente distinto de oficios como hornear pan o hacer plomería.
Muchos panaderos aman su oficio, pero nadie espera pan gratis salvo quizá su familia, y muchos plomeros también tienen orgullo artesanal y ayudan a resolver problemas, pero nadie espera plomería gratis.
En cambio, una vez que escribes el código y la lógica queda lista, puede parecerse más a una ecuación, así que puede sentirse como vender una tarea de álgebra.
Más importante aún: el pan se consume, y uno no asume de pronto que la plomería vaya a sostener una carga.
Muchos desarrolladores dudan en vender software para el que no están preparados para dar soporte profesional.
Cuando un proyecto juguete consigue comunidad y crece orgánicamente, hace falta una mejor forma de financiarlo sin captura.
Sería divertido si el software pudiera parecerse a un mercado de productores locales.
Donde la gente se reúne para probar variedades raras y locales, conocer a los negocios del barrio y comprar juguetes caros de terminal UI o funciones hash con patrones extraños.
Claro, eso no resuelve el problema más amplio de financiar el open source, pero es un sueño simpático en el que alguien al menos podría ganar un poco de dinero.
Creo que una solución más grande sería dar a más personas fuera de la academia la oportunidad de recibir pequeñas subvenciones para sus proyectos.
Debería haber más fundaciones que apoyen las tecnologías y el desarrollo clave de los que depende hoy, y seguirá dependiendo, el mundo tech.
Mucha gente entra a la industria tecnológica buscando lo segundo, así que no hace software a cambio de una recompensa que apenas alcanza para invitar una cerveza.
Quieren pegarla, y creo que eso mete incentivos muy distorsionados en el desarrollo de software.
Pero hoy muchas de las cosas que hace la gente para atraer venture capital son realmente absurdas.
La crítica va a esa idea de lanzar una startup en una tarde y luego construir un foso alrededor de una función básica esperando que alguna empresa entre y quede atrapada.
Las empresas actúan de forma muy poco ética, intentando exprimir hasta el último centavo de las personas, y eso en general da asco.
Entonces la gente común quiere irse al extremo opuesto, y así llegamos a discusiones como esta.
Pero si ves el dinero por lo que es, o sea, simplemente un medio de intercambio, cobrar por algo no tiene por qué ser una maximización parasitaria o explotadora de ganancias.
Puede ser solo una manera de sostenerte haciendo algo que te gusta, y de evitar depender de donaciones, que son difíciles de confiar y a veces hasta degradantes.
A esto se suma el problema de que los gobiernos hacen difícil que la gente envíe y reciba dinero en línea de forma pública y anónima, y encima a escala global.
Hay barreras bastante grandes para vender cosas de verdad.
Si las transacciones anónimas globales fueran fáciles, el dolor de vender algo de forma ‘ética’ disminuiría muchísimo.
Claro, ya hubo una tecnología con ese potencial, pero todavía no ha logrado realizarlo bien.
Por ejemplo, si en agricultura produces 1 tonelada de tomates, una familia no puede comérselos todos en un año, ¿entonces el agricultor debería regalarlos?
¿Y los artistas? Muchas veces su trabajo ni siquiera tiene una función práctica.
Llevo años haciendo side projects, y hace poco mi primer proyecto open source fue uno relacionado con Markdown [1], y hasta ahora ha sido la experiencia más gratificante.
Tiene 54 estrellas en GitHub, recibo sobre todo correos de agradecimiento y algunas personas mandaron pedidos de funciones.
No hay muchas solicitudes de funciones o correcciones, pero un poco de presión de los usuarios sirve para mostrarme qué implementar después.
Me parece especialmente cierto ahora, porque después de la IA el costo de implementar bajó, tanto en lo económico como en lo cognitivo.
Me da bastante satisfacción crear las funciones que los usuarios quieren, y también ver que algunas personas que encontraron la herramienta la usan semanal o diariamente [2].
[1] https://sdocs.dev, discusión en HN: https://news.ycombinator.com/item?id=47777633
[2] https://sdocs.dev/analytics
Curiosamente, una noche tarde, sentado a unos 30 metros de altura sobre el campanario de una iglesia vieja, quería algo que hiciera muy simple el flujo “se me ocurre una idea > escribo la idea > publico la idea”, pero que fuera mejor que un pastebin.
También siempre me molestó que en Markdown el texto con subrayado se trate como cursiva y no como subrayado.
Todas las plataformas de redes sociales resuelven este problema de flujo, pero no quiero atar todo lo que escribo a una identidad centralizada.
Quiero poder compartir con la gente un pensamiento único mediante un link.
Nonograph no tiene seguimiento.
Todas las solicitudes que llegan al host pasan por dos capas de reverse proxy o por Tor antes de llegar a mí.
Por eso, hasta que encuentre una mejor forma de ocultar la ubicación del servidor, cargar una página HTML común tarda 300 ms.
Lo más cercano a seguimiento que hago es mirar
toppara confirmar que el uso de recursos siga bajo.Promedio: CPU 3%, memoria 210 MB.
Una vez me fue mal con esta actitud.
Personas que descargaron gratis mi herramienta open source empezaron inesperadamente a esperar soporte, y algunas mandaron correos bastante poco amables.
No les gustaba mi licencia copyleft ni que yo no implementara gratis sus pedidos de funciones.
Que esperen eso es ridículo, puedes ignorarlos, aceptar la sugerencia y trabajarla, o ayudarlos.
Una persona publicó de forma algo grosera preguntando si iba a corregir un bug, y yo respondí que con gusto aceptaría un PR con la corrección.
El PR nunca llegó, y el proyecto lleva años muerto. Simplemente perdí el interés.
¿Por qué sería tan desgastante mentalmente?
¿No bastaría con responder con la licencia, “sin garantía” y “eres libre de hacer un fork”, cerrar el issue y seguir adelante?
Aunque claro, si eso se acumula, sí puede cansar.
Si fuera a hacer algo gratis, sería algún proyecto raro de rascarme una comezón para Plan 9.
No sería algo que la mayoría de la gente quisiera.
Siendo realista, así como no le arreglaría gratis el jardín a otra persona, tampoco pienso hacer software gratis.
El software libre/open source ha producido muchísimo software excelente, pero también ha vuelto imposible de monetizar muchas áreas donde los desarrolladores podían ganarse la vida.
Igual que ningún profesional debería sentir que tiene que regalar su esfuerzo, tampoco creo que los desarrolladores deban hacerlo.
El software libre/open source empujó el precio del software hacia una carrera hasta el fondo, y eliminó el incentivo económico para mejorarlo.
No todo ha sido un efecto neto 100% positivo.
Es hacer algo por los demás, ser generoso, y mejorar el mundo con esa generosidad.
Vale la pena intentarlo por sí mismo.
Esa época impulsó el crecimiento del shareware, pero era un tiempo muy distinto, y hoy sería imposible porque MS, Google y Apple controlan de forma estricta qué apps se permite ejecutar.
Es fácil desear que el mundo fuera distinto, pero con secure boot y el control de App Store, la realidad actual sería mucho más dura.
Todo lo que puedes encontrar en mi GitHub está bajo GPL, y en general lo subí para mostrárselo a reclutadores que pedían muestras de código o para probar características del lenguaje como módulos de C++20 o WinRT.
El desarrollador individual suele quedar en desventaja económica.
Si puedes convertir algo en software como servicio, quizá puedas monetizarlo, pero probablemente ya exista por ahí una versión gratuita mejor, o la mayoría de la gente no quiere pensar en computadoras y entonces terminará pagándole a m$lop.
También podrías venderle la idea a inversionistas, pero eso requiere mucha capacidad comercial.
Ni siquiera sé si el desarrollo de software debería ser un trabajo pago.
Si las herramientas se vuelven suficientemente buenas, la automatización podría quedar al alcance de cualquiera, y creo que en general vamos en esa dirección.
Yo empecé en los BBS y la demoscene de los 90.
Para mí esa fue la época dorada de la computación: había innovación técnica, con gente haciendo magia en procesadores de 7 MHz, y también era buena la forma en que se organizaban las comunidades.
Por ejemplo, algunos artistas ANSI de la escena artpack sí terminaron siendo artistas de verdad, pero nadie estaba rehaciendo ANSI para ganar millones o atraer capital.
Incluso hoy, en mi trabajo open source, pienso en aquella época: mientras pueda pagar, hago cosas que me resultan divertidas e interesantes y dejo que lo demás siga su curso.
Cuando leo sobre esos primeros tiempos y los comparo con hoy, me agarra una sensación rara de querer haber vivido aquellos “buenos viejos tiempos”, antes de que la meta fuera venderle a inversionistas como lock-in de proveedor un script en Python hecho por IA en 10 minutos.
Esa polinización cruzada entre hackers, coders universitarios, piratas warez y artistas digitales sí existía de verdad.
Muchísimos CEOs de grandes empresas empezaron en esa época.
En su mayor parte se trataba de exploración y conexión, y esa escena híbrida siguió creciendo un buen tiempo incluso cuando la escena BBS migró a salas de chat de irc como efnet, freenode y otras.
Ahora todo está a la venta.
Me identifiqué mucho con esta entrada del blog.
También hay cosas que decir sobre monetizar hobbies, pero últimamente he estado probando más la idea de “hacer algo genial y publicarlo gratis”.
Empecé un experimento bastante grande en esa dirección, y me da curiosidad ver cómo me funciona.
Pipeline open source más reciente para identificación de cartas de Magic: The Gathering: https://www.youtube.com/watch?v=MHieOcmC7Dw
Antes trabajaba en reconocimiento de imágenes de este tipo, pero llevaba tiempo fuera de esa área.
Tenía una idea de enfoque distinta de la anterior y la implementé, y esta versión es muchísimo mejor que cualquier otra cosa que yo haya hecho.
En particular es fuerte para manejar fondos complejos o scans de cartas tapadas, y para detectar diferencias sutiles entre ediciones difíciles de distinguir.
Como no tenía clientes esperando, igual que el autor original decidí hacerlo como experimento y publicarlo como open source.
No estoy en contra de una ruta de monetización para quienes quieran una licencia en proyectos comerciales de código cerrado, pero quiero ver hasta dónde se puede llegar con open source antes que con comercialización.
No sé cuál sea el camino correcto.
La mayor desventaja, creo, fue que resultó difícil lograr que la gente se interesara en el proyecto tanto como yo esperaba.
Yo de verdad creo que este es el mejor software de identificación de cartas que existe hoy, e incluso armé benchmarks de prueba [0].
Puede que el mercado ya esté un poco saturado con este tipo de herramientas, pero sospecho bastante que, si no cobras, la gente percibe menos valor.
A veces me pregunto si habría recibido más atención si no hubiera intentado regalarlo.
Hasta ahora, esa ha sido la parte más negativa de publicarlo gratis.
[0] - https://blog.hanclin.to/posts/gh-26/
Llevo décadas guardando una caja grande llena de cartas y alguna vez pensé en venderlas.
Pero si las llevo a una tienda probablemente me paguen muy poco, y si lo hago por mi cuenta tendría que pasar horas investigando cada carta y averiguando cómo venderla a buen precio.
Si tomando muchas fotos se pudiera automatizar la identificación y valuación, sería de gran ayuda.
Tal vez sea difícil vendérselo a personas como yo, pero un marketplace de cartas seguramente lo valoraría muchísimo.
Tengo cosas para decir sobre el problema de la percepción de bajo valor, pero yo valoro muchísimo el open source y en muchos sentidos lo veo como algo de mayor valor.
Ojalá lo sigas haciendo bien.
He ido indexando lentamente mi colección de MTG y vendiendo cartas que no quiero o no necesito, así que llevo tiempo interesado en algo así.
Lo voy a revisar este fin de semana.
He tenido bastantes hobbies de creación.
He fabricado piezas de metal para vender, y también he esculpido y hecho moldes en arcilla o plástico para vender fundiciones.
El centro nunca fue la venta, sino la comunidad alrededor del hobby.
Normalmente cobraba apenas un poco más que el costo de los materiales.
Así también he enfocado el software open source.
Primero va la comunidad.
Durante los primeros diez años en que usé Linux, eso era un movimiento, y yo participaba intentando construir junto con otros un futuro mejor para la computación.
Hice algo parecido hace tiempo, y ahora gracias a la IA prácticamente cualquiera puede escribir software, pero aun así ese espíritu hacker sigue siendo valioso.
Siento que muchos comentarios no pueden evitar mencionar la amenaza de una pobreza potencialmente permanente que se ha extendido por nuestra sociedad.
Cada vez me cuesta más entender la postura de quienes creen que esa presión es una virtud social.
Claro, salvo la pequeñísima minoría que tiene recursos para aprovechar esa presión en lugar de ser arrastrada por ella.
No es una característica exclusiva de nuestra sociedad, sino del universo mismo.
Sin lucha ni sufrimiento no hay vida.
La lucha contra la entropía es constante, y la buena noticia es que la vida lleva millones de años ganando esa pelea.