Desarrollando productos basados en F/OSS

23
Desarrollando productos basados en F/OSS Mauro Parra Miranda [email protected]

description

Esta plática fué en el circulo de Firefox en la Escuela, presenta que el software libre y como se puede aplicar en variedad de lugares.

Transcript of Desarrollando productos basados en F/OSS

Page 1: Desarrollando productos basados en F/OSS

Desarrollando productos basados

en F/OSS

Mauro Parra [email protected]

Page 2: Desarrollando productos basados en F/OSS

¿Qué es F/OSS?

• F/OSS = Free/Open Source Software.

• Free Software

• Poder correr el software

• Poder estudiar el software y modificarlo

• Poder distribuir el software

• Poder mejorar el software y liberar dichas modificaciones.

Page 3: Desarrollando productos basados en F/OSS

Ciclo de desarrollo• Tradicionalmente, en el ciclo de desarrollo

privado, se sigue:

• Definición del producto

• Análisis del producto

• Implementación

• Pruebas de calidad

• Liberarlo al público

• Mantenimiento

Page 4: Desarrollando productos basados en F/OSS

F/OSS = Ciclo de desarrollo

• En el F/OSS, se mantienen algunas cosas, como:

• Definición del producto

• Implementación

• Liberarlo al público

• Mantenimiento

Page 5: Desarrollando productos basados en F/OSS

F/OSS = Ciclo de desarrollo

• Viendo esto, ¿qué sucede con...

• Analisis del producto

• Pruebas de calidad

• Esto lo hace la comunidad:

• Opina acerca de la calidad, levantando bugs y discutiendo en la lista de correo

• Esta discusión genera una mejora en la arquitectura del software.

Page 6: Desarrollando productos basados en F/OSS

F/OSS = Ciclo de desarrollo

• Viendo esto, ¿qué sucede con...

• Analisis del producto

• Pruebas de calidad

• Esto lo hace la comunidad:

• Opina acerca de la calidad, levantando bugs y discutiendo en la lista de correo

• Esta discusión genera una mejora en la arquitectura del software.

Page 7: Desarrollando productos basados en F/OSS

F/OSS = Ciclo de desarrollo• Release early, release often...

• En un producto comercial, se seleccionan una serie de features y fixes para incluirlos en la siguiente versión. Por el número de problemas a resolver, el ciclo de desarrollo puede llevar un año o similar.

• En el software libre, se puede liberar una versión tan pronto se arregle un problema o se añada una feature. Se pueden tener releases incluso diarios (nightly builds)

Page 8: Desarrollando productos basados en F/OSS

F/OSS = Ciclo de desarrollo• En resumen, por su naturaleza, el software

abierto puede evolucionar más rápido que el software de código cerrado.

• El F/OSS termina siendo como lo quiere/necesita la comunidad, debido a que los desarrolladores escuchan el clamar de sus usuarios (algo que no necesariamente pasa en el software cerrado).

• Release early. Release often. And listen to your customers - L. Torvalds

Page 9: Desarrollando productos basados en F/OSS

Creando productos

• Existen dos opciones hoy en día para crear un nuevo producto:

• Definir un producto “desde cero” e implementarlo siguiendo el proceso de desarrollo tradicional.

• Definir un producto desde cero, investigar que herramientas, funciones, productos de software libre me podrian ayudar a desarrollarlo, e integrar.

Page 10: Desarrollando productos basados en F/OSS

Creando productos

• openSUSE = Kernel Linux + X Server + GNOME/KDE

• Toma software “vanilla”, corrigelo, mejoralo, pulelo, personalizalo, comparte.

• Dale valor agregado con software que nadie más tenga, ofrece actualizaciones, servicios.

Page 11: Desarrollando productos basados en F/OSS

Creando productos

• Mac OS X = FreeBSD + NextStep.

• Los componenetes provenientes de FreeBSD/NetBSD, son código libre (F/OSS).

• NextStep es el sistema gráfico y de programación de NeXT, compañia de Jobs.

Page 12: Desarrollando productos basados en F/OSS

Creando productos

• Google search appliance usa un GNU/Linux como base (Ubuntu modificado), junto con bases de datos libres que permiten que realicen su trabajo de búsqueda dentro de las intranets.

• Tomando F/OSS como base, Google crea productos inovativos, abatiendo costos.

Page 13: Desarrollando productos basados en F/OSS

Creando productos

• BRL-CAD fué creado por el ejercito americano como opción a AutoCAD

• Como esta financiado por impuestos, es libre y gratis porque es del bien común.

• Recibe extensiones y parches de la comunidad.

Page 14: Desarrollando productos basados en F/OSS

Creando productos

• Microsoft Windows NT y 2000 utiliza el stack de red de BSD.

• Microsoft basó Internet Explorer 2.0 en Spyglass Mosaic, a su vez basado en NCSA Mosaic, el primer browser que existió (financiado con dinero público).

• FreeBSD es el OS utilizado para hostear hotmail.

Page 15: Desarrollando productos basados en F/OSS

Creando productos

• Netscape hizo un producto llamado Netscape Navigator, el mejor navegador de su epoca.

• Netscape donó el código a la comunidad, creando la fundación Mozilla.

• Mozilla se convirtió en Firefox.

• Firefox es utilizado para productos cómo navegadores especificos para bancos y otros.

Page 16: Desarrollando productos basados en F/OSS

¿donde gana el F/OSS?• Las compañias contratan mantenedores y

creadores de F/OSS

• Google contrató al creador de Python y dona bastante dinero a Mozilla Foundation

• Novell contrató a muchos mantenedores de Gnome, KDE, el Kernel, etc.

• RedHat contrata a otra parte de la comunidad.

• Y todos esos aportes, regresan a la comunidad.

Page 17: Desarrollando productos basados en F/OSS

¿donde gana el F/OSS?

• Incluso, el costo de mantenimiento de los updates y demás parches generados se reparten entre las diferentes compañias, de tal forma que si hay una falla de seguridad en ‘x’ software, los mantenedores buscan si alguna otra compañia ya creo el parche y lo reutiliza.

• Al final del día, esos arreglos tambien son aplicados a los proyectos upstream.

Page 18: Desarrollando productos basados en F/OSS

¿Cómo monetizar esto?

• Las compañias pagan por trabajar para el bienestar de todos

• Los gobiernos tambien

• Y la comunidad dona dinero; ejemplo de ello es OpenBSD, financiado por el gobierno, los usuarios, y la comunidad en general.

Page 19: Desarrollando productos basados en F/OSS

¿Qué ganamos nosotros?• Creación de empresas de servicios, como

proveedores de infraestructura de red, donde en lugar de pagar un software de proxy, puedes usar squid.

• Creación de distribuciones personalizadas para compañias (p.ej. bancos) o gobiernos (el Gobierno del DF tiene su propia distribución de Linux).

• Reutilización de software para disminuir costos en las empresas (usar openoffice en lugar de MS Office).

Page 20: Desarrollando productos basados en F/OSS

¿y como profesionista?

• Participar en actividades de software libre crea experiencia laboral. Amén de que tu trabajo esta en línea, cualquiera puede comprobarlo.

• La experiencia de trabajar en un equipo distribuido a nivel mundial proporciona habilidades útiles, como otro idioma, capacidad de sintesis para escribir nuestros pensamientos, el mantener un horario compatible con diferentes partes del mundo.

Page 21: Desarrollando productos basados en F/OSS

¿cómo empezar a contribuir?

• Escoge un proyecto que te guste: si amas tomar fotos y editarlas, Gimp es una opción.

• OpenSUSE Junior Jobs es otro lugar donde empezar: son tareas sencillas de mantenimiento y programación permite contribuir, adquirir experiencia en un proyecto exitoso, etc. Básicamente: experiencia mundial del primer orden.

Page 22: Desarrollando productos basados en F/OSS

Referencias

• Open Road - http://news.cnet.com/openroad

• OpenSUSE Junior Jobs - http://bit.ly/SUSEJuniorJobs

• Historia de Mac OS X - http://bit.ly/macosxh

• Historia de Mozilla Fundation - http://bit.ly/mpmoz