Hoy Debian cumple 33 años. Me pareció una buena excusa para escribir sobre algo que llevo años haciendo sin pensarlo demasiado: usar Linux como sistema operativo principal para desarrollar.
No pretendo hablar por todas las distribuciones ni hacer una comparación exhaustiva. Esto nace de mi experiencia personal como desarrollador, y probablemente la tuya sea distinta.
Linux se ganó parte de su reputación
Durante años, elegir Linux para una computadora personal implicaba aceptar ciertas condiciones. Había hardware que requería investigar antes de comprarlo, drivers problemáticos y Wi-Fi capaz de convertir una instalación sencilla en una investigación de horas. Suspensión, Bluetooth, múltiples monitores o GPUs dedicadas solían traer sorpresas.
Y existía una expectativa adicional: si usabas Linux, probablemente estabas dispuesto a arreglar Linux.
Aquella reputación no apareció de la nada. Por eso entiendo a quien nunca quiso probarlo en su computadora personal, y también a quien trabaja ocho horas al día sobre Linux, directamente o a través de servidores y contenedores, pero al llegar a casa enciende Windows.
El problema es que los sistemas operativos cambian más rápido que su reputación.
Hoy, una instalación moderna de Linux sobre hardware razonablemente compatible puede resultar sorprendentemente aburrida. Y «aburrida», en este caso, es bueno. Instalas el sistema. El audio funciona. Bluetooth funciona. Conectas tus monitores. Cierras la laptop, vuelves a abrirla y sigues trabajando.
Todavía existe hardware problemático y todavía puedes terminar leyendo un issue de GitHub buscando por qué algo no funciona. No quiero reemplazar un viejo mito negativo por uno nuevo y positivo. Pero tampoco creo que sea justo seguir describiendo Linux como un sistema operativo que exige convertir el mantenimiento de tu computadora en un proyecto permanente.
Cuando la computadora es para programar
No quiero argumentar que Linux sea el mejor sistema operativo para todas las personas y todos los usos. La pregunta que me interesa es mucho más específica:
¿Qué ocurre cuando el trabajo principal de esa computadora es desarrollar software?
Ahí la comparación cambia.
Git, SSH, Python, Node, Go, Rust, Java, GCC, Clang, Docker, Podman y gran parte de las herramientas que utilizamos diariamente no están simplemente «disponibles» en Linux. Muchas nacieron en Unix o Linux, o lo tratan como un entorno de primera clase.
Windows ha avanzado muchísimo en este terreno. WSL (Windows Subsystem for Linux) es excelente y resolvió buena parte de los problemas que hacían incómodo desarrollar cierto software en Windows. Es una pieza de ingeniería que me parece genuinamente admirable, y creo que dice algo interesante sobre hacia dónde se movió el desarrollo: cuando Microsoft quiso darles a sus desarrolladores el mejor entorno posible, una de las mejores respuestas fue traerles Linux.
En Linux, sencillamente no necesito esa frontera.
Mi computadora y mis servidores hablan el mismo idioma
Esta es probablemente la ventaja que más noto trabajando.
Buena parte del software que desarrollamos termina ejecutándose sobre Linux de una forma u otra: servidores, máquinas virtuales, contenedores, runners de CI y gran parte de la infraestructura cloud. Mi laptop no es producción, pero hay bastante menos «traducción» entre ambos mundos.
Los permisos, procesos, paths, scripts y herramientas fundamentales obedecen las mismas ideas. SSH forma parte natural del entorno. Un script que escribo localmente tiene muchas posibilidades de comportarse igual en un servidor.
Y cuando algo falla, Linux es extraordinariamente bueno permitiéndome preguntar qué está ocurriendo. Qué proceso está utilizando un puerto. Qué archivo mantiene abierto una aplicación. Por qué no arrancó un servicio. Qué está consumiendo memoria. Qué dicen realmente los logs.
No hace falta conocer cien comandos para aprovechar esto. Lo importante es que el sistema operativo no intenta esconderse de mí. Para un programador, esa transparencia deja de ser una peculiaridad y pasa a formar parte de la caja de herramientas.
NVIDIA ya no es aquella historia de terror
Las GPUs NVIDIA merecen una mención porque durante mucho tiempo fueron uno de los primeros ejemplos que aparecían al hablar de los problemas de Linux en desktop.
Mi experiencia actual es bastante menos interesante. Y eso, otra vez, es bueno.
Uso una RTX 5060 Ti de 16 GB con los drivers modernos de NVIDIA y CUDA para ejecutar modelos locales mediante ollama o directamente llama.cpp. Puedo aprovechar la GPU con modelos realmente capaces de resolver ciertas tareas, de familias como Gemma, Qwen o Llama, sin que configurar todo se convierta en el proyecto del fin de semana.
No quiero convertir esto en un post sobre IA local; merece su propia conversación. Lo menciono porque me parece una buena medida de cuánto han cambiado las cosas: combinar Linux, una GPU NVIDIA, CUDA y software moderno de IA puede ser hoy una experiencia perfectamente cotidiana.
Unix resulta bastante cómodo para los agentes
Hay además un cambio reciente que hace particularmente interesantes algunas viejas virtudes de Linux.
Los agentes de programación se sienten cómodos en un entorno compuesto por archivos, procesos y herramientas que pueden invocarse desde una terminal. Pueden ejecutar tests, consultar logs, levantar contenedores, modificar un repositorio o iniciar un servidor utilizando las mismas interfaces que llevamos décadas utilizando nosotros.
Eso no convierte a Linux en «el sistema operativo de la IA». Simplemente significa que las propiedades que siempre hicieron bueno a Unix para automatizar también resultan útiles cuando quien automatiza puede ser un agente.
El desktop dejó de ser el precio de admisión
Durante mucho tiempo podías elegir Linux por sus ventajas técnicas y aceptar el desktop como parte del compromiso. Hoy es difícil sostener esa imagen.
GNOME y KDE son entornos maduros y completos. Mi recorrido personal pasó por Debian, después Ubuntu y actualmente Pop!_OS, donde estoy utilizando COSMIC. Me interesa especialmente porque System76 decidió construir un entorno nuevo en Rust, nativo de Wayland y con ideas propias sobre ventanas en mosaico (mi feature favorita), workspaces y productividad.
También es joven, y se nota. Hay detalles por pulir y funcionalidades que todavía están madurando. «Prometedor» no significa «terminado».
Pero me parece significativo que la conversación sobre el desktop Linux pueda ser ahora esa: qué cosas nuevas vale la pena intentar.
Algo parecido ocurre con las distribuciones. Pasar por varias me enseñó que Linux permite elegir cuánto quieres que cambie tu computadora. Debian puede ser deliberadamente conservador, Ubuntu busca resolver más decisiones por el usuario y Pop!_OS tiene opiniones más específicas sobre cómo debería funcionar un workstation. Y hoy es mucho más sencillo separar la estabilidad del sistema de la velocidad a la que cambian nuestras herramientas: contenedores, gestores de versiones y entornos aislados permiten mantener una base estable sin estar obligado a desarrollar con un toolchain antiguo.
Para una computadora de trabajo, eso tiene bastante valor. Quiero abrirla mañana y encontrar aproximadamente la misma computadora que cerré hoy.
Linux tampoco ganó todas las batallas
Nada de esto significa que Windows haya dejado de tener ventajas.
Gaming es el ejemplo evidente. Linux ha avanzado enormemente gracias a proyectos como Proton, pero siguen existiendo juegos, sistemas anti-cheat y configuraciones para los que Windows es la opción más sencilla. Aquí tengo que reconocer un límite de mi propia experiencia: no juego en PC. A día de hoy juego poco, y en consola. No tendría mucho sentido que intentara convencer a alguien de que toda su biblioteca funcionará perfectamente basándome en algo que yo mismo no utilizo.
También existen aplicaciones profesionales de imagen y video que mantienen una ventaja clara fuera de Linux. Si tu trabajo depende de Photoshop, Premiere o de algún software específico sin equivalente adecuado, el sistema operativo puede estar decidido antes de comenzar esta conversación.
Son desventajas reales y no hay necesidad de esconderlas. Simplemente tienen menos peso cuando la pregunta es qué sistema quiero en una computadora dedicada principalmente a desarrollar software.
Ya no es una condición de entrada
Siempre habrá personas que disfruten modificando cada pieza de su sistema, y Linux probablemente siga siendo el mejor parque de diversiones que existe para ellas. Yo mismo tuve un breve y muy agradable paso por Debian con i3wm, que fue donde descubrí la practicidad de un tiling window manager.
Lo que cambió es que eso ya no es un requisito.
Puedes instalar Linux porque quieres aprender cómo funciona. Puedes instalarlo porque quieres personalizar absolutamente todo. O puedes instalarlo porque quieres escribir código y olvidarte durante horas de qué sistema operativo estás utilizando.
Esa última posibilidad es la que creo que todavía subestimamos. Y quizá sea especialmente fácil hacerlo para quien ya utiliza Linux en el trabajo pero conserva Windows en casa. Puede tener razones perfectamente válidas: juegos, aplicaciones concretas, hardware o simplemente preferencia.
Yo tardé años en revisar las mías. Cuando por fin lo hice, buena parte ya no aplicaba.
Quizá la pregunta quedó vieja
Durante mucho tiempo, usar Linux como sistema principal implicaba un intercambio bastante claro: obtenías un entorno extraordinario para desarrollar, automatizar y entender tu computadora, pero aceptabas dedicar tiempo a resolver cosas que en otros sistemas simplemente funcionaban.
No creo que ese intercambio haya desaparecido por completo. Creo que cambió lo suficiente como para que la pregunta sea otra.
Para un programador, quizá ya no sea:
«¿Estoy dispuesto a soportar Linux para obtener sus ventajas?»
Quizá ahora sea:
«¿Qué necesito de Windows que haga que prefiera desarrollar allí?»
Mi respuesta no tiene por qué ser la tuya, y si la tuya es buena me interesa mucho escucharla. Ese es exactamente el tipo de razón que vale la pena conocer antes de recomendarle un sistema operativo a alguien.
Hoy Debian cumple 33 años. Después de más de tres décadas, Linux ya no necesita demostrar que puede ser un sistema operativo serio.
Tal vez seamos nosotros quienes necesitemos actualizar la idea que tenemos de él.
Referencias
- Ian Murdock, anuncio original del proyecto Debian, 16 de agosto de 1993.
- System76, COSMIC Desktop Environment.
- MSI, GeForce RTX 5060 Ti 16G VENTUS 2X OC PLUS.