logo

La era del software personal

Últimamente está de moda el repositorio «REA» (Reverse Engineering Anything), junto a noticias como que han recreado con inteligencia artificial la suite de Adobe y de Microsoft Office. Mucha gente opina que estamos ante el fin del software. ¿Es eso cierto? ¿Tendremos un auge del software personal?

Qué es el software personal

El software personal es aquel software creado (o bien una modificación de un software existente) por una persona con intereses puramente personales. Por ejemplo, crear tu propio bloc de notas en tu ordenador es un software personal. El principal problema del software personal era que lleva mucho tiempo y conocimiento técnico crear una aplicación, por lo que la poca gente que sabía hacer este tipo de software tampoco iban a gastar su tiempo en una herramienta así, si ya tienen programas gratuitos mantenidos por un tercero.

Esto ha cambiado radicalmente desde que llegó la inteligencia artificial. En estos momentos, casi cualquiera puede crear una aplicación trivial mandándole a un agente de código un prompt bien redactado. Ojo, ello no quiere decir que dicho software sea de calidad, que esté listo para producción o que siquiera haga lo que pidió la persona. Pero la base la capta. Una persona con conocimiento técnico puede dejar a Claude trabajar durante horas y tener una herramienta lista en una tarde sin hacer demasiado esfuerzo.

Llevándolo a la práctica

¿Realmente se puede crear software personal sin hacer más que escribir un par de prompts? Me dispuse a ponerlo a prueba. Personalmente, quería crear una app de escritorio en C++ con Qt que convirtiera una gran variedad de archivos. De esta manera, no necesitaba conexión a Internet para ir a sitios web como Convertio o ILovePDF, ni necesitaba abrir una terminal con ffmpeg para convertir imágenes.

Me puse manos a la obra y el resultado fue sorprendente. En un par de horas, la aplicación iba tomando forma. Para la mañana siguiente, estaba lista para usarse. Subí el código fuente a GitHub para que cualquiera pueda verlo. Hoy en día, utilizo mi app, «Morpho», para convertir imágenes entre distintos formatos o pasar de PDF a Word.

No contento con eso, quise probar con utilidades un poco más sencillas: un script que extraiga el audio de un vídeo de YouTube y lo descargue en tu carpeta de música. Los sitios en Internet que hacen esto a menudo son poco fiables o acaban caídos por violar las políticas de YouTube, por lo que tenerlo en local sería lo mejor.

En menos de 10 minutos estaba listo. No contento con eso, le añadí una funcionalidad para que si le pasas un enlace a una playlist de YouTube, aplique la herramienta a cada vídeo de la playlist. De esta manera, ahora descargo música de manera segura, gratis y más rápido que nunca.

¿El fin del software comercial?

Mis dos experimentos salieron mejor de lo que pensaba. Después de todo, no me gasté un solo euro en crear dos utilidades que me ahorran potencia computacional, ancho de banda y problemas de seguridad sin teclear ni una sola línea de código.

Ahora bien, las empresas no son tontas. Por mucho que se haga ingeniería inversa o reimplementaciones de programas actuales, existen dos áreas a las que esta ola no va a llegar: la nube y los servicios.

¿Por qué nadie ha reimplementado Netflix, o Spotify, o YouTube? La respuesta es bien simple: el valor de estas empresas no es el software, es el contenido. Por mucho que crees tu propio YouTube, solo vas a conseguir un programa vacío, sin gente. Como mucho, podrías crear un front-end personalizado con menos rastreadores y aún le sacarías algo de provecho, pero las funciones de pago no se pueden saltar como si nada, aún dependes de los servidores de estas empresas.

Y por otro lado, ¿alguien ha reimplementado Google Docs? No, y de hecho no tienen el código fuente para hacerle ingeniería inversa. Cuando nos conectamos a Google Docs, el código solo corre en el servidor de Google, los usuarios vemos e interactuamos con una interfaz. Por tanto, no existe un binario que puedas decompilar. E incluso si se consiguiera dicho código fuente (por ejemplo, en aplicaciones open-source), caeríamos en la primera premisa: el software no vale nada sin el servicio detrás.

Por tanto, no, el software comercial no está muerto ni es el fin de los programadores o ingenieros de software. Sin embargo, es probable que comencemos a ver muchos repositorios con reimplementaciones de herramientas relativamente triviales que hoy en día estén bajo una página web con anuncios y rastreadores a cada esquina, o reimplementaciones de los juegos baratos de teléfonos móviles donde, de nuevo, te salta un anuncio antes de poder contar hasta 30. En ese aspecto, la IA está democratizando el software y dándole valor real: ya no basta con hacer un software, hay que aportar valor tangible al cliente, un servicio.

Mis conclusiones

Personalmente, animo a todo el que lea esto que pruebe a reimplementar una app sencilla o utilidad que le ahorre tiempo o incluso dinero. Me alegro de que el software se esté democratizando, pues al final es algo con lo que todo el mundo va a tener que lidiar en esta sociedad moderna.

Y por otra parte, creo que el software comercial evolucionará a estar basado en la nube progresivamente, como estamos viendo además en el sector de los videojuegos y el final del formato físico.