aplicaciones-libresUna amena mañana tuvimos los que participamos en la convocatoria el I Concurso Universitario Cubano de Software Libre celebrada el pasado viernes 29 de noviembre en el teatro del docente 3 de la Universidad de las Ciencias Informáticas. A cargo de la presentación estuvo el profesor Juan Jolián Merelo Guervós de la Universidad de Granada, España. Además estuvieron presentes el Dr. Rafael Bello Pérez, de la Universidad Central “Marta Abreu” de las Villas, y por breve tiempo contamos con la presencia de nuestra rectora la Dra. Miriam Nicado García y la vicerrectora de formación Dra. Natalia Martínez Sánchez, entre otros directivos, profesores y estudiantes de nuestra universidad.

El software libre, la educación, la ciencia y la socialización del conocimiento

Como introducción a la convocatoria, el profesor Merelo disertó sobre las ventajas que tiene el software libre en el contexto educativo y científico, abundando en los conceptos que lo definen, así como sus ventajas sobre el software privativo. La misma estuvo llena de anécdotas y chistes que hicieron la delicia de los participantes. De esta forma, estableció las razones de porqué impulsar un concurso universitario centrado precisamente en el desarrollo de software libre.

Para ello aclaró concepciones erróneas que se tienen en cuanto a este tipo de software, como el hecho de suponer que software libre es lo mismo que software gratis. Puso ejemplos de como se les puede pagar a personas que desarrollan software libre, como puede haber software del cual se puede leer su código fuente pero no se puede utilizar el mismo por licencias restrictivas que lo prohíban, y como puede haber software privativo gratis. Aterriza en que el software libre al final se trata de libertad, y no de precio.

Luego expone diez razones para utilizar software libre en el ámbito académico:

  1. El software libre es un vehículo para transmitir el conocimiento: al proveerse el código fuente, el conocimiento va implícito en el mismo, se hace accesible, es fácilmente socializable.
  2. La ciencia no lo es si no es reproducible: y que mejor forma de reproducir un experimento in-silico que no sea contar con la receta del experimento, es decir, el software o algoritmos utilizados. Liberar el software permite a cualquiera obtener los mismos resultados.
  3. Fomenta buenas prácticas en el desarrollo de software: el que programa software libre lo hace consciente de que todo el mundo podrá ver su código fuente, por lo que trata de hacerlo lo mejor posible.
  4. Crea comunidad y aumenta el interés en la ciencia: al estar disponible libremente el programa la gente puede utilizarlo sin trabas, probarlo, jugar con él, y en el proceso mejorarlo, proponer cambios, experimentar con él.
  5. Acerca la universidad a la sociedad: el conocimiento no se queda encerrado en la universidad como en templo de sabios, sino que se difunde, la gente empieza a conocer que se hace dentro de la universidad, ve y palpa la utilidad de las mismas.
  6. Hace público y patente, para empresas y otros grupos, el conocimiento y experiencia de los autores: cuando el autor de un programa libre se presenta a una oferta de empleo, no es lo mismo que en su currículum diga que es experto en determinada tecnología, a que se presente como el autor o uno de los autores de tal o mas cual programa utilizado por muchas personas en el mundo, al estar este libre en internet. Que usted libere su código demuestra confianza en usted mismo y sus habilidades.
  7. Crea publicidad y difusión: los proyectos libres se difunden rápidamente, llegando incluso a la prensa en algunos casos, lo ponen a usted y a su universidad en el mapa.
  8. Devuelve a la sociedad lo que esta ha invertido en la creación de conocimiento: software libre es software y conocimiento al alcance de todos, la sociedad recibe rápidamente el resultado de lo que ha invertido en la universidad.
  9. Fomenta la colaboración entre disciplinas: el profesor pone el ejemplo de como para crear cierto juego libre para personas con discapacidad tuvieron que intervenir físicos, personas con conocimiento de la física del sonido, además del autor programador. También habla de los diseñadores gráficos.
  10. Aumenta la calidad de la investigación o proyecto resultante, al posibilitar la colaboración espontánea.

Seguidamente expone algunas excusas frecuentes para no liberar el software y rebate cada una de ellas:

  1. No está perfecto: ningún software lo está, pues ninguno está libre de errores ni completamente terminados. A todos se le corrigen bugs con el tiempo y todos siguen mejorando con cada versión que sale posteriormente.
  2. Lo documento y lo libero: no es necesario que esté totalmente documentado para que le pueda ser útil a alguien. Tus usuarios te lo van a agradecer igual si pueden hacer algo útil con él.
  3. Lo he hecho para mí, a más nadie le interesa: si tú tenías un problema que te impulsó a hacer ese software, lo más probable es que alguien más tenga ese mismo problema. Si lo liberas puedes recibir colaboración del exterior para mejorar la solución de tu propio problema y el de tus colaboradores.
  4. Quiero venderlo: hay que ser realistas, el mercado del software privativo es controlado por un puñado de transnacionales que ya tienen su prestigio creado. Posiblemente surjan más oportunidades para ti si liberas tu software ya que te das a conocer.
  5. No quiero que me lo copien: liberándolo garantizas que seas reconocido como el autor original, dejando evidencia claramente visible en internet del hecho. Además, son muchas más las personas que se acercarán a ti para que lo mejores. Por otro lado, ¿realmente es tu software una killer app como para que te apegues tanto a él?
  6. No tengo tiempo: vamos, que todos tenemos cosas que hacer, cualquiera hace un tiempito para subir el código a una forja pública y postear el anuncio en algún lugar.
  7. No me da la gana: pues te quedas sin premio en el concurso de software libre. 😉

Posteriormente habla hacia las personas que desean liberar software. Según el profesor Merelo, liberar software no es otra cosa que ceder ciertos derechos para que otros puedan utilizarlo libremente. Para ello hay que:

  1. Poner de acuerdo a todas las partes relacionadas: todos los autores, tutores, la institución a la que perteneces, personas que han contribuido, etc. se deben poner de acuerdo, pues todos tienen derechos sobre la pieza de software.
  2. Elegir la licencia: existen infinidad de licencias libres. El profesor prefiere (y sugiere) las licencias con copyleft como la GPL o LGPL pues protegen mejor al autor y al resto de la comunidad.
  3. Publicar los fuentes: los fuentes deben estar públicos accesibles para todos los interesados.
  4. Utilizar una forja pública para continuar el desarrollo y atraer comunidad: para llevar una trazabilidad del desarrollo del software lo mejor es publicarlo en una forja pública, como GitHub o SourceFourge. Existen softwares que se pueden instalar en las instituciones con estos fines, como son GForge, Redmine, Trac, etc. Se recomienda también por el uso de sistemas de control de versiones como Subversion o Git.

El profesor recalca que la liberación es cosa de todos, y que no es algo que uno de los autores deba imponer a la fuerza. Luego pasa a hacer algunas consideraciones sobre las licencias. Aclara que junto con el software se licencia todo: iconos, imagenes, sonido, código de terceros, documentación, etc. Por eso es importante no usar cualquier imagen, sonido o cualquier otro material descargado de internet sin antes comprobar que su licencia permite utilizarlo libremente.

¿Cómo se licencia el código fuente liberado?

  1. Un fichero LICENCIA en la carpeta raíz del código fuente que contenga el texto de la licencia
  2. Cada fichero del software tiene que contener un comentario al inicio que especifique la licencia, y de quién es el copyright (autores)

Luego el profe hace énfasis en que sin publicación, no hay liberación:

  1. El código fuente debe estar disponible
  2. Crear una página web para difundirlo (blog, Twitter, Facebook, etc.)
  3. Publicar actualizaciones periódicas tanto en código como noticias sobre avances del software
  4. Publicar pronto y publicar a menudo

Vuelve a hacer énfasis en el uso de sistemas de control de versiones como Git o Subversion.

Sobre el concurso

El concurso viene siendo un clon del concurso universitario de software libre que se desarrolla en España desde el año 2007. Esta variante cubana involucraría a todas las universidades de nuestro país y para participar hay que ser estudiante  de pregrado o maestría.

¿Con qué se puede participar?

  • Hardware libre
  • Software libre
  • Documentación libre

Aclaración importate: Aunque se pueden presentar trabajos terminados, es preferible que sean trabajados donde se mantenga su desarrollo durante el período de duración del concurso, de esta forma se pueden medir los parámetros que caracterizan al desarrollo del software libre por parte del jurado.
¿Cómo se evalúa el trabajo?

Lo evaluarán profesores universitarios cubanos y de universidades españolas, fundamentalmente de la Universidad de Granada. Los aspectos fundamentales a tener en cuenta serán:

  • Comunidad: que tantos seguidores, usuarios, contribuidores tiene el trabajo
  • Grado de terminación: que tan terminado o funcional está el trabajo al finalizar el período de evaluación
  • Usabilidad: que tan fácil es para los usuario utilizar el resultado del trabajo
  • Accesibilidad: que tan fácil es para las personas con discapacidad utilizar el resultado del trabajo
  • Tecnología: la novedad en el uso de tecnologías da puntos extras
  • Utilidad: que resuelva un problema real de la comunidad

¿Como se participa?

  • Estudiante universitario de pregrado o de maestría matriculado durante el curso en una universidad cubana. Debe existir evidencia de esto.
  • Máximo 3 personas por proyecto. Sólo un proyecto por persona.
  • Licencia libre y que se ejecute en un entorno libre (no importa que el software sea multiplataforma y que por tanto corra sobre un sistema operativo privativo, pero lo que sí debe garantizarse es que corra sobre un sistema operativo libre)

¿Qué hay que hacer durante el desarrollo del concurso?

  • Planificar
  • Programar (contra la forja)
  • Publicar en los medios (blog, redes sociales como Twitter, Facebook, etc.)
  • Cooperar (atender las solicitudes de los usuarios y las personas que quieran contribuir con el trabajo)

¿De dónde se pueden obtener ideas?

  • Echa una mano a proyectos existentes: Debian, Wikimedia, Gnome, LXDE, KDE, Nova, … (no es necesario que ninguno de estos proyectos reconozca tu trabajo como contribución oficial)
  • Usa tu proyecto de fin de carrera o trabajo de fin de máster (o de una asignatura).
  • Recuerda que no todo es software, también se puede participar con documentación y hardware libre

Premios

  • Kits Raspberry Pi completo para cada miembros del proyecto ganador
  • Kits Arduino para cada miembro de los proyectos finalistas
  •  Viaje desde tu universidad a La Habana (pagado) para la entrega de premio en el marco del evento Universidad 2014.
  • NO CONFIRMADO: Se están haciendo gestiones para obtener financiamiento para que UNA persona del equipo ganador pueda viajar a España y visitar el laboratorio de software libre de la Universidad de Granada.
  • Obsequios de universidad.es y la Universidad de Granada como pulóveres, souvenirs, etc.

Inscripción

Escribir un correo al profesor Juan Jolián Merelo Guervós cuya dirección de correo electrónico es: jmerelo [arroba] ugr.es . Incluir en el correo los siguientes datos:

  • Asunto que lo identifique como participante en el Concurso Universitario Cubano de Software Libre
  • Nombre del proyecto
  • Miembros del equipo de proyecto: nombres y direcciones de contacto
  • Lenguajes de programación y/o detalles del desarrollo del proyecto
  • Blogs u otra página web donde se vaya a describir el desarrollo (facebook, twitter, …)

También a través de esa dirección de correo-e pueden preguntar cualquier duda o alternativamente, para los que no tienen salida de correo internacional, pueden dirigir sus correos hacia el correo del profesor Rafael Bello Pérez de la UCLV (rbellop [arroba] uclv.edu.cu)

Fechas importantes

Antes del 30 de enero tiene que estar publicado en una forja de acceso público (preferiblemente) o enviar por correo los fuentes a la dirección de correo-e del profesor  para que los publique en una forja. Alternativamente se puede enviar un enlace  o dirección para descargarlos (en caso de no estar en una forja).
Los proyectos los examinarán el profesor Merelo, el profesor Bello, y personas de la administración de universidades cubanas y españolas.

Entregas de premios

La premiación se efectuará el 14 de febrero en el marco de Universidad 2014, a celebrarse en la UCI. Se comunicarán los finalistas y ganadores antes del 4 de febrero.

Finaliza su presentación el profesor Merelo con una frase que queremos compartir:

Participando, ganamos todos