Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Aprendiendo con las comunidades de Software Libre: Una experiencia personal
1. CIP – Trujillo, 2007
Aprendiendo con las
comunidades de Software Libre:
Material licenciado bajo Creative Commons by-nc-sa 2.5
Una experiencia personal
(c) Jesús M. Castagnetto M.
Jesús M. Castagnetto M., Ph.D.
jmcastagnetto@php.net / jesus@upch.edu.pe
http://www.castagnetto.org/
11 de Agosto del 2007
Colegio de Ingenieros del Perú
Consejo Departamental de La Libertad, Trujillo, Perú
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
2. Algo de (mi) historia
Material licenciado bajo Creative Commons by-nc-sa 2.5
(c) Jesús M. Castagnetto M.
De 1KB a 256GB
y perdiendo neuronas en el proceso
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
3. Prehistoria
Sinclair ZX-81
●
Salida: TV
➔
CPU: Zilog Z80A,
Material licenciado bajo Creative Commons by-nc-sa 2.5
➔
3.5MHz
ROM: 8KB
➔
(c) Jesús M. Castagnetto M.
RAM: 1KB (901 bytes
➔
disponibles), podía
expandirse a 64KB
Almacenamiento:
➔
casettes de sonido 16K por US $100
Colores: blanco y
➔
negro
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
4. La edad oscura
IBM PC XT
DOS
Material licenciado bajo Creative Commons by-nc-sa 2.5
(c) Jesús M. Castagnetto M.
Turbo Pascal
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
5. Primer encuentro con un sistema
operativo real: Irix 4.x en SGI Indigo
SGI Indigo
GUI y linea
~ US$ 12K
de comando
en 1991
Material licenciado bajo Creative Commons by-nc-sa 2.5
(c) Jesús M. Castagnetto M.
CPU: 32-bit, 33MHz R3000 RISC
Gráficos: 8-bit RGB double buffer
RAM: 8MB (64-pin propietario), hasta 96MB
HD: 500MB (un montón en 1991)
Puertos: SCSI, Ethernet, Paralelo, Serial, Audio/video, GIO-32
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
6. Encuentros cercanos del 486sx tipo:
Linux en mas de 12 diskettes
- Descargé imagenes de Slackware
- Cree diskettes (muchos)
- Pasé dias instalando, configurando,
compilando y maldiciendo
Material licenciado bajo Creative Commons by-nc-sa 2.5
(c) Jesús M. Castagnetto M.
No encontré fotos de la
NEC 486SX 33MHz ~1995
(esta es una Toshiba 486DX
mas potente que mi NEC)
8MB de RAM (original 4MB),
Slackware Linux ~1995
200 MB de disco duro,
Como la SGI pero no tan bonito
Modem 28.8Kbps,
Disquetera de 3.5”
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
7. Comienzos del aprendizaje
Al inicio de los 90’s, aún no conocía lo que era
●
Software Libre.
Pero ya usaba software con esas características:
Material licenciado bajo Creative Commons by-nc-sa 2.5
●
Emacs (Eight Megabytes And Constantly Swapping)
➔
(c) Jesús M. Castagnetto M.
Babel, que ahora es OpenBabel
➔
Rasmol, que ahora es OpenRasmol
➔
GCC, G77 y otros
➔
Gawk (el que inspiró, en algo, la locura de Perl)
➔
PGP (era un tanto ilegal es usar esto en esa época)
➔
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
8. Haciendo ciencia en el mundo real:
Solaris como desktop
Mi desktop #1: Sun Sparc Station con Solaris
Material licenciado bajo Creative Commons by-nc-sa 2.5
CDE
(c) Jesús M. Castagnetto M.
Algo feo
Mi desktop #2:
pero era
Sunblade 100 con Solaris
una GUI
Software: GCC, LaTeX, VIM,
Java, Python, Perl, PHP, MySQL,
PostgreSQL, Xmgr, SWS, etc.
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
9. Haciendo ciencia en el mundo real:
Solaris como servidor
El servidor para la
Metalloprotein
Database and
Browser (MDB)
Material licenciado bajo Creative Commons by-nc-sa 2.5
En funcionamiento
(c) Jesús M. Castagnetto M.
desde 1998
Software:
GCC, Apache,
Tomcat, Java,
MySQL, PHP,
Python, Perl, VIM
Sun Ultra 5 con Solaris
Discos SCSI MDB: http://metallo.scripps.edu
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
10. Arquitectura de la MDB
SAMP
- Solaris
Material licenciado bajo Creative Commons by-nc-sa 2.5
- Apache
(c) Jesús M. Castagnetto M.
- MySQL
- PHP
:-)
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
11. Juguetes caros: DataStar en SDSC
Supercomputadora de15.6 Tflops hecha por IBM
Material licenciado bajo Creative Commons by-nc-sa 2.5
Almacenamiento:
Software: - Inmediato: ~500 TB
AMBER, ant,
(c) Jesús M. Castagnetto M.
- Secundario: >10 PB
BLAST, bzip2,
CVS, DDD,
GAMESS, GCC,
GnuPlot, Grace,
ImageMagick,
Java, LAPACK,
NCAR, NetCDF, # de CPUs por Velocidad Performance
Tipo Memoria
Mathematica,
nodos nodo de CPU pico del CPU
NAMD, R, Octave,
P655+ 169 16GB 8 1.5 GHz 6.0 GFlops
Python, Rasmol,
P655+ 96 32GB 8 1.7 GHz 6.8 GFlops
castor, SVN, Zlib,
P690+ 5 128GB 32 1.7 GHz 6.8 GFlops
... y decenas mas
P690+ 2 256GB 32 1.7 GHz 6.8 GFlops
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
12. Comunidades de Software Libre
Material licenciado bajo Creative Commons by-nc-sa 2.5
Involucrándome con las comunidades
(c) Jesús M. Castagnetto M.
o
“Fastidiando también se aprende”
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
13. Comunidades = Ecosistemas
Existen muchas
●
comunidades, cada una
se beneficia de la
Material licenciado bajo Creative Commons by-nc-sa 2.5
producción de las otras.
Tipos de comunidades:
●
(c) Jesús M. Castagnetto M.
Desarrolladores
➔
Usuarios
➔
Divulgadores
➔
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
14. PHP: ¿Qué es?
<http://www.php.net>
PHP es un lenguaje de programación para la web,
●
que presenta una solución sencilla,
pragmática, directa, y escalable.
Material licenciado bajo Creative Commons by-nc-sa 2.5
Es fácil de aprender, y extremadamente
●
popular para soluciones que usan la web como
(c) Jesús M. Castagnetto M.
plataforma de trabajo.
Soporta un número grande de Sistemas
●
Operativos, servidores de Web, Bases de
Datos, Protocolos de comunicación, etc.
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
15. Estadísticas de uso de PHP
Material licenciado bajo Creative Commons by-nc-sa 2.5
(c) Jesús M. Castagnetto M.
Abril 2007
PHP: 20'016,421 dominios, 1'208,663 direcciones IP
Fuente: Netcraft (http://www.netcraft.com/Survey/)
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
16. PHP: ¿Cómo se organiza?
Muchas comunidades dedicadas a tareas
●
específicas: desarrollo del lenguaje, documentación,
PEAR, PHP-GTK, etc.
Material licenciado bajo Creative Commons by-nc-sa 2.5
Ingreso simple: debe mostrar interés, un plan de
●
trabajo y calificaciones.
(c) Jesús M. Castagnetto M.
Se es parte de un grupo, si se contribuye
●
activamente a las actividades de este.
Una comunidad de comunidades, con una
●
infraestructura de soporte tecnológico y social
en continua evolución.
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
17. La comunidad central de PHP
Compuesta por gente
●
que escribe código,
hace control de calidad,
Material licenciado bajo Creative Commons by-nc-sa 2.5
crea extensiones, y
documenta el lenguaje.
(c) Jesús M. Castagnetto M.
Se interrelaciona con
●
las otras comunidades.
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
18. PHP: Una comunidad de comunidades
El proyecto PHP
Material licenciado bajo Creative Commons by-nc-sa 2.5
(c) Jesús M. Castagnetto M.
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
19. Los grupos de documentación
de PHP <http://doc.php.net/> (PHPDOC)
Son 30+ grupos, escribiendo el manual en igual
●
número de idiomas.
Cada grupo se organiza a su modo, dependiendo de
Material licenciado bajo Creative Commons by-nc-sa 2.5
●
su cultura de trabajo.
Usamos una misma infraestructura para escribir y
(c) Jesús M. Castagnetto M.
●
publicar el manual de PHP.
El manual permite anotaciones de los usuarios, y
●
hemos creado herramientas para editar dichas
contribuciones.
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
20. Grupo de documentación
PHPDOC
Material licenciado bajo Creative Commons by-nc-sa 2.5
(c) Jesús M. Castagnetto M.
Mucha gente
●
● Diferentes idiomas
● Diferentes culturas
● Diferentes costumbres
● Un objetivo común
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
21. PEAR: ¿Qué es?
<http://pear.php.net/>
PHP Extensions and
●
Applications Repository
Un repositorio de código
●
Material licenciado bajo Creative Commons by-nc-sa 2.5
reusable, sólido, bien
mantenido, y que ha sido
revisado por muchos.
(c) Jesús M. Castagnetto M.
Una infraestructura para
●
manejo y distribución
modular de paquetes.
Una comunidad de
●
programadores con un
mecanismo de interacción
técnico y social definidos.
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
22. PEAR como repositorio
Estadísticas a Diciembre del 2006
431 paquetes
●
45 categorías
Material licenciado bajo Creative Commons by-nc-sa 2.5
●
330 mantenedores
●
(c) Jesús M. Castagnetto M.
> 25.7 Millones de descargas
●
Defectos (bugs) totales: 6344
●
Abiertos: 356 (5.6%)
➔
Resueltos: 3875 (61.1%)
➔
En resolución: 471 (7.4%)
➔
Bogus, duplicados, etc.: 1642 (25.9%)
➔
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
23. PEAR: ¿Cómo se organiza?
Un grupo grande de desarrolladores con voz y voto
●
(PEAR Dev).
Grupo de control de calidad (PEAR QA), nominados
Material licenciado bajo Creative Commons by-nc-sa 2.5
●
y votados por la comunidad.
Grupo de documentación (PEAR DOC), voluntarios.
(c) Jesús M. Castagnetto M.
●
Usan el modelo de PHPDOC.
Grupo central que administra y toma las decisiones
●
acerca del proyecto (PEAR Group), con un
presidente que representa al proyecto.
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
24. PEAR: Sus comunidades
Material licenciado bajo Creative Commons by-nc-sa 2.5
(c) Jesús M. Castagnetto M.
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
25. PEAR: Mecanismos sociales
y tecnológicos de la comunidad
Reglas específicas para:
●
Estándares de código y documentación
➔
Material licenciado bajo Creative Commons by-nc-sa 2.5
Manejo del desarrollo y difusión de paquetes
➔
Responsabilidades del desarrollador
➔
(c) Jesús M. Castagnetto M.
Propuesta y aceptación de nuevos paquetes
➔
PEPr: Un sistema en web para proponer, comentar,
●
y votar acerca de nuevo código. Implica revisión por
pares de la propuesta, alcances, modos de uso e
implementación
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
26. Otras experiencias en Código Libre
Código y parches a una serie de proyectos
●
(W‑Agora, Exhuberant Ctags, Autodia, etc.)
Manteniendo documentación en formatos
Material licenciado bajo Creative Commons by-nc-sa 2.5
●
alternativos (ej. Awk FAQ en formato de Palm)
Escribiendo documentación y artículos (ejemplo:
(c) Jesús M. Castagnetto M.
●
quot;¿Qué es Vim?quot; Una explicación en seis kilobytes)
En grupos de usuarios (K-PLUG, SDPHP, etc.)
●
En conferencias y reuniones diversas (OSCON,
●
APACHECON, FooCamp, etc.)
... y divirtiéndome mucho en el trayecto
●
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
27. Que me ha ofrecido el
participar en Código Libre
Interactuar con un gran y diverso número de
●
personas, de culturas y procedencias disímiles
Aprender a trabajar en forma colaborativa
Material licenciado bajo Creative Commons by-nc-sa 2.5
●
Pensar mas estructurada y objetivamente lo
●
referente a proyectos
(c) Jesús M. Castagnetto M.
Entender las necesidades y motivos desde la
●
perspectiva de usuario, desarrollador, y dirigente de
un grupo de desarrolladores
Poder hacer lo que necesitaba con ayuda de la
●
comunidad, más fácilmente que si hubiera tenido que
hacerlo aislado, y con mejor calidad
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia
28. Agradecimientos
A los organizadores de este evento por su gentil
●
invitación
A todos ustedes por escuchar a este científico loco
Material licenciado bajo Creative Commons by-nc-sa 2.5
●
sin aburrirse mucho :-)
(c) Jesús M. Castagnetto M.
Esta presentación está disponible en la sección
de “Charlas científicas” de mi sitio web:
http://www.castagnetto.org/
Jesús M. Castagnetto M., Ph.D. - Departamento Académico de Química
Facultad de Ciencias y Filosofía, Universidad Peruana Cayetano Heredia