miércoles, 5 de septiembre de 2007

Proyecto de Ley de Software Libre

Proyecto de Ley por medio del cual se incentiva el uso de software libre como mecanismo para fomentar el respeto a los derechos constitucionales de los ciudadanos e incentivar el desarrollo tecnológico de la nación.
El movimiento del software libre es una tendencia global que, de ser aprovechada de manera apropiada, puede impulsar significativamente el progreso tecnológico del país al darle verdadero control de los sistemas de información que utiliza y de los que depende. Si aprovechamos esta coyuntura podremos lograr que en los sistemas de información que utilizamos para manejar nuestra infraestructura se involucre de forma creciente mano de obra nacional.
¿Qué es el software libre?
El software libre —también conocido como software de código fuente abierto— es aquel cuyo autor licencia otorgando las siguientes libertades a sus usuarios:
1. La libertad de ejecutar el programa para cualquier propósito.
2. La libertad de estudiar la manera en que el programa opera y adaptarlo a sus necesidades particulares.
3. La libertad para redistribuir copias del programa (incluido su código fuente) a quien desee.
4. La libertad de mejorar el programa y distribuir sus mejoras al público bajo las mismas condiciones del programa original.
El código fuente del software es la información primaria utilizada en el proceso de elaboración por parte de los autores; al tener acceso al código fuente, se puede analizar con un gran nivel de detalle el funcionamiento del software y se le pueden introducir modificaciones para arreglarle errores o adaptarlo a nuevas necesidades. En cambio, si no se tiene acceso a él, a los usuarios les resulta supremamente difícil estudiar el software o modificarlo.
En el caso del software libre, para poder garantizar las libertades número 2 y 4 es necesario que el autor ponga el código fuente a disposición de los usuarios.
En contraste, el software propietario, es aquel en el que no se ofrece a los usuarios alguna de las libertades anteriores.
Es importante resaltar que el software libre no atenta de ninguna manera contra los derechos de autor y de propiedad intelectual: no tiene nada que ver con la piratería, en tanto que los autores autorizan explícitamente a los demás a hacer uso de sus creaciones ofreciéndoles las libertades anteriores.
Aunque el público en nuestro país suele desconocerlo (quizá porque el software propietario cuenta con campañas de publicidad masivas de las que el libre adolece), en la actualidad existe una gran cantidad de software libre de excelente calidad disponible para la mayoría de labores que las empresas y personas naturales realizan con los computadores.
Al brindarle a los usuarios la oportunidad de estudiarlo y modificarlo, el software libre avanza de manera bastante acelerada. Cualquier persona con los conocimientos técnicos suficientes puede aumentar las capacidades del software y adaptarlo a sus necesidades particulares. Además, en el caso de errores los mismos usuarios pueden analizar sus causas y solucionarlos. En el espíritu tradicional en el que se desarrolla el software libre, los usuarios suelen poner a la disposición de los demás sus mejoras y correcciones, lo que acelera su evolución.
Por el contrario, cuando se presentan errores en el software propietario, los usuarios son dejados a merced de los proveedores, sin tener ningún mecanismo directo para solucionarlos. En este sentido, una gran mayoría de las licencias del software propietario son muy claras en que el software es licenciado sin ofrecer ninguna clase de garantía al consumidor que paga por adquirir el software, de modo tal que el proveedor no está obligado a solucionar ninguna clase de errores.
En algunos casos los proveedores de software propietario dan soporte a los usuarios y les ayudan a resolver los problemas, pero en la mayoría estos últimos quedan a la deriva, sin ninguna forma de solucionarlos.
Aunque en las licencias de software libre tampoco suele ofrecerse ninguna garantía, se le permite al usuario manipular el software de la manera que desee para que tenga alternativas aún en el caso en que el proveedor no esté interesado en ayudarle. El usuario puede contratar a cualquier compañía para que le solucione sus problemas.
La consecuencia de esto es que, en términos generales, el software libre es muy robusto y, en comparación con el propietario, suele tener menos errores de programación que lo vuelvan vulnerable a ataques de seguridad, virus, worms y otros problemas que afectan constantemente a la mayoría de programas propietarios.
Naturalmente también hay muchos programas de software libre de muy mala calidad. Sin embargo, es fácil reconocer proyectos de software libre de gran magnitud y de increíble calidad, que en los últimos años han comenzado a desplazar programas propietarios.
Existen algunas pequeñas labores para las que el software libre aún no es tan adecuado como el propietario. En este caso, los usuarios (bien sean organizaciones o personas naturales) deberían tomar conciencia de los problemas de utilizar soluciones propietarias y fomentar la creación de alternativas de software libre con todos los beneficios que ésto implicaría.
Software libre en Colombia
En Colombia varias universidades y empresas comenzaron a utilizar software libre a finales de la década de 1990. La revolución de las redes de comunicaciones y su llegada a Colombia le permitió al país ingresar a la comunidad de software libre mundial.
En el presente, existen grandes grupos al interior de las universidades nacionales que agrupan a los usuarios de software libre, fenómeno que no se presenta en el caso del software propietario. Sabemos de grupos de usuarios de software libre establecidos al interior de las siguientes instituciones educativas (algunos de los cuales han alcanzado un carácter internacional, contando con la participación a través de internet de personas en el exterior):
· Escuela de Administración de Negocios
· Pontificia Universidad Javeriana
· Universidad de Antioquia
· Universidad de los Andes
· Universidad de Manizales
· Universidad de San Buenaventura
· Universidad del Valle
· Universidad Distrital Francisco José de Caldas
· Universidad Industrial de Santander
· Universidad Nacional
A nivel de empresas y asociaciones el software libre está avanzando firmemente y cada vez ganando más atención en nuestro país. Cada vez más organizaciones han comenzado a utilizar soluciones basadas en software libre para el control de sus sistemas.
Conocemos de casos como el de Carrefour (que utiliza sistemas operativos libres para el control de sus cajas), la Cámara de Comercio de Bogotá (que utiliza software libre en algunos de sus portales de internet [32]), la Bolsa de Bogotá (que usa software libre para garantizar la conectividad a internet de sus equipos [32]), el Banco Popular utiliza software libre para la operación de su portal de internet [32], Colnodo, parte de la Asociación para el Progreso de las Comunicaciones (que ha trabajado desde 1994 utilizando software libre y participado en el desarrollo de varias aplicaciones libres [33]), Orbitel y las Empresas Públicas de Medellín (que usan software libre en sus sistemas de seguridad informática y de gestión de redes).
En cuanto a instituciones estatales, conocemos de varios casos de entidades que utilizan software libre para operaciones críticas. Por ejemplo, Telecom utiliza software libre para el manejo de comunicaciones, el IDEAM cuenta con un supercomputador con 18 nodos corriendo diferentes procesos para analizar señales de satélites y antenas utilizando software libre, la Armada Nacional utiliza software libre para sus principales servicios orientados a internet [34], el Instituto Geográfico Agustín Coddazzi utiliza software libre para los servicios que presta a través de internet [32], la Casa Nacional del Profesor utiliza software libre para manejar su correo electrónico y la Defensoría del Pueblo en donde la arquitectura web está implementada sobre software libre.
Aunque en Colombia y el mundo el uso de software propietario es aún mucho más común que el de software libre, éste último ha avanzado mucho en los últimos años. Los anteriores ejemplos deberían servirnos de evidencia de que está en plena capacidad de reemplazar al propietario en la mayoría de labores.
Incentivos al desarrollo tecnológico nacional
En el presente la situación de dependencia tecnológica de otras naciones en que nos encontramos es innegable. Una gran cantidad del software que utilizamos es construido por empresas de otros países que sólo en contadas ocasiones nos ofrecen las libertades anteriormente enumeradas.
Si el uso de software libre fuera generalizado, las empresas de software nacionales podrían ofrecer servicios y productos en igualdad de condiciones con las extranjeras. En el presente, al no tener acceso al código fuente de los sistemas de información utilizados en el país, las empresas locales se encuentran en una situación de gran desventaja frente a las extranjeras que los proveen.
A pesar del gran talento de los desarrolladores de software nacionales, nos encontramos ante un gran monopolio por parte de empresas extranjeras en cuanto a desarrollo de software se refiere. Para las empresas locales, desarrollar desde cero alternativas que compitan con los productos y soluciones propietarios de las multinacionales extranjeras tiene costos bastante altos.
Debido a la proliferación de software propietario, la única opción para las empresas locales desarrolladoras de software suele ser configurar los sistemas propietarios desarrollados por compañías extranjeras según las necesidades de entidades nacionales. Estos sistemas son vistos como «cajas negras», sobre cuyo funcionamiento nada se sabe y a las que no se les puede adicionar nueva funcionalidad. Es poco común que las empresas creadoras de software locales tengan completo control sobre los sistemas de información que "desarrollan" y que no dependan de software propietario desarrollado en otros países.
Afortunadamente, gracias a la importancia que ha ganado el movimiento de software libre, esta situación ha comenzado a cambiar. Al poder efectuarle mejoras a los programas y distribuirlas, las empresas nacionales de desarrollo de software adquieren la capacidad real de generar herramientas que compitan con las ofrecidas por multinacionales extranjeras.
Por otro lado, el software libre facilita la labor de desarrollo de software (y, por ende, la calidad del software) al favorecer la imposición de estándares abiertos. En contraposición, los programas propietarios suelen venir acompañados por tecnologías cerradas. Para los desarrolladores de software la existencia de estándares abiertos y documentados les permite utilizarlos en sus programas, lo que garantiza la interoperabilidad del software. Dentro de ésto se incluyen no sólo los formatos de archivos sino también los protocolos para la comunicación de programas a través de redes. En el caso del software libre, cualquiera puede crear nuevos programas que se comuniquen con los ya existentes mientras que en el caso del propietario se suele impedir a terceros el desarrollo de programas que interactúen con los demás (por razones de mercado y monopolio).
El software libre dificulta el abuso de la posición dominante contractual y prácticas restrictivas de la competencia que caracterizan al propietario, creando una relación mucho más justa entre los desarrolladores del software y los usuarios. En este sentido, y al permitirle adquirir productos de excelente calidad acorde con sus necesidades particulares y controlarlos como desee, el software libre tiende a hacer respetar los derechos del consumidor bastante más que el propietario.
Al promover el uso de software libre, esta ley buscará permitirle a los colombianos tomar un papel activo al adoptar tecnologías. En lugar de recibir nuevas tecnologías sin poder analizarlas a fondo, la industria de software nacional quedará en capacidad de modificarlas y adaptarlas a las necesidades de las industrias locales.
De acuerdo con estadísticas oficiales, al menos 165.265 computadores del Estado (el 74%) utilizaban en el año 2001 sistemas operativos que su proveedor consideraba obsoletos y por los que no ofrece soporte [35]. ¿Cuál es el costo que tiene para la nación actualizar el software de esos equipos si se continua utilizando software propietario? En el caso de usar software libre, los costos no desaparecerán pero ese dinero se quedará en el país revitalizando la industria local.
El artículo 71 de nuestra Constitución Política afirma el deber del Estado de crear incentivos para personas e instituciones que desarrollen y fomenten la ciencia y la tecnología.
Entre otras razones, esta ley busca promover el uso de software libre en el Estado para incentivar el desarrollo tecnológico nacional.
Control de Plataformas Tecnológicas
En la llamada «sociedad de la información», el software influye cada día más en la cotidianidad y la vida diaria. Es muy importante que las instituciones del Estado puedan controlar plenamente el software que utilizan para manejar su infraestructura y sus bases de datos, de las que depende la seguridad nacional y la calidad de vida de los ciudadanos.
Al no tener acceso al código fuente, los usuarios del software (en este caso, las entidades del Estado) no pueden estudiar su operación: únicamente el proveedor del software conoce la manera en que lleva a cabo su labor. En los casos en que los proveedores de software propietario insertan en él funcionalidad escondida de propósitos dudosos, suele ser difícil que los usuarios lleguen a ser conscientes de su existencia.
La frecuencia con que ésto sucede es mucho más grande de lo que el público llega a conocer. Existen innumerables programas propietarios ampliamente difundidos que, a través de redes informáticas y sin que ésto tenga ninguna relación con la tarea para la que son empleados, reportan a terceros información sobre las actividades que sus usuarios realizan invadiendo su privacidad (por ejemplo, programas que reportan a sus proveedores los sitios de web que visitan los usuarios). Ésto se ha vuelto tan frecuente recientemente que se ha acuñado el término «spyware» para referirse a programas con estas características.
Pero los problemas con la funcionalidad escondida son bastante más graves que invasiones a la privacidad: en algunos casos ésta le permite al proveedor del software controlar e interferir con su operación normal de manera remota. Se sabe de casos reales de programas propietarios para manejo de bases de datos utilizados en un gran número de empresas a nivel internacional que incluían funcionalidad escondida con el propósito de permitirles a terceras personas borrar o modificar la información almacenada. Como si esto fuera poco, hay sospechas de que en varias versiones de un popular sistema operativo propietario se incluía funcionalidad escondida con el propósito de permitirle al gobierno de los Estados Unidos controlar remotamente cualquier computador que lo utilice [36]; aunque las sospechas probablemente sean infundadas, han transcurrido más de 3 años sin que el público haya podido confirmar nada al respecto (pues no tiene acceso al código fuente del sistema operativo).
En algunos casos los usuarios son conscientes de los problemas pero no pueden hacer nada para evitarlos; en la mayoría ni siquiera saben que existen.
El software libre no está totalmente exento de esta clase de problemas. Sin embargo, cuando el código fuente de los programas está disponible, los usuarios pueden investigar qué es exactamente lo que hacen y tener plena certeza de si tienen o no funcionalidad escondida que no tenga relación con sus propósitos. En el caso de encontrar características no deseadas, los usuarios pueden removerlas fácilmente y distribuir sus versiones mejoradas del software.
En cambio, cuando no se tiene acceso al código fuente del software, se debe recurrir a procedimientos de ingeniería reversa para obtener información sobre el funcionamiento interno del software, lo cual es supremamente costo y demorado.
No es difícil ver los riesgos que el uso de software propietario implica para la seguridad nacional. Los sistemas de información juegan un papel cada vez más crucial en la sociedad, lo que hace fundamental que el Estado se encuentre en verdadero control del software que utiliza para el manejo de su infraestructura: que esté en capacidad de estudiarlo y de modificarlo sin depender de la disponibilidad de un proveedor único.
Razones constitucionales
Aparte de incentivar el desarrollo tecnológico nacional y incrementar la seguridad nacional, existen importantes razones para este proyecto de ley, inspiradas en los principios y valores por los que debe luchar el Estado.
El artículo 15 de nuestra Constitución Política afirma el derecho de todas las personas a conocer, actualizar y rectificar las informaciones que se hayan recogido sobre ellas en bancos de datos y en archivos de entidades públicas y privadas. El 74 garantiza que todas las personas tienen derecho a acceder a los documentos públicos salvo los casos que establezca la ley.
El Estado debe garantizar el buen manejo de la información de los ciudadanos. Aquellos datos cuya confidencialidad es establecida por la ley deben ser tratados de manera tal que el acceso a ellos se dé únicamente a las personas e instituciones autorizadas. En este sentido, el Estado debería abstenerse de utilizar software propietario por los riesgos que ésto implica para la privacidad de los colombianos y el acceso por parte de los proveedores a información vedada por la ley.
No es posible para el Estado garantizar el buen uso que se hace de la información confidencial de los ciudadanos y de aquella que no deba ser divulgada públicamente cuando es procesada por sistemas cuyo funcionamiento no conoce (ni puede conocer, en tanto que no tiene acceso a su código fuente).
Por otro lado, el Estado no puede garantizar el acceso de los ciudadanos a los documentos públicos efectivamente al almacenarlos en formatos que requieran software propietario —cuyo uso se encuentra restringido— para su visualización. El uso de formatos abiertos garantiza la igualdad de acceso a la información y garantiza su perennidad de manera más eficiente que el propietario.
En aras de la transparencia, el Estado debe permitirle a los ciudadanos comprender los sistemas de información que utiliza, en tanto que juegan un papel gran importancia en su funcionamiento. Los sistemas de información adquieren mayor sofisticación y se vuelven cada vez más influyentes en la vida diaria. Sería muy saludable que a la ciudadanía se le permitiera analizar y conocer los programas que se utilizan para manipular su información, calcular las tarifas de servicios públicos o los impuestos. Ésto es imposible cuando el Estado utiliza software propietario: al no tener acceso al código fuente, ni siquiera él mismo puede hacerlo.
El software utilizado por el Estado debe tratarse de la misma manera que la demás información pública, en tanto que de él dependen procedimientos llevados a cabo en su interior. Por esto, debería permitirse su estudio y análisis por parte de los ciudadanos (lo cuál no es posible al utilizar software propietario).
Conclusiones
Consideramos que las anteriores —incentivar el desarrollo tecnológico nacional estimulando la industria de desarrollo de software local, aumentar la seguridad nacional, garantizar el buen manejo a la información confidencial y permitir el acceso de los ciudadanos a la información pública (incluido el software utilizado por el Estado)— son importantes razones que hacen imperioso el uso de software libre en los sistemas del Estado.
En este proyecto se ha tenido especial cuidado en que el proceso sea gradual, creado plazos adecuados con el objetivo de que no cause disrupciones en el funcionamiento de las entidades del Estado. Además, se ha tenido en cuenta que hay algunas labores para las que el software libre aún no se encuentra preparado para reemplazar al propietario; se ha establecido un mecanismo de excepciones que permita hacer frente a estos casos.
La implementación de una política de software libre dentro del Estado es una posibilidad concreta y realizable a través de un proyecto de mediano plazo que necesita un plan cuidadoso y personal capacitado y guarda plena consecuencia e identidad con la política trazada por el actual gobierno.
Nuestra nación tiene los conocimientos y medios para sacar adelante este proyecto, cuyo mayor desafío lo constituye la voluntad política para impulsarlo.