Desarrollando productos basados en F/OSS

Post on 24-May-2015

758 views 0 download

Tags:

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

Desarrollando productos basados

en F/OSS

Mauro Parra Mirandamauropm@gmail.com

¿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.

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

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

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.

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.

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)

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

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.

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.

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.

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.

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.

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.

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.

¿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.

¿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.

¿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.

¿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).

¿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.

¿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.

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

Mauro Parra Mirandamauropm@gmail.com

http://masutostudios.com