O desenvolvimento do Software Livre no terceiro setor Germán Poó Caamaño Universidad del Bío-Bío e Projeito GNOME.

Slides:



Advertisements
Presentaciones similares
Archivos y Búsqueda Secuencial
Advertisements

Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUIDOS 8vo. Semestre Licenciatura en Informática. Plan Semestral de Trabajo.
SOFTWARE LIBRE, OPEN SOURCE E HISTORIA DE LINUX TOVAR LÓPEZ IAN GUSTAVO PROFESOR RENÉ DOMINGUEZ ESCALONA ADMINISTRA SISTEMAS OPERATIVOS GRUPO 503.
Cómo convertirse en desarrollador en un proyecto de Software Libre (...y no morir en el intento) Federico Mena Quintero Germán Poo.
¿Qué vas a hacer cuando salgas de la Universidad? Encuentro Nacional de Linux y Software Libre, 2006 Federico Mena Quintero Novell,
Se solicita taquero con ganas de trabajar (O lo que es lo mismo: cuando el futuro nos alcance) GULEV Free Software Conference Day 2006 Federico Mena Quintero.
PRESENTACIÓN DRUPAL Versión 0.1 Por Ricardo Chang.
LINUX-IDES: GRUPO DE INVESTIGACIÓN Y DESARROLLO EN GNU/LINUX Linux- IDES Investigación y Desarrollo en GNU/Linux Software libre en la PUCP: Tuxpuc y Linux-IDES.
Blog para el diseño instruccional del Curso: Tecnología de Redes del Postgrado en Redes de Computadoras de la (UCLA) Participante: Aura Villegas Prof.
Se solicita taquero con ganas de trabajar GULEV 2006, Cancún Federico Mena Quintero Novell, Inc.
Principios, teoría y práctica sobre los conceptos de HTML básicos.
¿Qué es un Diagrama de Flujo? UN DIAGRAMA DE FLUJO, TAMBIÉN LLAMADO FLUJOGRAMA DE PROCESOS O DIAGRAMA DE PROCESOS, REPRESENTA LA SECUENCIA O LOS PASOS.
INTRODUCCION AL DISEÑO DEL SOFTWARE EDUCATIVO Presentado por: MILLER ALEJANDRO GAONA ÁLVAREZ UNIVERSIDAD DE PAMPLONA FACULTAD DE EDUCACION DEPARTAMENTO.
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
Plataforma de administración para congresos
Análisis de Proyecto de Software.
Google Play Store o Play Store para abreviar, es la aplicación que la gente con tabletas y smartphones Android utiliza para descargar juegos, aplicaciones.
Control Interno y Riesgos en TIs
Nombre José Francisco Luna Jurado Matricula Asignatura
CMS: sistema de Gestión de Contenidos
Introducción del Curso Hoja de Cálculo (Excel)
EJEMPLOS DE PROCESOS DE RECLUTAMIENTO. ANALISIS DE LA COMPETENCIA El análisis de la competencia es la forma de poner tus ideas frente al espejo y.
Análisis y catalogación de las fuentes que definen las competencias demandadas en el campo de la Interacción Persona-Ordenador Raquel Lacuesta Jesús Gallardo.
TALLER HINARI “FACILITANDO FACILITADORES”, QUITO, 27 AL 29 DE OCTUBRE 2015 GOOGLE Consejos para buscar en internet (Anexo: Módulo 2)
Lección de PROGRAMACION PARA PRINCIPIANTEs
Kevin Emmanuel Peralta López
Cómo perder la virginidad (o cómo escribir y mandar tu primer parche)
Ingeniero en Computación José Alfredo Cobián Campos
UNIVERSIDAD DE GUAYAQUIL CARRERA: SISTEMAS MULTIMEDIA
SISTEMAS DE INFORMACIÓN
Miguel García Ruiz Jackeline Giraldo Urrea
ACTIVIDAD No 3 NOMBRE Y APELLIDOS: Javier Andrés Velasco Álvarez TEMA:
Software Software según su licencia. Software según su finalidad.
Act 3. Herramienta tareas Glosario TIC - Herramienta Tareas
Poetry & Short Story Reference Center
SEMINARIO INCORPORAR SOFTWARE LIBRE – MITOS Y VERDADES
TECNOLOGIA & PROCESO TECNOLOGICO
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Actividad 3 Herramienta tarea
creado por Ernesto Potes Cordoba - licenciado en informática
Por José Binet y Raysa Vásquez
HERRAMIENTAS BÁSICAS PARA ESTUDIO VIRTUAL
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Los wikis Por: Karina Montes Ruth González Mabel Ibarra.
INGENIERIA MECATRONICA
TRANSFORMACIÓN METODOLÓGICA
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Metodología de la programación
Búsquedas en Internet ¿Qué es un buscador?
TAREA DEFINICIONES: Software: Equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes lógicos necesarios.
COMPROMISO EN LAS PERSONAS NORMAS ISO 9001:2015 INTERGRANTES: DORA ARTUNDUAGA JOHANNA P. ESCOBAR JEENER AVILA.
Roles del Analista de Sistemas Y Ciclo de Vida del Desarrollo de Sistemas.
UNIVERSIDAD SAN FRANCISCO DE QUITO-USFQ
"La huella digital" Preparación Profesional Período
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
Tecnologías de la Información y Comunicaciones (AEQ-1064)
PEM te proporcionara herramientas para incrementar tu éxito en BNI.
Proyecto "Las mascotas" Informática 6° Básico.
Oscar Navarrete J. Jorge Gutiérrez A.
Oscar Navarrete J. Jorge Gutiérrez A.
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
THE EXPERT IN ANYTHING, WAS ONCE A BEGINNER.
Fundamentos del analisis de sistemas de Información Integrantes: Cavero Parraguez, Jesús Espinoza Paz, Julio Daniel Sandoval Chanamé, Kazuo Santisteban.
Taller de grado I INFORMACIÓN GENERAL
Funciones principales de Excel Online
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
¿CÓMO CREAR UNA BUENA PRESENTACIÓN EN POWERT POINT EN 7 PASOS SENCILLOS?
SISTEMAS GESTORES DE REFERENCIAS BIBLIOGRÁFICAS Son programas para computadoras que permiten crear, mantener, organizar y dar forma a referencias bibliográficas.
Transcripción de la presentación:

O desenvolvimento do Software Livre no terceiro setor Germán Poó Caamaño Universidad del Bío-Bío e Projeito GNOME

Otro sombre Como chegar a ser desenvolvedor no Projeto GNOME (...e não morrer no caminho) Federico Mena Quintero Germán Poo Caamaño

Declaraçao A palavra hacker se refere a desenvolvedor nao a um vândalo na Internet ou cibervandâlo

Cuestionamientos típicos ● ¿Cómo contribuir em un proyecto de Software Livre? ● ¿Qué herramientas usar? ● ¿Qué libros leer? ● ¿Qué sitios visitar? ● ¿Dónde y cómo comenzar?

Duas respostas 1. O caminho largo 2. O caminho curto

O caminho largo

Objetivos comunes en Informática ● "Formar profesionales propositivos, comprometidos con su superación y el avance de su disciplina, vinculados con las necesidades sociales de su entorno, que comprendan y utilicen de manera analítica, critica y creativa los diferentes modelos, enfoques, metodologías y herramientas de la computación, en la solución de problemas relacionados con el manejo de la información."

¿Cuál es tu objetivo? Você qué esperas obtener de a carrera?

Perfil del egresado (1) ● El egresado de una licenciatura de informática será capaz de: Ofrecer soluciones a problemas relacionados con la computadora y el manejo automático de la información, tanto dentro como fuera de la empresa. Diseñar y elaborar programas y paquetes computacionales de servicio para usuarios especializados y no especializados.

Perfil del egresado (2) ● El egresado de una licenciatura de informática será capaz de: Analizar, diseñar, actualizar y administrar sistemas de información, desde los más sencillos hasta los que involucran bases de datos. Capacitar a usuarios en la instalación y soporte a equipo de cómputo. Contribuir a su formación a través de estudios de posgrado, de educación continua o de manera autodidáctica.

¿En qué quieres trabajar? Você tem los conhecimientos necesarios?

Asignaturas típicas ● Algoritmos I (primer semestre): Conceptos básicos, herramientas para desarrollar algoritmos, técnicas de diseño, proyectos sencillos. ● Algoritmos II (segundo semestre): Elementos de un lenguaje estructurado, pilas, recursión, listas ligadas, colas grafos, árboles, conjuntos. ● Algoritmos III (tercer semestre): Organizaciones básicas de archivos, métodos de ordenamiento, método de búsqueda.

Entrevista de trabahlo (1) ● Saber aplicar los conocimientos: Escribe una función que invierta una cadena: “ABCDEFG” -> “GFEDCBA”

Entrevista de trabahlo (2) ● Describe un árbol binario Escribe una función que inserte un número en un árbol binario de números.

Entrevista de trabahlo (3) ● Nivel de inglés. By default, Glib assumes that file names on disk are in UTF-8 encoding. This is a valid assumption for file systems which were created relatively recently: most applications use UTF-8 encoding for their strings, and that is also what they use for the file names they create. However, older file systems may still contain file names created in "older" encodings, such as ISO In this case, for compatibility reasons, you may want to instruct Glib to use that particular encoding for file names rather than UTF-8.

¿Cómo piensas obtener los conocimientos necesarios?

Para ser um bom desenvolvedor ● Iniciativa propia Interés por aprender Buen nivel de inglés ● Práctica, ●... Práctica, ●... Mucha práctica

Ernest Hemingway

¿Cuánta práctica? ● Ernest Hemingway, foto de 1940 ● Premio Nobel de Literatura 1954 ● Las grandes obras no salen al primer intento.

Software Libre ● Libertad de utilizarlo. ● Libertad de copiarlo. ● Libertad de modificarlo. ● Libertad de distribuir tus modificaciones. ● Siempre y cuando no le quites ninguna de estas libertades.

Utilizarlo ● Usalo; no tienes que pedirle permiso a nadie ● Puedes usarlo en tu casa, escuela o trabajo ● Puedes usarlo para fines que el autor no se esperaba

Copiarlo ● Dale una copia a tu mejor amigo. ● Pónselo a todas tus computadoras. ● Vende CDs con el software.

Modificarlo ● Examínalo Abre el capó del auto ● Aprende cómo está hecho Desarma un pedazo del motor ● Hazle cambios ¿Qué pasa si enchufo esto aquí? ● Aprende de lo que hiciste Y vuélvete un mecánico o programador experto

Distribuirlo ● ¿Le hiciste cambios interesantes? ● Véndelos / distribúyelos / cópialos ● Hazlos parte del bien común.

? Libertad de aprender (1) ● El software propietario es una caja negra

using System; public class Principal { public static void Main () { Console.WriteLine (“Hola, Mundo”); } Libertad de aprender (2) ● El software libre es transparente

Es como comprar un coche ● El propietario tiene el capó soldado ● El libre lo puedes destripar a tu gusto.

Ponte a leer código ajeno ● Aprende de programas reales ● Modifícalo ● Límpialo ● Aprende técnicas nuevas

Aplica la teoría ¿De qué te sirve si no sabes cuándo utilizarla?

Contribuye a un proyecto ya existente ● Arregla lo que está roto Son sólo programas. ● Aprende de programadores experimentados.

O caminho curto

El camino corto: Pasos 1. Descargar el código fuente del programa que se desea modificar 2. Desempaquetar (tar/gzip) 3. Construir y ejecutar la aplicación en forma exitosa (leer los archivos de instrucciones correspondientes, tales como README, INSTALL) 4. Abrir el código fuente en un editor 5. Encontrar las partes del código que se necesita modificar para hacer que el programa haga lo que uno quiera 6. Aplicar los cambios y probar hasta estar seguros que el programa funciona correctamente. 7. Enviar los cambios realizados a la lista de correo correspondiente.

Repetir los pasos anteriores todas las veces que sea necesario

Consideraciones generales ● Si no hay programas que se deseen modificar: Tal vez no quieras ser hacker después de todo Tal vez no hayas utilizado suficientemente el software en cuestión Tal vez este año sólo seas usuario del software y no hay cosas que quieras modificar ● Es imposible saltarse los pasos 1 al 4. ● Si no tienes el código fuente en el computador, ¿podrías llegar a ser hacker?

Paso 3: construir y ejecutar la aplicación en forma exitosa ● El paso 3 puede requerir varias iteraciones antes de lograrlo con éxito. Puede resultar ridículo y humillante Algunas veces puede ser el paso que toma más tiempo y ser el más difícil.

Paso 5: Encontrar las partes del código que se necesita modificar para hacer que el programa haga lo que uno quiera ● Al llegar al paso 5: Podría llegar a ser tan fácil como bucear en los archivos del código fuente y buscar una cadena relevante ● En la interfaz ● En alguna alguna salida común del programa ● Requisitos Invertir tiempo averiguando la disposición y “formato” del código Puede valer añadir algunos printf para mostrar el área correcta en la cual trabajar. Puede ser útil disponer de un depurador para aprender el comportamiento interno del programa.

Mientras más experiencia se alcanza el paso 5 se va tornando más fácil.

Si el software en el cual estás trabajando fue escrito por un programador con mucha experiencia el paso 5 será mucho más fácil, Los programadores con experiencia realizan esfuerzos extras para escribir código que sea fácil de entender.

Paso 6: Aplicar los cambios y probar hasta estar seguros que el programa funciona correctamente Es lo que comúnmente se conoce como "hacking" Pero no siempre es la parte que toma más tiempo.

Muchas personas no llegan a este punto. Si lo has hecho, con toda seguridad puedes considerarte un "hacker".

Pero, es muy probable que: No escribirás buen código sino hasta que hayas programado una gran cantidad.

La clave para ser un hacker es llegar al punto donde estás "hackeando".

Y si no soy desenvolvedor y quiero contribuir ¿Qué hago?

Otras formas de contribuir Existen distintos equipos de trabajo......y uno es para tí

Usabilidad test

Quantos círculos tem?

Quantos círculos vermelhos tem?

Quantos círculos tem?

Usabilidad (GUP)

Accesibilidad (GAP)

Traducciones (GTP)

Liberación de versiones

Documentación (GDP)

Arte

Nunca es tarde para comenzar

● Violeta Parra comenzó su carrera artística a los 35 años ● Nicanor Parra escribió su primer libro en 1937 Su segundo libro, “Poemas y antipoemas” en 1954 ( a los 40 años ) El 2004, a los 90 años, celebró sus 50 años de antipoeta

Referencias ● Artículos de Joel Spolsky Joel on Software, “The Guerrilla Guide to Interviewing”, ● Nicanor Parra ● Blog de Nat Friedman,

Enlaces de interés ● En Usabilidad:.../gup/ Traducción:.../gtp/ Documentación:.../gdp/ ● Arte ● Noticias ● Wiki

Gracias por asistir