SlideShare una empresa de Scribd logo
Antonio Cañas Vargas
Experiencias con software libre:
plataforma SWAD y su proceso
de liberación
27 de abril de 2013
Antonio Cañas Vargas
@acanasvargas
acanas@ugr.es
Antonio Cañas Vargas
Sistema Web de Apoyo a la Docencia
http://swad.es/
Es una plataforma web para gestionar
asignaturas, estudiantes y profesores, y
realizar funciones de apoyo a la docencia
y al aprendizaje.
¿Qué es SWAD?
Antonio Cañas Vargas
https://swad.ugr.es/
Antonio Cañas Vargas
Cifras 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
Antonio Cañas Vargas
Crecimiento en la UGR
5243 asignaturas
4129 con alumnos
Antonio Cañas Vargas
Crecimiento en la UGR
2881 profesores
75%
Antonio Cañas Vargas
Crecimiento en la UGR
84010 estudiantes
100%
Antonio Cañas Vargas
Crecimiento en la UGR
Antonio Cañas Vargas
Accesos en la UGR
Estudiantes eligiendo grupos
Páginas por minuto
Antonio Cañas Vargas
Accesos en la UGR
Partidos del Mundial 2010
Antonio Cañas Vargas
Claves del éxito en la UGR
● Abierta y gratuita
● Formación a profesores
● Atención al usuario
● Masa crítica
● Fortalezas del programa
Antonio Cañas Vargas
Abierta y gratuita
● Ofrecida desde 2004 para toda la UGR
Antonio Cañas Vargas
Formación a profesores
● Talleres por los centros en los primeros años
Antonio Cañas Vargas
Atención al usuario
● Miles de consultas atendidas
Aunque no todos están tan contentos
Antonio Cañas Vargas
Fortalezas 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
Antonio Cañas Vargas
Antonio Cañas Vargas
Servidores en la UGR
2004-2006
Pentium 4 HT
RAM 2 GB
2 HD 160 GB
Fedora 3
2007-2008
Core 2 Duo
RAM 4 GB
2 HD 500 GB
Fedora 6
2009-2010
Core 2 Quad
RAM 4 GB
2 HD 146 GB
2 HD 1 TB
Fedora 10
2011-2013
2 Xeon Quad
RAM 24 GB
4 HD 146 GB
4 HD 500 GB
CentOS 5.7
1999-2003
Servidor
compartido
Antonio Cañas Vargas
Aú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
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 muy
agradecidos
Antonio Cañas Vargas
Un programa con 13 años
Inicios: 1999-2003
1º PID: 2003-2004
2º PID: 2005-2006
3º PID: 2006-2008
CEVUG: 2008...
PRADO: 2009...
Libre: 2010...
UNA: 2012...
Antonio Cañas Vargas
Software libre
● Software con licencia copyleft que garantice
derechos de uso, copia, modificación y
redistribución
Free software
centrado
en la libertad
Open source
centrado en el modelo
de desarrollo cooperativo
cc by Beatrice Murch
http://commons.wikimedia.org/wiki/User:Blmurch
cc by Brian Solis,
http://www.briansolis.com/
Antonio Cañas Vargas
Liberación de SWAD
21/01/2010
Antonio Cañas Vargas
Programas liberados
● swad A. Cañas
CGI: c; base de datos: mysql
● fotomaton D. J. Calandria
c++, OpenCV de Intel
● foto_mediana/foto_promedio D. J. Calandria
c++, OpenCV de Intel
● swad-ircd (servidor de chat) D. J. Calandria
c++; protocolo IRC
● SWADroid (app Android) J. M. Boyero, A. Aguilera, H. Rodríguez
Java
● iSWAD (app iOS) D. Montesinos
Objective C
Antonio Cañas Vargas
Programar usando software libre
● Permite (legalmente) usar software libre de
terceros e incluir código libre escrito por otros
MySQL, OpenCV, SHA, gSOAP, iconos Nuvola, iconos
Awesome Font...
● Hay acceso gratuito a buenos manuales
http://dev.mysql.com/doc/refman/5.0/es/
● Y muchísima ayuda de otros programadores
http://stackoverflow.com/
Antonio Cañas Vargas
Crear software libre
● Facilita aprendizaje y desarrollo colaborativos
Cuarto Hackathon de proyectos de software libre de la UGR, 13-16/04/2012. Foto: A. Cañas
Antonio Cañas Vargas
Crear software libre
● Anima a programar mejor
@psicobyte_ explica las bondades del software libre. Foto: A. Cañas
Antonio Cañas Vargas
Crear software libre
● Mejora el código: muchos ojos ven más que dos
Hackathon de SWADroid y SWAD, 25/03/2013. Foto: A. Cañas
Antonio Cañas Vargas
Crear software libre
● Da libertad y seguridad a los usuarios
http://www.gnu.org/philosophy/
Antonio Cañas Vargas
¿Por qué he liberado mi código?
“Con 20 años no veía muy claro que
un informático pudiera contribuir al
bien de la humanidad. Cuando
descubrí el software libre y sobre
todo cuando escuché por primera
vez a Richard Stallman encontré la
oportunidad para un programador
de colaborar en la utopía de un
mundo mejor.”
Antonio
Cañas
Antonio Cañas Vargas
¿Por qué he liberado mi código?
“También me animó a liberar SWAD
la decepción de ver cómo decenas
de miles de líneas de código
escritas como parte de mi tesis
quedaron en el olvido el día que la
leí. No quiero repetir la experiencia
de dejar tanto trabajo creado con
cariño abandonado en un cajón.
Todo padre está orgulloso de sus
hijos y quiere verlos crecer libres.”
Antonio
Cañas
Antonio Cañas Vargas
¿Por qué he liberado mi código?
“Yo siempre me he sentido en
deuda con todos los programadores
que de forma altruista han ayudado
a mi aprendizaje liberando código
de sus proyectos. Yo le debo todo lo
que sé de visión artificial a esa
gente. ¡Qué menos que yo también
haga lo mismo, para que otros
puedan seguir aprendiendo!”
Daniel
Calandria
Antonio Cañas Vargas
¿Por qué he liberado mi código?
“Otra razón son los principios que
me han inculcado mis padres al
educarme: me han hecho ver desde
muy pequeño que la sociedad se
tiene que fundamentar sobre el
cooperativismo. Puede que por ello
vea el compartir el código como
algo totalmente natural, sin
plantearme buscar nada a cambio.”
Daniel
Calandria
Antonio Cañas Vargas
¿Por qué he liberado mi código?
“Para devolver al software libre una
parte de lo recibido.”
“Para facilitar el desarrollo de otros
proyectos permitiéndoles consultar y
reutilizar el código.”
“Para evitar que el proyecto muera
por falta de tiempo.”
“¿Y por qué no?”
Juan Miguel
Boyero
Antonio Cañas Vargas
¿Por qué he liberado mi código?
“Mi trabajo ha sido añadir nuevas
funcionalidades a una herramienta
que ya era libre, y utilizando otro
software que también es libre
(ZXing), por lo que mis razones son:
que mi trabajo se ha basado en
código libre ya existente
que otros puedan reutilizar mi
código”
Antonio
Aguilera
Antonio Cañas Vargas
¿Por qué he liberado mi código?
“Porque unos de los pilares del
software libre es la cooperación y
difusión del conocimiento.
SWADroid, que nació dentro de la
Universidad pública, debía seguir
esta política.”
Helena
Rodríguez
Antonio Cañas Vargas
¿Por qué he liberado mi código?
“Siempre que he podido he
colaborado con la comunidad, ya
sea realizando sugerencias o
aportando mi granito de arena.”
“Otra razón es que el proyecto
pueda ser continuado y mejorado,
ya que seguro hay muchas cosas
que se pueden hacer mejor.”
Diego
Montesinos
Antonio Cañas Vargas
¿Por qué he liberado mi código?
“En tercer lugar, para devolver una
mínima parte de todo lo que yo he
recibido desde que empecé con la
informática. Han sido muchos lo
apuros y enredos de los que he
salido gracias a código compartido
por otros.”Diego
Montesinos
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)
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
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 contribuidores
http://www.ohloh.net/p/swadroid
● J. M. Boyero: 1200-1500 horas
● A. Aguilera: 550-800 horas
● H. Rodríguez: 500-750 horas
Antonio Cañas Vargas
¿Cuánto trabajo hay detrás?
● iSWAD (D. Montesinos)
● https://github.com/diegort/iSWAD
● Licencia BSD
● 200-350 horas
Antonio Cañas Vargas
Más sobre el núcleo
● Escrito en C
● Ventaja: rapidez
● Inconveniente: ausencia de funciones de biblioteca
especializadas en web
● Programado desde cero, excepto:
● Base de datos: MySQL C API
http://dev.mysql.com/doc/refman/5.0/en/c-api.html
● Cifrado: SHA-256 y SHA-512
http://www.ouah.org/ogay/sha2/
● Servicio web SOAP: gSOAP
http://www.cs.fsu.edu/~engelen/soap.html
Antonio Cañas Vargas
Más sobre el núcleo
● Cada vez que un usuario pulsa en alguna
opción, Apache llama a ejecutar el programa
compilado swad
● Hasta 2000 veces por minuto (30 por segundo)
● Normalmente 350 veces por minuto (6 por segundo)
● El programa swad consulta la BD, genera todo
el código XHTML de la página, y lo envía
Antonio Cañas Vargas
Base de datos
http://swad.ugr.es/database/img/swad_database.jpg
91 tablas
Antonio Cañas Vargas
Complementos
● Es posible desarrollar complementos (plugins)
que pueden ejecutarse en otros servidores o en
móviles. Ejemplo: SWADroid
● Los complementos interactúan con el programa
swad a través de un servicio web SOAP con
varias operaciones o funciones descritas en
http://swad.ugr.es/ws/
● ¿Implementar REST?
Antonio Cañas Vargas
Pasos para liberar el núcleo
1. 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%)
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
...
Antonio Cañas Vargas
Aunque no tengamos forja, ya tenemos forks ;-)
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
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 otros
módulos independientes del programa swad
● Ejemplos:
● Ampliar SWADroid o iSWAD
● Pizarra
Antonio Cañas Vargas
El proyecto OpenSWAD.org
● SWAD en la nube
● Para todo el mundo, gratuito (al menos
mientras 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 en
Derecho)
Antonio Cañas Vargas
Muchas gracias
¿Preguntas?
Antonio Cañas Vargas
@acanasvargas
acanas@ugr.es
@swad_ugr @SWADroid @iSWAD @OpenSWAD

Más contenido relacionado

Similar a SWAD FLISOL 2013

SWADroid VI Hackathon CUSL
SWADroid VI Hackathon CUSLSWADroid VI Hackathon CUSL
SWADroid VI Hackathon CUSL
Antonio Cañas Vargas
 
La plataforma educativa libre OpenSWAD.org
La plataforma educativa libre OpenSWAD.orgLa plataforma educativa libre OpenSWAD.org
La plataforma educativa libre OpenSWAD.org
Antonio Cañas Vargas
 
Inside SWAD (el interior de SWAD)
Inside SWAD (el interior de SWAD)Inside SWAD (el interior de SWAD)
Inside SWAD (el interior de SWAD)
Antonio Cañas Vargas
 
SWAD: implementación
SWAD: implementaciónSWAD: implementación
SWAD: implementación
Antonio Cañas Vargas
 
Licencias CC y OER
Licencias CC y OERLicencias CC y OER
Licencias CC y OER
Antonio Cañas Vargas
 
SWAD y educación abierta
SWAD y educación abiertaSWAD y educación abierta
SWAD y educación abierta
Antonio Cañas Vargas
 
Jornadas Odoo 2016 - La comunidad mundial de Odoo (OCA) y su ecosistema - Ped...
Jornadas Odoo 2016 - La comunidad mundial de Odoo (OCA) y su ecosistema - Ped...Jornadas Odoo 2016 - La comunidad mundial de Odoo (OCA) y su ecosistema - Ped...
Jornadas Odoo 2016 - La comunidad mundial de Odoo (OCA) y su ecosistema - Ped...
Pedro Manuel Baeza Romero
 
CONSULTA HERRAMIENTAS INTERACTIVAS
CONSULTA HERRAMIENTAS INTERACTIVAS CONSULTA HERRAMIENTAS INTERACTIVAS
CONSULTA HERRAMIENTAS INTERACTIVAS
claudia guzman
 
Aula digital 1
Aula digital 1Aula digital 1
Aula digital 1cobayote
 
Introducción a la accesibilidad web
Introducción a la accesibilidad webIntroducción a la accesibilidad web
Introducción a la accesibilidad web
tayzee
 
Osum
OsumOsum
LASI Spain LMS MOOC
LASI Spain LMS MOOCLASI Spain LMS MOOC
LASI Spain LMS MOOC
Antonio Cañas Vargas
 
Herramientas digitales
Herramientas digitalesHerramientas digitales
Herramientas digitales
KatyaCastaeda
 
Expo AULA UNAC
Expo AULA UNACExpo AULA UNAC
Expo AULA UNAC
iluminaticperu
 
Programación por bloques en la educación para la industria 4.0 - Bogodev 2018
Programación por bloques en la educación para la industria 4.0 - Bogodev 2018Programación por bloques en la educación para la industria 4.0 - Bogodev 2018
Programación por bloques en la educación para la industria 4.0 - Bogodev 2018
javiertecteos
 
OCA: Experiencia, Gestión, Funcionamiento
OCA: Experiencia, Gestión, FuncionamientoOCA: Experiencia, Gestión, Funcionamiento
OCA: Experiencia, Gestión, Funcionamiento
Maxime Chambreuil
 
Erick miranda _web 2_0_moodle_cecoope_2012
Erick miranda _web 2_0_moodle_cecoope_2012Erick miranda _web 2_0_moodle_cecoope_2012
Erick miranda _web 2_0_moodle_cecoope_2012
federicoavilam
 
Comunidades libres 3.0
Comunidades libres 3.0Comunidades libres 3.0
Comunidades libres 3.0
Stuardo Rodriguez
 
Sesion01_DW.pdf
Sesion01_DW.pdfSesion01_DW.pdf
Sesion01_DW.pdf
USAT
 
Herramientas para contenidos digitales power point
Herramientas para contenidos  digitales power pointHerramientas para contenidos  digitales power point
Herramientas para contenidos digitales power pointangeluz26
 

Similar a SWAD FLISOL 2013 (20)

SWADroid VI Hackathon CUSL
SWADroid VI Hackathon CUSLSWADroid VI Hackathon CUSL
SWADroid VI Hackathon CUSL
 
La plataforma educativa libre OpenSWAD.org
La plataforma educativa libre OpenSWAD.orgLa plataforma educativa libre OpenSWAD.org
La plataforma educativa libre OpenSWAD.org
 
Inside SWAD (el interior de SWAD)
Inside SWAD (el interior de SWAD)Inside SWAD (el interior de SWAD)
Inside SWAD (el interior de SWAD)
 
SWAD: implementación
SWAD: implementaciónSWAD: implementación
SWAD: implementación
 
Licencias CC y OER
Licencias CC y OERLicencias CC y OER
Licencias CC y OER
 
SWAD y educación abierta
SWAD y educación abiertaSWAD y educación abierta
SWAD y educación abierta
 
Jornadas Odoo 2016 - La comunidad mundial de Odoo (OCA) y su ecosistema - Ped...
Jornadas Odoo 2016 - La comunidad mundial de Odoo (OCA) y su ecosistema - Ped...Jornadas Odoo 2016 - La comunidad mundial de Odoo (OCA) y su ecosistema - Ped...
Jornadas Odoo 2016 - La comunidad mundial de Odoo (OCA) y su ecosistema - Ped...
 
CONSULTA HERRAMIENTAS INTERACTIVAS
CONSULTA HERRAMIENTAS INTERACTIVAS CONSULTA HERRAMIENTAS INTERACTIVAS
CONSULTA HERRAMIENTAS INTERACTIVAS
 
Aula digital 1
Aula digital 1Aula digital 1
Aula digital 1
 
Introducción a la accesibilidad web
Introducción a la accesibilidad webIntroducción a la accesibilidad web
Introducción a la accesibilidad web
 
Osum
OsumOsum
Osum
 
LASI Spain LMS MOOC
LASI Spain LMS MOOCLASI Spain LMS MOOC
LASI Spain LMS MOOC
 
Herramientas digitales
Herramientas digitalesHerramientas digitales
Herramientas digitales
 
Expo AULA UNAC
Expo AULA UNACExpo AULA UNAC
Expo AULA UNAC
 
Programación por bloques en la educación para la industria 4.0 - Bogodev 2018
Programación por bloques en la educación para la industria 4.0 - Bogodev 2018Programación por bloques en la educación para la industria 4.0 - Bogodev 2018
Programación por bloques en la educación para la industria 4.0 - Bogodev 2018
 
OCA: Experiencia, Gestión, Funcionamiento
OCA: Experiencia, Gestión, FuncionamientoOCA: Experiencia, Gestión, Funcionamiento
OCA: Experiencia, Gestión, Funcionamiento
 
Erick miranda _web 2_0_moodle_cecoope_2012
Erick miranda _web 2_0_moodle_cecoope_2012Erick miranda _web 2_0_moodle_cecoope_2012
Erick miranda _web 2_0_moodle_cecoope_2012
 
Comunidades libres 3.0
Comunidades libres 3.0Comunidades libres 3.0
Comunidades libres 3.0
 
Sesion01_DW.pdf
Sesion01_DW.pdfSesion01_DW.pdf
Sesion01_DW.pdf
 
Herramientas para contenidos digitales power point
Herramientas para contenidos  digitales power pointHerramientas para contenidos  digitales power point
Herramientas para contenidos digitales power point
 

Último

Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
eliecerespinosa
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
MasielPMP
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 

Último (20)

Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 

SWAD FLISOL 2013

  • 1. Antonio Cañas Vargas Experiencias con software libre: plataforma SWAD y su proceso de liberación 27 de abril de 2013 Antonio Cañas Vargas @acanasvargas acanas@ugr.es
  • 2. Antonio Cañas Vargas Sistema Web de Apoyo a la Docencia http://swad.es/ Es una plataforma web para gestionar asignaturas, estudiantes y profesores, y realizar funciones de apoyo a la docencia y al aprendizaje. ¿Qué es SWAD?
  • 4. Antonio Cañas Vargas Cifras 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 Vargas Crecimiento en la UGR 5243 asignaturas 4129 con alumnos
  • 6. Antonio Cañas Vargas Crecimiento en la UGR 2881 profesores 75%
  • 7. Antonio Cañas Vargas Crecimiento en la UGR 84010 estudiantes 100%
  • 9. Antonio Cañas Vargas Accesos en la UGR Estudiantes eligiendo grupos Páginas por minuto
  • 10. Antonio Cañas Vargas Accesos en la UGR Partidos del Mundial 2010
  • 11. Antonio Cañas Vargas Claves 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 Vargas Abierta y gratuita ● Ofrecida desde 2004 para toda la UGR
  • 13. Antonio Cañas Vargas Formación a profesores ● Talleres por los centros en los primeros años
  • 14. Antonio Cañas Vargas Atención al usuario ● Miles de consultas atendidas Aunque no todos están tan contentos
  • 15. Antonio Cañas Vargas Fortalezas 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
  • 17. Antonio Cañas Vargas Servidores en la UGR 2004-2006 Pentium 4 HT RAM 2 GB 2 HD 160 GB Fedora 3 2007-2008 Core 2 Duo RAM 4 GB 2 HD 500 GB Fedora 6 2009-2010 Core 2 Quad RAM 4 GB 2 HD 146 GB 2 HD 1 TB Fedora 10 2011-2013 2 Xeon Quad RAM 24 GB 4 HD 146 GB 4 HD 500 GB CentOS 5.7 1999-2003 Servidor compartido
  • 18. Antonio Cañas Vargas Aú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 muy agradecidos
  • 20. Antonio Cañas Vargas Un programa con 13 años Inicios: 1999-2003 1º PID: 2003-2004 2º PID: 2005-2006 3º PID: 2006-2008 CEVUG: 2008... PRADO: 2009... Libre: 2010... UNA: 2012...
  • 21. Antonio Cañas Vargas Software libre ● Software con licencia copyleft que garantice derechos de uso, copia, modificación y redistribución Free software centrado en la libertad Open source centrado en el modelo de desarrollo cooperativo cc by Beatrice Murch http://commons.wikimedia.org/wiki/User:Blmurch cc by Brian Solis, http://www.briansolis.com/
  • 22. Antonio Cañas Vargas Liberación de SWAD 21/01/2010
  • 23. Antonio Cañas Vargas Programas liberados ● swad A. Cañas CGI: c; base de datos: mysql ● fotomaton D. J. Calandria c++, OpenCV de Intel ● foto_mediana/foto_promedio D. J. Calandria c++, OpenCV de Intel ● swad-ircd (servidor de chat) D. J. Calandria c++; protocolo IRC ● SWADroid (app Android) J. M. Boyero, A. Aguilera, H. Rodríguez Java ● iSWAD (app iOS) D. Montesinos Objective C
  • 24. Antonio Cañas Vargas Programar usando software libre ● Permite (legalmente) usar software libre de terceros e incluir código libre escrito por otros MySQL, OpenCV, SHA, gSOAP, iconos Nuvola, iconos Awesome Font... ● Hay acceso gratuito a buenos manuales http://dev.mysql.com/doc/refman/5.0/es/ ● Y muchísima ayuda de otros programadores http://stackoverflow.com/
  • 25. Antonio Cañas Vargas Crear software libre ● Facilita aprendizaje y desarrollo colaborativos Cuarto Hackathon de proyectos de software libre de la UGR, 13-16/04/2012. Foto: A. Cañas
  • 26. Antonio Cañas Vargas Crear software libre ● Anima a programar mejor @psicobyte_ explica las bondades del software libre. Foto: A. Cañas
  • 27. Antonio Cañas Vargas Crear software libre ● Mejora el código: muchos ojos ven más que dos Hackathon de SWADroid y SWAD, 25/03/2013. Foto: A. Cañas
  • 28. Antonio Cañas Vargas Crear software libre ● Da libertad y seguridad a los usuarios http://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 que un informático pudiera contribuir al bien de la humanidad. Cuando descubrí el software libre y sobre todo cuando escuché por primera vez a Richard Stallman encontré la oportunidad para un programador de colaborar en la utopía de un mundo mejor.” Antonio Cañas
  • 30. Antonio Cañas Vargas ¿Por qué he liberado mi código? “También me animó a liberar SWAD la decepción de ver cómo decenas de miles de líneas de código escritas como parte de mi tesis quedaron en el olvido el día que la leí. No quiero repetir la experiencia de dejar tanto trabajo creado con cariño abandonado en un cajón. Todo padre está orgulloso de sus hijos y quiere verlos crecer libres.” Antonio Cañas
  • 31. Antonio Cañas Vargas ¿Por qué he liberado mi código? “Yo siempre me he sentido en deuda con todos los programadores que de forma altruista han ayudado a mi aprendizaje liberando código de sus proyectos. Yo le debo todo lo que sé de visión artificial a esa gente. ¡Qué menos que yo también haga lo mismo, para que otros puedan seguir aprendiendo!” Daniel Calandria
  • 32. Antonio Cañas Vargas ¿Por qué he liberado mi código? “Otra razón son los principios que me han inculcado mis padres al educarme: me han hecho ver desde muy pequeño que la sociedad se tiene que fundamentar sobre el cooperativismo. Puede que por ello vea el compartir el código como algo totalmente natural, sin plantearme buscar nada a cambio.” Daniel Calandria
  • 33. Antonio Cañas Vargas ¿Por qué he liberado mi código? “Para devolver al software libre una parte de lo recibido.” “Para facilitar el desarrollo de otros proyectos permitiéndoles consultar y reutilizar el código.” “Para evitar que el proyecto muera por falta de tiempo.” “¿Y por qué no?” Juan Miguel Boyero
  • 34. Antonio Cañas Vargas ¿Por qué he liberado mi código? “Mi trabajo ha sido añadir nuevas funcionalidades a una herramienta que ya era libre, y utilizando otro software que también es libre (ZXing), por lo que mis razones son: que mi trabajo se ha basado en código libre ya existente que otros puedan reutilizar mi código” Antonio Aguilera
  • 35. Antonio Cañas Vargas ¿Por qué he liberado mi código? “Porque unos de los pilares del software libre es la cooperación y difusión del conocimiento. SWADroid, que nació dentro de la Universidad pública, debía seguir esta política.” Helena Rodríguez
  • 36. Antonio Cañas Vargas ¿Por qué he liberado mi código? “Siempre que he podido he colaborado con la comunidad, ya sea realizando sugerencias o aportando mi granito de arena.” “Otra razón es que el proyecto pueda ser continuado y mejorado, ya que seguro hay muchas cosas que se pueden hacer mejor.” Diego Montesinos
  • 37. Antonio Cañas Vargas ¿Por qué he liberado mi código? “En tercer lugar, para devolver una mínima parte de todo lo que yo he recibido desde que empecé con la informática. Han sido muchos lo apuros y enredos de los que he salido gracias a código compartido por otros.”Diego Montesinos
  • 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 contribuidores http://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 Vargas Más sobre el núcleo ● Escrito en C ● Ventaja: rapidez ● Inconveniente: ausencia de funciones de biblioteca especializadas en web ● Programado desde cero, excepto: ● Base de datos: MySQL C API http://dev.mysql.com/doc/refman/5.0/en/c-api.html ● Cifrado: SHA-256 y SHA-512 http://www.ouah.org/ogay/sha2/ ● Servicio web SOAP: gSOAP http://www.cs.fsu.edu/~engelen/soap.html
  • 43. Antonio Cañas Vargas Más sobre el núcleo ● Cada vez que un usuario pulsa en alguna opción, Apache llama a ejecutar el programa compilado swad ● Hasta 2000 veces por minuto (30 por segundo) ● Normalmente 350 veces por minuto (6 por segundo) ● El programa swad consulta la BD, genera todo el código XHTML de la página, y lo envía
  • 44. Antonio Cañas Vargas Base de datos http://swad.ugr.es/database/img/swad_database.jpg 91 tablas
  • 45. Antonio Cañas Vargas Complementos ● Es posible desarrollar complementos (plugins) que pueden ejecutarse en otros servidores o en móviles. Ejemplo: SWADroid ● Los complementos interactúan con el programa swad a través de un servicio web SOAP con varias operaciones o funciones descritas en http://swad.ugr.es/ws/ ● ¿Implementar REST?
  • 46. Antonio Cañas Vargas Pasos para liberar el núcleo 1. 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 Vargas Aunque 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 otros módulos independientes del programa swad ● Ejemplos: ● Ampliar SWADroid o iSWAD ● Pizarra
  • 51. Antonio Cañas Vargas El proyecto OpenSWAD.org ● SWAD en la nube ● Para todo el mundo, gratuito (al menos mientras 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 en Derecho)
  • 52. Antonio Cañas Vargas Muchas gracias ¿Preguntas? Antonio Cañas Vargas @acanasvargas acanas@ugr.es @swad_ugr @SWADroid @iSWAD @OpenSWAD