Opensuse - libre, gratis y mas abierto que nunca

Post on 05-Dec-2014

1.771 views 0 download

description

Platica que dí en el FSL 2006 @ Puerto Vallarta, México

Transcript of Opensuse - libre, gratis y mas abierto que nunca

September 19, 2006

OpenSuSElibre, gratis y mas abierto que nunca

Mauro Parra-Mirandamauro@novell.com

© Novell Inc, Confidential & Proprietary

2

¿Qué es opensuse?

• Una distribución comunitaria• Generación de infraestructura para fácil contribución

y extensión (wiki, listas de correo, documentación, etc.).

• Sistema de creación de paquetes• opensuse es una plataforma de prueba para

compañias y hackers

© Novell Inc, Confidential & Proprietary

Objetivos

• Tener una mayor comunicación con la comunidad• Disminuir la curva de aprendizaje • Hacer más fácil la contribución (mayor comunicación

con desarrolladores y comunidad)• Mayor oportunidad de reportar y discutir errores o

comportamientos inesperados• Tener una distro donde se puede experimentar

fácilmente• Evitar el abandono de software• Generación de paquetes automática

3

© Novell Inc, Confidential & Proprietary

Los no objetivos

• Hacer que la comunidad empaque para SUSE• Reemplazar o duplicar comunidades actuales

4

© Novell Inc, Confidential & Proprietary

¿Para quién?

• Desarrolladores– Será más sencillo soportar suse en sus productos (opensuse

es binario compatible con su contraparte “propietaria”)

• Hackers– Conocer el sistema de paquetes– Mejora de procesos– Adecuación del sistema a sus necesidades

5

© Novell Inc, Confidential & Proprietary

¿Para quién?

• Usuarios– Distribución depurada, fácil de usar y de instalar, estable. Y

con las versiones más recientes del software que usan.

• Partner de Novell– Desarrollo abierto, claro y transparente para la comunidad y

sus clientes. ‘Preview’ para soluciones empresariales.

6

© Novell Inc, Confidential & Proprietary

Historia

• 08/2005 - Creación del proyecto• 10/2005 - SUSE Linux 10.0• 01/2006 - Creación de granja de wikies (soporte

multi-idioma)• 01/2006 - Integración de SDB con wiki• 02/2006 - Primera versión del sistema de builds• 04/2006 - Premio al mejor producto de LWE Boston• Opensuse.org es la página más visitada en Novell

7

© Novell Inc, Confidential & Proprietary

Estadísticas

• Listas de correo con discusiones de todo el proyecto en su conjunto (paquetes, estatus actual del desarrollo, tendencias, estrategias)

• Más de 25, 000 usuarios registrados• El número de instalaciones se ha incrementado

drámaticamente• 05/2006 - Opensuse 10.1 (8 Meses de desarrollo)• 09/2006 - opensuse 10.2 alpha 4

8

© Novell Inc, Confidential & Proprietary

Planes a corto plazo

• Foro web• Servicio de build optimizado y extendido• opensuse 10.2 finales 2006/principios de 2007

9

© Novell Inc, Confidential & Proprietary

Sistema de ports

• Distribución estable (bugfixes)• Distribución de desarrollo • Paquetes adicionales• Proyectos experimentales• Distribuciones personalizadas• Herramientas para hacer “backporting” de features

10

© Novell Inc, Confidential & Proprietary

Control y gobierno

• Wiki/IRC/Listas de correo– La participación esta en poder de la comunidad– Cualquiera puede participar (en el wiki existen algunas

páginas cerradas)– Los subproyectos son recomendados– Infraestructura proporcionada por Novell

• Sistema de builds– Guias para disminuir problemas de licencias y/o patentes– No hay control en los proyectos o paquetes dentro del

sistema de builds– Infraestructura proporcionada por Novell

11

© Novell Inc, Confidential & Proprietary

Distribución SUSE Linux

• Novell controla SUSE Linux, y garantiza cierto nivel de calidad

• Distribuciones derivadas son bienvenidas y recomendadas

• Se agradecen todas las opiniones y sugerencias en el desarrollo de SUSE Linux

• Mayor y mejor comunicación entre el equipo de SUSE y la comunidad

12

Build Service

© Novell Inc, Confidential & Proprietary

Retos

• La comunidad provee un montón de código, pero una parte débil es el compilar e instalar ese código

• Retos:– Mantener diversas plataformas– Mantener parches de actualización– Integrar contribuciones externas– Mantener en síncronia los repositorios del código fuente– No hay actualizaciones para distribuciones liberadas

14

© Novell Inc, Confidential & Proprietary

Objetivos del sistema de build

• Abrir el desarrollo de la distribución• Facilitar el generar/proveer paquetes binarios de

software• Mantener el código en un único lugar, ofreciendo

paquetes para todo el mundo• Soportar el enfoque “Liberar rápido y seguido”

(Release early, release often)• Conectar comunidades de software libre• Hacer fácil y seguro instalar nuevo software

15

© Novell Inc, Confidential & Proprietary

¿Qué es el sistema de build?!

• Infraestructura del servidor– El servidor de build contiene todos los fuentes– Provee el sistema para crear paquetes– Provee sistemas para hacer más sencillo distribuir el

software, incluyendo docenas de servidores alrededor del mundo.

– Herramienta de comunicación

• Un conjunto de herramientas– Usadas para operaciones locales (en tu computadora) u

operaciones remotas (el servidor openSUSE)

16

© Novell Inc, Confidential & Proprietary

El modelo de proyecto

• Un proyecto provee un espacio de trabajo común para usuarios y paquetes

• Un proyecto es el sitio central para administrar el código fuente utilizado en distintas distribuciones

• Un proyecto puede:– Contener una distribución entera, como nuestra SUSE Linux

Factory distribution– Contener un paquete para otras distribuciones– Contener un pequeño arreglo (bugfix) para un paquete ya

existente

17

© Novell Inc, Confidential & Proprietary

Diseño abierto

• Cualquiera tiene acceso a el sistema de builds• Las herramientas del servicio de build son software

libre • El servicio de builds provee una API abierta• El servicio de builds puede integrarse con las

herramientas ya existentes• El servicio de builds no esta limitado a distribuciones

basadas en SUSE• Integración con páginas web existentes es posible

18

© Novell Inc, Confidential & Proprietary

Modelo de confianza

• El sistema de builds garantiza que el binario obtenido esta hecho de los fuentes que se enviaron, aunque no puede garantizar la calidad del código fuente.

• Cualquiera puede enviar código, lo que genera un potencial problema de seguridad.

• La decisión de confiar de un paquete o no, queda en el usuario final

• Existe una “puntuación de seguridad”, para que el usuario pueda tomar una decisión más cuidadosamente

• La confianza en el proyecto depende de la confianza en sus contribuidores

19

Arquitectura

© Novell Inc, Confidential & Proprietary

Arquitectura

21

© Novell Inc, Confidential & Proprietary

Backend

• Hacer paquetes (building)• Servidor para guardar el código fuente (con control

de versiones)• Cluster de máquinas para hacer paquetes• Correr el build en diferentes ambientes• Correr el build en distintas arquitecturas

(actualmente solo para x86 y x86_64)• Servidor para los paquetes ya hechos• Provee información y estadísticas acerca del

proceso de build

22

© Novell Inc, Confidential & Proprietary

Frontend

• API pública para herramientas del lado del cliente• Acceso al código fuente• Acceso al estado del build y a los logs• Acceso a los paquetes ya hechos• Controlar el build• Administración de usuarios

23

© Novell Inc, Confidential & Proprietary

Utilidades del frontend

• Utilidades extra del frontend:– Generación del archivo SPEC– RSS (feeds) de los nuevos paquetes– Calificación del proyecto (Rating)– Interfaz con diversos repositorios (CVS, SVN, etc.)– Interfaz con otros portales y sitios (Sourceforge, Freshmeat,

KDE-apps, etc.)– Upgrade de versión automático– (aún esta en desarrollo)

24

© Novell Inc, Confidential & Proprietary

API de opensuse

• API pública para el servicio de build• XML sobre http

– El frontend esta expuesto a traves de operaciones HTTP– Informaciones de control y metadatos se transfieren y

almacenan como XML– Validación del esquema para todo XML

25

MicroSUSE

© Novell Inc, Confidential & Proprietary

Conceptos

• MicroSUSE– Pequeño – Personalizable– Fácil de usar

27

© Novell Inc, Confidential & Proprietary

Componentes

• GNU Cross-Toolchain• Biblioteca de C y herramientas básicas• Paquetes• Soporte de tarjetas

28

© Novell Inc, Confidential & Proprietary

Usando MicroSUSE

• Untar algunos paquetes• Crear una imagen del sistema de paquetes• Eso es todo ;)

29

© Novell Inc, Confidential & Proprietary

¡Gracias!

• ¿Alguna pregunta?• http://opensuse.org• http://build.opensuse.org• http://en.opensuse.org/MicroSUSE• Estas slides: http://mechulk.com/opensuse.pdf

30

Unpublished Work of Novell, Inc. All Rights Reserved.

This work is an unpublished work and contains confidential, proprietary, and trade secret information of Novell, Inc. Access to this work is restricted to Novell employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of Novell, Inc. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.

General Disclaimer

This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. Novell, Inc., makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc., reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.