Cuando un programa es software libre significa que ofrece a los usuarios las cuatro libertades (
gnu.org/philosophy/free-sw.html), con lo que se controla lo que hace dicho programa. En la mayoría de los casos esto es suficiente para que la distribución del programa sea ética, pero no lo es siempre. Hay problemas adicionales que pueden surgir en circunstancias específicas. En este artículo se describe un problema sutil, donde la actualización de un programa de libre requiere del uso de un programa que no es libre.