SWAD FLISOL 2013

  • 464 views
Uploaded on

La experiencia de liberación de la plataforma SWAD

La experiencia de liberación de la plataforma SWAD

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
464
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
4
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Antonio Cañas VargasExperiencias con software libre:plataforma SWAD y su procesode liberación27 de abril de 2013Antonio Cañas Vargas@acanasvargasacanas@ugr.es
  • 2. Antonio Cañas VargasSistema Web de Apoyo a la Docenciahttp://swad.es/Es una plataforma web para gestionarasignaturas, estudiantes y profesores, yrealizar funciones de apoyo a la docenciay al aprendizaje.¿Qué es SWAD?
  • 3. Antonio Cañas Vargashttps://swad.ugr.es/
  • 4. Antonio Cañas VargasCifras en la UGR (abril 2013)● 4 129 asignaturas● 84 010 estudiantes● 2 881 profesores● 743 GiB en 488 866 archivos● 1 336 034 mensajes enviados● 13 310 431 copias de mensajes recibidas● 1099 foros con 58 578 mensajes● 200 000 páginas generadas al día
  • 5. Antonio Cañas VargasCrecimiento en la UGR5243 asignaturas4129 con alumnos
  • 6. Antonio Cañas VargasCrecimiento en la UGR2881 profesores75%
  • 7. Antonio Cañas VargasCrecimiento en la UGR84010 estudiantes100%
  • 8. Antonio Cañas VargasCrecimiento en la UGR
  • 9. Antonio Cañas VargasAccesos en la UGREstudiantes eligiendo gruposPáginas por minuto
  • 10. Antonio Cañas VargasAccesos en la UGRPartidos del Mundial 2010
  • 11. Antonio Cañas VargasClaves del éxito en la UGR● Abierta y gratuita● Formación a profesores● Atención al usuario● Masa crítica● Fortalezas del programa
  • 12. Antonio Cañas VargasAbierta y gratuita● Ofrecida desde 2004 para toda la UGR
  • 13. Antonio Cañas VargasFormación a profesores● Talleres por los centros en los primeros años
  • 14. Antonio Cañas VargasAtención al usuario● Miles de consultas atendidasAunque no todos están tan contentos
  • 15. Antonio Cañas VargasFortalezas del programa● Funcionalidad y usabilidad● Sencillo, tiene lo que necesita la mayoría de profesores● Fiabilidad y seguridad● Funciona las 24 horas, rápido y sin fallos● Consume pocos recursos● Núcleo programado en C● 1 servidor → decenas de miles de usuarios
  • 16. Antonio Cañas Vargas
  • 17. Antonio Cañas VargasServidores en la UGR2004-2006Pentium 4 HTRAM 2 GB2 HD 160 GBFedora 32007-2008Core 2 DuoRAM 4 GB2 HD 500 GBFedora 62009-2010Core 2 QuadRAM 4 GB2 HD 146 GB2 HD 1 TBFedora 102011-20132 Xeon QuadRAM 24 GB4 HD 146 GB4 HD 500 GBCentOS 5.71999-2003Servidorcompartido
  • 18. Antonio Cañas VargasAún poco éxito fuera de la UGR● Mínima difusión● Ausencia de instalación sencilla● ¿Tarde frente a la competencia?● Faltan funcionalidades de otros LMS● Liberada en 2010, aún sin forja● Programadores acostumbrados a PHP● Demasiado trabajo para pocas personas
  • 19. Antonio Cañas Vargas¿Quiénes lo hemos desarrollado?Antonio Manuel Aguilera Malagón (SWADroid)Daniel J. Calandria Hernández (fotos, chat)Antonio Cañas Vargas (desarrollo, coordinación, admin.)Juan Miguel Boyero Corral (SWADroid)Adrián Gómez Anaya (WikiSwad)Diego Montesinos Hervás (iSWAD)Francisco A. Ocaña Lara (F.A.Q.)Helena Rodríguez Gijón (SWADroid)...y una larga lista de colaboradores, a los que estamos muyagradecidos
  • 20. Antonio Cañas VargasUn programa con 13 añosInicios: 1999-20031º PID: 2003-20042º PID: 2005-20063º PID: 2006-2008CEVUG: 2008...PRADO: 2009...Libre: 2010...UNA: 2012...
  • 21. Antonio Cañas VargasSoftware libre● Software con licencia copyleft que garanticederechos de uso, copia, modificación yredistribuciónFree softwarecentradoen la libertadOpen sourcecentrado en el modelode desarrollo cooperativocc by Beatrice Murchhttp://commons.wikimedia.org/wiki/User:Blmurchcc by Brian Solis,http://www.briansolis.com/
  • 22. Antonio Cañas VargasLiberación de SWAD21/01/2010
  • 23. Antonio Cañas VargasProgramas liberados● swad A. CañasCGI: c; base de datos: mysql● fotomaton D. J. Calandriac++, OpenCV de Intel● foto_mediana/foto_promedio D. J. Calandriac++, OpenCV de Intel● swad-ircd (servidor de chat) D. J. Calandriac++; protocolo IRC● SWADroid (app Android) J. M. Boyero, A. Aguilera, H. RodríguezJava● iSWAD (app iOS) D. MontesinosObjective C
  • 24. Antonio Cañas VargasProgramar usando software libre● Permite (legalmente) usar software libre deterceros e incluir código libre escrito por otrosMySQL, OpenCV, SHA, gSOAP, iconos Nuvola, iconosAwesome Font...● Hay acceso gratuito a buenos manualeshttp://dev.mysql.com/doc/refman/5.0/es/● Y muchísima ayuda de otros programadoreshttp://stackoverflow.com/
  • 25. Antonio Cañas VargasCrear software libre● Facilita aprendizaje y desarrollo colaborativosCuarto Hackathon de proyectos de software libre de la UGR, 13-16/04/2012. Foto: A. Cañas
  • 26. Antonio Cañas VargasCrear software libre● Anima a programar mejor@psicobyte_ explica las bondades del software libre. Foto: A. Cañas
  • 27. Antonio Cañas VargasCrear software libre● Mejora el código: muchos ojos ven más que dosHackathon de SWADroid y SWAD, 25/03/2013. Foto: A. Cañas
  • 28. Antonio Cañas VargasCrear software libre● Da libertad y seguridad a los usuarioshttp://www.gnu.org/philosophy/
  • 29. Antonio Cañas Vargas¿Por qué he liberado mi código?“Con 20 años no veía muy claro queun informático pudiera contribuir albien de la humanidad. Cuandodescubrí el software libre y sobretodo cuando escuché por primeravez a Richard Stallman encontré laoportunidad para un programadorde colaborar en la utopía de unmundo mejor.”AntonioCañas
  • 30. Antonio Cañas Vargas¿Por qué he liberado mi código?“También me animó a liberar SWADla decepción de ver cómo decenasde miles de líneas de códigoescritas como parte de mi tesisquedaron en el olvido el día que laleí. No quiero repetir la experienciade dejar tanto trabajo creado concariño abandonado en un cajón.Todo padre está orgulloso de sushijos y quiere verlos crecer libres.”AntonioCañas
  • 31. Antonio Cañas Vargas¿Por qué he liberado mi código?“Yo siempre me he sentido endeuda con todos los programadoresque de forma altruista han ayudadoa mi aprendizaje liberando códigode sus proyectos. Yo le debo todo loque sé de visión artificial a esagente. ¡Qué menos que yo tambiénhaga lo mismo, para que otrospuedan seguir aprendiendo!”DanielCalandria
  • 32. Antonio Cañas Vargas¿Por qué he liberado mi código?“Otra razón son los principios queme han inculcado mis padres aleducarme: me han hecho ver desdemuy pequeño que la sociedad setiene que fundamentar sobre elcooperativismo. Puede que por ellovea el compartir el código comoalgo totalmente natural, sinplantearme buscar nada a cambio.”DanielCalandria
  • 33. Antonio Cañas Vargas¿Por qué he liberado mi código?“Para devolver al software libre unaparte de lo recibido.”“Para facilitar el desarrollo de otrosproyectos permitiéndoles consultar yreutilizar el código.”“Para evitar que el proyecto muerapor falta de tiempo.”“¿Y por qué no?”Juan MiguelBoyero
  • 34. Antonio Cañas Vargas¿Por qué he liberado mi código?“Mi trabajo ha sido añadir nuevasfuncionalidades a una herramientaque ya era libre, y utilizando otrosoftware que también es libre(ZXing), por lo que mis razones son:que mi trabajo se ha basado encódigo libre ya existenteque otros puedan reutilizar micódigo”AntonioAguilera
  • 35. Antonio Cañas Vargas¿Por qué he liberado mi código?“Porque unos de los pilares delsoftware libre es la cooperación ydifusión del conocimiento.SWADroid, que nació dentro de laUniversidad pública, debía seguiresta política.”HelenaRodríguez
  • 36. Antonio Cañas Vargas¿Por qué he liberado mi código?“Siempre que he podido hecolaborado con la comunidad, yasea realizando sugerencias oaportando mi granito de arena.”“Otra razón es que el proyectopueda ser continuado y mejorado,ya que seguro hay muchas cosasque se pueden hacer mejor.”DiegoMontesinos
  • 37. Antonio Cañas Vargas¿Por qué he liberado mi código?“En tercer lugar, para devolver unamínima parte de todo lo que yo herecibido desde que empecé con lainformática. Han sido muchos loapuros y enredos de los que hesalido gracias a código compartidopor otros.”DiegoMontesinos
  • 38. Antonio Cañas Vargas¿Cuánto trabajo hay detrás?● Núcleo de SWAD (A. Cañas)● http://swad.ugr.es/source/● 150.434 líneas (3000 páginas)(Moodle core >1M líneas, 370 contribuidores,http://www.ohloh.net/p/moodle)● 8000-16000 horas(teoría de las 10000 horas,“Outliers. The story of success”, Malcolm Gladwell,http://en.wikipedia.org/wiki/Outliers_%28book%29)
  • 39. Antonio Cañas Vargas¿Cuánto trabajo hay detrás?● Procesamiento de fotos (D. Calandria)● https://github.com/dcalandria/swad-fotomaton● https://github.com/dcalandria/foto_promedio● 2980 líneas● 1500 horas (muchas de ellas de estudio)● Servidor de chat (D. Calandria)● https://github.com/dcalandria/swad-ircd● 2976 líneas● 100-200 horas
  • 40. Antonio Cañas Vargas¿Cuánto trabajo hay detrás?● SWADroid● https://github.com/Amab/SWADroid● Liberado antes de la primera línea● 68.620 líneas, 10 contribuidoreshttp://www.ohloh.net/p/swadroid● J. M. Boyero: 1200-1500 horas● A. Aguilera: 550-800 horas● H. Rodríguez: 500-750 horas
  • 41. Antonio Cañas Vargas¿Cuánto trabajo hay detrás?● iSWAD (D. Montesinos)● https://github.com/diegort/iSWAD● Licencia BSD● 200-350 horas
  • 42. Antonio Cañas VargasMás sobre el núcleo● Escrito en C● Ventaja: rapidez● Inconveniente: ausencia de funciones de bibliotecaespecializadas en web● Programado desde cero, excepto:● Base de datos: MySQL C APIhttp://dev.mysql.com/doc/refman/5.0/en/c-api.html● Cifrado: SHA-256 y SHA-512http://www.ouah.org/ogay/sha2/● Servicio web SOAP: gSOAPhttp://www.cs.fsu.edu/~engelen/soap.html
  • 43. Antonio Cañas VargasMás sobre el núcleo● Cada vez que un usuario pulsa en algunaopción, Apache llama a ejecutar el programacompilado swad● Hasta 2000 veces por minuto (30 por segundo)● Normalmente 350 veces por minuto (6 por segundo)● El programa swad consulta la BD, genera todoel código XHTML de la página, y lo envía
  • 44. Antonio Cañas VargasBase de datoshttp://swad.ugr.es/database/img/swad_database.jpg91 tablas
  • 45. Antonio Cañas VargasComplementos● Es posible desarrollar complementos (plugins)que pueden ejecutarse en otros servidores o enmóviles. Ejemplo: SWADroid● Los complementos interactúan con el programaswad a través de un servicio web SOAP convarias operaciones o funciones descritas enhttp://swad.ugr.es/ws/● ¿Implementar REST?
  • 46. Antonio Cañas VargasPasos para liberar el núcleo1. Escribir el código en inglés (100%)2. Independizarlo de la UGR (100%)3. Traducir los mensajes a 9 idiomas (70%)4. Añadir cabeceras AGPL a los archivos (100%)5. Publicar el código fuente (100%)http://swad.ugr.es/source/6. Publicar procedimiento de instalación (100%)7. Usar sistema de control de versiones git (0%)8. Subir a la forja GitHub (0%)9. Automatizar instalación (0%)
  • 47. Antonio Cañas Vargas¿Por qué no aún en GitHub?● Tareas pendientes:● Dedicar más tiempo a mi familia y mi casa● Hacer más deporte● Mejorar mi inglés● Aprender git y subir SWAD a GitHub...
  • 48. Antonio Cañas VargasAunque no tengamos forja, ya tenemos forks ;-)
  • 49. Antonio Cañas Vargas¿Cómo colaborar?● Si no quieres o no sabes programar:● Aspectos legales● Traducción: http://swad.ugr.es/translation/● Manuales: http://swad.ugr.es/wiki/● Videotutoriales● Diseño gráfico● Administración de titulaciones● Difusión
  • 50. Antonio Cañas Vargas¿Cómo colaborar?● Si quieres programar:● Hay multitud de mejoras posibles:http://swad.ugr.es/roadmap/● Ejemplos:● Editor de texto con formato, enlaces, imágenes, fórmulas...● Maquetación con CSS● Mejorar fotomaton● Lo más fácil es desarrollar complementos u otrosmódulos independientes del programa swad● Ejemplos:● Ampliar SWADroid o iSWAD● Pizarra
  • 51. Antonio Cañas VargasEl proyecto OpenSWAD.org● SWAD en la nube● Para todo el mundo, gratuito (al menosmientras crece)● Ya está funcionando en http://openswad.org/,pero...● Legislación sobre protección de datos, ¿quién responde?● ¿Crear empresa, asociación, ONG?● Necesito socios o colaboradores (sobre todo expertos enDerecho)
  • 52. Antonio Cañas VargasMuchas gracias¿Preguntas?Antonio Cañas Vargas@acanasvargasacanas@ugr.es@swad_ugr @SWADroid @iSWAD @OpenSWAD