El proceso típico en la creación de un programa de computadoras incluye cuatro pasos:
- Diseñar el programa, poniendo en un diagrama la secuencia de operaciones y características que se desean.
- Escribir líneas de indicaciones de lo que el programa va a realizar en algún lenguaje de programación (C, C++, Visual Basic, Java, etc.), estos archivos son conocidos como código fuente.
- Compilar el código fuente, lo que resulta en archivos binarios, o sea, programas que la computadora puede ejecutar.
- Probar el programa en busca de bugs (pequeños errores) y depurar el código fuente para corregir esos bugs.
Las compañías que producen software cerrado venden la licencia para ejecutar los archivos binarios resultados de la compilación y mantienen en secreto el código fuente, el cual nadie puede ver. De este modo usted no puede modificar el programa a su gusto, pero lo peor es que los programas de código cerrado (Como Windows, Office o Photoshop), no están optimizados para procesadores nuevos, asi que si usted tiene uno no puede aprovechar todas las características avanzadas de su hardware (por las que pago). Linux, y todos los programas GNU, muestran sus códigos fuente a quien desee verlos o quiera contribuir a su desarrollo. De este modo en lugar de veinte o treinta personas que conocen y desarrollan el programa hay 100 o 200, y es difícil que un
bug no sea detectado, de ahí la estabilidad de los programas GNU. Si usted quiere aprovechar todo su hardware puede descargar el código fuente del programa que desee, compilarlo según las características específicas de su CPU y así se asegurara que los programas sean más rápidos.
Una consecuencia evidente del modelo de código abierto es la velocidad del desarrollo, cuando apareció Windows 95 practicamente no había ambientes gráficos en Linux, Microsoft llevaba años de ventaja, ahora ambos escritorios son equivalentes. Además de la velocidad, los proyectos más importante de código abierto como Apache, PostgreSQL o KDE muestran una alta calidad en el diseño y la implementación de su código.