lunes, 18 de julio de 2016

Software Libre en Educación

Software Libre en Educación 
Experiencias sobre la implementación de Software Libre en la materia Seminario 
de la Tecnicatura en Informática Aplicada en UTN - INSPT

Matías E. García
Universidad Tecnológica Nacional
Instituto Nacional Superior del Profesorado Técnico
Ciudad Autónoma de Buenos Aires, Argentina 
matias@profmatiasgarcia.com.ar
www.profmatiasgarcia.com.ar


Abstract — Aunque la presencia del Software Libre en las instituciones educativas de todos los niveles va ganando progresivamente terreno en todo el mundo, la realidad es que su presencia no ha sido tan mayoritaria como ha ocurrido en otros sectores. Las características principales del Software Libre, como los principios de libertad, compartición y cooperación, son determinantes para la producción colectiva del saber que es una de las metas que persigue la educación. Con el afán de promover su utilización, en este artículo se comentarán las experiencias realizadas con los estudiantes desde el año 2011 a la actualidad, las  desventajas o inconvenientes que se fueron descubriendo con los diferentes cursos y los logros que se han obtenido. 


Palabras Claves: Software Libre; GNU Linux; Educación.


I. Introducción 
El Software Libre es aquel que, una vez obtenido, permite ser usado, copiado, estudiado, modificado y redistribuido libremente. Está disponible gratuitamente desde los repositorios de las diferentes distribuciones de GNU Linux o en Internet, o a un precio razonablemente económico, conservando su carácter de libre [1]. Todo programa informático está compuesto, en parte, por secuencias de instrucciones, denominadas código fuente, que el equipo computacional (PC, smartphone, sistema embebido...) puede procesar. Es casi imposible realizar cambios en el programa sin acceso al código fuente ni observar cómo ha sido diseñado o qué realiza realmente: sólo puede ejecutarse. Se entiende que el software es libre si garantiza las siguientes cuatro libertades: libertad de ejecutar el programa con cualquier propósito (privado, educativo, público, comercial, etc.); libertad de estudiar y modificar el programa (para lo cual es necesario poder acceder al código fuente); libertad de copiar y distribuir el programa; y libertad de mejorar dicho programa y hacer públicas las mejoras, de forma que se beneficie toda la comunidad [1].

Por otro lado, el software privativo hace referencia al distribuido bajo una licencia restrictiva, que no garantiza estas cuatro libertades citadas, pudiendo ser pago o gratuito, muchas veces con limitaciones de utilización. La normativa de propiedad intelectual reserva la mayoría de los derechos de modificación, duplicación y redistribución para el titular de los derechos de propiedad intelectual, mientras que, como se ha mencionado, el dispuesto bajo una licencia de Software Libre elimina específicamente la mayoría de estos derechos reservados. 

Lo que diferencia al Software Libre del privativo no son cuestiones técnicas ni económicas, sino éticas, sociales y políticas. El uso de software privativo crea una dependencia que a la corta o a la larga genera un problema social. Es un sometimiento. El Software Libre permite desarrollar la sociedad porque se comparte entre todos. Por otro lado, el privativo es un ataque a la solidaridad social porque no permite compartir. El software privativo exige una fe ciega, porque al no poder ver el código se debe confiar en el programa, que puede tener errores, intencionales o no, y uno no los puede verificar ni corregir [2].

En esta Sociedad del Conocimiento [3], el software es el gran intermediario entre la información y la  inteligencia humana, como explica Mas i Hernàndez [4]. De la misma manera que nos preocupa la libertad para poder acceder a la información y si existe censura, nos debe preocupar con igual intensidad quién controla este intermediario y qué garantías tenemos de su transparencia y fiabilidad.
Las instituciones educativas cumplen con una función pública para la sociedad. Este es un motivo determinante para respetar e impulsar los estándares abiertos: No hacerlo supone favorecer a un determinado fabricante y a sus clientes. Además, las instituciones deben garantizar la privacidad de los datos de los particulares. Sin acceso al código fuente, es imposible saber qué hace una aplicación con estos datos y cómo son tratados. El Software Libre ofrece una transparencia total y permite realizar auditorías de seguridad sobre el software.

En cambio, los formatos propietarios son creados por las empresas y éstas, generalmente, no los hacen públicos, de manera que sólo dichas empresas saben cómo tratarlos. El problema surge cuando el uso de uno de estos formatos propietarios se extiende mucho y acaba convirtiéndose en un estándar de facto. Esto perjudica a la perennidad de los datos y afecta a la libertad del ciudadano para escoger su software. Es indispensable que la utilización y el mantenimiento del software no dependan de la buena voluntad de los fabricantes ni de las condiciones monopolísticas impuestas por éstos. Utilizar software propietario deja al usuario absolutamente en las manos de las empresas que los fabrican [5]. 
Por otra parte, si las instituciones educativas no utilizan estándares y formatos abiertos en el dictado de sus cursos, los estudiantes se pueden ver obligados a comprar productos de software a empresas que se verían beneficiadas de una situación de monopolio. Si un estudiante no quiere o no puede pagar este software, no podría realizar las actividades solicitados por el docente, lo cual constituye una discriminación flagrante. Peor aun, si el estudiante consiguiera el software de una forma ilegal o el docente le ofreciera una copia del mismo, aquí se incurriría en un delito. No se puede forzar a los estudiantes a adquirir software de una determinada empresa para estudiar o realizar las actividades, existiendo alternativas libres.

Es más, hay que ser consciente de que la utilización de software privativo en el ámbito educativo fuerza a los miembros de la comunidad educativa, sobre todo a los estudiantes, a utilizar el mismo tipo de software en su casa y/o en el ámbito laboral. 

En definitiva, como indica Amatriain [6], el aprendizaje se promueve a partir de un acceso libre a la información. Por esta razón, en la mayoría de países existen escuelas y bibliotecas públicas. Hoy en día, el software no sólo es información en sí mismo, sino que es el principal canal de acceso a la información de cualquier tipo. Además, el software también es un entorno de aprendizaje, en el que los estudiantes  desarrollan las competencias propias de los estudios que realizan.

Además, los valores que una institución educativa debería promover están muy relacionados con los correspondientes al  movimiento del Software Libre: libertad de pensamiento y expresión, igualdad de oportunidades, esfuerzo, cooperación y beneficio colectivo. De hecho, la libertad quizás sea el valor más importante relacionado con la educación. La educación sin libertad se convierte en mero adoctrinamiento [6]. 

Según Richard Stallman [7], los valores morales que sustentan la ética del Software Libre son: solidaridad, colectivismo, honestidad, cooperativismo, responsabilidad social, sensibilidad humana y altruismo. Así, el Software Libre garantiza la soberanía tecnológica de los países, fundamentalmente de países subdesarrollados, favoreciendo el proceso de identidad nacional (idiomas nacionales, culturas autóctonas), a diferencia del software privativo que profundiza y fortalece la transculturación globalizante y conlleva a la pérdida de autonomía.

En el Primer encuentro Hacia un movimiento pedagógico Latinoamericano [8] realizado en Bogotá en 2011 se declaró que se debe revisar el papel que las nuevas tecnologías de la información y la comunicación desempeñan en el sistema educativo y en la sociedad. También que los nuevos lenguajes y herramientas potencian cambios sociales acelerados, sobre los cuales es preciso reflexionar y actuar. Al mismo tiempo, se afirmó como imprescindible contar con herramientas que permitan compartir, estudiar, manipular y desarrollar en libertad, y la única herramienta que garantiza estas libertades es el Software Libre.

Hace muchos años que empleo parte de mi tiempo en promover el uso de Software Libre, tanto para el uso personal, empresarial y sobre todo en educación. Entre algunas de las actividades que hago con este propósito están la redacción de mi blog, intervenciones en varias redes sociales, la participación en congresos como disertante y la organización de FLISoL [9] en CABA.

Creo que el Software Libre ayudaría a mejorar la sociedad, a tener una relación superadora con esta nueva realidad digital con la que el hombre convive y es parte de su vida en muchos aspectos, brindaría ética, legal y tecnológicamente los medios para poder acercarse y compartir el conocimiento y abarataría los costos de implementar las nuevas tecnologías de la información y la comunicación en un mundo en continuo desarrollo y avance.

Desde 2011 soy el profesor de la materia Seminario, en el turno noche, de la Tecnicatura en Informática Aplicada y me propuse dictar el contenido de la materia utilizando Software Libre con los siguientes objetivos:
  • que los estudiantes tengan su primera aproximación al uso de GNU Linux [10], si es que aún no la habían tenido por su cuenta o por parte de otro docente y brindarles el soporte y la ayuda necesarios para tener una buena experiencia con este sistema operativo;
  • comprendan la importancia de las licencias de software [11], entendiendo la diferencia entre el Software Libre y el privativo y cómo utilizarlas en sus futuros proyectos de desarrollo;
  • puedan usar un entorno de aprendizaje libre, que puedan adquirir de forma legal, pudiendo compartir lo aprendido y lo descubierto entre sus pares y con otros;
  • que los estudiantes utilicen los conocimientos en el uso y desarrollo con Software Libre en su vida personal y laboral.


II. Desarrollo
Seminario es una materia del tercer año de la carrera de Técnico en Informática Aplicada de UTN-INSPT. El temario de la misma está dividido en dos partes principales. En la primera, se explica y se realizan actividades en LISP [12], un lenguaje funcional, y en la segunda se llevan a cabo  actividades en algún lenguaje que los estudiantes no hayan visto en otras materias o por el cual haya algún interés particular, por estar de moda, ser nuevo, entre otros factores.

Cuando en 2011 comencé a dar las clases de Seminario en el turno noche, los equipos de los laboratorios de informática de UTN-INSPT sólo contaban con MS Windows como sistema operativo para utilizarlos. Instalados en éste, había software privativo y Software Libre. Vale aclarar que los laboratorios son utilizados por docentes de diferentes carreras, con diferentes requerimientos de software para sus clases. Estos requerimientos son solicitados antes de comenzar las clases para que el personal de soporte IT pueda instalarlos.

Al comenzar el ciclo lectivo en Seminario se realiza un cuestionario, oral, a los estudiantes para saber su conocimiento sobre las diferencias entre Software Libre y privativo, licencias y otros conceptos sobre paradigmas y lenguajes de programación que luego son reforzados con un trabajo de investigación que deben entregar. Gratamente se puede confirmar que los resultados de esta encuesta fueron mostrando un aumento del conocimiento de los estudiantes sobre Software Libre, partiendo de un 20% en 2011, hasta alcanzar un admirable 70% en 2016.

Fig. 1. Representa los logotipos de GNU y Linux
Para reforzar conceptos, los estudiantes realizan un trabajo de investigación, como primer trabajo práctico de la materia, que los lleva a poder comprender mejor qué es el Software Libre, las diferencias con el privativo y la importancia de las licencias de software para el futuro profesional que tendrán. Así toman conciencia del valor real que conlleva la ingeniería de software, el trabajo que deben realizar los programadores y las empresas de desarrollo, la importancia de la obtención legal de programas y de defender la propiedad intelectual y, por el otro lado, las bondades de trabajar en el desarrollo de software comunitariamente o cómo obtener beneficios económicos desarrollando Software Libre, entre otros aspectos.

Durante ese primer año se trabajó con los estudiantes con el sistema operativo privativo ya instalado y se comenzó utilizando los intérpretes de LISP que ya eran usados en la materia en los otros turnos: CLISP [13] y XLISP-PLUS [14]. El primero es Software Libre y el segundo es un freeware de obtención y uso gratuito pero no Software Libre. En el segundo cuatrimestre se realizaron actividades en JAVA utilizando como IDE el software Eclipse [15] que es open source.

Simplemente observando, se podía apreciar que los estudiantes utilizaban el Software Libre y el privativo indistintamente y sin inconvenientes, consultándolos no podían asegurar de qué tipo era cada uno, exceptuando el sistema operativo y los programas de ofimática. De hecho el primer trabajo práctico fue entregado por casi la totalidad de los estudiantes en un formato digital privativo (.doc) y sin la licencia de documento, lo que llevó al primer cambio en la forma de entrega de los trabajos para la materia. 

Se instauró el formato estándar abierto internacional PDF (Portable Document Format) para todos los trabajos entregados de forma digital y la licencia de documento Creative Commons [16] para los permisos de los mismos. Los estudiantes no tuvieron inconvenientes en generar los documentos en PDF, pero algunos sí tuvieron problemas en seleccionar correctamente la licencia. Una vez solucionado, los trabajos restantes fueron entregados correctamente y los estudiantes pudieron comprender la importancia del uso de licencias de documentos.

Para el segundo año, 2012, se decidió dejar de utilizar el sistema operativo privativo y utilizar LiveCDs de Ubuntu Linux [17] para arrancar los equipos. Además se descartó el intérprete XLISP-PLUS y se reemplazó por el editor de texto EMACS [18] junto al intérprete SLIME [19], plug-in del editor. En la segunda parte de la materia se decidió dar el lenguaje C# para el cual, lamentablemente, no se pudo encontrar un IDE que funcionara correctamente con los LiveCDs y se optó por utilizar uno privativo en el sistema operativo privativo.

Fig. 2. Laboratorio D en UTN-INSPT con Ubuntu Linux

La encuesta de comienzo lectivo dio mejores resultados, inclusive algunos estudiantes ya habían realizado pruebas en sus equipos particulares con alguna distribución de Linux.
Ya desde la solicitud del trabajo de investigación se dieron las pautas de formato de entrega y licencia a adjuntar, continua actualmente de la misma forma.

La primera impresión que tuvieron los estudiantes para arrancar desde los LiveCDs no fue la mejor, algunos equipos tenían problemas con las lectoras de CD/DVD y otros equipos no estaban configurados para aceptar arranque de esta forma. Una vez solucionados estos primeros inconvenientes se pudo continuar. 

La utilización de LiveCDs trajo como beneficio que los estudiantes pudieran utilizar el mismo software que usaban en  UTN-INSPT en sus equipos personales de forma legal, incluso algunos se animaron a instalar alguna distribución de GNU Linux en sus equipos al ver que todo funcionaba correctamente.

Trabajando toda la primera parte del ciclo lectivo en Ubuntu Linux, los estudiantes pudieron experimentar las diferencias con el sistema operativo privativo, ventajas y problemas que podían surgir, consultando al docente ante dudas o recomendaciones de utilización. Para la mayoría, estas experiencias fueron enriquecedoras.

Demostrado que se podía dar las clases de la materia con GNU Linux, para el ciclo lectivo 2013 se solicitó la configuración del laboratorio con Dual-Boot, lo que mejoró la performance del uso de los equipos. Se mantuvo el uso de EMACS y SLIME como intérprete y se trabajó con el Proyecto Mono [20] para poder llevar a cabo la programación con lenguaje C#.

Algunos estudiantes comenzaron a traer sus propios equipos con alguna distribución GNU Linux instalada para utilizar en las clases, otros solicitaban concejo para poder hacer una correcta instalación en sus casas.

Monodevelop [21], el IDE elegido para desarrollar en C#, fue todo un desafío. Algunos estudiantes ya tenían experiencia en trabajar en otros IDEs privativos y Monodevelop aún es un proyecto, con algunas falencias e incompatibilidades que llevaron, más de una vez, a investigar en blogs en Internet para poder solucionar problemas. Igualmente, se pudieron realizar los trabajos y los estudiantes pudieron experimentar la comunidad que existe entre los desarrolladores de Software Libre para ayudar ante las dudas o inconvenientes.

Este fue el primer año en que algunos estudiantes indicaron que realizarían sus proyectos finales en Software Libre. La materia Seminario solicita que los estudiantes realicen un desarrollo completo de una aplicación como final de la materia. Este puede ser comercial o no, pero debe realizarse utilizando alguna tecnología no vista durante los años de cursado de los estudiantes. 
Para el año 2014, los estudiantes ya ingresaban sabiendo que la materia se daba exclusivamente con Software Libre y planteaban sus dudas para instalarlo en sus equipos.
Fig. 3. Exalumnos de UTN-INSPT en FLISoL CABA 2014
En la edición del Festival Latinoamericano de Instalación de Software Libre (FLISoL-CABA) de ese año, cinco exestudiantes de la carrera en Informática Aplicada de UTN-INSPT presentaron sus desarrollos de Software Libre y otros tantos, de todos los años de la carrera, fueron al evento y a presenciar diferentes charlas.

Para la segunda parte del año se decidió trabajar con Android Studio [22] como IDE para desarrollo de aplicaciones Mobile. La instalación del mismo generó varios contratiempos, sobre todo por el requerimiento de hardware que tiene y la cantidad de espacio de disco necesario. Los estudiantes lograron desarrollar algunas aplicaciones básicas y en su mayoría informaron que utilizarían esta tecnología en el desarrollo de sus aplicaciones finales.

En 2015 se mantuvo el mismo software, se pulieron los problemas con la instalación de Android Studio, y varios estudiantes concurrieron con sus equipos portátiles, con alguna distribución GNU Linux, para realizar los trabajos.

Ese año UTN-INSPT fue sede de FLISoL-CABA con una gran convocatoria que llenó los pasillos del instituto de entusiastas por el Software Libre. Algunos docentes y estudiantes de la institución dieron charlas y una gran cantidad de público pudo asistir a un evento internacional dedicado a la promoción de la cultura libre.

Fig. 4. FLISoL CABA 2015 en UTN-INSPT

III. Conclusión

La experiencia demuestra que es factible utilizar Software Libre para dictar clases y que es beneficioso en varios aspectos para los estudiantes y futuros Técnicos en Informática Aplicada, como ser:
  • poder utilizar el mismo software que usan en  UTN-INSPT en sus equipos personales de forma legal;
  • contar con la experiencia de utilizar GNU Linux y Software Libre en las clases y la ayuda del docente, para luego hacer sus propias pruebas;
  • comprender mejor que es el Software Libre, las diferencias con el privativo y la importancia de las licencias de software para su futuro profesional;
  • comprender la importancia del uso de licencias de documentos y los formatos abiertos para sus futuras producciones;
  • e interiorizarse sobre la comunidad que existe entre los usuarios y desarrolladores de Software Libre para ayudarse ante las dudas o inconvenientes.


Referencias Bibliográficas

[1] «¿Qué es el software libre? - Proyecto GNU - Free Software Foundation». [En línea]. Disponible en: https://www.gnu.org/philosophy/free-sw.es.html. [Accedido: 01-jul-2016].
[2] «Software libre y educación - Proyecto GNU - Free Software Foundation». [En línea]. Disponible en: https://www.gnu.org/education/education.es.html. [Accedido: 01-jul-2016].
[3] «Sociedad del conocimiento», Wikipedia, la enciclopedia libre. 17-jun-2016.
[4] J. Mas i Hernàndez, «Software Libre: técnicamente viable,  económicamente sostenible  y socialmente justo». Zero Factory S.L., 2005.
[5] A. M. D. García y R. O. Cuello, «La promoción del uso del software libre por parte de las universidades», Rev. Educ. Distancia, n.o 17, 2007.
[6] X. Amatriain, «El software libre en la educación: guía para su justificación e implementación», presentado en III Jornadas de Software Libre, Escuela Politécnica Superior de Ingeniería, Universitat Politécnica de Catalunya, 2004.
[7] «Richard Stallman», Wikipedia, la enciclopedia libre. 27-may-2016.
[8] «Hacia un movimiento pedagógico latinoamericano», presentado en 1er Encuentro Hacia un movimiento pedagógico latinoamericano, Bogotá, Colombia, 2011.
[9] «Festival Latinoamericano de Instalación de Software Libre», Wikipedia, la enciclopedia libre. 03-may-2016.
[10]«El Sistema Operativo GNU - Proyecto GNU - Free Software Foundation». [En línea]. Disponible en: https://www.gnu.org/gnu/gnu.es.html. [Accedido: 01-jul-2016].
[11]«Licencias - Proyecto GNU - Free Software Foundation». [En línea]. Disponible en: https://www.gnu.org/licenses/licenses.es.html. [Accedido: 01-jul-2016].
[12]«Lisp», Wikipedia, la enciclopedia libre. 09-jun-2016.
[13]«CLISP», Wikipedia, la enciclopedia libre. 20-jul-2014.
[14]«XLISP-PLUS Page». [En línea]. Disponible en: http://www.almy.us/xlisp.html. [Accedido: 01-jul-2016].
[15]«Eclipse Foundation». [En línea]. Disponible en: https://eclipse.org/org/. [Accedido: 01-jul-2016].
[16]«Creative Commons». [En línea]. Disponible en: https://creativecommons.org/. [Accedido: 01-jul-2016].
[17]«Ubuntu PC operating system | Ubuntu». [En línea]. Disponible en: http://www.ubuntu.com/desktop. [Accedido: 01-jul-2016].
[18]«Emacs», Wikipedia, la enciclopedia libre. 21-jun-2016.
[19]«SLIME», Wikipedia, the free encyclopedia. 24-abr-2016.
[20]«Mono Project». [En línea]. Disponible en: http://www.mono-project.com/. [Accedido: 01-jul-2016].
[21]«MonoDevelop». [En línea]. Disponible en: http://www.monodevelop.com/. [Accedido: 01-jul-2016].
[22]«Android Studio». [En línea]. Disponible en: https://developer.android.com/studio/index.html. [Accedido: 01-jul-2016].


Currículum vitae del autor  

Matías García es Profesor y Técnico en Informática Aplicada, egresado del Instituto Nacional Superior de Profesorado Técnico de UTN. Actualmente se desempeña como docente de nivel superior especializado en Lenguajes de Programación, Bases de Datos, IA, Software Libre y TIC. Miembro de Ubuntu-ar y CaFeLUG, promotor del uso de Software Libre en educación. Consultor en migración de empresas a plataformas libres.