Está en la página 1de 345

BIENVENIDA DEL DIRECTOR DE LA CONFERENCIA

Bienvenidos a la Conferencia Internacional de Software Libre! Bienvenidos a Mlaga!


Bienvenidos a una de las regiones europeas que ms apuestan por el software libre:
Andaluca!

Quiero comentarle en ms detalle datos sobre el evento que se celebra en el Palacio de Ferias
y Congresos de Mlaga desde el 18 al 20 de febrero y explicar los pensamientos que nos han
llevado a organizarla como lo hemos hecho.

Esta Conferencia Internacional pretende trascender lo puramente tcnico o instrumental y


abordar el software libre como un elemento capacitante para la extensin de la Sociedad de la
Informacin y el Conocimiento. No solo como el componente bsico de acceso o movilizacin,
sino como posibilitador de la utilizacin de los servicios y de aquellos factores que nos pueden
generar beneficios a nivel personal y social.

Desde ese punto de vista hemos querido abordar temas, formularnos peguntas y buscar
respuestas para cuestiones tales como: El futuro del movimiento de software libre, El papel de
las Administraciones pblicas en su expansin y desarrollo, Son viables los modelos de
negocio actuales para las empresas de software libre?, Desarrollo sostenible y software libre,
Proyectos destacados a nivel global de uso de software libre, Globalizacin y Software libre,
Los nuevos espacios sociales y su relacin con el software libre, o la necesidad de analizar
polticas pblicas y el papel que juegan las instituciones en su difusin. Tambin queremos
analizar las consecuencias que las tecnologas y los servicios de la Sociedad de la Informacin
van a tener en nuestro entorno y espacio social, amn de la filosofa subyacente detrs de
esos movimientos y la necesidad de definir (o no) criterios ticos para ese nuevo marco.

La estructura de la Conferencia est organizada en torno a la celebracin de dos sesiones


plenarias, al comenzar y al finalizar las jornadas y las sesiones paralelas de contenido
temtico. Las sesiones plenarias abordan especficamente los temas de gran inters
mencionados y suponen una profundizacin en aquellos elementos relacionados con los tres
ejes temticos centrales del evento: los aspectos tcnicos, el uso y las aplicaciones del
software libre y los aspectos relacionados con negocios, estrategias y polticas.

Estoy convencido que hemos conseguido reunir a muchos de los principales actores
implicados a todos los niveles en el desarrollo e implantacin de soluciones basadas en
software libre, y que la celebracin de la Conferencia Internacional va a constituir un antes y un
despus para muchos de los participantes.

La audiencia est integrada por responsables de gobiernos y administraciones publicas,


responsables de grandes y pequeas empresas, representantes de la academia y por
supuesto muchos participantes relacionados con aspectos tcnicos provenientes de diversos
pases del mundo y todos los continentes. Todos con una vinculacin comn: el software libre
y la fuente abierta.

En la organizacin estamos muy ilusionados con poder reunir, en un foro de discusin


constructivo y abierto, a tantos hombres y mujeres con ese objetivo solidario de impulsar el
desarrollo del software libre en beneficio del conjunto social.

Hemos trabajado para que la Conferencia Internacional sea un lugar de encuentro, de contacto
e intercambio y por supuesto, un espacio donde compartir y enriquecer ideas para definir un
futuro mejor.

Juan Reig
Director de la Conferencia
Conferencia Internacional de Software Libre
WELCOME FROM THE CONFERENCE CHAIRMAN

Welcome to the Open Source International Conference! Welcome to Malaga! Welcome to one
of the European regions that most supports Free software: Andalusia!

I would like to explain in more detail, information on this conference being held at the Trade fair
and Congress Centre, Malaga, from the 18th until the 20th of February, the rationale behind it
and the way in which it has been organized.

It is the intended purpose of this International Conference to go beyond the purely technical or
instrumental aspects and tackle free software as an element capable of extending the
Information and Knowledge Society. Not only as the basic component of access and mobility,
but also as an enabler in making a reality the use of services and other factors that could
generate benefits at personal and social levels.

From this point of view it has been our intention to approach themes, pose questions and find
answers for issues related to: The future trends of free software, the role of Public
Administrations and their expansion and development. Whether or not current business models
are viable in a free software environment? The sustainable development and free software,
Projects accomplished at a global level of use of free software, Globalisation and Free
Software, New social spaces and their implication with free software, or the need to analyse
public policies and the role that the institutions play in their diffusion. Moreover we wish to
analyse the consequences that these technologies and services of the Information Society are
going to have in our environment and social space, with relation to the underlining philosophy
of these movements and the need to define (or not) ethic criteria for this new scenario.

The structure of the Conference is organised around two plenary sessions, and the
commencing and closing of days and the parallel sessions of thematic content. The plenary
sessions are directed towards above all themes of general interest and review in depth those
elements related to the three thematic axes of the event: Technical aspects, the use of free
software applications and issues related to businesses, strategies and policies.

I am convinced that we have managed to gather many of the main stakeholders at all levels of
development and implementation of solutions based on free software. In my opinion the
International Conference will constitute a new beginning for many participants and institutions.

The attendees are: government representatives, as well as those from public administrations,
directors of corporations and SMEs, academia representatives and of course many
participants related to technical aspects coming from different countries from all over the world
and all continents.

In the organization we are very pleased to be able to bring together, in a constructive and open
discussion forum, so many men and women with the sole objective of promoting the
development of free software in the benefit of our society.

We have worked hard to make the International Conference a place for networking, and
exchange and above all a space for sharing and enriching ideas in order to build a better future.

Juan Reig
Conference Chairman
Open Source International Conference
CONFERENCIA INTERNACIONAL DE SOFTWARE LIBRE
Mlaga, 18 al 20 de Febrero de 2004
MIERCOLES 18 JUEVES 19 VIERNES 20
8.00
9.00
REGISTRO Y ACREDITACION
9.30
SESION PLENARIA -
ESTRATEGIA DE LAS GRANDES COMPAIAS SOBRE EL SESION PLENARIA - EL FUTURO DEL SOFTWARE LIBRE:
10.00 INAUGURACION SOFTWARE LIBRE LA VISION DE LOS "GURUS"
10.30 CONFERENCIA INAUGURAL
11.00
VISITA EXPOSICION - PAUSA CAFE VISITA EXPOSICION - PAUSA CAFE
11.30 PAUSA CAFE
12.00 SESIONES TEMATICAS SESIONES TEMATICAS SESIONES TEMATICAS
12.30 AUDITORIO SALA 1 SALA 2 AUDITORIO SALA 1 SALA 2 AUDITORIO SALA 1 SALA 2
13.00

CASOS
SISTEMAS EXPERIENCIAS, SOFTWARE LIBRE PARA
ADMINISTRACION SOFTWARE EDUCACION, SEGURIDAD Y PRACTICOS EN
ABIERTOS: BENCHMARKING TECNOLOGIA EL DESARROLLO Y LA
PUBLICA Y LIBRE EN EL UNIVERSIDAD Y MODELOS DE LA
DESARROLLO Y Y ESTUDIOS DE ABIERTA MEJORA DE LA
SOFTWARE LIBRE MUNDO E-LEARNING INNOVACIN ADMINISTRACI
HERRAMIENTAS CASOS ACCESIBILIDAD
ON PUBLICA

13:30 (1) (1) (1) (3) (3) (3) (5) (5) (5)
14.00 CLAUSURA Y CONCLUSIONES (13.45-14.45)
14.30
ALMUERZO ALMUERZO
15.00 APERITIVO
15.30
16:00 SESIONES TEMATICAS SESIONES TEMATICAS
16.30 AUDITORIO SALA 1 SALA 2 AUDITORIO SALA 1 SALA 2
17.00 MODELOS DE APLICACIONES Y APLICACIONES GRANDES EMPRESAS,
SOFTWARE APLICACIONES
NEGOCIOS, SERVICIOS PARA OFIMATICAS, MOVILIDAD Y
LIBRE EN INDUSTRIALES Y
SERVICIOS, LOS INTEGRACION Y TELECOMUNICACIONE
EUROPA SECTORIALES
MARCO LEGAL CIUDADANOS DESKTOP S
17:30 (2) (2) (2) (4) (4) (4)
18.00 PAUSA CAFE PAUSA CAFE
18.30
SESION PLENARIA - SESION PLENARIA -
19.30 POLITICA, GLOBALIZACION Y SOFTWARE LIBRE NUEVOS ESPACIOS SOCIALES Y SOFTWARE LIBRE
20.00
COCKTAIL - ZONA EXPOSICION XAVI DE BLAS - LINUX SHOW
20.30
Da 18-12.00h

Sesin Auditorio: Administracin Pblica y Software Libre

Moderador Jos Carlos Alarcn Secretario Gral para la Sociedad de la Informacin


de la Junta de Andaluca.
Participantes

Marta Roldn Consejera de Ciencia y Tecnologa. Junta de


Castilla La Mancha.
Luis Milln Vzquez de Milln Consejero de Educacin, Ciencia y Tecnologa.
Junta de Extremadura.
Esteban Gonzlez Pons Conseller de Cultura, Educacin y Deportes.
Generalitat Valenciana.
Marcelo Sosa Administrador. Economic and Scientific Affairs
Policy Unit Parlamento Europeo.
Simon Forge SFC Associates Ltd.
OSS and the European economy

Economics of Open Source Software, a European view


SIMON FORGE, SCF Associates Ltd

Open Source Software (OSS) may be defined as software whose source code is published and

made available to the public. It is free in the sense of free speech, rather than a free lunch.

Commercial software, in contrast, is most usually available as a binary code, whose internal

workings are never revealed. The OSS rules of usage (the licence) enable anyone to copy,

modify and redistribute the source code, usually without paying royalties or fees, and without

those restrictions carried by proprietary software on seeing, using and modifying the source code.

There may be rules on returning OSS code modifications to the software commons, the

development community, or there may be no rules on this at all. Examples of OSS are the Linux

operating system, Eclipse tools, Apache Web server, with a large number of OSS products being

hosted on SourceForge. Some have four developers, a few have thousands. And most

importantly, OSS breaks the hold on innovation of the major commercial software players it is

able to introduce disruptive technological discontinuities such as the World Wide Web, due to its

powers of creativity and mass reach, without the normal rationings of price.

OSS is very much a process for development as much as a legal status. The software code

evolves through a community co-operation, including users as well as IT developers. This

contrasts with the dominant software model until recently, a commercial model of charging

royalties for usage, distributing only a cryptic binary format, retaining the intellectual property

rights, with internal development by a one-company team. OSS owes its existence to a system of

ad hoc communities and their dedication to quality, higher quality than can often be achieved in

commercial software. These communities are composed of individual programmers, users as

well as some very large companies.

A key economic factor is that OSS offers a commons in software, providing a good that

individuals, and all sizes of enterprise, may draw upon it without permission, or grants of access

from the authors, and usually not rationed by price. Effectively the OSS resource has intrinsic

value due to its openess because it is a class of economic good whose value is enhanced by

having many able to access it and the right to use it. This is a typical trait of the economics of

software where universal usage enhances value. Also, innovations can be made based on the

Simon Forge All Rights reserved 2004 SCF Associates Ltd The Rain Forest And The Rock Garden
OSS and the European economy

OSS offerings, in accordance with the OSS licence, so openess can be translated into value by

individuals and enterprises, either in simple usage, or in developing products. OSS licences vary

in their conditions on what status of software OSS can be linked to, or combined with, and the

control over derived works.

The benefits of OSS will be a significant factor for assuring Europes future in high technology,

both in terms of development of all industries generally and in the reinforcement of the

indigenous software industry. OSS will spur packaged applications development, currently

dominated by overseas software vendors, and also the systems integration business, a European

strength. It will create new opportunities for business development and employment in the

knowledge industries as the region has intense and increasing software usage. Already

dependence on software is absolute in most sectors, including agricultural products. However,

Europe has little prominence in packaged software, with only one of the global top ten software

package developers by sales being European. OSS offers the chance to move to a software

industry model that favours Europes strengths in system integration, support maintenance

services and value added resale of software applications for standard platforms.

OSS cannot be stopped, either legally or commercially, nor should it be, as it holds a key to

economic progress for Europe. Moreover it is a sustainable and stable model of software

development and distribution. OSS has been officially recognised and developed since 1984, but

its basic development model is far older. Its success dates from the origins of the ARPANET

which, despite, being funded by the US government, gave rise to the first ad hoc development

community. This is strong evidence that OSS will continue indefinitely; certainly for another thirty

years.

Today OSS is changing the software industry and all associated sectors, such as hardware

systems manufacture. In total it offers the software industry a chance to move away from an

increasingly monopolistic model towards a more openly competitive one. The two largest systems

vendors are dropping their own operating systems in favour of OSSbased environments. OSS is

starting to impact the manufacture and use of embedded software in consumer goods, mobile

telecommunications and industrial control systems and is already a foundation of e-Science. OSS

is strong in servers, with sales of servers based on low-cost Intel processors for use with Linux,

Simon Forge All Rights reserved 2004 SCF Associates Ltd The Rain Forest And The Rock Garden
OSS and the European economy

an OSS operating system, growing at 50% per year in the USA in Q3 2003 [REF IDC/Business

Week 02 FEB 2004, p.50]. There are probably tens of millions of Linux users in the world the

exact number is impossible to know as the software can be freely downloaded for no charge, as

well be sold as a package with support. OSS is important also in development tools, web servers,

databases and application servers. Slowly OSS is growing in desktop software, mainly in the

government sector with an office application, OpenOffice, but is still probably less than 10% of

that market. But in desktop operating systems, Linux has less than 3% of the market [REF

Financial Times, 23 Jan 2004 Linux looks to become desktop standard, Richard Waters] .

For user organisations, the key factor of IT deployment is total cost of ownership (TCO) over the

lifetime of the software usage, of which licence costs have been estimated at under 10%. Clearly

TCO concerns far more than licence costs it extends to softwares robustness and reduced

down-time costs; OSS has higher resistance to malicious attacks on software resulting in lower

rates of disruptions; higher security all round as the source code is known, so its weaknesses can

be repaired; there is compatibility across different systems, hence the user is not locked into

using specific hardware or software. In the light of this, over 24 countries have put forward

proposals to include OSS in government procurement.

The OSS model counters the commercial model of software sales and in so doing lowers OSS

TCO further, in the areas of deliberate obsolescence by commercial software companies. OSS

also provides an alternative that avoids the impacts of new commercial software releases which

are likely to have a high number of defects. These flaws cause disruption to business and require

further funds to be spent in the form of support licences, support services or complete upgrades

to a less defective version, as well as downtime. As things stand, the weaknesses in commercial

operating systems, applications and utilities can be treated as forms of production/consumption

externalities or pollutants for which their consumers must in some way pay, for the errors of the

producers. For many users, OSS cuts their dependence on commercial systems which are

intended to lock users in. A particularly important area is electronic document formats. OSS

offers stable, efficient formats for a period of time chosen by the user, which is typically over 50

years, for public sector and some business agreements. Most commercial electronic document

formats over ten years old cannot be read by todays commercial applications, except

occasionally in a limited form, and certainly not across different operating system environments.

Simon Forge All Rights reserved 2004 SCF Associates Ltd The Rain Forest And The Rock Garden
OSS and the European economy

The user is coerced into aligning applications, operating systems and document formats with the

commercial releases. OSS liberates the user from this by providing an alternative and, in so

doing, competitive pressure for behaviour that is in the interests of the user from commercial

vendors.

Anti-trust and monopoly law has been applied less in software than in other domains on which we

rely absolutely such as energy, transport, telecommunications, food processing and utilities. Yet

our dependency on software as a knowledge-based society is absolute. OSS redresses the

balance using a market mechanism approach. Effectively, OSS rebalances the power between

users and commercial software suppliers; as a result of OSS presence in the market, their prices

are already falling.

Here we have an illustration of the phenomenon that Software publishing exploits two effects to

create a dominant industry position which drive a natural tendency to monopoly situations.

These now need to be balanced if effective competition is to survive at all. First is the network

effect of the more users, the more intrinsic value the market network has.

Coupled with this with the second effect - the law of increasing returns, that is, we can produce a

thousand copies of a software program with the same materials and labour as we need to

produce one item, and the cost of software per unit tends towards zero with volume. The two

effects are illustrated below :

Simon Forge All Rights reserved 2004 SCF Associates Ltd The Rain Forest And The Rock Garden
OSS and the European economy

Network effects
- the value and cost of the network diverge as volume of connected users grows and value outstrips costs
Coupled with
Software economics of increasing returns (profits) multiplied together produce
increasing profits with pricing power given by the progress to market dominance with inceasing numbers
of customers
Software cost/unit - Increasing returns
- Software cost/unit falls rapidly as
Network Value
Relative original cost to develop stays the same
increases rapidly
with volume
cost while the duplication of units cost nothing
in content while the cost of its packaging
falls with volume

Relative cost of
Physical Network, to
build and operate,
increases slowly with
more users

Relative transaction cost to software publisher


to build and operate an e-commerce network
as a sales channel decreases with volume

Volume of users
Simon Forge SCF Associates All rights reserved 2004

The coupling of these two forces can squeeze out competition in a proprietary software market.

Also, if electronic document formats are considered in law as protected IPR and interworking

interfaces (known as application program interfaces or APIs) are also regarded as commercial

secrets, so document exchange across different suppliers products and interworking are

impossible. Consequently the two effects combined may lead to a restriction of competition. The

situation is tipped even further in favour of monopolies where enormous marketing muscle is

brought to bear, so that the marketing becomes more important than the features the software

has, or its quality, and other voices, such as those of the sales channels, are not heard because

they are tied to the monopolistic supplier, while customers can be ignored they are locked in.

Moreover, problems that are increasing regarding software piracy and intellectual property rights

(IPR) enforcement under the WTO will become less significant if a move is made to OSS

because it will avoid the legal minefields and entrapment of Trade Related IPR agreements

(TRIPs) and software patents that some major software suppliers are lobbying so hard for. A

move to OSS will neatly resolve the problem, and also the software industry has grown well

without all this red tape and protection. The need for software patents cannot be amply

demonstrated while there is evidence that they are detrimental to progress and innovation.

Simon Forge All Rights reserved 2004 SCF Associates Ltd The Rain Forest And The Rock Garden
OSS and the European economy

Policy directions should have a better industrial model for software creation as a top level goal,

because our dependency on software is so high and is growing.

The correct policy allows OSS to build market efficiencies in software,


promoting economic growth for all

Policy
- OSS
- Software patents

OSS
New
New
value-systems
value-systems

European
Enabling Market
economic
ICTs Efficiency
growth
Networked
Co-operation
and innovation
communities

Simon Forge SCF Associates All rights reserved 2004

The conclusions for Europe are that the way forward is a strong policy on OSS :-

This analysis forms part of work for the IPTS unit (Sevilla) of the JRC of the EC.

Simon Forge
SCF Associates
UK
simon.forge@whsmithnet.co.uk

Simon Forge All Rights reserved 2004 SCF Associates Ltd The Rain Forest And The Rock Garden
Da 18-12.00h

Sala 1: Sistemas Abiertos: Desarrollo y Herramientas

Moderador Felipe Romera Director General del Parque Tecnolgico de


Andaluca

Participantes

David Santos Oncero Director de Operaciones de Animatika


David Pinelo /Jos Luis Oramas Sadiel/Sadesi
Daniel Daz Prez Telvent
lvaro Pea Esware Linux
Juan Ramn Alegret Sun Microsystems
Fermn Galn Agora Systems
lvaro Lpez Ortega GNU
Ponencia David Pinelo/ Jos Luis Oranas

Seleccin de herramientas de Gestin de Contenidos para


el Portal andaluciajunta.es
Antonio David Pinelo Moruno Jos Luis Oramas Martn

Sociedad Andaluza para el Desarrollo de la SADIEL S.A.U., Espaa

Sociedad de la Informacin, S.A.U., Espaa oramas@sadiel.es

david.pinelo@juntadeandalucia.es

Introduccin
La seleccin de un gestor de contenidos no es una tarea sencilla de realizar, debido a los mltiples

parmetros involucrados en su eleccin, funcionalidades requeridas para el proyecto concreto,

caractersticas que aporta el gestor de contenidos, necesidades de integracin con la infraestructura

existente o el potencial de crecimiento a futuro.

Dentro del proyecto de Ampliacin del Portal andaluciajunta.es, surge la necesidad de seleccionar

una solucin de gestin de contenidos de las muchas existentes en el mercado. Actualmente la Junta

de Andaluca est apostando decididamente por el uso de software de fuente abierta como solucin a

las diferentes necesidades o problemas que encuentra la Administracin. La utilizacin de software

libre conlleva una serie de ventajas conocidas como el uso de estndares abiertos, la posibilidad de

adaptar el cdigo a las necesidades especficas del proyecto o la experiencia compartida de muchos

usuarios en el uso del software. Es lgico plantear el empleo de herramientas de gestin de

contenidos de fuente abierta en este proyecto.

El abanico de herramientas de gestin de contenidos en software libre es amplio y rico en

funcionalidades y caractersticas. La gran vinculacin del software de fuente abierta con Internet

tiene reflejo, entre otras, en las mltiples posibilidades o funcionalidades que ste ha aportado al

manejo de informacin en sitios web, situndolo por delante del software propietario en muchos

aspectos. Por ello, para facilitar esta eleccin se decidi realizar una comparativa de las soluciones

de gestin de contenidos ms adecuadas, en principio, a los requisitos de este proyecto.

Tendencias tecnolgicas
La eleccin de las soluciones a evaluar ha sido fruto de un anlisis de las tendencias actuales, tanto

del mercado como de la Junta de Andaluca, unido a las necesidades propias del proyecto. Se han
tenido en cuenta factores como la madurez de las herramientas, robustez, usabilidad, tecnologas

involucradas y capacidad de crecimiento, entre otras. Por ello se ha optado por realizar un estudio

sobre plataformas que estn fuertemente asentadas y con una comunidad de usuarios e

implantaciones bastante elevada.

Dentro de las tendencias de mercado, se encuentran soluciones basadas en Java, Python o PHP,

que han demostrado estar en la vanguardia tecnolgica, proporcionando sistemas de alta fiabilidad, y

que son consideradas hoy da como arquitecturas modelo.

Las tendencias tecnolgicas de la Junta de Andaluca se orientan a la utilizacin de Java y XML como

piedras angulares, todo ello unido a la utilizacin de soluciones basadas en software de fuentes

abiertas.

Java, como lenguaje y plataforma de ejecucin de aplicaciones de servidor, ha supuesto una

revolucin sobre la forma de entender Internet y sus servicios, en gran medida por su contribucin a

la estandarizacin de las plataformas.

XML, como estndar de representacin de contenidos, contribuye al desarrollo de sistemas

fuertemente desacoplados, en los que la separacin de presentacin y contenido es una realidad,

mejorando el mantenimiento y posibilitando la sustitucin de componentes de una forma transparente

para el resto del sistema. Adems, en un entorno como el de la Junta de Andaluca donde se dispone

de un gran nmero de fuentes de informacin susceptibles de proporcionar contenidos, la utilizacin

de XML como formato de intercambio ayuda a resolver el problema de la sindicacin de los mismos

(inclusin de informacin procedente de distintas fuentes en un sitio web).

Soluciones de fuentes abiertas, como medio para generar desarrollo local, reducir los costes de

licencias de los proyectos, compartir esfuerzos entre diferentes Administraciones, o contribuir a la

comunidad desarrolladora del software y a todos sus usuarios mediante mejoras, deteccin de

errores o compartiendo experiencias o impresiones para su mejora.

Evaluacin de alternativas
En base a los criterios expuestos, se seleccionaron diversas herramientas, y de entre todas ellas se

opt por evaluar las que, a priori, parecan ms adecuadas para este proyecto:
Cocoon1. Un sistema de publicacin web fuertemente basado en Java, XML y sus tecnologas

derivadas (XSL). Su arquitectura de funcionamiento proporciona un aislamiento total de los diferentes

componentes que lo forman, as como la agregacin y desarrollo de funcionalidades con facilidad. Su

pilar bsico de funcionamiento es la separacin real de contenidos y lgica de aplicacin.

OpenCMS2. Un sistema de gestin de contenidos basado en Java, con una interfaz muy amigable y

con las funcionalidades tpicas de las herramientas de estas caractersticas, como son la gestin de

permisos, estados de los contenidos, versionado, formularios de agregacin de contenidos o

integracin con fuentes externas por mencionar algunas.

Zope3. Como plataforma y como puerta para el desarrollo de portales y gestores de contenido, como

es el caso de CMF y Plone, ideal para la implantacin rpida de este tipo de sistemas, pero con una

no tan clara separacin de lgica y contenido. Su arquitectura modular ha hecho que la comunidad

haya aportado un gran nmero de funcionalidades aadidas.

Dentro de cada alternativa se evaluaron criterios de diversa ndole: tecnolgicos, arquitectura,

existencia y utilizacin de entornos de desarrollo y produccin, metodologa de gestin de los

contenidos, seguridad, soporte o comunidad existente entre otros.

Seleccin final
Ninguna de las herramientas cumpla completamente con las necesidades del proyecto. En unos

casos por funcionalidades y en otros por factores tecnolgicos.

Zope es una alternativa madura, con un elevado nmero de funcionalidades y con una comunidad de

desarrolladores muy extensa. No obstante cuenta con dos grandes impedimentos dentro de este

proyecto, uno tecnolgico, ya que el entorno tecnolgico donde se ha de integrar es

fundamentalmente Java, y otro funcional, ya que su tratamiento para los contenidos y presentacin en

formato XML no es el ms apropiado.

Por otra parte, OpenCMS, que s cumple con el requisito tecnolgico de estar desarrollado en Java,

tiene algunas limitaciones: no aporta ninguna funcionalidad especfica para utilizar XML en la

presentacin de los contenidos, y tiene ciertas limitaciones en cuanto a su capacidad de integracin

con software externo.

1http://cocoon.apache.org
2http://www.opencms.org
3http://www.zope.org
El punto fuerte de Cocoon, en cambio, son las limitaciones de los anteriores, es decir, su utilizacin

de XML y hojas de transformacin XSL de forma nativa tanto para la presentacin como para los

contenidos. Y los puntos fuertes de las soluciones anteriores son las limitaciones de Cocoon, la

gestin de los contenidos en s misma, al ser nicamente un sistema publicacin web.

Teniendo en cuenta todos los criterios expuestos, las especificaciones del proyecto, las preferencias

de la Junta de Andaluca fruto de sus necesidades tecnolgicas, y la evaluacin de funcionalidades

de cada una de las opciones tecnolgicas, finalmente se opt por implantar un sistema hbrido

basado en el tndem Cocoon-OpenCMS, que combinara las ventajas de ambas soluciones,

facilitando el desacoplamiento entre el portal (la presentacin de la informacin) y la gestin de

contenidos.

Cocoon, como sistema de publicacin web, se utilizar para toda la lgica del ciudadano, navegacin,

formularios, su sistema de cach o sus mltiples interfaces para lectura de datos entre otros

aspectos. Su origen nativo XML conseguir un separacin completa entre el contenido y la

presentacin.

OpenCMS, como repositorio de los contenidos, facilitar a su vez la incorporacin de los contenidos

de otras fuentes, como son las Consejeras o las diversas bases de datos existentes en la Junta de

Andaluca. Sirve como plataforma de gestin de dichos contenidos, mediante las oportunas

herramientas y formularios que utilizarn todos los usuarios destinados a poblar de informacin el

portal.

Ambas soluciones se integrarn utilizando protocolos estndares e intercambio de mensajes en XML,

lo que garantiza el desacoplamiento de las mismas, y facilita su evolucin.

El sistema resultante se completa adems con su integracin con el directorio LDAP corporativo para

autentificar a los usuarios creadores de contenidos contra OpenCMS, y con la integracin de un

sistema de workflow de publicacin que proporcione la capacidad necesaria para definir los diferentes

flujos de publicacin, tanto por contenidos como por entidades, que permita cubrir las necesidades de

la Junta de Andaluca.
AUTOR DE
CONTENIDOS

GESTOR SERVIDOR DE
CONSEJERIA APLICACIONES

WEB CONSEJERIA

AUTOR DE
CONTENIDOS

API GESTION
GESTOR DE DE GESTOR DE
CONTENIDOS CONTENIDOS PUBLICACIN

OPENCMS COCOON

WEB PORTAL

LDAP WORKFLOW FUENTES EXTERNAS


CORPORATIVO CORPORATIVO DE CONTENIDO

Conclusiones
No hay una nica solucin de gestin de contenidos universalmente vlida para todos los casos.

Cada proyecto tiene sus propias necesidades, tanto de funcionalidades como de tecnologa.

En este caso concreto se opt por una solucin combinada, que resuelve muchos problemas aunque

no est exento de otros, como la complejidad de los entornos de desarrollo y produccin, y problemas

de integracin entre ambas soluciones y con el propio entorno de la Junta de Andaluca. Adems se

han tenido que utilizar diversas estrategias de integracin para evitar limitaciones de arquitectura y

conseguir un sistema que pueda evolucionar, crecer y cambiar fcilmente.

Este desacoplamiento de los componentes permitir, en un futuro, sustituir cualquiera de los

elementos componentes por otros que se consideren ms adecuados sin que ello impacte en el resto

de sistemas. Por ejemplo, se podr sustituir la herramienta de gestin de contenidos (OpenCMS) por

otra, o bien el LDAP corporativo por otro, el sistema de workflow...

Es importante aprovechar las posibilidades que ofrecen las soluciones basadas en software de fuente

abierta pero teniendo siempre presente cules son las ventajas e inconvenientes que pueden

acarrear, de la misma forma con la que se evaluaran soluciones de software propietario. Deben
buscarse soluciones de integracin que no lleven al estancamiento tecnolgico y que faciliten que el

sistema pueda evolucionar de una forma no traumtica.

La eleccin de estas tecnologas en el mbito de la Junta de Andaluca sienta las bases para la

utilizacin de estndares que prometen aportar grandes beneficios y un salto cualitativo notable al

desarrollo de aplicaciones web y, en consecuencia, a los servicios prestados al ciudadano a travs de

Internet. Asimismo este proceso puede servir de catalizador para extender los beneficios que puedan

obtenerse a otros proyectos de naturaleza similar en el marco de la Administracin Autonmica.


TI-FLOWS: PLATAFORMA DE GESTIN DE PROCESOS BASADA
EN SOFTWARE LIBRE.

D. Daz Prez
Telvent, Espaa

El objeto de esta ponencia es el presentar, no el producto como podra sugerir el ttulo, sino la
posibilidad de que el software libre y propietario coexistan en el entorno empresarial actual.
Antes de centrarnos en la idea principal, convendra introducir ciertos aspectos relevantes que
nos ayudaran a entender las claves que inducen a elegir este modelo de construccin de
software.

Hay que empezar presentando el producto Ti-Flows como un Gestor de Procesos. Un Gestor
de Procesos es un sistema que permite la completa definicin, gestin y ejecucin de
procesos. El gestor controla el flujo de los procesos de acuerdo a las reglas que lo definen y
distribuye las diferentes tareas que conforman el proceso entre los usuarios.
Dentro de estos gestores, los procesos son automatizaciones en todo o en parte de un proceso
de negocio, dentro del cual, documentos, informacin o tareas se transmiten de un usuario a
otro de acuerdo a un conjunto de reglas procedurales.

Comnmente, los procesos se definen mediante herramientas grficas, por lo que el diseo de
estos y sus posteriores cambios son sencillos. Hay que resear que los procesos de negocio de
una organizacin, no permanecen estticos a lo largo del tiempo, ms bien, estos evolucionan
a la vez que la organizacin. Una representacin esttica de las reglas que definen los
procesos incrustadas en el cdigo de las aplicaciones, hara que nuestro sistema fuese
demasiado vulnerable a los cambios y que su posterior adaptacin, se convierta en una tarea
costosa. En el otro lado, el uso de gestores de procesos, hacen de la evolucin y los cambios
de los procesos algo sencillo. Bastara redisear la definicin del proceso y darla de alta en
nuestro sistema para conseguir esa adaptacin.

Dentro del mercado, hay varias organizaciones que trabajan en la definicin de estndares que
sean capaces de constituir la base para la creacin de gestores de procesos. Una de ellas es el
Workflow Management Coalition (WFMC). Esta es una organizacin sin animo de lucro
formada por vendedores, usuarios, grupos de investigacin, universidades etc. que tiene como
objetivo, el promover el uso y desarrollo de gestores de procesos mediante el establecimiento
de estndares de terminologa software, interoperabilidad y conectividad entre diferentes
productos.

El objetivo que pretende alcanzar el WFMC a travs de las definiciones de estndares es:

- El incremento de la inversin por parte de los clientes en sistemas basados en


plataformas de gestin de Procesos.

- La disminucin del riesgo que supone el uso de dichas plataformas.

- La expansin del mercado de estos sistemas a travs del aumento del conocimiento que
se tiene de estas plataformas.
A grandes rasgos, el WFMC define la manera de representar los procesos que los gestores
manejarn mediante el XPDL. XPDL es un subconjunto del XML para la definicin de
procesos y su objetivo es el de obtener una definicin intermedia entre los editores de
procesos y el motor de gestin de procesos. El objetivo es hacer independientes estas dos
partes.

Por otro lado, define 5 interfaces que constituye el motor de un sistema gestor de procesos
que cumpla con su estndar. Segn el WFMC, un sistema que cumpla con su estndar debe
estar formado por las siguientes interfaces:

- Interfaz 1: Definicin de procesos.


- Interfaz 2: Operatividad de las aplicaciones cliente.
- Interfaz 3: Invocacin de aplicaciones.
- Interfaz 4: Servicio de ajuste e interoperabilidad entre gestores.
- Interfaz 5: Herramientas de administracin y monitorizacin.

Figura 1. Modelo de Gestor de Proceso basado en el estndar del WFMC.


Para la creacin del gestor de procesos Ti-Flows optamos por seguir el estndar del WFMC.
La razn de esta eleccin, fue la madurez del estndar y nuestra aceptacin de la filosofa que
este sigue. En este punto, encontramos un proyecto de software libre que se ajustaba a
nuestras necesidades: un motor de proyectos basado en el estndar del WFMC y que a dems
es software libre desarrollado con el framework de trabajo J2EE.

La eleccin de integrar software libre en un proyecto empresarial no es fcil. En primer lugar,


hay que entender que los proyectos especficos diseados por las empresas y los proyectos de
software libre son opuestos en su filosofa. Mientras los primeros se rigen por la
competitividad que el mercado impone, los segundos se rigen por el afn de conseguir la
popularidad y el reconocimiento de la comunidad. Esto hace que los proyectos de software
libre no avancen a un ritmo tan rpido como los proyectos empresariales y que la eleccin de
incluir ese software libre, dependa en gran medida del estado del desarrollo del mismo. No es
una buena opcin por lo tanto, elegir un software libre cuyo desarrollo est empezando, ya
que presumiblemente el proyecto donde debe ser incluido terminar antes.

Otro aspecto negativo a la hora de integrar el software libre, es el hecho de no tener garantas
de que un cierto programa funcione. Esto ltimo se mitiga en productos libres con un
prestigio ganado. Por ejemplo: nadie duda que el servidor web apache funcione
correctamente.

La ausencia de documentacin fiable, en ciertos casos, es otro aspecto negativo. Pero


afortunadamente no siempre es as, sino que en algunos casos, la documentacin y la
formacin son vendidas como un servicio y se convierten en el medio de financiacin de los
proyectos libres.

Por ltimo, est el hecho de encontrar el producto que se adapte a nuestras necesidades. Es
casi imposible, que un cierto software libre se adapte 100% a los proyectos a medida que se
desarrollan en las empresas. Por esto los diseadores, slo construyen algunas partes de los
proyectos basados en software libre. Esta es la clave de la coexistencia de los dos modelos de
software. El encontrar un software libre que se adapte a alguna parte del proyecto a medida
significa que primero se invirti tiempo en buscarlo y en el entorno empresarial el tiempo se
mide en dinero. La decisin de invertir este tiempo de bsqueda depende del responsable del
proyecto.

Para entender porqu una empresa decide usar software libre, una vez visto los inconvenientes
que introduce en el desarrollo de software a medida, hay que prestar atencin a los beneficios
que este aporta.

Para empezar, hay que tener en cuenta que su coste es nulo o prcticamente despreciable.
Aunque este no es ni mucho menos el principal factor para elegir este tipo de software. El
principal factor, bajo mi punto de vista, es la tendencia de este tipo de software a conseguir
una alta calidad. El software libre no compite comercialmente, sino por ser el ms eficiente y
conseguir as el reconocimiento de la comunidad y la popularidad. Esto en muchos casos es
imprescindible si se quiere vender documentacin, formacin etc.

No menos importante, est el hecho de que muchos proyectos consigan involucrar a muchas
personas, lo que garantiza que los posibles errores e incompatibilidades se resuelvan y
localicen rpido.
Es importante para decidir incorporar software libre, el conocer los proyectos que existen.
Hoy en da y gracias a la posibilidad de comunicacin que Internet nos ofrece, muchos grupos
de desarrolladores de software libre encuentran un medio para publicitar y conseguir adeptos
a sus desarrollos. En proyectos que se financien mediante la venta de productos derivados del
software libre, como por ejemplo la formacin, documentacin, consultoras etc., encuentran
en Internet un medio fcil para publicitarse.

Por ltimo, existe una importante ventaja poltica al uso de este tipo de software. Hoy da
muchas instituciones y organismos pblicos apuestan abiertamente por el software libre. Esto
hace que el hecho de que una empresa distribuya y use software libre en sus proyectos abra la
posibilidad realizar negocios con ellas.

Una vez presentadas las razones por la que se elige este tipo de diseo, basado en la unin de
los dos tipos de software, presentaremos el esquema de Ti-Flows en la base de los mdulos
que lo conforman.

Ti-Flows est diseado por los siguientes mdulos:

- Motor de gestin de procesos.


- Administracin y control de usuarios del gestor de procesos.
- Editor grfico de procesos.
- Simulacin de los procesos.
- Herramienta Worklist o de tareas pendientes.

Para en motor de procesos se opt por la solucin libre. Pero este software es solo la
implementacin de un motor de procesos, de hecho el estndar del WFMC define esto, un
motor de gestin de procesos. La idea del desarrollo de Ti-Flows es adaptar todos los mdulos
que necesitaba el motor para alcanzar la funcionalidad que un producto de esta ndole
necesita.

La gestin de los usuarios y la administracin de los procesos que se ejecutan dentro del
gestor, era un mdulo necesario. Las tareas que forman los procesos deben ser asignadas
explcitamente a entes de nuestro sistema (roles, usuarios, sistemas etc.), ya que el gestor debe
controlar la asignacin de las tareas a los usuarios que tengan permiso para gestionarlas. Por
otro lado, est la necesidad de reasignar las tareas entre diferentes usuarios, para evitar que el
flujo de un proceso se pare por no estar presente el usuario que tiene que tramitarla. La
obtencin de estadsticas y datos relevantes en la ejecucin actual e histrica de los procesos
del motor es otra necesidad aadida. Esto se consigue mediante el mdulo de administracin
y gestin de usuarios.

Para alimentar el motor con procesos, bastar con proporcionarle las representaciones de estos
mediante un fichero de texto que contenga la definicin XPDL. El crear el XPDL que
representa un proceso es una tarea tediosa y es fcil cometer errores sintcticos. Para facilitar
esta tarea se construy una herramienta de edicin de procesos grfica, que nos ofrece
como resultado el XPDL que define el proceso.

Las personas que desarrollan los procesos, deberan tener una manera de probar que estos son
correctos y cumplen la funcionalidad esperada. Para facilitar esta tarea, es conveniente dotar
al producto de un simulador de procesos. Esta herramienta facilita la creacin y prueba de
los procesos a los encargados de la construccin de los mismos.
Por ltimo, se necesita ofrecer una interfaz para que los usuarios involucrados en los procesos
puedan gestionar las tareas que tienen pendientes y que estos creen los nuevos tramites que el
sistema gestionar. Esto es el worklist o lista de tareas pendientes.

La unin del desarrollo de los mdulos necesarios, que constituyen el cdigo propietario, ms
el gestor de procesos de software libre, constituye la unin de este tipo de sistemas, donde dos
diferentes filosofas de desarrollo de software se unen.

Conclusiones.

Si bien es cierto que el modelo de desarrollo de software a medida, que a menudo prima en
las soluciones que las empresas ofrecen a sus clientes, no se adapta a la filosofa del
desarrollo de software libre, tambin lo es el hecho de que estos dos modelos de desarrollo
pueden unirse y beneficiarse el uno del otro.

Para ilustrar este hecho, bastar con contestar tres preguntas que nos aportarn las
conclusiones finales.

Cmo seleccionar un software libre adecuado a nuestro proyecto?

Para la correcta seleccin de un software libre, adems de que este se ajunte a las necesidades
de la parte del proyecto a la que est destinado, hay que tener en cuenta la versin y el estado
del software. No es aconsejable elegir un software que se encuentre en fases iniciales de
desarrollo y esperar que este avance al mismo ritmo que nuestro producto. Esto nunca
ocurrir debido a los diferentes ritmos de desarrollo de los dos modelos de desarrollo de
software. Mientras que en desarrollo de software privado, est condicionado al ritmo que el
mercado impone para obtener los mayores beneficios posibles, el software libre busca como
objetivo la fiabilidad. Debido a ello, los desarrollos de software libre avanzan ms lentos, por
lo que presumiblemente no podremos incluir en nuestro proyecto una versin estable del ese
desarrollo que se est iniciando.

Por ltimo, es muy importante elegir software libre que ofrezca una fuente de conocimientos
de funcionamiento y de uso del mismo, ya sea en forma de documentacin o cursos.

Qu aporta el uso de software libre a un desarrollo de software privado?

En primer lugar, el software libre tiende a ser de calidad. La finalidad de este tipo de software
es obtener fama y el reconocimiento de la comunidad y ningn desarrollo que no alcance un
nivel satisfactorio de fiabilidad podr conseguir este objetivo.

El coste es o nulo o casi nulo (compra de documentacin, formacin...), lo que hace que la
construccin final del producto sea ms competitiva en el mercado.

Ofrece una buena respuesta ante la localizacin y reparacin de los posibles fallos. Los
proyectos de software libre consiguen involucrar a una gran cantidad de usuarios dispuestos a
probar y corregir, si fuese necesario los errores encontrados.
Esware AD Connector

Solucin Integral de Conexin con


Microsoft Active Directory
iSeries
Esware AD Connector

Informacin del Producto


La solucin de conexin Esware AD Connector permite la integracin del sistema Microsoft
Active Directory con soluciones de servicio de Esware Linux y servidores en general, como el
caso de servidores de correo, servidores ThinClient, servidores de mensajera instantanea
(jabber), etc.

En el esquema observamos un caso


prctico en el que Esware AD
Connector sirve de enlace entre un
servidor de correo y una aplicacin
BackOffice, instaladas bajo un
sistema Linux, y una servidor
Microsoft Active Directory.

El sistema de integracin se basa en


la obtencin de recursos desde el
servidor Active Directory como la
contrasea de un usuario
determinado o las direcciones de
correo disponibles por un usuario.

En el caso del servidor de correo pop


la contrasea y el nombre de usuario
que el Usuario introduce en los
parmetros de configuracin de sus
aplicacin MTA de correo (Evolution,
Outlook, etc), son enviados atraves
de Esware AD Connector para
comprobar su validez, devolviendo el
valor obtenido.

Adems, el Usuario puede obtener


mediante interface Web su correo,
identificandose del mismo modo, gracias a Esware AD Connector.

Esta implantacin permite el crear un sistema de almacenamiento externo, mediante


cualquier sistema de ficheros, local o remoto mediante NFS. Mezclando un sistema NFS con
un servidor IMAP conseguimos que el correo de los usuarios sea accesible en cualquier
momento desde cualquier lugar, sin tener que realiza copias del mismo de uno a otro cliente
de correo.
Esware AD Connector

Sistema de configuracin
Para operar con el sistema es necesario realizar unos sencillos pasos de configuracin.
Despus de obtener el producto Esware AD Connector podemos configurar el acceso al
servidor Microsoft Active Directory mediante dos vias, usando la aplicacin Web de
configuracin o con Esware AD Connector Configurator (aplicacin de escritorio).

Esware AD Connector Configurator


El proceso de configuracin es muy sencillo
como podemos ver en la imagen, pocos datos
son necesarios para configurar Esware AD
Connector. El nombre o nombres de los
equipos que tengan instalado el servidor
Microsoft Active Directory y un usuario vlido
en estos sistemas para poder realizar las
consultas con dicho servidor. Este usuario no
requiere de permisos especiales de
administracin, solo necesita tener acceso de
lectura, si solamente se desea ese tipo de
acceso, para realizar tareas de configuracin
ser requiere un usuario con dichos permisos.

Adems del servidor y usuario al que conectar


se requiere una base de busqueda. Esta ser
la usada para lanzar las consultas necesarias
dependiendo del proceso a realizar, en el
caso de un servidor de correo la busqueda
sera por todo el arbol de fichas de usuarios.
Esware AD Connector

Esware AD Connector Web Configurator


Adems de configuracin desde el mismo
escritorio podemos user el sistema
mediante interface web, que nos permite
configurar el sistema desde cualquier parte
de la red a travs de cualquier navegador
web y mediante unos sencillos pasos. Esta
pgina puede ser accesible mediante un
protocolo seguro HTTPS. Adems
incorpora un sistema de contrasea para el
acceso a dicha configuracin.

Los datos de configuracin son mnimos


para la conexin bsica, permitiendo en
pocos minutos el tener configurado el
sistema en pocos minutos.
Esware AD Connector
Resumen del Producto

Conexin con Microsoft Active Directory


Multi-acceso a servidores de Microsoft Active Directory
Conexin annima o mediante usuario
Fcil configuracin e instalacin
Conectividad con servidor de correo, servidor de ficheros, servidor jabber,
acceso a terminal Linux, etc
Herramienta BackOffice
API para creacin de aplicaciones (Perl y C)
Mantenimiento y administracin remoto
Esware eLearning
Plataforma Educativa
Esware eLearning

Informacin del Producto


La plataforma eLearning se define como un centro de gestin de recursos para materiales
didcticos ampliados con un sistema de aplicaciones que expande la capacidad del sistema.
Mediante un interface web un alumno acceder a los contenidos de un curso y usar las
aplicaciones que le irn guiando y ayudando en el transcurso del curso. El usuario podr as
apuntarse o ser apuntado automticamente a cursos, acceder a sus diversos temas y podr
realizar ejercicios por cada tema o seccin, formar grupos de trabajo con otros compaeros,
descargar material multimedia, mantener una conversacin en tiempo real con el profesor,
tutor o entre mas compaeros y cantidad mas de acciones gracias al sistema de
aplicaciones modular.

Adems se ofrece un API de


desarrollo simplificado para la
creacin de mdulos que amplen
la capacidad de la plataforma,
permitiendo una adaptacin a
necesidades especficas con
pocas horas de desarrollo.

En el esquema observamos las


interacciones entre las distintas
partes del sistema.

La interaccin con la base de


datos se realiza mediante un
modulo por cada tipo de Base de
Datos, se dispone por defecto del
modulo de conexin con MySQL.
El desarrollo de nuevos mdulos
es muy sencillo partiendo del
mdulo ya creado.

La comunicacin entre el servidor de aplicaciones y el motor se realiza mediante un interfaz


XML-RPC, permitiendo la comunicacin entre mdulos desarrollados en distintos lenguajes
implementando este tipo de servicio. Adems de esta comunicacin XML-RPC, si se
prefiere, se pude trabajar en sistema local desarrollando en PHP.
Esware eLearning

El Alumno
Desde el punto de vista del alumno el mayor problema a la hora de realizar formacin a
travs de Internet es el orden y la disciplina de estudio. Es importante para el alumno el
disponer de un contacto fluido con los tutores y profesores adems de conocer el estado del
curso o cursos a los que se encuentre inscrito, mediante calendarios, notas, etc.

El sistema presenta un men


muy sencillo de asimilar con
iconos descriptivos y
navegacin guiada en todo
momento.

El usuario tendr a disposicin


las herramientas que el
tutor/profesor/administrador
deseen. As podr decidir entre
las opciones y sentir libertad de
eleccin.

Por defecto se han


desarrollado las aplicaciones
mas comunes y necesitadas en
un entorno educativo: Agenda,
Documentos, Presentacin de
Trabajo, Anuncios, Foros,
Ejercicios, Chat y otras muchas ms. En el caso de la herramienta Agenda se hace uso del
estndar iCalendar para almacenar los datos, permitiendo su importacin en aplicaciones
que hacen uso de este sistema, como Ximian Evolution, Apple iCal, Microsoft Outlook, entre
otros. Adems de recibir correos cada vez que se escriba un nuevo anuncio de presentacin
de un trabajo, una fecha sealada como por ejemplo un examen, etc.

Todo alumno puede pertenecer a un grupo que designe el tutor y podrn charlar con ellos y
con el tutor mediante el uso del Foro de Grupo o mediante la aplicacin de Chat incluida, la
cual hace uso de un servidor jabber si se desea, permitiendo la ampliacin que este gran
sistema de mensajera ofrece.
Esware eLearning

El Tutor
Las herramientas de edicin de contenidos ofrecen el control total al tutor/profesor para
realizar las tareas de mantenimiento y ofrecer a los alumnos el material necesario as como
mantenerlos informados en todo momento del estado del curso, introduciendo notas y
programando el curso con la herramienta Agenda.

Cada herramienta cuenta con dos modos, el modo usuario y el modo de administracin, el
usuario con privilegios de tutor podr trabajar con las herramientas en modo administracin,
permitiendo la modificacin de los contenidos.

Como podemos observar el


interfaz del tutor es muy similar
al del usuario. Contamos con
las Herramientas de usuario,
adems de la opcin de
desactivar, y vemos
herramientas reservadas a los
administradores y la
herramientas desactivadas.

En todo momento el tutor


puede activar temporalmente
una herramienta, por ejemplo
la herramienta Chat, para
impartir una charla a los
alumnos en una hora fijada.

Una de las mas importantes es


la herramienta de Ejercicios,
esta herramienta permite
realizar exmenes, de tipo test
o escritos, en el caso de tipo
test el alumno podr obtener el
resultado del test al instante.
La herramienta ha sido diseada en conjunto con profesores experimentados que han ido
guiando en el transcurso del desarrollo de la herramienta, permitiendo que quedaran
cubiertas las mayores necesidades a la hora de realizar un examen va Internet.
Esware eLearning

El Desarrollador
Para el desarrollo de nuevos mdulos se ofrece una completsima API y una documentacin
detallada acerca de cada dato a tratar por parte del desarrollador. Adems se cuenta con el
cdigo fuente de todo el sistema el cual se encuentra bajo licencia GPL.

Grficos explicativos y documentos va HTML y con libros para la aplicacin DevHelp,


permitiendo la integracin con editores de cdigo como Emacs.

Se puede usar XML-RPC para la comunicacin entre mdulos permitiendo el uso de


cualquier lenguaje de programacin, esta comunicacin se puede realizar a travs de una
red si se desea colocar el servidor de aplicaciones en otro equipo distinto al que contenga el
motor del sistema Esware eLearning. De todos modos se pueden desarrollar los mdulos en
PHP introduciendo su cdigo dentro del directorio de bibliotecas del propio motor de Esware
eLearning.
Esware eLearning
Resumen del Producto

interfaz Web para alumnos y tutores mediante nombre de usuario y


contrasea.
Conexin segura por SSL
Herramientas incluidas: Agenda, Documentos, Anuncios, Foros, Grupos,
Enlace externos, Trabajos, Usuarios, Ejercicios, Descripciones, Videos y
Chat.
Herramientas de administracin: Estadsticas, Noticias principales, Creacin
de Cursos, Creacin de Campus.
Diversos Cursos por Campus.
Gestin de distintos Campus.
Estadsticas de conexin
VNUML: UNA HERRAMIENTA DE VIRTUALIZACIN DE REDES

BASADA EN SOFTWARE LIBRE

Fermn Galn1 , David Fernndez2


1
Agora Systems S. A.; 2 Departamento de Ingeniera Telemtica, UPM

fermin.galan@agora-2000.com

Abstract

Hoy en da, las tcnicas de virtualizacin suponen una importante alternativa a la

implementaci n de sistemas con equipos reales. El artculo analiza las motivaciones de la

virtualizacin y presenta VNUML (Virtual Network User Mode Linux), una herramienta

potente y flexible basada en software libre que simplifica el trabajo del usuario

automatizando la construccin de escenarios virtuales.

Palabras claves: virtualizacin, simulacin, UML, XML.


1. Introduccin

En la actualidad, la potencia del hardware disponible (equipos cada vez ms rpidos en trminos

de CPU, con mayor cantidad de memoria RAM y espacio de almacenamiento en disco duro) ha

motivado el inters por las tcnicas de virtualizacin y sus aplicaciones, con el objetivo principal de

reducir costes de despliegue y gestin de lo que sera un sistema equiva lente realizado de forma

convencional con equipos reales.

El presente artculo describe VNUML (Virtual Network User Mode Linux)1 , una herramienta

basada en software libre cuyo objetivo es la construccin de entornos virtuales o simulaciones,

desarrollada dentro del marco del proyecto Euro6IX [1] con la financiacin parcial de la Comisin

Europea.

2. Virtualizacin

Desde un punto genrico, puede definirse la virtualizacin como una tcnica que permite

encapsular una unidad de proceso (programa, sistema operativo, incluso un equipo completo) para su

ejecucin dentro de un entorno en un equipo anfitrin que emula el entorno real transparentemente.

Esto implica que, en disposicin de una mquina lo suficientemente potente que acte de equipo

anfitrin, es posible ejecutar simultneamente un sistema de mquinas virtuales que se comporten

de forma equivalente al mismo sistema implementado con mquinas reales. Lo deseable es que el

sistema emulado se comporte lo ms transparentemente posible, idealmente exactamente igual que el

sistema real.

Las principales ventajas de la virtualizacin son el ahorro de costes de infraestructura (ya que se

utiliza un nico equipo real, existe un ahorro de costes tanto mayor cuando ms complejo -ms

equipos tiene- es el sistema original) y la simplificacin de la gestin (tan solo hay que gestionar un

nico punto el equipo anfitrin- en vez de tener que interactuar con un entorno de equipos

interconectados): configuracin, correccin de errores, actualizacin de software, realizacin de

backups, etc.

Sin embargo, la transparencia completa usando virtualizacin es difcilmente alcanzable. Esto es

debido a que la virtualizacin introduce un nivel de proceso adicional (el que traduce las llamadas al

1
La herramienta puede descargarse libremente desde http://www.dit.upm.es/vnuml.
sistema de la mquina virtual al sistema anfitrin) que supone un overhead debido al consumo de

recursos. Para conseguir un rendimiento equivalente al del sistema real es necesario utilizar hardware

de mayor potencia en la mquina anfitriona. En todo caso, esto es algo que depende de lo eficiente

que sea la tcnica de virtualizacin que se emplee.

Si bien la teora en la que se basan la s tcnicas de virtualizacin modernas es bastante antigua [2],

el auge de este tipo de soluciones (muchas de ellas basadas en software libre) no se ha producido

hasta hace relativamente poco tiempo, motivadas principalmente por la baja relacin potencia del

hardware/precio a la que hemos llegado en nuestros das: Plex86 [3], Bochs [4], UML [5], VMware

[6], En particular, VNUML est baso en UML (User Mode Linux [5]).

3. Aplicaciones

VNUML est orientado a la prueba de aplicaciones de redes y servicios sobre escenarios

complejos compuestos de mltiples nodos (incluso decenas), evitando el coste de adquirir y gestionar

equipos fsicos reales. Se sealan a continuacin varios casos tpicos en los que la herramienta puede

ser de utilidad.

Prueba de aplicaciones de red. Con VNUML es sencillo establecer una maqueta o

demostrador para pruebas de aplicaciones de red. En el proyecto Euro6IX [1], VNUML ha

sido utilizado para evaluar y comparar distintas alternativas de software de routing BGP [7].

Despliegue de laboratorios. Es posible utilizar VNUML para ahorrar costes de despliegue y

mantenimiento en laboratorios de universidades o centros de enseanza. En un caso extremo,

el laboratorio entero podra ser incluido en CD-ROM (junto con algn programa de

aprendizaje guiado) y proporcionado al alumno para su utilizacin independiente.

Redes seuelo. Una red seuelo (honeynet) es una red cuyo objetivo es el estudio de

amenazas de seguridad dirigidas contra ella [8]. Utilizando VNUML se simplifica la

implantacin y gestin de este tipo de redes.

Hosting. Para una empresa dedicada a la provisin de servicios de hospedaje (hosting) es

posible utilizar un nico equipo anfitrin sobre el que implementar un conjunto de servidores

virtuales con VNUML, alquilndose su uso a los clientes (que tendrn la percepcin de

disponer de una mquina convencional, aunque realmente no sea as).


4. VNUML

VNUML es una herramienta software libre formada por dos componentes: un lenguaje simple y

descriptivo basado en XML (eXtended Markup Language [9]) que permite definir el sistema emulado

en un fichero de texto; y un parser de ese lenguaje que se encarga de procesar el fichero, construyendo

la simulaci n y gestionndola, ocultando los detalles complejos al usuario. Esta seccin describe las

caractersticas de VNUML, la seccin 5 las ilustra con un ejemplo.

Como sistema de virtualizacin, VNUML utiliza UML, una modificacin de las fuentes del

ncleo de Linux que permiten su ejecucin como proceso de usuario encima del ncleo convencional

de Linux. Cada uno de los procesos UML constituye una mquina virtual (con sus propios recursos)

dentro de la cual otros procesos se ejecutan (Figura 1). La funcionalidad del ncleo UML es

exactamente la misma que la de un ncleo convencional de Linux por lo que la transparencia es (salvo

por la prdida de rendimiento debido al overhead de virtualizacin) total.

UML no solo proporciona la manera de crear mquinas virtuales, sino que existen mecanismos

para la interconexin entre ellas mediante redes virtuales (a nivel 2 modo bridge- o a nivel 3). Es

posible tambin conectar equipos externos a la simulacin. VNUML tambin soporta el uso de

VLANs (Virtual Local Area Network [12]).

UML es una herramienta potente pero compleja si se pretende construir escenarios que incluyan

muchas mquinas virtuales y topologas complicadas de red. Adems, es necesario tener un buen

Proceso Proceso Proceso Proceso

Ncleo Ncleo
mquina virtual mquina virtual
Redes virtuales
Ncleo sistema anfitrin

Hardware

Figura 1. Virtualizacin con VNUML


conocimiento de ciertos detalles del sistema Linux (disposit ivos tap, sockets UNIX, bridges virtuales,

etc.) para construir escenarios a mano. La motivacin con la que VNUML ha sido desarrollado es

evitar esta complejidad, de forma que el usuario tenga que concentrarse solo en la definic in del

sistema emulado, como se ver en el ejemplo de la seccin 5.

El uso de VNUML/UML implica un consumo de recursos que ha de ser tenido en cuenta en el

equipo anfitrin que albergar la simulacin. En concreto, podemos identificar los siguientes factores

de coste: uso de CPU (especialmente en el momento de arrancar las mquinas virtuales), memoria

fsica (una asignacin excesiva de memoria a las mquinas virtuales podra dar lugar a situaciones de

thrasing en la memoria virtual del equipo anfitrin) y espacio de almacenamiento en disco (cada

mquina virtual tiene asociado un sistema de ficheros que reside en un fichero de gran tamao

normalmente- en el sistema de ficheros del equipo anfitrin).

VNUML se distribuye bajo los trminos de la licencia GNU y ha seguido un modelo de desarrollo

basado en software libre. La pgina web del proyecto [11] incluye el software para su descarga, as

como documentacin, tutoriales y soporte para los usuarios.

Ms an, VNUML no habra podido ser desarrollado sin apoyarse en un conjunto de herramientas

de software libre y estndares abiertos existentes: UML [5] (la base sobre la que se ha desarrollado

UML, hasta el punto de que la herramienta puede verse como un front-end de UML), Perl [12] (el

parser est escrito ntegramente en este lenguaje, por su orientacin a expresiones de texto y la

sencillez de mantenimiento de los lenguajes interpretados) y XML [9] (lenguaje sencillo basado en

etiquetas en el que se escriben las simulaciones de VNUML).

5. Ejemplo de uso

A continuacin se incluye un ejemplo simplificado de aplicacin de VNUML. Considrese que se

quiere emular una topologa como la que muestra la Figura 2. El fichero de configuracin VNUML

que define el anterior sistema es el que se muestra en la Tabla 1.


Tabla 1. Descripcin VNUML de la simulacin
<?xml version="1.0" encoding="UTF-8"?> <if id="3" net="Net3">
<!DOCTYPE vnuml SYSTEM <ipv4>10.0.3.1</ipv4>
"/var/vnuml/vnuml.dtd"> </if>
<vnuml> <route gw="10.0.1.2">10.0.2.0/24</route>
<net name="Net0"/> <route gw="10.0.3.2">default</route>
<net name="Net1"/> <forwarding />
<net name="Net2"/> </vm>
<net name="Net3"/> <vm name="uml4">
<vm name="uml1"> <filesystem>/var/vnuml/uml4.fs</filesystem>
<filesystem>/var/vnuml/um11.fs</filesystem> <if id="1" net="Net1">
<if id="1" net="Net0"> <ipv4>10.0.1.2</ipv4>
<ipv4>10.0.0.1</ipv4> </if>
</if> <if id="2" net="Net2">
<route type="inet" gw="10.0.0.3">default</route> <ipv4>10.0.2.1</ipv4>
</vm> </if>
<vm name="uml2"> <route gw="10.0.1.1">default</route>
<filesystem>/var/vnuml/uml2.fs</filesystem> <forwarding />
<if id="1" net="Net0"> </vm>
<ipv4>10.0.0.2</ipv4> <vm name="uml5">
</if> <filesystem>/var/vnuml/uml5.fs</filesystem>
<route type="inet" gw="10.0.0.3">default</route> <if id="1" net="Net2">
<start>/usr/local/samba/smbd</start> <ipv4>10.0.2.2</ipv4>
<stop>killall smb</stop> </if>
</vm> <route gw="10.0.2.1">default</route>
<vm name="uml3"> </vm>
<filesystem>/var/vnuml/uml3.fs</filesystem> <host>
<if id="1" net="Net0"> <hostif net="Net3">
<ipv4>10.0.0.3</ipv4> <ipv4>10.0.3.2</ipv4>
</if> </hostif>
<if id="2" net="Net1"> <route gw="10.0.3.1">10.0.0.0/16</route>
<ipv4>10.0.1.1</ipv4> <forwarding />
</if> </host>
</vnuml>

Como puede observarse, el fichero de configuracin es bastante sencillo: no es necesario que el

usuario conozca detalles complejos de UML o Linux para utilizar la herramienta. Cada una de las

mquinas virtuales est definida dentro de una etiqueta vm (existe una etiqueta especial, host, que

define el entorno de la mquina anfitriona). Por brevedad, no se detalla el significado de las distintas

UML1 UML2 UML5


10.0.0.1 10.0.0.2 Net1 Net2 10.0.2.2

Net0 10.0.0.3 10.0.1.1 10.0.1.2 10.0.2.1

UML3 UML4
10.0.3.1 Net3
10.0.3.2

Host Internet

Figura 2. Ejemplo de escenario simulado.


etiquetas, remitiendo al lector a [11] para una referencia completa.

6. Conclusiones

Las tcnicas de virtualizacin, utilizadas de forma conveniente, pueden suponer un importante

margen de ahorro de costes en la implementacin de un sistema con respecto a su contrapartida

utilizando equipos reales.

VNUML es una herramienta de virtualizacin de propsito general flexible y que simplifica el

trabajo de l usuario ofrecindole gran parte de la potencia de UML pero sin tener que enfrentarse a los

detalles complejos de creacin de mquinas y redes virtuales. De esta forma, el usuario puede

concentrarse en la definicin de la simulacin, que es lo realmente importante desde su punto de vista.

Una de las limitaciones de VNUML/UML es que solo permite la creacin de mquinas virtuales

Linux, aunque es posible conectar equipos externos (como por ejemplo un router Cisco). Una

solucin a ms largo plazo sera cambiar el backend de virtualizacin, sustituyendo UML por otro

sistema que sea ms flexible con respecto al tipo de sistemas que puede emular (como por ejemplo,

VMware [6], que, entre otros, permite la emulacin de sistemas operativos Windows).

Los nicos casos en los que VNUML es claramente no utilizable son aquellos en los que se

realicen medidas de eficiencia de aplicaciones, ya que el overhead introducido por la virtualizacin

falseara estas medidas.

Referencias

[1] Euro6IX, http://www.euro6ix.org/, tomado el 7 de Enero de 2004.

[2] L. Seawright y R. MacKinnon, VM/370: A Study of Multiplicity and Usefulness, IBM

Systems Journal, 18(1), 1979.

[3] Plex/86, http://plex86.sourceforge.net/, tomado el 7 de Enero de 2004.

[4] Bochs IA-32 Emulator, http://bochs.sourceforge.net/, tomado el 7 de Enero de 2004.

[5] J. Dike, User Mode Linux, Proc. 5th Annual Linux Showcase & Conf., Oakland CA, 2001.

[6] J. Nieh y O. C. Leonard, Examining VMware, Dr. Dobbs Journal, Agosto 2002.

[7] D. Fernndez, F. Galn y T. de Miguel. Study and Emulation of IPv6 Internet Exchange (IX)

based Addressing Models. IEEE Communications Magazine, vol. 42, no. 1, pag 105-112,

Enero 2004
1

Tcnicas de escalabilidad para servidores Web:


balanceo de carga y servidores de altas prestaciones
Alvaro Lopez Ortega, <alvaro@gnu.org>

Abstract Este artculo estudia el problema de escalabilidad un factor crtico en la percepcin de la velocidad del servicio
de los servidores web actuales. En primer lugar presenta las por parte del usuario.
posibles tcnicas para desarrollar un servidor web, y evala el
rendimiento de cada una de ellas, exponiendo en ltimo lugar la
arquitectura de Cherokee, un nuevo servidor web que combina II. E SCALABILIDAD DE SERVIDORES W EB
varias formas de trabajo para obtener un alto rendimiento.
Al hablar de escalabilidad de un servidor Web, nos estamos
A continuacin se presentan las posibles arquitecturas de
clustering de servidores web con las que resolver el problema refiriendo a la capacidad de este para aumentar la cantidad
de escalabilidad si la mejora en el software no es suficiente y es de trabajo que es capaz de realizar, de forma que aumenten
necesario distribuir el trabajo entre varias mquinas. de igual manera el nmero de peticiones respondidas en un
Por ltimo, estudia y expone una solucin basada por completo periodo acotado de tiempo. Existen dos grandes posibilidades
en Software Libre con la que construir servidores web distribui- bien diferenciadas para realizar este aumento de rendimiento:
dos de una forma eficiente, y propone posibles mejoras en el
software para conseguir un aumento del rendimiento del cluster. la escalabilidad en un nico servidor, y la escalabilidad en un
conjunto o cluster de servidores.
Index Terms web server, clusters, Cherokee, Free Software
II-A. Escalabilidad en una nica mquina
I. I NTRODUCCIN La primera opcin para aumentar la capacidad de un
servidor Web mediante el enfoque de nico servidor es la

D ESDE hace aos, la tecnologa que rodea al Web tiene


una importancia grandsima. Desde su creacin, este
servicio ha aumentado su implantacin e importancia de
escalabilidad por hardware [2], es decir, la actualizacin del
hardware del servidor a una mquina ms potente y rpida.
Esta, es una solucin de escalabilidad a corto plazo ya que el
forma exceptacular, teniendo como perspectiva de futuro la hardware tiene un limite claro a partir de cual no es posible
continuacin de este incremento. seguir aumentando la capacidad, de forma que esta opcin se
Los servidores Web han evolucionado desde sus primeros tornara inviable.
tiempos pasando de servir unos miles de pginas diarias a Dentro de la arquitectura de servidor nico se encuentra otro
procesar la peticin de varios millones de ellas. Por otro lado, posible punto de mejora sobre el que trabajar para aumentar el
se ha aumentado considerablemente la complejidad de la gene- rendimiento de los servicios Web: el software. Existen estudios
racin del contenido servido. Tanto los servicios Web como la anteriores sobre el diseo de servidores web [3], [4] en los
generacin dinmica de contenidos, son piezas fundamentales que se presentan posibles diseos o modificaciones del sistema
de la Internet de hoy en da, pero hay que tener presente que operativo del servidor [5] que persiguen este objetivo. Por otra
aumentan de forma considerable el tiempo de proceso de cada parte se han realizado mejoras sobre el protocolo HTTP [6]
peticin recibida y por tanto el estrs de los sistemas que las que persiguen de igual forma una menor carga del servidor
atienden. Web a la hora de servir contenidos: conexiones keep-alive o
El problema del aumento de la carga de los servidores manejo de cach en el cliente.
Web se torna especialmente complicado cuando el nmero
de accesos a uno de ellos aumenta de forma drstica en un
corto periodo de tiempo. En este caso, si se trata de un slo II-B. Escalabilidad mediante clustering
servidor, puede que se vea desbordada su capacidad y por tanto La segunda opcin para la escalabilidad de un servidor web
los clientes no reciban respuesta a las peticiones efectuadas. tiene como base, al contrario que en el caso anterior, el trabajo
Si se trata de un servidor Web centralizado, la solucin al con un conjunto o cluster de mquinas conjuntamente. La
problema es la implantacin de alguna de las arquitecturas de considerable ventaja de este mtodo radica en la posibilidad de
clustering web que se estudian a continuacin, de forma que inclusin de nuevas mquinas en el cluster si la carga de este
si en algn momento el trfico aumenta de forma repentina se lo requiere, de forma que no se llegue a producir una situacin
pueda ampliar la capacidad de proceso del cluster para cubrir en la que no es posible que el servidor Web aumente el nmero
las necesidades de servicio de los clientes. de peticiones atendidas por unidad de tiempo.
Por otro lado, existen una serie de mejoras posibles para Los sistemas basados en ms de un servidor web deben
cada uno de los servidores web. Se ha demostrado que el cumplir una serie de premisas bsicas. El usuario que acceda
tiempo de espera en el servidor es el factor fundamental en la a uno de estos nodos del sistema ha de tener la sensacin de
velocidad de servicio de una peticin HTTP [1], y por lo tanto estar accediendo a un nico servidor, de forma que no tenga
2

que conocer la arquitectura de este, pero pueda interaccionar


con l.
Los sistemas distribuidos se clasifican en dos grupos[7].
En primer lugar, los sistemas de escalado global. En este
caso, cada uno de los servidores puede estar ubicado en un
punto geogrfico diferente del planeta. Esta forma de trabajo,

Fig. 2. Sistema de escalado local

realiza una consulta sobre el dominio alojado. Como suele ser


habitual en los cluster, existe un nodo front-end; en este caso
concreto, al tratarse de un Cluster Web, el front-end realizar
Fig. 1. Sistema de escalado global la tarea de distribuir las peticiones entrantes entre cada uno
de los diferentes nodos. Hoy en da, existen balanceadores de
normalmente se implementa utilizando balanceo por medio de carga implementados en hardware, uno de los cuales podra
un servidor de DNS [8], [9]. Se trata de la primera tcnica sustituir al nodo front-end y realizar la misma tarea que este.
de balanceo de carga en HTTP que vi la luz - en 1994 - El objeto de este artculo es el exponer una solucin software
que consiste en variar la direccin IP destino cada vez que se con la que poder construir un cluster Web con total autonoma
resuelve el nombre de dominio que se alberga, de entre las de de dispositivos hardware, de modo que no se profundizar en
todos los servidores del sistema. La principal ventaja de este el uso o desempeo de este clase de balancedores.
mtodo radica en que es posible tener varias conexiones a
la red, preferiblemente en diferentes backbones de forma que III. C HEROKEE W EB S ERVER
si alguna de las conexiones falla, nicamente sea necesario
modificar el DNS para que el sitio Web siga funcionando III-A. Arquitecturas comunes de servidores
sin problemas. Por otra parte, este mtodo tambin adolece Historicamente, se han ido sucediendo una serie de diseos
de algunos grandes problemas: cuando el servidor de DNS de servidores Web. Como es lgico pensar, cada uno ha
resuelve una peticin, la respuesta incluir un TTL con el que evolucionado en algunos aspectos concretos respecto a los
intentar controlar el sistema de caching en otros servidores servidores anteriores, siendo en todos los casos, el aumento
DNS intermedios, de forma que si, por ejemplo, el cliente en la velocidad de proceso uno de sus principales objetivos
utiliza un servidor local de DNS, este no almacene por un [10], [4], [3]. Algunos de los nuevos diseos de servidores
largo periodo de tiempo una de las IPs de uno de los nodos Web se basaron en nuevas arquitecturas para la construccin
del sistema. El problema de esta forma de trabajo estriba de esta clase de programas. Desde los aos 70 se ha producido
en que algunos servidores DNS cambian el TTL cuando el un gran cambio en el diseo de servidor Web. En un principio
valor recibido es considerado demasiado bajo. [7] Por ltimo, estos programas se basaban en la utilizacin de un proceso
dentro de la clase de sistemas de escalado global, se pueden por cada conexin que deban responder; para ello utilizaban
incluir los que basan su funcionamiento en la redireccin de la llamada al sistema fork() con el objetivo de clonar el
peticiones, normalmente mediante la utilizacin de la repuesta proceso del servidor y de esta forma atender asncronamente
301 (Moved Permanently) de HTTP. En este caso, el principal la peticin del cliente. El principal problema de este mtodo
inconveniente es el aumento de latencia que va a percibir el es la eficiencia, sobre todo cuando el ejecutable que contiene
usuario. Esta es una forma de trabajo que se puede clasificar el servidor ha sido linkado dinmicamente, caso en el cual,
ms cercana al mirroring que al balanceo real de carga. el rendimiento baja aun ms debido al que el espacio de
El segundo grupo de clasificacin de los servidores Web direccionamiento de memoria es ms completo, y el sistema
distribuidos engloba a aquellos que escalan localmente. En operativo tiene ms carga para realizar la duplicacin [11].
este caso, los nodos que componen el sistema, conocidos como Esta clase de servidores basado en procesos bajo una alta
Cluster Web o Web Farm [2], se encuentran conectados a una carga, provocan ineficiencias en el sistema operativo a causa
red local de alta velocidad en la que nicamente existe un del alto nmero de procesos, ya que el planificador dedica un
punto de acceso desde el exterior y desde el cual se reciben las tiempo excesivo a esta tarea. Esta situacin se agraba cuando
peticiones. En la Figura 2 se muestra un esquema a alto nivel se trata de mquinas SMP - multiprocesador - en las que
de esta arquitectura. Aunque el cluster puede estar formado por es posible que el sistema operativo tenga que mantener la
decenas de servidores, nicamente existe una IP pblica para coherencia de las listas del planificador mediante semforos,
todo el sistema que recibe el nombre de VIP (IP Virtual), que aumentando aun ms la sobrecarga y por tanto la latencia
es la direccin IP que resuelven los servidores DNS cuando se percibida por el cliente que realiz la peticin al servidor.
3

Este es el modo en el que trabajaba el primer servidor web de misma funcionalidad. Como resultado directo de esta mejora
NCSA [3]; algn tiempo despus Apache realiz una mejora a nivel de kernel, los servidores que utilizan este nuevo API
sobre este sistema, implementando una tcnica de pre-forking, aumentan considerablemente su rendimiento.
es decir, realizar copias del proceso del servidor mediante
fork antes de comenzar a servir las peticiones, de forma que
en el momento de atender la primera de ellas no tuviera
que realizar esta tarea sino usar uno de los procesos que
ya se haban creado [10]. Esta es objetivamente una mejora
considerable sobre el mtodo anterior, aunque como veremos Fig. 3. Pasos de una conexin HTTP/1.1
aun mejorable por otras arquitecturas de servidor. En busca
de la solucin al problema de rendimiento de los servidores
basados en procesos, la siguiente arquitectura utilizada bas
su funcionamiento en el manejo de hilos. Como en el caso III-B. Arquitectura de Cherokee Web Server
anterior, supuso una considerable mejora en el rendimiento de Uno de los objetivos de este artculo es la exposicin y
los servidores que utilizan este sistema. Hoy en da existen evaluacin de la arquitectura y rendimiendo del servidor Web
infinidad de servidores que basan su funcionamiento en esta Cherokee[14]. Se trata se un servidor de alto rendimiento
forma de trabajo, aunque como en los casos anteriores hay una con una estructura que ha sido diseada para obtener la
serie de circunstancias bajo las que este mtodo provocar que mxima productividad, de forma que proporcione la base para
el servidor de comporte de una forma ms ineficiente que si la construccin de sistemas web escalables. En su diseo se
hubiese sido implementado tomando como base la arquitectura ha utilizado un enfoque hbrido de varias arquitecturas de ser-
de un proceso por conexin [12], en concreto, los servidores vidores expuestas anteriormente: como primera arquitectura,
basados en threads se tornan ineficientes en comparacin se utiliza el mtodo de atencin a varias conexiones en un
de los basados en fork() al superar la barrera de las 400 nico proceso ya que se trata del ms eficiente con ficheros
conexiones simultneas. Existe una forma de atenuar este pequeos y sin grandes cargas en el servidor. Teniendo en
problema de los servidores basados en threads, que consiste, cuenta los problemas de la arquitectura de nico proceso, en
en la misma lnea que el mtodo de pre-forking, en crear un el diseo del servidor se introdujo parcialmente el modelo de
poll de threads en lugar de generar uno nuevo en cada peticin threads para reducir al mnimo el efecto que se produce en
recibida por el servidor Web. un servidor basado en select() o poll() cuando existe una gran
En contraposicin a las arquitecturas expuestas anteriormen- carga[12].
te, en las que se busca el conseguir un contexto de ejecucin En el arranque, Cherokee examina el nmero de proce-
asncrono una vez recibida una peticin, existe una arquitec- sadores existentes en la mquina - un factor importante en
tura basada en un nico proceso. Al trabajar con un nico servidores SMP - para lanzar un nmero de threads acorde con
hilo lgico de ejecucin vara considerablemente la forma de l. Cada uno de estos threads, en lugar de prestar servicio a
trabajo respecto a los casos expuestos anteriormente. Esta clase una nica peticin, como en el modelo de arquitectura clsico
de servidores, inspeccionan los descriptores asociados a las basado en threads, va a realizar el proceso de varias de ellas,
conexiones en curso y al socket principal del servidor, y a con- siguiendo el modelo de select()/poll(). De esta forma, dentro
tinuacin dedican pequeas fracciones de tiempo a cada una del nico proceso del servidor existen varios hilos, y a su vez,
de ellas. Este mtodo de trabajo se basa sobre dos conceptos varios hilos lgicos dentro de cada uno de ellos.
fundamentales: los sockets no bloqueantes y las funciones de
inspeccin de descriptores. Al igual que las arquitecturas de
servidores, esta clase de funciones han evolucionado. Crono-
lgicamente, la primera de ellas es select(). Esta funcin tiene
una serie de problemas bien conocidos: en algunos sistemas no
devuelve la cantidad de tiempo que ha estado esperando hasta
que uno de los descriptores ha cambiado de estado, realiza
un gasto innecesario de memoria teniendo como parmetro
un array en el que los nmeros de descriptor realizan la
funcin de ndice. La funcin poll() realiza la misma tarea,
pero con una implementacin e interface mejoradas respecto
a las de select(); en este caso el nmero de descriptor ya no
funciona como ndice del array de descriptores pero incurre
en la ineficiencia de tener que copiar todo este array de
memoria de usuario a espacio de kernel. Por ltimo existe
una nueva implementacin de esta clase de funcin llamada
epoll() [13] que a da de hoy nicamente est disponible en la
rama 2.6 de GNU/Linux. La principal ventaja de esta funcin
frente a sus predecesoras se centra en que se ha hecho una
implementacin de complejidad O(1) en lugar de O(n) de la Fig. 4. Benchmark servidores Web. Cherokee utilizando un slo hilo.
4

La metodologa de funcionamiento consiste en separar dos en Software Libre. Las dos piezas fundamentales de la arqui-
roles dentro del servidor. En primer lugar, existe un rol de tectura son, un distribuidor de peticiones HTTP y un servidor
receptor de nuevas conexiones, que nicamente escucha el Web - Cherokee. El software para el balanceo de peticiones
socket del servidor en busca de peticiones que provienen de HTTP entre los distintos servidores web es Pure Load Balancer
algn cliente. En el momento que una conexin se establece, (PLB) [15]. En principio, PLB trabaja bsicamente como
examina los threads en busca del ms desocupado, asignando un servidor proxy, aceptando las peticiones de los clientes
esta nueva conexin a este hilo. Como segundo rol dentro del y retransmitindolas a los servidores que forman parte del
servidor se encuentran los hilos que atienden las peticiones. cluster, aunque no realiza tareas de caching de contenidos o
Por lo general, no deberan superar los 10 en un servidor re-escritura total o parcial de la cabecera enviada por el cliente.
que atienda una media de 500 peticiones por segundo. Como
se puede ver en la Figura 4, Cherokee obtiene un magnifico
rendimiento con cargas moderadas, de forma que el objetivo
a perseguir es la duplicacin de ese mismo comportamiento,
pero en esta ocasin de forma paralela.
Hay que tener en cuenta que en la paralelizacin del cdigo
anterior se crean secciones crticas, que deben ser conveniente-
mente aseguradas por medio de uso de mtodos concurrentes -
semforos, monitores, etc -. En la implementacin del servidor
se han reducido estas secciones crticas a tan slo dos en el
servidor completo: la primera en el manejador que distribuye
las conexiones entre los diferentes threads del servidor y la
segunda en el sistema de logging. El uso de las guardas
disminuye ligeramente el rendimiento que a priori parece
que podra ofrecer el servidor con ms de un hilo, aunque
porcentualmente no representa en absoluto una carga extra
importante.

Fig. 6. Diagrama de funcionamiento de un distribuidor de carga PLB

El la Figura 6 se puede observar la secuencia de paquetes


que intercambia el cliente con el balanceador de carga y ste
con uno de los servidores del cluster.
Hay que tener en cuenta que en estas transacciones se
utiliza HTTP tanto en la conexin entre cliente y distribuidor
de carga, como en la este ltimo con el servidor Web. El
balanceador de carga atiende la recepcin de peticiones como
si se tratase de un servidor web tradicional, y a continuacin,
establece una conexin con uno de los nodos que forman
el cluster. Esta forma de trabajar deja abierta la puerta a
Fig. 5. Cherokee utilizando epoll()
incorporar diferentes servidores Web al cluster, posiblemente
cada uno de ellos con una tecnologa y prestaciones diferentes.
Actualmente existen dos formas de utilizar Cherokee, con De esta forma, es posible ofertar un conjunto de servicios
poll() como funcin de inspeccin de descriptores, o con heterogneos y al mismo tiempo especializados desde lo que
epoll(). En caso de tratarse de epoll() el rendimiento se mantie- a los ojos de los usuarios parece un nico servidor web.
ne segn aumenta progresivamente el nmero de clientes del
sistema. En este caso, sera posible decrementar el nmero de
threads para contribuir a que se produzca el mnimo nmero IV-A. Propuesta de modificaciones del sistema propuesto
de bloqueos en las guardas de las secciones crticas. Como Tanto Cherokee como PLB son herramientas que se han
se observa en la Figura 5, epoll() no sufre el decremento desarrollado con el objetivo de proporcionar el mximo ren-
progresivo que se observa en la implementacin con poll(), dimiento posible. La primera propuesta de mejora de este
pudiendo reducir el nmero de hilos hasta el nmero de sistema consiste en aumentar la integracin de los programas.
procesadores en el sistema. Si Cherokee y PLB aumentan su integracin, sin perder
ninguna de las caracteristicas y funcionalidades de las que
IV. PROPUESTA DE ARQUITECTURA WEB ESCALABLE actualmente disponen, se podra aumentar el rendimiento del
Como ltimo punto de este artculo se va exponer la pro- conjunto mientras que se sigue proporcionando el mismo
puesta de una arquitectura Web escalable basada por completo grupo de servicios.
5

La propuesta de integracin consiste en mantener una cone- Cherokee; basado en un concepto de servidor hbrido que
xin permanende de PLB con cada uno de los servidores Web consigue unas altas tasas de rendimiento muy superiores a
Cherokee, de forma que no sea necesario crear una nueva co- las de otros servidores web existentes. Los resultados de las
nexin cuando el balanceador de carga ha recibido una nueva pruebas realizadas sobre la eficiencia de Cherokee muestran
peticin o cuando se realiza la desconexin del servidor Web al que supera entre un 60 % y un 90 % a Zeus Web Server.
balanceador. Si se aade esta nueva funcionalidad, se acortara Se han estudiado los diferentes factores que intervinieron
significativamente el camino crtico de las conexiones que se en el diseo de la arquitectura del servidor, as como los
realizan actualmente[1], y sera posible que PLB trabajase aspectos de su integracin con un balanceador de carga y las
con las conexiones HTTP/1.0, mientras que los servidores del posibles mejoras que se pueden realizar para que aumente el
cluster trabajaran con unas conexiones permanentes del tipo rendimiento de un cluster Web basado en esta arquitectura.
de HTTP/1.1 keep-alive. Trabajos recientes [16] indican que Todo el software necesario[14], [15] para la construccin de
a da de hoy en Internet an es ms utilizada la versin 1.0 un Cluster Web como los expuestos, es libre[19], as como los
de HTTP, as que esta mejora en la arquitectura del cluster cambios realizados sobre ellos durante el estudio y redaccin
mejorara significativamente el rendimiento final del conjunto. de este artculo.
Al mantenerse una nica conexin entre balanceado y servi-
dor [17], y debido a que cada servidor debe poder recibir cien- R EFERENCES
tos de peticiones simultneas por ella, es necesario introducir [1] Paul Barford and Mark Crovella, Critical path analysis of TCP
un sistema de multiplexacin tanto para las cabeceras como transactions, in SIGCOMM, 2000, pp. 127138.
para las respuestas del servidor. Un ejemplo de esta clase de [2] B. Devlin, J. Gray, B. Laing, , and G. Spix, Scalability terminology:
Farms, clones, partitions, and pack: Racs and raps, in Technical Report
implementaciones se puede encontrar en el protocolo FastCGI MS TR-99-85, Dec 1999.
[18], mediante el cual uno o varios servidores Web se pueden [3] Thomas T. Kwan, Robert McCrath, and Daniel A. Reed, NCSAs world
comunicar con diferentes conexiones con un nico proceso que wide web server: Design and performance, IEEE Computer, vol. 28,
no. 11, pp. 6874, 1995.
ejecuta un programa FastCGI. En este caso, se realizara una [4] Vivek S. Pai, Peter Druschel, and Willy Zwaenepoel, Flash: An efficient
operacin similar, encapsulando los datos intercambiados entre and portable Web server, in Proceedings of the USENIX 1999 Annual
Web Server y balanceador en una estructura que especifique a Technical Conference, 1999.
[5] Gaurav Banga and Jeffrey C. Mogul, Scalable kernel performance
qu flujo de informacin pertenece cada uno de los paquetes. for Internet servers under realistic loads, in Proceedings of the 1998
Una vez hayan llegado al balanceador, se ir retransmitiendo USENIX Annual Technical Conference, New Orleans, LA, 1998.
cada uno de los flujos de datos al cliente que los solicit a [6] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, and T. Berners-Lee, RFC
2068: Hypertext Transfer Protocol HTTP/1.1, Jan. 1997, Status:
travs de la conexin que estabeci con el balenceador. PROPOSED STANDARD.
La segunda propuesta de mejora consiste en la implemen- [7] Valeria Cardellini, Emiliano Casalicchio, Michele Colajanni, and Phi-
tacin de un mdulo de procesado de las peticiones entrantes lip S. Yu, The state of the art in locally distributed web-server systems,
.
para PLB. La funcin principal de este mdulo consiste [8] T. Brisco, RFC 1794: DNS support for load balancing, Apr. 1995,
en analizar las cabeceras de las peticiones aceptadas con Status: INFORMATIONAL.
dos objetivos bien definidos. En primer lugar, el analizar la [9] Anees Shaikh, Renu Tewari, and Mukesh Agrawal, On the effectiveness
of DNS-based server selection, in INFOCOM, 2001, pp. 18011810.
peticin con el objetivo de aumentar la seguridad del cluster; [10] Richard Gregory and Ladan Tahvildari, Architectural evolution: A case
si el balanceador detecta una peticin errnea, mal formada study of apache, .
o no permitida, la eliminar sin enviarla a ninguno de los [11] Adrian Cockcroft, Performance: Static or dynamic linking, in Sun
Microsystems: IT World, 2001.
nodos del cluster, de forma que estos no se puedan ver [12] Felix von Leitner, Scalable network programming, in Linux Kongress,
comprometidos por ella. La segunda funcionalidad adicional 2003.
del mdulo consiste en la especializacin de servicios en [13] Davide Libenzi, Epoll homepage, http://www.xmailserver.org/linux-
patches/nio-improve.html, 2001.
diferentes servidores del cluster. En el cluster pueden existir [14] Alvaro Lpez Ortega, Cherokee web server, http://www.0x50.org,
grupos de nodos especializados en ciertas tareas - por ejemplo, 2001-2003.
servicios multimedia, ejecucin de cdigo en el servidor, [15] Frank Denis, Pure Load Balancer homepage, http://plb.sunsite.dk,
2003.
servicio de contenidos estticos, etc. Si el balanceador de carga [16] Balachander Krishnamurthy and Craig E. Wills, Analyzing factors
analiza la peticin, es capaz de propagarla a uno de los nodos that influence end-to-end Web performance, Computer Networks
que puedan atenderla, eliminando as la necesidad de una (Amsterdam, Netherlands: 1999), vol. 33, no. 16, pp. 1732, 2000.
[17] J. C. Mogul, The Case for Persisten-Connection HTTP, in Digital
arquitectura de cluster en la que todos los nodos son iguales. WRL Research Report 95/9, 1995.
De esta forma, se puede plantear el Cluster Web como una [18] P. Simons and R. Babel, Fastcgi the forgotten treasure, .
entidad heterognea en la que conviven diferentes servidores [19] GNU, GNU homepage, http://www.gnu.org, since 1984.
web con diferentes tecnologas y servicios.

V. C ONCLUSIONES
En este artculo se han presentado los conceptos principales
tanto de diseo de servidores Web como de balanceo de carga
en Clusters Web, y se han expuesto las situaciones bajo las
que son preferibles unas u otras opciones. Por otro lado, se
ha mostrado un nuevo servidor Web de altas prestaciones,
Da 18-12.00h

Sala 2: Experiencias, Benchmarking y Estudios de Casos

Moderador Adolfo Borrero Director General Telvent

Participantes

Jos E. Marchesi GNU


Maciej Hapke Poznan University
Luis Miguel Cabezas Junta de Extremadura
Ferran Cabrer i Vilagut Muficata, S.L.
Angel di Geronimo Fujitsu - Siemens
Thorsten Schreler Independiente
Alejandro Carrasco Universidad de Sevilla
Olivier Bunouf Director de Desarrollo Software Libre. Director de
Proyectos WebCit
OPHELIA
Open Platform for Distributed Software Development

Maciej Hapke, Andrzej Jaszkiewicz, Krzysztof Kowalczykiewicz,


Dawid Weiss, Piotr Zielniewicz

Poznan University of Technology


Institute of Computing Science
60-965 Poznan, Poland
hapke@cs.put.poznan.pl

Abstract
This paper is a summary of the open source OPHELIA project, a tool integration open
platform for distributed software development. We present basic concepts of the
project and some of the novel approaches that proved to be interesting from software
engineering point of view. We describe projects outcomes and outline the key future
perspectives.

1. Introduction
Contemporary software development methodologies define numerous artifact types like error
reports, source code, schedules, test cases or documentation. Development tools aid in creating and
managing these software engineering artifacts. Unfortunately very often these tools are offered by
different software vendors and they vary significantly with the scope and functionality. They are
also specialized, offering aid in a specialized area of software engineering like requirements
management, software model design, project management, documentation management or risk
assessment and control. Finally, it is a rare case for a software vendor to offer a broad range of
tools for all of these different domains that could cooperate and exchange information across
between different project areas.
Meanwhile one of the most frequent problems with software development is the lack of consistency
between its artifacts. For example, keeping source code and UML model in sync is a nightmare of
every programmer unless the case tool has reverse engineering capabilities and integration with an
IDE environment. The same problem applies to updating documentation, test cases, schedules and
other project elements. It is in general the problem of reacting to changes introduced to the project
and propagating those changes on related elements. The additional effort this operation requires,
unless supported by integrated tools, is usually higher than the payoff; that is the main reason most
software projects abandon documentation and UML models at certain point of complexity or their
lifecycle. Tight development tools integration can help in keeping the software project consistent
and prevent proliferation of redundant (and obsolete) project artifacts by automating some of
tedious tasks related to change propagation and notification. Unfortunately, what we have already


http://www.opheliadev.org OPHELIA has been jointly developed by a consortium of academic and
industry partners and co-funded by the 5th FP of EU.
pointed out, most software vendors provide specialized, black-box products that lack wide
integration facilities.
All these problems need resolution to improve the way software projects are run. Two possible
approaches could be distinguished. One of them is to develop a set of tools that build complete
unified and distributed environment for managing all software artifacts. Some vendors already
provide solutions of such flavor [WWW2003a,c,d]. Commercial software packages are usually of
limited availability to small or mid-size companies because of their price (on the other hand, one
could argue whether such small companies really need complex distributed development aid).
Open source packages and solutions, such as [WWW2003c] require shifting the development
process to specific tools, which is sometimes an obstacle.
An alternative approach is to develop a framework that could bring together existing software
development tools from different domains and create an abstraction layer consolidating them and
adopting them for use in an enterprise environment. The abstraction layer here would not only
create a bundle of different tools, but also provide a global view of project artifacts, regardless of
the tool used to create them, and an additional functionality of relationship tracking and event
notification. The OPHELIA project is an example of this second approach.
The OPHELIA project has been created and developed by a number of partners from software and
academic fields. Our work and contribution to the project has been focused on creating traceability
subsystem and integrating it with change notifications. The challenging task was to define the level
of inter-artifact links on the abstract level that OPHELIA provides, without the knowledge of what
the underlying tools might be.
In the following part of this paper we describe the basics of the OPHELIA project and our
experiences with the abstract tools layer and tools integration. Chapter 2 compares several existing
approaches to tools integration. Chapter 3 describes the OPHELIA project approach in more
details, presenting basic architecture, components and integration strategies. The following chapter
outlines possibilities the OPHELIA technology could enable a new class of tools making use of
the abstract access layer to project artifacts. Chapter 5 presents an implementation of OPHELIA
technology Orpheus solution that has been developed to prove the concept. Chapter 6 presents
project curriculum and concepts evolution throughout the project period followed with the chapter
on future plans and perspectives for continuing project effort.

2. Other development tools integration efforts


There are already some solutions on the market that provide different software engineering tools
integration in more-or-less limited form. Feature comparison matrix has been shown in the Table 1.

2.1. Rational Suite


Rational Suite [WWW2003a] is a toolset including acclaimed modeling and requirements
management applications. The suite includes most of the software engineering tools developed by
Rational. As a toolset provided from a single vendor the integration between different applications
is very tight. They share their data, allow relationship tracking and provide some traceability
services. With software configuration management mechanisms provided the toolset supports
distributed development.
Rational Suite is one of the most mature solutions on the software engineering tools market. Years
of development made this environment industry standard. Unfortunately price of this solution is
quite high and may not be acceptable for many, especially mid- and small software companies.
2.2. Eclipse
Eclipse [WWW2003b] is a development environment created initially in IBM laboratories and
contributed as free, open-source product to the developers community. This tool represents new
approach to the IDE (Integrated Development Environment) concept. Eclipse is rather a platform
for embedding different tools, not only purely development-related, but also for modeling,
configuration management, documentation generation etc.
The Eclipse project has been widely acclaimed and has been in active development ever since its
public release by IBM. Many new plug-ins appear, both free ones and commercial. It seems to be a
very good platform for building toolsets and integration services. At the time of writing, distributed
development is supported in this platform only using common versioning repository for
development files.

2.3. Sourceforge Enterprise


Sourceforge website [WWW2003c] became recently one of the centers of open-source
development. Its services host over 60000 projects (May 2003).
A version of Sourceforge called Sourceforge Enterprise [WWW2003d] is available for commercial
institutions. It consists of a web-based collaboration environment extended with project
management, requirements tracking and several other software engineering modules.

2.4. Feature comparison


Table 1. Comparison of tools integration solutions
Feature OPHELIA Rational Eclipse Sourceforge
(Orpheus) Suite Enterprise
Open integration platform Yes No Yes No
Open source Yes (except No Yes (with Yes/No
of project many
management commercial
module) plug-ins)
Distributed development Yes Yes No Yes
Requirements management Yes Yes No Yes *
Project management Yes No Yes * Yes
Bug/issue tracking Yes Yes Yes * Yes
Repository access Yes Yes Yes Yes
Relationship tracking Yes Yes * No Yes *
Modelling support Yes Yes Yes * No
Metrics support Yes Yes No Yes *
Development environment Yes * Yes Yes No
Testing support No Yes Yes * No
Process definition Yes * Yes No Yes
* - limited support
3. OPHELIA open environment of tools integration,
unification and abstraction
The aim of the project is to build a unified software engineering tools integration technology. The
concept behind the project involves defining standardized set of interfaces abstracting
functionalities of different kinds of software development tools. These unified interfaces are access
points to the specific tools behind them. This abstraction layer would make OPHELIA environment
adaptable to any set of tools. To maintain implementation language independence CORBA
technology has been chosen for defining these interfaces.
A number of most popular tools categories have been chosen and for each of them a CORBA
interface has been defined representing its common internal object model. All these interfaces
define the OPHELIA technology. They are described in a set of documents called Module Interface
Specification. Base OPHELIA technology includes the following MIS documents:
Kernel Services Module Interface Specification
Requirements Module Interface Specification
Modeling Module Interface Specification
Project Management Module Interface Specification
Metrics Module Interface Specification
Bug Tracking Module Interface Specification
Repository Module Interface Specification
Knowledge Management Module Interface Specification
Traceability Module Interface Specification
Notifications Module Interface Specification
Depending on the software configuration in a given environment, suitable OPHELIA instances
could be created. As different tools may expose different set of functionalities the effort needed to
OPHELIA-enable them may differ. The approach is to develop a plug-in that exposes applications
functionalities through CORBA interfaces. Because each OPHELIA module becomes in the end a
server of a certain artifact type, the underlying tools must have the ability to work in client-server
mode. For desktop tools missing this functionality, an additional effort is required to develop the
server part of such software. These approaches are summarized in the Table 2.
Table 2. Integration of development tools with OPHELIA platform
Type of tool Steps needed to integrate into OPHELIA
Desktop tool Server component needs to be written (or reused)
implementing appropriate MIS interface.
Plug-in for the software needs to be written to communicate
with the server.
Client-server tool Plug-in for the server part of the software needs to be written
implementing MIS interface.
Web tool Adapter needs to be written to access the data in the tools
database through modules MIS interface.

To enable multi-project and multi-user environment additional interfaces have been defined for
managing projects and user accounts as well as security mechanisms. These compose OPHELIA
kernel services interfaces. The architecture of an OPHELIA solution is presented in Figure 1.
OPHELIA Services Layer
Notification Traceability Knowledge Integrator Metrics
Services Services Management

Requirements Modelling Bug tracking


interface interface interface

OPHELIA Module Interfaces Layer


Abstract
Tool
Services
Requirements Modelling Bug tracking
tool tool tool

OPHELIA Kernel Services

Figure 1. Architecture of OPHELIA platform

Summarizing OPHELIA itself as a technology is only composed of several CORBA interfaces that
should be implemented to build OPHELIA instance. In other words, OPHELIA technology could
be compared to a bus in computer architecture forming a base for co-operation of various modules.

4. OPHELIA services utilizing tools abstraction


With different tools interfaces defined, new services can be built on top of the existing abstraction
layer. These services do not need to rely on any particular tools that lay behind these interfaces.
This abstraction creates uniform view on the software artifacts and possibilities emerge to create
new kinds of services [KOW2002]. A few of such possible services are listed in this chapter.

4.1. Integrators
An example of the new service type that can be built using OPHELIA technology is an integrator-
type application. Such application can extract data from one tool (using its OPHELIA interface),
process it automatically or semi-automatically (with user assistance) and create new project
artifacts utilized by different tool type. This type of operation facilitates transferring data from one
type of tool to another while minimizing the human effort required for such task.
An example of such integrator software could be a wizard that migrates the requirements defined
in the project directly to use cases within the modeling tool. Depending on the software process
reverse action could be taken as well. Another example of such integration process is an integrator
for creating schedule tasks using information about classes and use cases. Relationships defined
within modeling tool between these objects affect precedence constraints of the tasks created
[HAP1999], [HAP2000]. Integrators that only migrate the data are of course of limited usefulness
since they amplify data duplication and synchronization problems mentioned at the beginning. We
think that once we have the abstraction layer, the integrators can be pushed further toward
intelligent, automated synchronization agents. These, working behind-the-scenes, agents would be
responsible for keeping artifacts in sync among all components of an OPHELIA instance.
4.2. Abstract Tool Services
The MIS interfaces define a unified and public way of accessing project artifacts. With this
transparent layer it is possible to provide services for tracing relationships and receiving events
from any project element, regardless of the tool used to create or maintain it. Within OPHELIA this
layer is called an ATS (Abstract Tool Services). Using the ATS services it is possible to retrieve
basic artifact properties and subscribe to events fired from it. The ATS forms the base for other
OPHELIA services.

4.3. Traceability
Traceability is one of the key aspects of the OPHELIA project. Traceability involves defining and
managing relationships between any kinds of objects in the OPHELIA environment. This
constitutes a brand new value in a distributed multi-tool environment.
Table 3. Types of relationships in OPHELIA
Type of relationship Description
Internal explicit Some tools may manage relationships between their
objects internally. To maintain their usefulness they
should be transferred into OPHELIA traceability
services in order to make them propagable.
External implicit This kind of relations is created automatically by
integrator-type applications. Any integrator used to
transfer data from one tool to another should create
traceability links between the items transferred.
External explicit Traceability services allow defining explicit
relationships. It is possible to select any two objects and
create a traceability relationship propagating or not
propagating the events.

With traceability relationships defined it is possible to determine the impact potential changes may
have on the project by analysis of the graph of affected objects. Moreover it is possible to use
traceability relationships to propagate events and supply consistency warnings to items (and users
responsible for these items) that may be potentially involved in the change propagation chain.
All the objects in the OPHELIA environment and the relationships defined within traceability
service make a global traceability graph of the project. This graph includes several types of
relationships, which may be created in different ways (see figure 3).

4.4. Notifications
Using the notification service one can subscribe and receive information about any changes made
to a particular project artifact. Artifact owners and managers can track the changes on objects and
the set of depending objects easier than it was the case when performed manually. An example of
such process could be a requirement change that is propagated through previously defined
traceability links to the related use cases and then to their implementation files. This way a
developer in charge of a given implementation file gets a notification when requirement is changed.
We have found out that the fact that no change to an artifact or its dependency graph gets unnoticed
is both an advantage and a potential problem. When pushed to the extremes, the number of
notification can exhaust any users patience limits A careful study of usability of notifications
and traceability links is scheduled as part of the OPHELIA project, but the results are currently not
yet available.

4.5. Knowledge management


Knowledge management module allows the user to search project artifacts of different types
according to various search criteria. It monitors also changes made in projects artifacts and update
projects documentation after each change. If automatic documentation generating facilities are
available, this results in always up-to-date documentation available to project stakeholders.
What is particularly beneficial and distinguishes the OPHELIA project is that the documentation is
generated using the ATS services, so the documentation-engine has no knowledge of what exact
tool type it is accessing or how the artifact should be documented (the module that manages that
artifact knows these facts).

4.6. Metrics
Unified events management in OPHELIA environment allows building software which can
monitor these events and perform certain operations when predefined actions happen. An example
of such a service can be an event-driven metrics services. Such services may monitor artifacts that
are used for calculating project metrics. With any depending artifact changed or added, the metrics
daemon receives an event notification and may recalculate metric value to its current state. It could
be even possible to define alert thresholds that would notify project managers if the threshold is
exceeded (for example, when module-cross-references exceed a given level).

5. Orpheus OPHELIA solution example


One of the key tasks for the OPHELIA project was to create an instance of the OPHELIA
technology. Example implementation was assumed to use free, open-source tools where possible. If
such tools had not been available, they were to be developed. Commercial tools could be used as a
last resort. To present the diversity of approaches for integrating different tools into OPHELIA
solution the Orpheus system has been proposed. The components of this solution are presented in
the Table 4.
Table 4. Orpheus solution components
Tool type Orpheus implementation
Kernel services custom implementation (free, open-source)
Requirements management DRES (custom implementation, free, open-source)
Modelling ArgoUML (free, open-source)
Project management Microsoft Project (commercial)
Bug tracking Bugzilla (free, open-source)
Metrics The Metrix (custom implementation, free, open-source)
Repository CVS (free, open-source)
Knowledge management (custom implementation, free, open-source)
Traceability Traceplough (custom implementation, free, open-source)
Notifications (custom implementation, free, open-source)
Integrators Modeling Project Management Integrator
(custom implementation, free, open-source)
Portal custom implementation based on Apache Jetspeed
(free, open-source)

Additionally, several utility software components have been developed to help future OPHELIA
solution developers with their work. For instance, common storage repository has been developed
to supply versioning XML storage facility for any tools not offering server counterpart.
To provide unified front-end for the users utilizing Orpheus solution a web-based portal application
has been proposed. It provides users with a common startup point for their daily operations with
Orpheus.

6. Project curriculum summary


The OPHELIA project is a joint research, development and evaluation effort. The intent was to
provide OPHELIA technology specification, develop example solution that relies on this
technology and then evaluate the product created in the software development companies there
were part of the project consortium.
The project started in September 2001 with a debate on the OPHELIA architecture. Few
approaches have been identified and discussed upon. These finally transformed into two alternative
architectures to choose from. The first one was based on a centralized repository of all software
artifacts. This repository would take care of events management, change detection and would
provide common storage facility for all the modules. The second approach was to create a more
distributed infrastructure with the tools utilizing their own storage facilities where applicable.
OPHELIA interfaces would be implemented not by the repository, but by the server counterparts of
the tools. As can be concluded from the architecture description in the previous chapters, the
second approach has been finally chosen in December 2001.
Soon after the architecture debate new concepts arose to supply functionalities not described in the
initial project description. It turned out that the modules abstraction OPHELIA will provide can be
utilized to create new services for managing inter-object relationships and events management.
This is how traceability and notification services concepts started in early 2002. Later, a portal
application has been proposed to provide a front-end for the Orpheus user.
In the spring of 2002 module interface specification documents were prepared including initial
interface definitions Orpheus solution should implement. It soon turned out that one of the major
issues with these specifications is a level of objects granularity they should provide. At this stage
events management facilities have been decided to include in the interface specifications.
Major development effort was conducted during summer 2002 resulting with early alpha version of
the Orpheus solution in autumn 2002. Further development had led to the beta version released
during spring of 2003.

7. Future plans
The consortium plans to continue efforts to popularize the OPHELIA technology. Consulting
services for companies desiring to adopt the technology are planned as well as supporting broader
range of tools. The software created with the project effort will be free and will be contributed to
the open-source community.
Starting from the beginning of the OPHELIA project it was obvious that this technology opens new
possibilities for managing software projects and for developing new services utilizing software
artifacts abstraction. Soon the scope became too broad and some of the aspects have been excluded
from the OPHELIA project.
Members of the consortium have further research and development plans on extensions to
OPHELIA platform. The potential research topics are:
New tool types specifications (risk management, workflow, testing)
Intelligent project monitoring software, detecting process disturbances, management
reporting
Workflow integration and process definition facilities
Integrating with IDEs, e.g. Eclipse [WWW2003b] development platform
Migrating to alternative distribution providers (web services)

8. Summary
The assumptions and achievement of OPHELIA project have been presented. OPHELIA platform
constitutes a new approach to software development tools integration in distributed environment.
Its main advantages are openness, low cost, support for distributed work in decentralized
environment and the additional functionality like event-driven metrics or traceability, provided on
top of the existing software development tools.
Within OPHELIA project a specific instance of OPHELIA technology, called Orpheus, has been
built. It is expected, that, in the future, further solutions, both open-source and commercial, based
on OPHELIA technology should be developed.
To some extend OPHELIA platform is a competitor to other development tools integration systems
(see chapter 2). At the same time, however, due to distinct and often complementary approaches
used in OPHELIA platform and other systems, new promising paths for further integration appear.
For example, OPHELIA based solutions may be integrated with open IDEs, e.g. Eclipse. Existing,
closed collaborative development environments, e.g. Sourceforge, may re-use OPHELIA
technology in order to assure openness of their systems and take advantage of some
OPHELIA-specific tools like traceability.

References
[BOL2003] Boldyreff C., Dewar R., et al., Environments to Support Collaborative Software
Engineering. 2nd Workshop on Cooperative Supports for Distributed Software
Engineering Processes, Benevento, Italy, March 25, 2003.
[DEW2003] Dewar R., Smith M., et al., The OPHELIA Traceability Layer. 2nd Workshop on
Cooperative Supports for Distributed Software Engineering Processes, Benevento,
Italy, March 25, 2003.
[HAP1999] Hapke M., Jaszkiewicz A., Kominek P., Integrated tools for project scheduling
under uncertainty (in Polish). Proceedings of 1st National Conference on Software
Engineering, Kazimierz Dolny 11-13.10.1999, Informatyka Stosowana S4/99,
Politechnika Lubelska, 65-76.
[HAP2000] Hapke M., Kominek P., Jaszkiewicz A., Slowinski R., Integrated tools for software
project scheduling under uncertainty. In: P. Brucker, S. Heitmann, J. Hurink, S.
Knust (Eds.) Proc. 7th Int. Workhop on Project Management and Scheduling
PMS'2000, Osnabrueck, Germany, April 17-19, 2000, pp.149-151.
[HAP2001] Hapke M., Jaszkiewicz A., Perani S.: OPHELIA - Open platform and
methodologies for development tools integration in a distributed environment.
Proceedings of 3rd National Conference on Software Engineering,
Otwock/Warsaw, p. 189-198.
[KOW2002] Kowalczykiewicz K., Weiss D., Traceability: Taming uncontrolled change in
software development. Proceedings of 4th National Conference on Software
Engineering, Tarnowo Podgrne, Poland, 2002.
[WWW2003a] http://www.rational.com/products/entstudio/index.jsp
[WWW2003b] http://www.eclipse.org
[WWW2003c] http://www.sourceforge.net
[WWW2003d] http://www.vasoftware.com/products
Open Source Software (OSS) within organization
Critical factors for consulting

Thorsten Scherler, thorsten@apache.org


Alcntara sistemas de informacin, S.L.

1 Introduction
The consultation of enterprises and organizations regarding the correct implementation of modern

information technology is an important segment on the modern consulting market. The main focus of

this work is to conduct the consultation in consideration of the topic Introduction of Open Source e-

Business Technologies.

Michael Porter identified a set of interrelated generic activities common to a wide range of firms and

organizations. The resulting model is known as the value chain1. Due to limited budget funds more

and more enterprises are designing their value chain more cost-effective by using web based

systems. To conduct business on the Internet is called e-business (electronic business). It refers to

not only buying and selling but also servicing customers and collaborating with business partners

over a web based system. Mostly all parts of the value chain can be supported by e-business

technologies. To further reduce the costs this e-business technologies should be Open Source.

Consultant
2 Consulting

The consultation contains the actors


Client Solution provider

shown in drawing 1 and should be Business system


e-business consulting
conduct with standardized methods to be
Drawing 1 Business system "e-buisiness consulting"
objective. This model takes in

consideration that the consultant do not have to be a solution provider (companies specialized with

implementation). This is even better for the objectivity of the deduced solution. Using e-business to

consult e-business would mean to conduct parts of the consulting process (standardized methods)

over a web based system which will reduce the costs for the consultation itself.

1Porter, M.: Wettbewerbsstrategien (competitive strategy) Methoden zur Analyse von Branchen und Konkurrenten , 7.
berarbeitete und erweiterte Auflage, Campus Verlag, Frankfurt/Main, 1992
Different consulting companies use different procedure models for their consultation process. As well

different authors propose different models. Strasser2 divides the chronology of the consultation

process into the following three phases which can be found in almost all procedure models:

t- time

Initiation Execution Final stage


The client becomes beware that he The consultant collects information The client decides
needs a consultation and contacts an about restrictions. He then optimize about the proposal
consultant. The consultant analyze which the processes and is looking into and the consultation
fields of the client should be remodeled different software solutions. ends.
and supported by web based systems.

Table 1 Phases of the consulting process

2.1 Initiation

The relative position within its industry determines whether a company's profitability is above or below

the industry average. The fundamental basis of above average profitability in the long run is

sustainable competitive advantage3. There are two basic types of competitive advantage an

organization can possess: low cost or differentiation. To analyze the specific activities through which

organizations can create a competitive advantage it is useful to model the organization as a chain of

value-creating activities1. The following procedure model presumes that an analysis of the value chain

can deduce general functionality for a software solution. This functionality has to be included in the e-

Business technologies that a solution provider offers.

Support Activities
pr
Procurement ofi
tm
Technology Development ar
gin
Human Resource management
Firm Infrastructure
gin
ar
Inbound
Operations
Outbound Marketing
Service fi tm
logistics logistics Sales o
pr
Primary Value Chain Activities

Drawing 2 Value Chain

2Strasser, H.: Unternehmensberatung aus Sicht des Kunden, Schulthess, Zrich, 1993
3Porter, M.: Wettbewerbsvorteile (competitive advantage) Spitzenleistungen erreichen und behaupten, 5. berarbeitete und
erweiterte Auflage, Campus Verlag, Frankfurt/Main, 1999
Activity Primary activities Support activities
Goal Create value that exceeds the cost of providing Facilitate the primary activities
the product or service, thus generating a profit
margin.
Activities Inbound logistics include the receiving, Procurement - the function of
warehousing, and inventory control of input purchasing the raw materials and
materials. other inputs used in the value-
creating activities.
Operations are the value-creating activities
that transform the inputs into the final product. Technology Development -
includes research and
Outbound logistics are the activities required development, process automation,
to get the finished product to the customer, and other technology development
including warehousing, order fulfillment, etc. used to support the value-chain
activities.
Marketing & Sales are those activities
associated with getting buyers to purchase the Human Resource Management -
product, including channel selection, the activities associated with
advertising, pricing, etc. recruiting, development, and
compensation of employees.
Service activities are those that maintain and
enhance the product's value
including Firm Infrastructure - includes
customer support, repair services, etc. activities such as finance, legal,
quality management, etc.

Table 2 Value chain description

Michael Porter identified the value chain1 which can be seen in drawing 2 as a standardized method.

The elements of the value chain are explained in table 2. The consultant will conduct a scan of the

internal and external environment of every element (primary and support) to know, which processes

of the company should be remodeled and supported by e-business technology. Such an analysis of

the strategic environment is referred to as a SWOT analysis. The SWOT analysis provides

information that is necessary in matching the firm's resources and capabilities to change within the

competitive environment in which it


Environmental scan
operates. The consultant has to identify
Internal Analysis External Analysis the activities where the opportunities and

the strengths exceed the weaknesses and


Strengths Weaknesses Opportunities Threads
the threads.
Drawing 3 SWOT - Analysis
2.2 Execution

The activities where the benefits exceeds the costs should be supported by e-business technology.

This activities have restrictions on the resources and the capabilities of the internal processes. This

restrictions can be mapped to the functionality a software have to provide. Knowing this functionality

the consultant has to look for alternatives that exists in the market. He will have to contact solution

provider to analyze which software offers the necessary functionality. The final step of the execution

phase is to evaluate the cost and the benefits of the software alternatives.

The main difference between open source and proprietary software for the consultation is that there

are a lot of solution provider for proprietary software and only a few for OSS. This is changing today

where for example the MySQL AB4, who holds the source code for the MySQL database, offers

certification, training and a list of solution provider which can help by implementations. The same

services offers the JBoss Group5 which announced a strategic alliance with MySQL4. JBoss is a J2EE

based application server certified by Sun6. The last example is Orixo7, a business alliance of

European companies specialized in building and supporting enterprise XML solutions around Open

Source technologies. All these companies that have been mentioned are part of an active healthy

open source community. This is a very important aspect for the quality and long run of a software

alternative. To show this importance a short historical overview over open source will be given at the

end. The consultant should have a list of solution provider (experienced in the implementation of open

source software) which he can contact to get information about software functionality and the

community. The consultant should have as well experience with open source communities to evaluate

the health of the proposed software in communities aspects.

2.3 Final stage

The presentation of the deduced solution should include a cost effectiveness analysis for the

software. In case of an open source software the proposal has also to include a SWOT analysis of the

community behind the software. In combination of the evaluation of the cost and benefits of the

alternatives the client can make his decision based on an objective proposal.

4http://www.mysql.com/
5http://www.jboss.com/
6http://www.jboss.org/services/press/j2eecert.pdf
7http://www.orixo.com/
Excursus - Open Source

Although it is widely discussed, many people remain confused by just what open source software

(OSS) is. The key feature which differentiates an open source product from a commercial software

product is that the source code is made freely available and can be modified and altered at will by

individual users8. This has three important consequences. Firstly, there is no charge for the basic

software, since anyone can access and compile the code. Secondly, bugs in the software can be

identified by any of its users, and can be fixed instantly. Thirdly, users have total freedom in modifying

the product to fit their individual needs better.

That there is no charge for the basic software does not mean that there are not any costs. The

learning curve, a graph showing some measure of the cost of performing some action against the

number of times it has been performed9, to adapt to an open source product or to get information of

its functionality is normally signed by higher costs (time) in comparison to a proprietary product. This

is due to the fact that there are less solution providers who could help by either an implementation or

a consultation about the functionality of the software. A healthy community around the open source

product is a very important aspect as well because the history of open source is closely connected to

a working software, information and knowledge sharing community.

Excursus - Unix

The history of Open Source is closely tied to the history of UNIX and GNU / Linux. Open source has a

long history that goes back to the creation of UNIX (1969) and further. Traditionally, hardware

vendors like International Business Machines (IBM) delivered the source code for the operating

systems of their early computers with the shipment of the machine. Furthermore, computer

manufacturers actively encouraged users to share improvements to the software out of a belief that it

would help save support costs. This belief changed only gradually with the advent of UNIX10. In

October 1973 UNIX became popular in the field of computer science, but it was created 1969 in AT&T

Bell Laboratories like Ritchie11 stated. AT&T had been convicted of antitrust violations in 1956,

prohibiting it to start any other business than telephone or telegraph services.

8 http://web.zdnet.com.au/special/government/story/0,2000056052,20278285,00.htm
9http://www.hyperdictionary.com/computing/learning+curve
10http://citeseer.nj.nec.com/cache/papers/cs/27173/http:zSzzSzopensource.mit.eduzSzpaperszSzrotfuss.pdf/a-framework-for-
open.pdf page 11
11http://cm.bell-labs.com/cm/cs/who/dmr/hist.html
After people outside the company had started to get interested in the operating system AT&T had to

avoid any conflict with the decree. Their policy was to license the software (allowed by the decree) but

not to pursue software as a business. UNIX was provided [a]s is, no support, payment in advance

Without support and bug fixes the growing community of UNIX users was forced to help themselves.

They started to share ideas, information, programs, bug fixes, and hardware fixes. User groups were

created wherever UNIX was introduced.

Excursus - GNU / Linux

The following quotations are taken from DiBona12. Starting his job at the MIT Artificial Intelligence Lab

in 1971, Richard Stallman joined a software sharing community that had existed for many years.

Anytime you stumbled over an interesting program you asked the creator for the source code and

read it, changed it or used parts of it to write a new program. Unfortunately, the model was

discontinued in the early 1980s, all the created programs were unusable as they were written in

assembler language and computers of that era had their own proprietary operating systems. [Y]ou

had do sign a nondisclosure agreement even to get an executable copy. He did not want to join the

proprietary software world, signing nondisclosure agreements and promising not to help [his] fellow

[programmer]. So he was looking for a possibility to be a programmer and work on the establishment

of a new cooperative community. He decided that the crucial component was an operating system as

you cannot use a computer without it. He chose to make his new system compatible with Unix.

Therefore he called his new project "GNU" which stands for the recursive acronym "GNU is Not Unix"

and coined the term "free software" in opposition to proprietary software. The "GNU General Public

License" (GPL) is based on a method called "copyleft" and is used to keep software free. In order to

speed up the project he decided to adapt existing components of free software wherever it was

possible. People started using single finished components on the various compatible Unix systems.

"By 1990, the GNU system was almost complete; the only major missing component was the kernel."

Fortunately, Linus Torvalds started to develop his own Unix-compatible kernel "Linux" in 1991. An

important aspect was that Torvalds provided Linux under copyleft and invited anyone to help him

develop and improve the kernel. The developer community grew quickly with the help of this

extraordinary development model and the used infrastructure, the Internet.

12DiBona,C. et al. (editors): Opensources - Voices from the Open Source Revolution, 1999, O'Reilly & Associates Inc.,
Sebastopol
Da 18-16.00h

Sesin Auditorio: Modelos de Negocios, Servicios, Marco Legal

Moderador Adolfo Hernndez Director General Sun Microsystems

Participantes

Julio Yuste Junta de Extremadura


Enrique Lpez Gerente CASSFA
Carlos Milchberg Responsable I+D Open Source- Bull
Sergio Montoro Knowgate
Rafael Fernndez Calvo Univ. Pont. Comillas, Director de la revista
Novtica
Javier Aragons Abogado Surez de la Dehesa & Sainz Dochado
Alfredo Romeo Director General Open Service
hipergate: Software Libre en la Empresa
Propuesta de Ponencia para la Conferencia Internacional de Software Libre 2004

Ponente:
Sergio Montoro Ten
KnowGate
Consejero Delegado
C/Oa, 107 12 28050 Madrid
Tel. 913022180 Fax 913834323
sergiom@knowgate.com
www.sergiomontoro.net
www.hipergate.org
www.knowgate.es

Resumen
Esta ponencia trata de los aspectos que propician y frenan la adopcin del software
libre en las empresas. Est dividida en 5 apartados: 1) situacin general del software
libre vs. software propietario, 2) factores a favor del software libre, 3) factores en
contra del software libre, 4) presentacin de la plataforma hipergate como ejemplo
concreto de software libre adaptado al entorno empresarial, 5) conclusiones.

1 Marco actual del software libre vs. propietario para uso empresarial
Si se compara la distribucin de mercado entre software libre y software propietario, se
aprecian importantes diferencias.

En software libre hay unos pocos programas dominantes muy extendidos: Linux, BSD,
Apache, Mozilla, PHP, PostgreSQL, MySQL, phpMyAdmin, AWStats, JBoss, Compiere,
phpNuke, Zope y algunos ms. Estos paquetes ejercen un dominio casi absoluto de la cuota
de su mercado. A continuacin existen una enorme cantidad de software sin terminar, mal
documentado, poco estable o en fase de declaracin de intenciones; de escaso o nulo valor
para su explotacin en real.

En software propietario, Microsoft domina las aplicaciones de escritorio, pero en otros


mbitos el mercado est repartido habiendo varios contendientes con cuotas significativas de
mercado en cada nicho: iPlanet, WebLogic, WebSphere, Oracle, SQL Server, DB2, SAP,
PeopleSoft, Vignette, BroadVision, etc. Y pequeos jugadores muy especializados: TIBCO,
WebMethods, Tamino, etc.
La diferencia, desde el punto de vista del comprador, es que el software propietario ofrece
muchas alternativas desde los paquetes grandes de amplia cobertura funcional hasta los
super especializados. El software libre, por el contrario, slo dispone de un nmero muy
limitado de opciones razonables, individualmente muy buenas pero sin posibilidad de
alternativa.

Por otra parte, Linux ha calado tan profundo, que cuando se habla de software libre
frecuentemente se asocia inmediata e irremediablemente con Linux. Con independencia de
gran valor de Linux, esto es una idea que no contribuye a la difusin del concepto de
software libre. En el futuro ser posible obtener versiones open souce de Solaris y, casi con
certeza, de todas las variantes de UNIX que no quieran desaparecer.

2 Factores a favor del software libre

Cero coste en licencias


Es un hecho prcticamente indudable que el software libre ha calado antes en la
administracin pblica que en la empresa privada porque el nmero de licencias a comprar
para un proyecto de mbito nacional es mucho mayor que para un proyecto privado. Cuando
se trata de comprar un milln de licencias incluso un coste mnimo de 10 por licencia
supone un gran desembolso total recurrente ao tras ao

Estabilidad y Fiabilidad
Algunos de los programas decanos del software libre, son indiscutiblemente los ms robustos
y mejor testeados, empezando por la pila de TCP/IP base de todo Internet. Sin embargo, la
calidad de la oferta es desigual y en pocas ocasiones se percibe el software libre como ms
fiable que el propietario.

Rpida Solucin de Incidencias


Histricamente se ha demostrado que las comunidades de software libre reaccionan ms
rpidamente ante bugs serios (hasta 5 veces ms rpido que las mejores empresas). En el
peor caso siempre es factible tomar los fuentes y corregir el error uno mismo, algo imposible
con software cerrado.

Mano de obra ms barata


Cada vez es ms sencillo conseguir mano de obra con formacin en software libre. Esto
reduce la necesidad de inversiones en formacin en las empresas y reduce los precios de los
servicios profesionales.
Tecnologa punta
Muchos de los desarrollos experimentales ms avanzados son software libre. De hecho si
uno examina la mayora de los paquetes comerciales es fcil darse cuenta de que estn
construidos sobre una sorprendente cantidad de software libre reciclado. Usar software libre
puede ser una fuente de ventaja competitiva para aquellos adoptadores que basen su oferta
en la disponibilidad de tecnologa puntera antes que su competencia.

3 Factores en contra del software libre

Curva de aprendizaje
Quiz el principal factor que sigue impulsando la adopcin de paquetes propietarios en
nuevos proyectos es que dichos productos son, en general, ms fciles de aprender y de
utilizar. Por ejemplo, cuando llega la hora de una evaluacin tcnica es mucho ms sencillo
aprender a utilizar desde cero Weblogic Workshop que una combinacin de Tomcat, Struts y
JetSpeed, aunque el modelo conceptual de ambos sea el mismo. En ltimo trmino esto
motiva que los prescriptores sientan que les ser ms fcil desarrollar con software
propietario que con herramientas libres.

Inercia
No hay que olvidar que el software libre es algo relativamente nuevo. Muchos programadores
y administradores de sistemas veteranos se sienten ms cmodos con sus sistemas
propietarios de siempre.

Carencia de un modelo de negocio para los intermediarios tecnolgicos


Los clientes necesitan servicios profesionales externos para el desarrollo e implantacin de
proyectos y las compaas que proveen estos servicios necesitan un modelo de negocio que
les reporte buenos beneficios. Actualmente las grandes consultoras negocian macro-
contratos de distribucin con los principales fabricantes norteamericanos. Estos contratos
proporcionan comisiones a las consultoras junto con elevados mrgenes en servicios de
personal especializado en cada producto muy difcil de conseguir en el mercado.
En muchas ocasiones las consultoras perciben el software libre como una amenaza y
disuaden al cliente de su uso porque democratiza el mercado (Bjarne Stroustrup dijo en una
ocasin que invent C++ porque los salarios de los programadores de C estaban empezando
a caer).
Como excepcin a lo anterior, existe un mercado que si est creciendo sobre software libre
que es el de la formacin, especialmente sobre Java, XML y Linux.
Ausencia de un canal comercial
Un producto requiere de canales comerciales para su difusin. Los productos americanos de
mayor tamao irrumpen en el mercado con campaas de marketing muy agresivas que
captan la atencin de los usuarios y desarrollan poderosas redes de partners.
Comparativamente, el software libre basa su difusin en las comunidades de usuarios, pero
las comunidades son intrnsicamente incompatibles con los departamentos de empresas
rivales, que deben ocultar sus conocimientos y progresos a la competencia.

Falta de soporte
Es un efecto secundario de la carencia de un modelo de negocio claro para los
intermediarios y de canales comerciales bien desarrollados. La mayora de los responsables
de toma de decisiones no pueden arriesgar su posicin apostando por software con soporte
inadecuado.

Escasez de aplicaciones verticales


La oferta de aplicaciones verticales en software libre es en general, inferior a las propietarias.
Histricamente esto ha sido la causa de la muerte de arquitecturas enteras de empresas muy
poderosas.

Arquitectura inadecuada
Muchas aplicaciones de software libre no se adaptan bien al sistema de informacin de las
empresas. Se trata de software concebido para una misin especfica, no para integrarse
dentro de un ecosistema complejo de aplicaciones como suele ser habitual en una empresa
mediana o grande.

Falta de honestidad de algunos intermediarios tecnolgicos


Existe un nmero considerable de intermediarios tecnolgicos que venden software
propietario como si fuese software libre. En la mayora de los casos, el negocio consiste en
montar Linux y PostgreSQL o MySQL y luego una aplicacin propietaria encima por la que se
cobra una licencia. Esto confunde a los clientes, y, en muchos casos, slo es una tctica
para embolsarse el mismo coste de las licencias en forma de servicios profesionales
adicionales.
4 hipergate

hipergate es, probablemente, el mayor proyecto open source de software empresarial


patrocinado en Espaa por una entidad privada -KnowGate-

hipergate es una suite de aplicaciones de Gestin de Ventas, Soporte Post-Venta, e-


Marketing, Intranet/Groupware, Gestin de Contenidos y e-business.

El proyecto se halla en fase plenamente operativa desde la introduccin de la versin 1.0 en


septiembre de 2003 con un rpido despliegue en instalaciones en real desde entonces.

La misin de hipergate es cubrir un hueco en aplicaciones open source para la empresa.

El software se distribuye bajo una variante de la licencia GPL compatible con las normas de
OSI.

Las caractersticas que convierten a hipergate en nico dentro de la oferta open source son:

Suite Integrada
hipergate ofrece una suite integrada junto con un modelo base para agregar ampliaciones
fcilmente, a diferencia de la mayora de los productos open source que son paquetes
funcionalmente limitados y difciles de extender.

Multiplataforma
hipergate est desarrollado 100% en java y soporta un amplio espectro de bases de datos y
servidores de aplicaciones: PostgreSQL, Oracle, Microsoft SQL Server, Tomcat, Weblogic,
WebSphere, JRun, etc.
Se trata de una arquitectura pensada para integrarse en un ecosistema de aplicaciones.
En este punto difiere de la masa de aplicaciones desarrolaldas sobre PHP y MySQL
pensadas para correr con muy poco hardware y alojadas en ISPs.

Arquitectura usable y escalable


Se ha hecho un gran esfuerzo en dotar al software de la mxima usabilidad y escalabilidad.
Haciendolo adecuado en entornos desde 1 a miles de usuarios.

Propuesta de Negocio para Implantadores y Universidades


Dentro de la articulacin del producto se ha tenido en cuenta la oferta para que las
consultoras, universidades y centros de investigacin puedan obtener sus propios beneficios
del producto. A las consultoras se ofrece un plan concreto de propuesta de valor a los
clientes finales con el que puedan ganar dinero, a las universidades y centros de
investigacin la posibilidad de utilizar el software como fundamente para sus propios
proyectos de investigacin en aplicaciones avanzadas.

Respaldo tcnico, comercial y financiero


La plataforma cuenta con un slido respaldo tcnico, comercial y financiero que permite a los
clientes confiar en su continuidad.

mbito mundial
Existen versiones en ingls, espaol y francs y est prevista la publicacin de versiones en
otros idiomas. El software es adecuado para su uso en cualquier pais.

Buena documentacin
La buena documentacin se considera un factor crtico del xito del proyecto.

5 Conclusiones

Actualmente el software libre se halla en una posicin muy favorable para empezar a
penetrar definitivamente en las empresas, pero necesita del apoyo de los prescriptores
tecnolgicos para que la oferta se consolide.

En los ISPs el tandem PHP+MySQL ya es una realidad pero las empresas requieren de una
arquitectura diferente para poder adoptar software libre. Una arquitectura ms orientada a la
integracin de complejos y heterogneos subsistemas de aplicaciones.

Para los fabricantes de software propietario, el software libre supone una grave amenaza,
porque rompe las reglas del enfrentamiento comercial. Desde la batalla de Lee contra Grant,
los americanos han sido expertos en la victoria por dominio y concentracin de recursos.
Esta ha sido la tctica de Microsoft para eliminar sistemticamente a sus competidores
concentrndose en ellos de uno en uno aplastndolos a golpe de talonario. Pero esta
estrategia no funciona con un enemigo invisible, que prolifera de forma viral por todo el globo.

La administracin pblica puede jugar un papel a favor de la adopcin del software libre,
pero, por si misma no desplazar a corto plazo la posicin de los paquetes propietarios en el
sector privado, debido a la fuerza de base instalada y a la diferencia de necesidades entre el
sector pblico y el privado.

En Espaa, con hipergate, proponemos un ambicioso proyecto de gran valor social y


econmico para la mejora de la gestin de relaciones con clientes y la gestin del
conocimiento en las organizaciones. Un proyecto en el que reconocemos la necesidad de
terminar con los oligopolios del software clsico para sustituirlos por propuestas asequibles a
todas las empresas y usuarios y no slo a los de mayor tamao y con ms recursos
econmicos.

Proponemos una plataforma para que los expertos en tecnologa puedan ayudar en el
desarrollo de la sociedad de la informacin a las organizaciones que necesitan de una gua
para modernizarse con costes asequibles.

Sergio Montoro Ten


Madrid 19 de diciembre de 2003
LA GNU GPL EN EL ORDENAMIENTO JURDICO ESPAOL

Introduccin
Como su ttulo indica se trata de analizar la licencia estndar de la Free Software
Foundation, conocida como GPL (General Public License), a la luz del ordenamiento
jurdico espaol.

Dicha licencia es la defensa jurdica que tiene el software libre frente a las leyes de
propiedad intelectual, y es la licencia usada en un 60-70% del software libre en el
mundo.

No es intencin de esta ponencia analizar todas las repercusiones que la GPL puede
tener en las diferentes ramas del derecho, sino slo aquellas que ms directamente le
afectan.

De esta manera, solamente se analizar dicha licencia desde la perspectiva del derecho
civil, pues nos encontramos claramente ante un contrato, ya que la licencia es un
acuerdo de voluntades entre dos partes sobre un objeto vlido y con una causa cierta.

Posteriormente, y dado que el objeto de la licencia son los derechos de autor, tambin se
examinar detenidamente la misma desde el punto de vista de la propiedad intelectual,
determinado claramente qu derechos se encuentran incluidos en la misma y los limites
que la ley establece al respecto.

Por ltimo, pero no menos importante, es necesario mencionar las implicaciones de las
clusulas de exencin de garanta y responsabilidad, para lo cual se hace necesario el
estudio de la legislacin sobre consumidores, pues los licenciatarios de los programas
de ordenador son, en la mayora de los casos, usuarios finales de los mismos, y por
tanto, es de aplicacin dicha normativa.

***
Validez de la GPL

Antes de comenzar con un detenido estudio de la GPL en las tres ramas del derecho
mencionadas, conviene establecer si, a grandes rasgos, ms all de detalles contenidos
en una determinada clusula, la licencia GPL por s misma, puede o no ser contraria a
los principios jurdicos que rigen estas vertientes del ordenamiento. Es decir, si tiene
algn rasgo que haga presuponer su invalidez.

Desde el derecho civil.- en principio, rige en nuestro ordenamiento una amplia libertad
contractual, pues de acuerdo al artculo 1255 Cdigo Civil (CC en adelante) los
contratantes pueden establecer los pactos, clusulas y condiciones que tengan por
conveniente, siempre que no sean contrarios a las leyes, a la moral, ni al orden pblico.

As pues, partimos de la base de que la GPL es, en principio, valida siempre que no sea
contraria a:

- La moral.- trmino ambiguo, pero frente a la cual no se me ocurre ninguna


contradiccin, pues el software libre se muestra como un modelo a seguir al
fomentar la libertad y la colaboracin entre las personas;
- El orden pblico.- segundo trmino ambiguo al cual, en principio, el desarrollo
de software no se opone de por s, ahora bien, esto podra ser matizable;
- La ley.- en sentido general, el ordenamiento jurdico, con lo que aqu hay que
ver que reas del mismo pueden verse afectadas y si puede la GPL ser contraria
a las mismas, que no son otras que el derecho de la propiedad intelectual y el
derecho del consumo.

Desde la propiedad intelectual.- Como veremos ms adelante, la propiedad intelectual


presenta muchas peculiaridades, entre ellas, existen ciertos derechos, los morales, que
son inherentes al autor e intransmisibles, y otros, los de explotacin que, con ciertos
lmites, s pueden ser objeto de contratacin.

En principio, mientras no se afecte a ningn derecho considerado intransmisible por la


Ley de Propiedad Intelectual (LPI en adelante), el autor puede disponer de los mismos
segn estime oportuno, teniendo presentes los lmites establecidos en la ley.

De los derechos que son objeto de la GPL, en principio, todos se encuentran dentro de
los llamados derechos de explotacin, y por tanto, a salvo de lo que se diga al tratar el
tema con ms desarrollo, todo hace suponer que la licencia no es contraria a la LPI.

Desde el derecho del consumo.- Dos son los aspectos ms relevantes a tener en cuenta.

En primer lugar, la GPL constituye un contrato no negociable impuesto por una de las
partes, con lo que se ha de reputar su contenido como clusulas generales de la
contratacin, y en este sentido se han de respetar los lmites que se imponen a las
mismas.

As mismo, hay que tener en cuenta que en un gran porcentaje de ocasiones el


licenciatario es consumidor a los ojos de la ley y por tanto la GPL ha de respetar los
beneficios que la Ley de Defensa de los Consumidores y Usuarios (LDCU en adelante)
otorga a los mismos.
(I) La GPL como contrato civil
Tres son los requisitos que establece el CC en su artculo 1261 para que exista un
contrato: consentimiento, objeto y causa.

El consentimiento

Se manifiesta por la concurrencia de una oferta y una aceptacin sobre el objeto y la


causa del contrato (artculo 1262 CC).

Para que exista consentimiento la doctrina entiende que han de concurrir una pluralidad
de partes con capacidad suficiente para contratar y que manifiesten o exterioricen su
voluntad.

Cuando un autor somete su obra a la licencia GPL y la pone voluntariamente a


disposicin de todo aquel que la quiera, se est produciendo la oferta, y cuando algn
interesado en el programa accede a una copia del mismo y la usa en un sentido amplio
(realizando aquello que se le permite), se presume que ha habido aceptacin de los
trminos de la licencia, y, por tanto, que ya se ha realizado el contrato.

El objeto

Es aquello sobre lo que las partes se proponen contratar. En la GPL el objeto del
contrato es el otorgamiento de licencias no exclusivas de determinados derechos de
explotacin sobre un programa de ordenador por parte de su titular.

Slo tres artculos del CC se refieren a l, pero en lo que a la GPL se refiere, su objeto,
ciertos derechos de explotacin, es perfectamente vlido, pues est en el comercio de
los hombres, no se trata de una cosa imposible y se encuentra determinado claramente.

La causa

De manera sencilla, pues es una cuestin profunda y con muchas interpretaciones,


puede decirse que la causa es la razn o fin por el que se contrata, y como requisitos se
le exige que exista, sea verdadera y sea lcita.

Dichos requisitos se presumen en todo caso aunque no se expresen en el contrato,


correspondiendo al deudor probar lo contrario (1277 CC).

En la GPL, la causa por la que se mueve cada autor puede ser diferente a la de otro, pero
si buscamos un motivo comn podra encontrarse en que todos ellos actan movidos por
la generosidad, pues no reciben nada a cambio de los derechos que licencian y buscan la
consecucin de las libertades consagradas por Richard Stallman en el texto The GNU
Project, sacado del sitio web www.gnu.org:

Usted tiene libertad para ejecutar el programa, con cualquier propsito.


Usted tiene la libertad para modificar el programa para adaptarlo a sus
necesidades. (Para que esta libertad sea efectiva en la prctica, usted debe tener
acceso al cdigo fuente, porque modificar un programa sin disponer del cdigo
fuente es extraordinariamente dificultoso.)
Usted tiene la libertad para redistribuir copias, tanto gratis como por un canon.
Usted tiene la libertad para distribuir versiones modificadas del programa, de tal
manera que la comunidad pueda beneficiarse con sus mejoras.

De ello podemos deducir que la causa en la GPL es la liberalidad, causa en la que


concurren las caractersticas enunciadas, pues existe, es verdadera y es lcita, pues no se
opone a las leyes o a la moral.

El perfeccionamiento

Una vez delimitados los requisitos de un contrato hay que ver si ste cumple con las
exigencias necesarias para entenderse perfeccionado, y, por tanto, es capaz de crear
obligaciones entre las partes del mismo.

En este sentido, el artculo 1258 CC dice que los contratos se perfeccionan por el mero
consentimiento, y desde entonces obligan, no slo al cumplimiento de lo pactado, sino
tambin a todas las consecuencias que, segn su naturaleza, sean conformes a la buena
fe, al uso y a la ley

Ahora bien, surgen diversas dudas sobre el momento de perfeccionamiento de la GPL,


(es decir, el momento en el consentimiento se entiende vlidamente otorgado y las
clusulas da la licencia se convierten en vinculantes para las partes), pues no nos
encontramos ante un contrato usual, ya que no se trata de un objeto fsico que necesite
cambiar de manos, puede que no estn presentes las partes (como suele ocurrir) y
encima, el mismo no se rubrica por las partes con su firma en seal de aceptacin, ya
que lo ms normal es descargarlo de Internet, copiarlo de un conocido o comprarlo en
una tienda.

Para que ese consentimiento se d y el contrato se perfeccione, la oferta ha de realizarse


con voluntad de obligarse, lo que sucede aqu, pues nadie obliga al autor a licenciar bajo
los trminos de la GPL; ha de ser concreta, de manera que se incluyan los elementos
necesarios para la celebracin del contrato, que tambin se cumple en la GPL, pues
quedan claramente establecidos los derechos que se licencian y lo que el licenciatario
puede y no puede hacer; y debe dirigirse a la persona con la cual se quiere contratar.

Sobre este ltimo punto, concrecin del destinatario de la oferta, algn autor puede
oponerse a su admisin en relacin con la GPL, pues en ella el destinatario no se
encuentra determinado, ya que cualquiera puede serlo, pero frente a esta postura se
puede alegar que en el mismo CC ya hay otros contratos con destinatarios
indeterminados (la promesa pblica de recompensa, por ejemplo) y fundamentalmente,
que la voluntad del licenciante es obligarse precisamente frente a todo aquel que acepte
la licencia.
A ello se puede sumar el nombre mismo de la licencia, que no es otro que Licencia
General Pblica, lo que nos da una idea inconfundible de que se trata de una licencia
abierta a todo aquel que la acepte y asuma lo que en ella se estipula.

Sera lo mismo que comprar el peridico en el quiosco de la esquina, est ah esperando que
alguien lo coja (cualquiera que pase) y pague el precio que figura en su portada al quiosquero,
oferente, para perfeccionar un contrato de compraventa. Hubo una oferta concreta sobre el
objeto (peridico), la causa (el lucro del quiosquero y la necesidad de informacin del lector) y
las condiciones (un euro, un peridico) dirigida a un pluralidad indeterminada de destinatarios,
que se perfecciona por la aceptacin de uno de ellos manifestada por el acto de coger el objeto y
cumplir con la contraprestacin establecida (entregar un euro al quiosquero).

Junto a la oferta vlida realizada por el autor del programa, tiene que concurrir la
aceptacin del destinatario, a la cual se le exige ser pura y simple, correspondiendo
exactamente a lo ofrecido, y encontrarse dirigida al oferente con el propsito de celebrar
el contrato.

Se suscita ahora un tema muy discutido siempre que se habla de contratos celebrados
entre ausentes (la mayora en relacin a la GPL) y es el de determinar el momento en el
que ha de entenderse perfeccionado el contrato.

Al respecto hay dos teoras principales, la de emisin y la de conocimiento. La primera


entiende perfeccionado el contrato desde que el destinatario manifiesta su aceptacin,
mientras que la segunda entiende que la perfeccin se produce en el momento en el que
el oferente tiene conocimiento de la aceptacin por parte del destinatario.

No es una cuestin banal, pues si se opta por la segunda, presente para algunos
supuestos en el CC, en la mayora de los casos no se podra entender perfeccionado el
contrato alrededor de la GPL, y por tanto, no surtira efectos entre las partes (autor del
programa y licenciatario del mismo).

Para otorgar validez a la GPL habremos de optar por la primera de ellas (la de la
emisin). De esta manera, podramos interpretar que el contrato se perfecciona desde
que el interesado realiza cualquier acto que manifieste su aceptacin de los trminos de
la misma (descarga e instalacin del programa en cuestin, acceso a su cdigo fuente,
distribucin del mismo, etc).

Esta teora se ve corroborada por la misma letra de la GPL, que, recordemos, es la


voluntad del autor, y en cuya Clusula 5 se reconoce que no hay otra forma de
confirmar la aceptacin de la licencia que el ejercicio de las facultades que en la misma
se autorizan, pues el aceptante no la firma.

La GPL como contrato atpico

Tras ver, segn la teora general de los contratos, que la GPL es un contrato vlido y
perfecto, toca examinar ante qu clase de contrato nos encontramos, si se corresponde
con alguno de los regulados por la legislacin, con lo que se tratara de un contrato
tpico, y a su regulacin habramos de remitirnos; o si, por el contrario, ste no se
encuentra tipificado y por tanto es un contrato atpico para cuya aplicacin habremos de
referirnos a su clausulado.
Puesto que el autor oferente no recibe ninguna contraprestacin y la causa del contrato
es la liberalidad, como ya vimos, podemos afirmar que se trata de un contrato gratuito y
por ello deberamos examinar los contratos gratuitos regulados para ver si se ajusta a
alguno de ellos.

El primero que viene a la mente es la donacin, pero el encaje de la GPL en dicha figura
hay que descartarlo pues en la licencia falta uno de los requisitos establecidos para la
existencia de la donacin: la disminucin del patrimonio del donante.

No se produce dicha disminucin por la particularidad del objeto de que se trata, pues el
donante, como se explicar ms adelante al hablar de los derecho de autor, solamente
otorga una licencia no exclusiva sobre determinados derechos, lo que significa que no se
ha producido una transferencia de un derecho de su patrimonio al del donatario, ya que
al ser no exclusivo el autor conserva la idntica facultad de realizar por s mismo lo
licenciado o incluso cederlo nuevamente a un tercero si le place. Lo nico que puede
suceder es un posible menor ingreso debido a la existencia de licenciatarios
concurrentes, pero esta situacin no se ha de entender como disminucin de patrimonio.

Otro contrato gratuito regulado en el CC es el comodato, nombre que se le da al


prstamo de cosas no fungibles (sustituibles), pero tampoco es aplicable, pues se trata
de un contrato real y unilateral, caractersticas que no rene la GPL.

Quedara algn otro contrato gratuito tpico, pero baste decir que no se ajustan a las
caractersticas de la GPL por razones que aqu no interesan.

Tras este anlisis cabe concluir que estamos ante un contrato atpico (no regulado
especficamente en nuestro ordenamiento) para cuya aplicacin se ha de estar a lo que
su contenido diga.

Como ha establecido el Tribunal Supremo en sentencias de 18 de noviembre de 1980 y


7 de enero de 1981:

cuando una relacin obligatoria contractual contiene suficientemente los


requisitos que el ordenamiento jurdico civil exige para su validez y produccin
de efectos (art. 1261 del C. Civ.), no hay necesidad de esforzarse en seguir los
viejos cauces del dogmatismo jurdico e intentar encajar, ms o menos a
fortiori, el pacto o convenio en cuestin en los tipos contractuales civiles
perfilados en las leyes, ya que, sobre no aparecer en ningn lugar normativo esa
exigencia asimiladora (salvo la aplicacin analgica ex art. 4 del C. Civ.,
como funcin integradora del juez), bastar con que el intrprete y juzgador se
atenga a lo estipulado si ello es lcito, conforme al artculo 1255 del C. Civ. y
sancione ex oficio judex sus naturales consecuencias en orden a la eficacia y
efectos (art. 1258 C. Civ.) de lo acordado libremente por obra de la autonoma
de la voluntad, ya que lo que importa no es el nomen iuris, sino la licitud,
validez y eficacia del contrato en conjuncin con los intereses en juego, sea
ms o menos tpico, atpico, simple o complejo, y siempre, naturalmente, que sus
clusulas contengan las suficientes especificaciones para su normal
cumplimiento.
Dicha jurisprudencia confirma lo dicho hasta ahora y sirve para encauzar con los efectos
de la GPL en las partes contratantes.

Efectos

Ahora que ya se ha determinado que estamos ante un contrato atpico, vlido y perfecto
es el momento de hablar de sus efectos, o lo que es lo mismo, de las consecuencias que
produce en la actuacin de las partes.

El primer efecto de todo contrato es su obligatoriedad para las partes, y ello a travs de
dos preceptos, por un lado el artculo 1091 CC, que establece que las obligaciones que
nacen de los contratos tienen fuerza de ley entre las partes contratantes, y deben
cumplirse al tenor de los mismos, y por otro, el artculo 1278 CC que enuncia que los
contratos sern obligatorios, cualquiera que sea la forma en que se hayan celebrado,
siempre que en ellos concurran las condiciones esenciales para su validez.

A ese efecto general comn a todos los contratos hay que sumar los efectos particulares
de la GPL, que no son otros que los en ella contenidos y regulados en su clausulado,
pues, slo si son contrarios a la ley, a la moral o al orden pblico dejarn perdern la
condicin de ser obligatorios para las partes, como establece el Tribunal Supremo en las
sentencias citadas.

El clausulado de la GPL

Se puede clasificar el clausulado de la GPL en dos grandes grupos, las referidas a los
derechos de propiedad intelectual (Clusulas 0, 1, 2, 3, 6, 8 y 10) y las de contenido
civil y o de consumo (Clusulas 4, 5, 7, 11 y 12). Restara nicamente la clusula 9 que
se refiere a las versiones de la misma licencia.

Puesto que las clusulas de la GPL que se refieren a derechos de autor sern tratadas en
el apartado siguiente, en este apartado analizaremos las obligaciones civiles que asumen
las partes.

Clusula 4.- Contiene esta clusula la principal causa de resolucin del contrato
mediante la imposicin de unas condiciones u obligaciones que limitan la libertad de
actuacin del licenciatario, y cuyo incumplimiento provoca la revocacin automtica de
la licencia.

Esta clusula encuentra una correlativa en la regulacin de las donaciones,


concretamente el artculo 647 CC, que establece que la donacin ser revocada a
instancia del donante, cuando el donatario haya dejado de cumplir alguna de las
condiciones que aquel le impuso.

La doctrina ha sealado como fundamento de dicho precepto, sin dificultad ni


controversia, el respeto a la voluntad liberal del donante. Puesto que la GPL tambin es
un acto de liberalidad, como se ha dicho, la voluntad del autor del programa debe ser
respetada en todos sus extremos y no parece abusivo imponer ciertas obligaciones a un
licenciatario que no ha tenido que realizar ninguna contraprestacin para la obtencin
del los derechos que le otorga la licencia, lo que es perfectamente acorde y compatible
con lo ya establecido de que rige para este contrato la voluntad de las partes como
primera fuente de sus obligaciones.

El imponer que los actos autorizados por la licencia se hayan de ceir a lo estrictamente
estipulado es muy importante, sobre todo en relacin a las condiciones de mantener los
posibles programas derivados (modificados) bajo el rgimen de la GPL, pues es lo
nico que puede mantener el software libre como libre, sin posibilitar su salida a un
mbito ms restrictivo en el que alguna de las cuatro libertades buscadas pueda verse
limitada.

Contiene esta clusula una mencin al mantenimiento de los derechos adquiridos por
terceros de buena fe. Dicha estipulacin es perfectamente vlida y es un principio de
nuestro ordenamiento presente en la mayora de instituciones jurdicas, incluso en un
derecho tan especial como el de la propiedad intelectual encontramos una clusula
semejante en la Disposicin Transitoria 1 de la ley que la regula.

Clusula 5.- Esta clusula ya fue mencionada con anterioridad, baste recordar que
contiene la norma sobre aceptacin y perfeccionamiento de la licencia.

Clusula 7.- Hace mencin esta clusula a otra condicin impuesta al licenciatario en
cuanto limita su posibilidad de actuacin. El propsito de esta clusula, como en ella se
estipula, es mantener la integridad del sistema de distribucin del software libre, el
mismo que la examinada clusula 4, aunque en ella no se mencione, probablemente por
evitar redundancias en texto de la GPL.

De acuerdo a esta clusula, cuando se imponga al licenciatario, por cualquier motivo o


procedencia, una condicin que le impida cumplir todos los trminos de la licencia,
deber abstenerse de realizar la conducta condicionada por terceros, y ello no es por
restringir los derechos del licenciante, si no por mantener el sistema del software libre.

Desde el punto de vista de la propiedad intelectual, en el caso de obras derivadas, esta


clusula se justifica, como veremos ms adelante, en el articulo 21.2 de la LPI, pues no
puede explotarse la obra derivada en perjuicio del derecho del autor de la obra
preexistente (el licenciatario de la GPL).

Clusula 11.- De suma importancia son tanto sta, como la Clusula 12, pues contienen
las clusulas de exencin de garanta y responsabilidad, respectivamente.

Es este apartado slo hablaremos de estas clusulas desde el punto de vista civil
contractual, dejando la vertiente del consumo para ser tratado de manera independiente
al final de la ponencia.

En cuanto a la exencin de garanta es conveniente matizar una cuestin. Lo que aqu se


diga va referido solamente al bien inmaterial que es objeto de la licencia (el programa
de ordenador), pues en los supuestos de distribucin del mismo en objetos fsicos (CD)
a cambio de precio, el distribuidor lgicamente responde de la idoneidad del bien para
el fin por el que se pone en el comercio. Es decir, si compro un paquete de distribucin
de Linux y el CD no funciona, tienen obligacin de entregarme uno que s funcione.

En cuanto al programa en s, puesto que el licenciatario se supone que ha ledo y


aceptado la licencia, ya se encuentra avisado de la ausencia de garanta, pues esta
clusula y la siguiente son las nicas que vienen escritas en maysculas, evidentemente
para resaltar su importancia y captar la atencin del posible licenciatario hacia la
posibilidad de que se trate de un producto no perfecto.

Las razones y justificacin de esta clusula hay que buscarlas principalmente en la


voluntad de las partes, pero tambin en los usos y en los fundamentos del software libre
y puede ser interpretada segn la naturaleza del licenciatario.

La voluntad del autor se encuentra en su nimo de liberalidad. Desinteresadamente


realiza una aportacin a la sociedad, y es ese espritu de colaboracin desinteresada
llevada a cabo con buenas intenciones lo que permite excluir la garanta sobre el
producto. En el mundo del software libre ste es el uso, la costumbre. La generalidad de
usuarios son conscientes de que quien somete un programa a la GPL lo hace
desinteresadamente, cobrando en todo caso por la distribucin (sobre la que s hay
garanta) y que dicho programa es susceptible de tener errores. Y nadie piensa en
reclamar a su autor, pues ste no tena, ni tiene, ninguna obligacin de suministrar el
programa en perfecto estado, pues la inexistencia de programas perfectos es un hecho,
incluso en el software propietario.

Exigir una garanta a quien desinteresadamente hace una aportacin a la sociedad para
que otros puedan beneficiarse y, si son capaces, mejoren su trabajo eliminando los
fallos, es contraproducente, pues desincentivara a todo aquel que quisiera desarrollar un
programa.

Tambin hay que tener presente que los desarrolladores desinteresados no actan
sometidos a la presin del mercado y a sus plazos de entrega y de marketing. Un
desarrollador desinteresado programa por el placer de hacerlo, por aportar algo a la
comunidad, y busca aportar una utilidad, no un beneficio, con lo que slo pondr el
programa en circulacin cuando crea que est suficientemente depurado, no como una
empresa de software propietario que tiene que vender ya, como est, y luego ya harn
parches corrigiendo los errores (lo que pasa todos los das).

Sera lo mismo que si yo regalo mi bicicleta vieja a un conocido, y ste, un da pedaleando


montaa abajo, al ir a frenar, tiene un accidente porque el cable del freno se rompe debido a que
estaba desgastado. Se me puede considerar responsable?

En el CC diversos preceptos citan los usos y la costumbre como fuente del derecho y
como criterio de interpretacin, desde el artculo 1 (es fuente del ordenamiento) hasta el
artculo hasta el 1282 (para juzgar la intencin de los contratantes, deber atenderse a
los actos de stos, coetneos y posteriores al contrato) o el artculo 1287 (el uso o la
costumbre se tendrn en cuenta para interpretar las ambigedades de los contratos),
que sirven para aplicar los usos mencionados a esta situacin.
As mismo, en otro contrato gratuito, como es la donacin, el articulo 638 CC excluye
al donante de responder por el saneamiento, lo que podra aplicarse de manera analgica
en el supuesto de la GPL, pues como se dijo ya, ambas figuras presentan similitudes y
en este supuesto la regulacin de la donacin puede servir de gua.

Y, mencionado el saneamiento, en su regulacin se hace mencin a la exclusin de


responsabilidad por los vicios ocultos si el comprador es un perito que, por razn de su
oficio o profesin, deba fcilmente conocerlos.

No es lo mismo que el licenciatario sea un informtico que va a hacer uso de su derecho


de modificacin (que es plenamente consciente de que el programa no es perfecto y
probablemente intentar mejorarlo en lo posible para el bien de la comunidad), que un
mero usuario final sin conocimientos en programacin que obtiene el programa slo con
intencin de usarlo (que a lo mejor se siente defraudado en sus aspiraciones), as pues
frente al segundo no se responde por lo ya dicho y frente al primero no se responde,
adems, por la propia regulacin del saneamiento.

Clusula 12.- Prcticamente todo lo dicho para la clusula precedente es de aplicacin a


sta otra, con lo que a ella nos remitimos para evitar redundancias.

En esta clusula se establece la exencin de responsabilidad del autor en el supuesto de


que el programa licenciado cause daos y perjuicios al licenciatario, siempre con los
lmites establecidos por la legislacin aplicable a la relacin contractual vigente entre
las partes.

Para hablar de responsabilidad, lo primero que hay que distinguir claramente son los
conceptos de dolo y culpa, determinantes del nivel de responsabilidad en que se puede
incurrir.

La responsabilidad en la que puede incurrir una de las partes de un contrato respecto de


la otra, se llama responsabilidad contractual y est regulada en el artculo 1101 CC en
los siguientes trminos: Quedan sujetos a la indemnizacin de los daos y perjuicios
causados, los que en el cumplimiento de sus obligaciones incurrieren en dolo,
negligencia o morosidad, y los que de cualquier modo contravinieren el tenor de
aquella.

Hay dolo cuando el responsable tiene conocimiento de que su acto es antijurdico y an


as lo realiza. Se caracteriza por esa nota de voluntariedad, de realizar el acto an
sabiendo que contraviene las normas establecidas.

Esta clusula de exencin de responsabilidad significa que, si un autor sabe que su


programa puede producir daos y perjuicios a los posibles licenciatarios, y, an as lo
pone al alcance de todos con la apariencia de proporcionar un programa normal y
eficaz, est actuando con dolo, y de acuerdo a la legislacin vigente esa circunstancia no
le exime de responsabilidad por los daos causados.

En concreto, el artculo 1102 CC establece que la responsabilidad procedente del dolo


es exigible en todas las obligaciones. La renuncia a la accin para hacerla efectiva es
nula
En cuanto a la culpa, esta se produce cuando el responsable no pone la debida diligencia
en el cumplimiento de sus obligaciones. El nivel de diligencia ha de ser el normal
exigible en las relaciones sociales, aquel nivel de diligencia que, de haberlo empleado,
podra haberse evitado el resultado negativo.

Este tipo de responsabilidad es difcil que se d en relacin con el software libre, pues
como se dijo antes, los autores desinteresados no tienen la presin del mercado y lo que
buscan es aportar una utilidad a la sociedad, para lo cual ponen todos sus esfuerzos e
intentan hacerlo lo mejor que pueden, pues el reconocimiento de la comunidad es
muchas veces la nica recompensa que se busca.

Adems, segn la doctrina ms autorizada, la responsabilidad por culpa puede


modularse por contrato, e incluso, puede eliminarse, cuando dicha renuncia no est
prohibida, como sucede con el dolo ya mencionado1.

As pues, sin perjuicio de lo que se diga ms adelante en los supuestos en los que resulte
aplicable la normativa de proteccin de los consumidores, dicha clusula de exencin de
responsabilidad resulta vlida de acuerdo a la legislacin civil.

1
Casos en que cesa la obligacin de resarcimiento.- Cesa la responsabilidad en los siguientes casos:
a) Cuando no se da la antijuricidad de la conducta (causas de justificacin como el estado de
necesidad)
b) Cuando no concurre imputabilidad (daos causados por incapaces), si bien la responsabilidad se
traslada en estos casos a los guardianes.
c) Cuando en virtud de pacto se elimina la responsabilidad (pactum ne culpa praestetur),
siempre que la renuncia no est prohibida (como lo est en el caso del artculo 1102 con respecto
a la responsabilidad procedente del dolo).
d) Cuando el propio perjudicado haya incurrido en culpa (caso de coexistencia de culpas, que puede
traducirse no en una total exoneracin, sino en una disminucin de responsabilidad, quedando
as repartidas las consecuencias del hecho daoso entre el agente y el perjudicado)
e) Cuando el hecho en s haya sido imprevisible e inevitable (caso fortuito).
Jos Castn, Derecho Civil Espaol, comn y foral. Tomo 1 Vol. II, pg. 686, duodcima edicin, ed.
Reus, Madrid 1985.
(II) La GPL como licencia de derechos de autor
Antes de entrar a analizar el clausulado de la GPL relacionado con los derechos de
autor, habra que describir brevemente las principales caractersticas de la propiedad
intelectual.

Los derechos de autor

Cuando una persona crea una obra literaria, musical, cientfica o artstica, pasa a ser
titular de esa obra y es libre de decidir acerca de su uso. Incumbe, pues, a dicha persona
lo que desea hacer con su obra. La obra est amparada por el derecho de autor desde el
momento de su creacin y no es necesario proceder a trmite alguno, como el registro o
depsito para obtener la proteccin que otorga el sistema.

Lo que se protege no son las ideas sino la forma en que se expresan esas ideas.

Por derecho de autor se entiende la proteccin jurdica que se otorga al titular de los
derechos sobre una obra original de la que es autor, figura central del sistema al que se
busca proteger, pues se le considera, y generalmente sucede as, la parte dbil en la
contratacin.

El derecho de autor comprende dos categoras principales de derechos: los derechos


morales y los derechos patrimoniales.

Por derechos morales se entiende el derecho del autor a oponerse a cualquier


deformacin, mutilacin o modificacin de su obra que pueda ir en detrimento de su
honor o reputacin. Estos derechos contenidos en el artculo 14 del Real Decreto
Legislativo 1/1996, de 12 de abril, por el que se aprueba el Texto Refundido de la Ley
de Propiedad Intelectual (LPI) se consideran irrenunciables e intransmisibles (salvo
mortis causa, y no todos), con lo que nunca salen de la esfera del autor.

Los derechos patrimoniales pueden describirse como todas las posibilidades de


explotacin derivadas de la utilizacin de la obra, por eso tambin son llamados
derechos de explotacin. Se comprenden en tal concepto los derechos de reproduccin,
distribucin, comunicacin pblica y transformacin, de acuerdo al artculo 17 LPI.
Estos derechos s son transmisibles y se encuentran en el comercio y se hallan regulados
independientemente, y con mayor detalle, en los artculos 18 (reproduccin), 19
(distribucin), 20 (comunicacin pblica) y 21 (transformacin), todos de la LPI.

Ambas categoras de derechos son prerrogativa del creador, que es quien tiene derecho a
utilizar la obra, a autorizar a terceros el uso de la misma, o a prohibir su uso. Por
principio general, las obras protegidas por derecho de autor no pueden utilizarse sin
previa autorizacin del titular del derecho. No obstante, existen pequeas excepciones a
esta norma.

El sistema de transmisin de los derechos de explotacin tambin presenta


particularidades, pues aunque el autor quiera, no puede ceder todos los derechos y
desentenderse de su obra. Siempre permanecen en su esfera los derechos morales, las
modalidades de explotacin que no se deduzcan del contrato y las inexistentes en el
momento de la transmisin y ciertos derecho de remuneracin.

Es el artculo 43 LPI el que regula la transmisin de los derechos de explotacin por


actos inter vivos, respecto a la cual es necesario hacer un par de comentarios. La cesin
de derechos queda limitada a los derechos cedidos, a las modalidades expresamente
previstas y al tiempo y mbito territorial que se determine. De no mencionarse estos
extremos, la cesin se limita a las modalidades que se deduzcan del contrato, al mbito
territorial del pas en el que se realice y a cinco aos de duracin.

Trasladando esto a la GPL, en ella se mencionan expresamente los derecho cedidos,


pero nada se dice del mbito territorial o temporal. Como se dir analizar el clausulado,
podra entenderse que la cesin se realiza para el mundo entero, y en relacin al tiempo,
la ausencia de su mencin no parece afectar mucho pues en cinco aos, a la velocidad
en que la informtica evoluciona, ya casi no tiene inters el software para usos
comerciales.

Tras estas nociones bsicas sobre los derechos de autor toca analizar el clausulado de la
GPL ms detenidamente para determinar con precisin los derechos concretos que se
licencian.

Clusula 0.- Contiene principalmente las definiciones que se usarn a lo largo de la


licencia y describe sucintamente lo que se encuentra cubierto por ella.

Sobre el trmino programa ciertas precisiones merecen ser hechas. La primera, que de
acuerdo al artculo 96 LPI, que contiene la definicin de programa de ordenador, a
efectos de la propiedad intelectual, dicho trmino incluir tambin la documentacin
preparatoria mientras que la documentacin tcnica y los manuales recibirn la misma
proteccin que la LPI otorga a los programas.

A su vez, en la GPL se dice que el trmino programa se aplicar tambin a cualquier


tipo de obra que se someta a dicha licencia, pero hay que advertir que no toda obra
protegida por la propiedad intelectual es apta para ello, por ejemplo, una obra plstica
suele ser un ejemplar nico, y sera de dudoso encaje con respecto a una licencia no
exclusiva.

Clusula 1.- Esta clusula se refiere a dos derechos de explotacin, el de reproduccin


del artculo 18 LPI y la distribucin del artculo 19, hablndose en ambos casos de
copias en sentido estricto, tal como fue recibido el original, y referidas nicamente al
cdigo fuente.

Se permiten los actos de reproduccin y distribucin siempre que se respeten las


condiciones impuestas, siendo las referidas a los avisos de titularidad exigibles no solo
desde el punto de vista contractual sino tambin desde la propiedad intelectual, pues
estamos hablando de un derecho moral, el de ser reconocido como autor de la obra.
De acuerdo a esta clusula, se permite cobrar por el mero hecho de la transferencia
fsica del soporte del programa, con lo que no ha de entenderse incluido en ningn caso
que se permita cobrar por la licencia en s, pues son dos conceptos bien diferenciados.

As mismo, esta clusula permite que se ofrezca garanta a cambio de un precio. Cabe
decir que dicha garanta la ofrece el licenciatario independientemente del autor, que en
su licencia (si no especific lo contrario) excluy tal extremo.

Nota.- Las referencias al derecho de distribucin han de entenderse comprensivas de el


derecho de puesta a disposicin, tal como lo reconoce el artculo 3 de la Directiva
2001/29/CE pues en la legislacin estadounidense tal derecho se incluye como
modalidad de la distribucin, mientras que en Europa se incluye como modalidad de
comunicacin pblica. As pues en la GPL se incluyen los derechos de reproduccin,
distribucin, transformacin y puesta a disposicin (modalidad del ms genrico de
comunicacin pblica).

Ello es as porque el mtodo ms usual de distribucin de programas de ordenador es


Internet, en la Clusula 1 se dice por cualquier medio y en el ltimo prrafo de la
clusula 3 se establece que ofrecer el acceso al cdigo objeto en un determinado lugar
es vlido si en ese lugar se da acceso al cdigo fuente.

Puesto que la GPL se redact en 1991, ahora en esas referencias ha de entenderse


incluida Internet, pues se ha convertido en el medio usual de distribucin, aunque se
encuadre legalmente en la comunicacin pblica.

Clusula 2.- Esta clusula trata del derecho de transformacin recogido en el artculo
21 de la LPI, que muchos estiman que es una cuestin delicada pues puede afectar al
derecho moral del autor de exigir el respeto a la integridad de la obra.

Se permite la transformacin de la obra o parte de la misma siempre que se cumplan las


tres condiciones enunciadas.

En la letra del apartado 2 del artculo 21 LPI se establece la facultad del autor
licenciante de imponer condiciones al autor licenciatario para poder explotar la obra
derivada resultante de su actividad de transformacin, y as, dice que los derechos de
propiedad intelectual de la obra resultado de la transformacin correspondern al autor
de esta ltima, sin perjuicio del derecho del autor de la obra preexistente de autorizar,
durante todo el plazo de proteccin de sus derechos sobre sta, la explotacin de esos
resultados en cualquier forma y en especial mediante su reproduccin, distribucin,
comunicacin pblica o nueva transformacin. Y dicha autorizacin nada obsta a que
pueda ser condicional, lo que encaja perfectamente en el conjunto de la GPL.

De las tres condiciones, la primera sirve precisamente para certificar que la


transformacin autorizada no entra en colisin con el derecho moral del autor, pues
impone al licenciatario transformante la obligacin de sealar las modificaciones
introducidas, salvaguardando el buen nombre del autor, tal como se menciona en la
introduccin de la GPL.
La segunda condicin cumple la misma finalidad que las clusulas 4 y 7 ya estudiadas,
y es la de preservar el sistema que permite que el software libre permanezca libre. De lo
cual se aprecia que el licenciatario viene obligado civilmente a ello, como ya se dijo, y
adems, tambin por mediacin de la propiedad intelectual, pues si quiere obtener el
preceptivo permiso del autor licenciante para poder explotar su obra derivada, ha de
cumplir con dicha condicin.

La tercera condicin simplemente obliga a facilitar una copia de la GPL junto con el
programa derivado, que no sera otra cosa que la obligacin del licenciatario autor
derivada de tener que licenciar su programa derivado bajo la GPL y obligacin que
tambin se mencionar en la clusula 3.

El siguiente prrafo es una salvaguarda del derecho del licenciatario autor sobre su obra
si sta es susceptible de explotacin independiente, lo cual no podra ser de otra manera
bajo nuestra legislacin, en la que el autor, salvo en la explotacin de obras derivadas,
es libre de explotar su obra como mejor estime oportuno.

Clusula 3.- En esta clusula vuelven a licenciarse los derechos de reproduccin y


distribucin ya mencionados, pero esta vez abarca el programa en su conjunto, tanto el
cdigo objeto como el cdigo fuente.

En principio, la licencia otorgada por esta clusula se refiere slo al cdigo objeto, es
decir, la versin ejecutable del programa, pero luego en las condiciones de la misma se
obliga a facilitar el acceso al cdigo fuente de una de las tres formas enunciadas. Esta
diferenciacin se debe a que no es necesario que ambos cdigos, ejecutable y fuente,
sean distribuidos conjuntamente, pues se dan dos opciones de facilitar simplemente el
acceso al cdigo fuente y puede deberse a los diversos usos que se pretenden abarcar
con la GPL.

En la Clusula 1 se est pensando en la distribucin entre desarrolladores, a quienes lo


que ms les interesa es el cdigo fuente, y en la 3 se piensa ms en la distribucin con
usuarios finales, quienes ante todo quieren obtener un copia del ejecutable, pero a
quienes no se les puede negar la libertad de acceder al cdigo fuente si desean hacerlo.

Clusula 6.- Esta es una de las clusulas que presenta ms cuestiones al encajarla a
nuestro ordenamiento, pues el artculo 50 LPI establece que el derecho del cesionario no
exclusivo (o licenciatario no exclusivo) es intransmisible, con lo cual excluira que
terceros licenciatarios obtuviesen los mismos derechos que tena el licenciatario.

Dicho artculo 50 ha sido interpretado por algunos autores de la siguiente manera:

No dice el artculo 50 que el cesionario puede ceder su derecho con el consentimiento


expreso de su cedente, pero parece que debe entenderse as, si el cedente ostentaba
derechos exclusivos. La Ley, en cambio, dice que su derecho es intransmisible, salvo
los supuestos de disolucin o cambio de titularidad de la empresa cesionaria. Debe
comprenderse que el sinsentido es evidente: si la sucesin de empresa admite la
transmisin del derecho no exclusivo, resulta difcil encontrar un razn por la que el
consentimiento expreso del cedente no baste para transmitir ese derecho, que es de
naturaleza patrimonial. (F. Bonda y J. M. Rodrguez Tapia. Comentarios a la Ley de
Propiedad Intelectual, pg. 227, ed. Civitas, Madrid 1997.)

De ah se deduce que con el permiso expreso del cedente o licenciante, el licenciatario


puede, a su vez, otorgar licencias no exclusivas idnticas a la que el ostenta. Pero en la
GPL aparte de otorgar expresamente dicha facultad (es una de las libertades que se
quieren proteger) establece en esta clusula que la licencia que recibe el tercero no la
recibe del licenciatario, sino del licenciante original.

Esto se puede interpretar, respecto de la distribucin del programa, en el sentido de que


con la GPL se quieren cubrir una diversidad de usos diferentes, y en este supuesto (mera
distribucin del programa licenciado) el licenciatario acta como persona intermedia,
como un distribuidor en la cadena de distribucin que va del autor al usuario final, pues
slo se est haciendo uso de los derechos necesarios para ello (reproduccin y
distribucin).

Un programa propietario sale del fabricante y pasa por numerosas manos hasta llegar a
las del usuario final. Los distribuidores de la cadena, como mnimo deben tener cedido
el derecho de distribucin, y dentro de la caja viene la EULA (End User License
Agreement), destinada exclusivamente, como su nombre indica, a ser la licencia para el
usuario final.

La GPL puede interpretarse en el sentido de cumplir las dos funciones a la vez,


adaptndose a la funcin necesaria para cada receptor de la misma.

Clusula 8.- Establece esta clusula una proteccin del programa licenciado mediante
la exclusin de la misma de los territorios en los que su uso puede estar restringido.

Lo importante de esta clusula es que interpretada en sentido contrario, establece que el


mbito territorial de la licencia es todos los estados del planeta. Surge ahora la cuestin
de si la referencia al territorio ha de ser explcita, o puede ser tcita y deducirse de los
trminos de la licencia.

Dos cuestiones apuntan a que se incluyen todos los pases. Por un lado esta clusula
interpretada en sentido contrario, y por otro, la inclusin del derecho de puesta a
disposicin entre los derechos licenciados, que no se comprende sino autorizada para el
mundo entero pues en Internet se puede acceder a la obra desde cualquier ordenador con
conexin, independientemente del pas de conexin.

Clusula 10.- Coherente con la LPI y el resto de las clusulas, en especial la 0 y la 4, si


se quiere realizar un acto de distribucin no contemplado en la licencia (como distribuir
bajo otra licencia) se necesita forzosamente el consentimiento de autor.

Tras haber examinado ya todo el clausulado de la GPL desde el punto de vista civil y
desde el punto de vista de la propiedad intelectual, slo nos resta ver si el derecho del
consumo impone algn lmite a la completa validez de la GNU GPL a la luz del
ordenamiento jurdico espaol.
(III) La GPL como contrato con los consumidores
En este apartado, como ya se apunt en la introduccin slo se analizarn dos
cuestiones: la compatibilidad con la legislacin sobre condiciones generales de la
contratacin y la responsabilidad del autor frente a un licenciatario consumidor.

La GPL como contrato de adhesin

Es un contrato de adhesin aquel en el que uno de los contratantes solo puede


adherirse al contrato, o lo toma o lo deja, pero no puede negociarlo.

Puesto que la GPL es uno de ellos y contiene un clausulado no negociable, es de


aplicacin la Ley de Condiciones Generales de la Contratacin (LCGC).

Los requisitos que dicha Ley exige a las clusulas de un contrato de adhesin son que
estas se ajusten a los criterios de transparencia, claridad, concrecin y sencillez
(artculo 5.5 LCGC), que en la GPL se respetan, pues est redactada en trminos
suficientemente claros y sencillos como para ser comprendidos por la persona media sin
conocimientos excesivos ni en informtica ni en derecho.

Lo que ms importa en relacin a la GPL es si alguna de sus clusulas puede reputarse


de abusiva, y por tanto, nula y no tenida por puesta. Para ello la LCGC remite al artculo
10 bis y disposicin adicional primera de la Ley 26/1984, de 19 de julio, General para la
Defensa de los Consumidores y Usuarios (LDCU). Se define en el mencionado articulo
10 bis a las clusulas abusivas como todas aquellas estipulaciones no negociadas
individualmente que en contra de las exigencias de la buena fe causen, en perjuicio del
consumidor, un desequilibrio importante de los derechos y obligaciones de las partes
que se deriven del contrato. En todo caso se considerarn clusulas abusivas los
supuestos de estipulaciones que se relacionan en la disposicin adicional primera de la
presente Ley.

En principio, las clusulas de la GPL suponen un equilibrio entre las prestaciones de


ambas partes, y de producirse un desequilibrio entre los derechos y obligaciones, este
sera favorable al licenciante, pues como ya se ha dicho, no recibe nada a cambio de la
licencia.

Est claro que el licenciatario es quien tiene unas obligaciones que se le imponen como
condiciones en la licencia, pero esa es una carga aceptable al ser las nicas que se le
imponen, pues no ha de realizar ninguna contraprestacin a cambio de los derechos que
se le licencian.

As pues, slo resta examinar el listado de clusulas abusivas de la Disposicin


Adicional Primera de la Ley y ver alguna es aplicable en relacin al clausulado de la
GPL.

De las 29 clusulas que se menciona slo una, la novena, puede ser aplicable, y dice que
La exclusin o limitacin de forma inadecuada de los derechos legales del consumidor
por incumplimiento total o parcial o cumplimiento defectuoso del profesional. En
particular las clusulas que modifiquen, en perjuicio del consumidor, las normas
legales sobre vicios ocultos, salvo que se limiten a reemplazar la obligacin de
saneamiento por la de reparacin o sustitucin de la cosa objeto del contrato, siempre
que no conlleve dicha reparacin o sustitucin gasto alguno para el consumidor y no
excluyan o limiten los derechos de ste a la indemnizacin de los daos y perjuicios
ocasionados por los vicios y al saneamiento conforme a las normas legales en el
caso de que la reparacin o sustitucin no fueran posibles o resultasen insatisfactorias.
(negrita aadida).

Como se explic al tratar la responsabilidad, la GPL no reduce el derecho del


licenciatario a ser indemnizado por los daos y perjuicios, simplemente se limita la
misma a la existencia de dolo por parte del licenciante, posibilidad legal como ya se
razon con anterioridad.

As pues, pese a ser condiciones generales previstas para multitud de contratos, ha de


concluirse que la GPL no es contraria a la LCGC, y por tanto su clausulado es
perfectamente vlido.

La GPL como contrato con los consumidores

Siempre que el licenciatario sea usuario final del programa de ordenador, ser de
aplicacin la LDCU, en cuyo articulo segundo figura como derecho bsico la
indemnizacin o reparacin de los daos y perjuicios sufridos.

En el articulo vigsimo quinto de la LDCU se establece que el consumidor y el usuario


tienen derecho a ser indemnizados por los daos y perjuicios demostrados que el
consumo de bienes o la utilizacin de productos o servicios les irroguen salvo que
aquellos daos y perjuicios estn causados por su culpa exclusiva o por la de las
personas de las que deba responder civilmente, lo que parece dar la impresin de que el
licenciante si responde por los daos y perjuicios que el programa cause al licenciatario
consumidor.

En el articulo siguiente se limita dicha responsabilidad diciendo que las acciones u


omisiones de quienes producen, importan, suministran o facilitan productos o servicios
a los consumidores o usuarios, determinantes de daos o perjuicios a los mismos, darn
lugar a la responsabilidad de aquellos, a menos que conste o se acredite que se han
cumplido debidamente las exigencias y requisitos reglamentariamente establecidos y los
dems cuidados y diligencias que exige la naturaleza del producto, servicio o actividad,
del que se deduce que si el licenciante ha actuado con la debida diligencia que exige su
actividad (programar) su responsabilidad se ver limitada.

En conjuncin con lo dicho anteriormente cabe concluir que el licenciante de la GPL


responde en todo caso por dolo, y slo responde por culpa (ausencia de diligencia)
cuando el licenciatario sea usuario final del programa licenciado.

Pero como ya se dijo antes, es difcil probar que un programador de software libre no
acta con la diligencia debida, pues lo que busca, mediante la colaboracin con otros, es
aportar una utilidad a la sociedad sin obtener un beneficio directo de ello, a diferencia
del software propietario, cuyos desarrolladores si actan movidos por el lucro, y ello les
somete a las presiones del mercado, que puedan apresurar la salida al mercado de un
producto mucho ms imperfecto (como suele suceder por la contina publicacin de
parches que se sucede).

Otro punto a tener en cuenta y que tambin se mencion ya, es la inexistencia de


programas de ordenador perfectos. Dada la multitud de configuraciones de hardware
existentes y su evolucin, es fcil que un programa presente errores e
incompatibilidades diversas a lo largo de su existencia, y dichos fallos se consideran
normales y son los que van provocando la aparicin de nuevas versiones del programa
en cuestin.

Una segunda interpretacin

Otra interpretacin que puede sostenerse es la no aplicacin de la legislacin sobre


consumidores a la GPL, pues lo que se pretende con dicha legislacin es proteger a los
consumidores de los abusos de que pueden ser objeto en relacin con la actividad
comercial. Y como se ha visto, la GPL no se suele constituir como un acto de comercio,
sino como un acto de mera liberalidad.

La Ley de responsabilidad civil por los daos causados por productos defectuosos

Hay algn autor que estima que la mencionada ley es de aplicacin a los programas de
ordenador, pero tras examinar el articulado de la misma y de la Directiva 85/374/CEE,
de la que es tributaria esa Ley puede concluirse que los programas de ordenador no se
encuentran incluidos por la misma, y ello por los siguientes motivos:

En el tercer considerando de la Directiva se dice que la responsabilidad objetiva resulta


aplicable nicamente a los bienes muebles producidos industrialmente, y en el
articulo 2 de la misma, as como en el mismo artculo de la Ley, copia del de la
Directiva, rubricado como concepto legal de producto se establece que a los efectos
de esta Ley, se entiende por producto todo bien mueble, aun cuando se encuentre unido
o incorporado a otro bien mueble o inmueble. Tambin se considerarn productos el gas
y la electricidad. (Negrita aadida).

As mismo, el considerando 10 de la Directiva dice que los productos se desgastan con


el tiempo, que cada vez se elaboran normas de seguridad ms estrictas y se avanza ms
en los conocimientos cientficos y tcnicos; que, por tanto, no sera razonable hacer
responsable al productor del estado defectuoso de su producto por tiempo ilimitado.

Un programa de ordenador no es un bien mueble, es un bien inmaterial y no se desgasta


con el paso del tiempo, con lo que si lo hubieran querido incluir bastaba con un aadido
similar al realizado con el gas y la electricidad, pues de hecho, el gas se incluy por el
legislador nacional, ya que no figuraba en la directiva, con lo que nada le impeda
hacerlo, en el supuesto de estimar que un bien de tanta relevancia como son los
programas de ordenador debiera responder por responsabilidad objetiva.
Conclusin
Tras todo lo visto se puede concluir que la GPL es un instrumento vlido en nuestro
ordenamiento para la explotacin de los derechos de autor sobre un programa de
ordenador, que slo necesita ser completado en cuanto a la responsabilidad del
licenciante, posibilidad contemplada en el mismo texto de la GPL al hacer referencia a
la ley aplicable como moduladora de tal responsabilidad.

2003 Javier Aragons.


Se autoriza la reproduccin, distribucin y traduccin de este documento por cualquier medio en los
trminos de los artculos 18, 19, y 21 del Real Decreto 1/1996 por el que se aprueba el Texto Refundido
de la Ley de Propiedad Intelectual, as como su comunicacin pblica en los trminos establecidos en el
artculo 3 de la Directiva 2001/29/CE, siempre que se conserve este aviso y dichos actos se realicen sin
nimo de lucro.
LICENCIA PBLICA GENERAL GNU Estos requisitos se aplican a la obra modificada en su conjunto.
Si algunas secciones claramente identificables de esa obra no se
* Traduccin propia nicamente de los derivan del Programa, y pueden ser razonablemente
consideradas como trabajos independientes y separados en s
TRMINOS Y CONDICIONES PARA LA COPIA, mismos, entonces esta Licencia y sus trminos no se aplican a
DISTRIBUCIN Y MODIFICACIN esas secciones cuando usted las distribuya como obras separadas.
Pero cuando usted distribuya las mismas secciones como parte
0. Esta Licencia se aplica a cualquier programa u otra obra que de un conjunto que constituye una obra derivada del Programa,
contenga un aviso colocado por el titular de los derechos de la distribucin de ese todo debe cumplir los trminos de esta
autor diciendo que puede ser distribuido bajo los trminos de Licencia, cuyos permisos para otros licenciatarios se extienden
esta Licencia Pblica General. En adelante, el "Programa" se para el conjunto en su totalidad, y por tanto, a todas y cada una
refiere a cualquier programa u obra, y "una obra basada en el de las partes con independencia de quien las haya escrito.
Programa" significa bien el Programa o bien cualquier obra
derivada del mismo bajo la legislacin de propiedad Por tanto, no es la intencin de esta clusula reclamar derechos o
intelectual: es decir, una obra que contenga el Programa o una cuestionar sus derechos sobre una obra escrita completamente
porcin del mismo, ya sea de manera literal o con por usted; sino que la intencin es ejercer el derecho de controlar
modificaciones y/o traducido a otro idioma. (De aqu en la distribucin de trabajos derivados o trabajos colectivos
adelante, la traduccin se incluye sin lmites en el trmino basados en el Programa.
"modificacin".) Cada propietario de una licencia es tratado
como "usted". Adems, la mera adicin de otra obra no basada en el Programa
junto al Programa (o a una obra basada en el Programa) en un
Otros actos diferentes de la copia, distribucin o modificacin medio de almacenamiento o distribucin no incluye a esa otra
no estn amparados por esta Licencia; quedan fuera de su obra bajo el alcance de esta Licencia.
alcance. El acto de ejecutar el programa no se encuentra
restringido, y los resultados del programa estn amparados 3. Usted puede copiar y distribuir el Programa (o una obra
slo si sus contenidos constituyen una obra basada en el derivada de l, de acuerdo con la Seccin 2) en forma de cdigo
Programa (independiente de haber sido producidos por la objeto o ejecutable bajo los trminos de las Secciones 1 y 2
ejecucin del Programa). La exactitud de lo anterior depende precedentes siempre y cuando cumpla una de las siguientes
de la funcionalidad del programa. condiciones:

1. Usted puede copiar y distribuir copias literales del cdigo a) Acompaarlo con el correspondiente cdigo completo en
fuente del Programa tal y como lo recibi, por cualquier formato legible por un ordenador. Este cdigo debe ser
medio, asumiendo que usted publica apropiada y visiblemente distribuido bajo los trminos de las clusulas 1 y 2 en un medio
en cada copia un aviso de su titularidad y una exencin de comnmente usado para el intercambio de software; o bien
garanta; mantiene intactos los avisos que se refieren a esta b) Acompaarlo con una oferta escrita, vlida durante al menos
Licencia y a la ausencia de cualquier garanta; y da a cualquier tres aos, de dar a cualquier tercero, por un precio no superior al
otro receptor del Programa una copia de esta Licencia junto coste que le ocasione el acto de distribuir fsicamente las fuentes,
con el Programa. una copia completa del correspondiente cdigo fuente en
formato legible por un ordenador, que ser distribuida bajo los
Usted puede cobrar por el acto fsico de la transferencia de una trminos de las Secciones 1 y 2 en un medio comnmente usado
copia, y puede a su eleccin ofrecer proteccin mediante para el intercambio de software; o bien
garanta a cambio de un precio. c) Acompaarlo con la informacin que usted recibi referida a
la oferta de distribuir el correspondiente cdigo fuente. (Esta
2. Usted puede modificar su copia o copias del Programa o alternativa se permite slo para distribucin no comercial y slo
cualquier parte de l, creando as una obra derivada del si usted recibi el Programa en cdigo objeto o formato
Programa, y copiar y distribuir tales modificaciones u obra ejecutable con una oferta de este tipo, de acuerdo con la
bajo los trminos de la clusula 1 precedente, siempre que Subseccin b) precedente.)
usted cumpla todas las condiciones siguientes:
a) Debe hacer que los archivos modificados incluyan avisos Cdigo fuente de una obra significa el formato preferido para
destacados manifestando que usted cambi los archivos y la hacerle modificaciones. Para una obra ejecutable, el cdigo
fecha de cualquier cambio. fuente completo significa todo el cdigo fuente para todos los
b) Debe hacer que cualquier obra que distribuya o publique, mdulos que contiene, adems de cualquier fichero de definicin
que en todo o en parte contenga a o sea derivada del de interfaz asociado, adems de los guiones usados para
Programa, sea licenciada en su conjunto sin coste alguno para controlar la compilacin e instalacin del ejecutable. Sin
terceras partes bajo los trminos de esta licencia. embargo, como una excepcin especial, el cdigo fuente
c) Si el programa modificado normalmente lee comandos distribuido no necesita incluir aquello que normalmente es
interactivamente al ejecutarse, usted debe procurar que cuando distribuido (ya sea en formato fuente o binario) con los
empiece a ejecutarse para ese uso interactivo de la forma ms componentes principales (compilador, ncleo, y dems) del
usual muestre un anuncio que incluya un aviso apropiado de sistema operativo en el que se ejecuta el ejecutable, a no ser que
titularidad y un aviso de que no existe garanta (o bien, ese componente le acompae.
diciendo que usted proporciona garanta) y que los usuarios
pueden redistribuir el programa bajo estas condiciones, y Si la distribucin del ejecutable o cdigo objeto se realizada
diciendo al usuario como ver una copia de esta Licencia. ofreciendo acceso para copiarlo desde un lugar designado,
(Excepcin: si el Programa es en s mismo interactivo pero no entonces la oferta de un acceso equivalente para copiar el cdigo
muestra normalmente un aviso tal como el descrito, su obra fuente desde el mismo lugar se considera como distribucin del
derivada del programa no est obligada a mostrar ningn cdigo fuente, incluso aunque terceras partes no estn obligadas
aviso). a copiar el cdigo fuente junto al cdigo objeto,
LA ERA PROFESIONAL

A. ROMEO MOLINA . Director General de Open:service


aromeo@openservice.org

El Software Libre ha dejado de ser una cuestin de colaboracin entre unos miles de
voluntarios tcnicos repartidos a lo largo de todo el mundo creando programas
informticos. Las comunidades de software libre han crecido, abandonando los crculos
endogmicos de personas tcnicas, las cuales eran las nicas que podan contribuir. La
propia evolucin de las comunidades nos conduce hacia una nueva era caracterizada por
tener sus propias particularidades. Nuevas tendencias estn comenzando a transformar
radicalmente el escenario en el cual el software libre se ha ido desarrollando durante los
ltimos aos. Una nueva era se acerca en la cual el paradigma tecnolgico es totalmente
diferente, donde los componentes de las comunidades se encuentran formadas por todo
tipo de agentes: organismos pblicos, empresas, instuciones educativas, ciudadanos, etc.
que conducen hacia nuevos desafos que las comunidades del software libre deben
resolver cuanto antes. Estos desafos habrn de ser superados si se quiere que esta nueva
fase en la que se encuentra el software libre, coseche los mismos xitos de implantacin
y difusin que las primeras comunidades consiguieron. La relacin entre la comunidad y
las empresas multinacionales; el incremento de colaboracin entre diferentes proyectos
de software libre; la expansin del conocimiento del nuevo paradigma tecnolgico, as
como la colaboracin entre organismos pblicos, son algunos desafos a los que las
Comunidad del Software Libre se enfrenta.

COMUNIDADES DEL SOFTWARE LIBRE, LIBERACIN DE APLICACIONES,


COMUNIDADES, COLABORACIN
1.QU EST OCURRIENDO?
El nuevo paradigma tecnolgico comienza a ser entendido por parte de diferentes

empresas e instituciones. La industria informtica ha cambiado radicalmente y ya no es

la misma que hace cinco aos. Gracias a la aparicin de tecnologas libres cualquier

organismo, empresa o ciudadano puede hacer uso de las mismas bajo un paradigma

totalmente diferente al que se conoca. La libertad, unida a la estabilidad y seguridad

que proporcionan las mismas, ha hecho que la industria haya cambiado para siempre.

Gracias al empuje de la comunidad del software libre, el conocimiento se ha expandido

entre todas las capas de la sociedad. La colaboracin formar parte de los procesos de

creaciones e innovaciones tecnolgicas como nunca se ha hecho. Estas son algunas de

las razones por las cuales se ha producido la liberacin de muchas aplicaciones, antao

propietarias. Pero estas liberaciones no provienen slo por empresas de software, sino

que tambin provienen de todo tipo de organizaciones pblicas y privadas. Por su parte,

las empresas de software propietario, empujados por las iniciativas que la comunidad

del software libre ha realizado durante los ltimos aos, se ha visto obligada por una

parte a incrementar la seguridad de sus productos as como a la rebaja de sus costes de

propiedad en muchas de sus lneas de negocio.

EXPANSION DEL CONOCIMIENTO SOBRE EL SOFTWARE LIBRE

El conocimiento del software libre y sus implicaciones tecnolgicas se ha expandido en

los ltimos aos. Tanto la Adminstracin como las grandes empresas han comenzando a

entender el cambio en el paradigma tecnolgico que trae el software libre. Software


Libre es compartir y colaborar. Con una base tecnolgica libre como la que se tiene

actualmente, por que volver a reinventar la rueda? Razones de eficiencia y sociales se

imponen.

LIBERACIN DE APLICACIONES

La liberacin de aplicacionesi (ROMEO, GARCA, 2003) florece y diferentes reas son

objeto de atencin por parte de empresas, que ven en la liberacin de sus aplicaciones,

un atajo hacia un modelo de negocio exitoso. Pero esto no est ocurriendo slo entre las

empresas que contaban con software propietario sino que est comenzando a verse entre

la administracin, como una excelente manera de proveer a los funcionarios pblicos

con herramientas flexibles y altamente productivas de una manera libre. Esta es quizs

una de las grandes consecuencias que el software libre ha trado a la informtica que

conocemos. Diferentes aplicaciones estn siendo liberadas cambiando radicalmente el

panorama existente en la industria informtica.

Empresas de Software Propietario

Las propias caracteristicas de la comunidad, no han hecho posible la creacin de

proyectos en determinados segmentos. Por su parte, la existencia de aplicaciones

propietarias ha sido totalmente opuesta, habiendo grandes competencias en

determinados mercados, donde la presencia de aplicaciones es significativa. Esta es la

razn del porqu las empresas de software propietario, que tienen menos capacidad de

penetracin, se planteen la liberacin de una aplicacin. En La Pastilla Roja tuvimos la

oportunidad de reflejar las razones por las cuales una empresa decida liberar una

aplicacin.
Mercados altamente competitivos como el segmento de las aplicaciones horizontales, y

en menor medida, el de determinadas aplicaciones verticales, vern la aparicin de

aplicaciones libres en los prximos aos. La liberacin del cdigo de OpenOffice.org

en el ao 2000 por parte de Sun Microsystems y la publicacin de la versin 1.0 en

mayo de 2002 y de OpenOffice.org 1.1 (diciembre)ii, constituyen un autntico punto de

inflexin en la historia del software libre. Aunque fue Netscape la primera empresa de

software propietario en apostar claramente por los modelos de desarrollo en bazar al

liberar el cdigo de su navegador Communicator y lanzar el proyecto Mozillaiii,

podemos decir que el primer hito importante en la historia se produce mediante la

liberacin de la suite ofimtica OpenOffice.org.

Este es el caso tambin del servidor de groupware Skyrix, cuya empresas propietaria

anunciaba el 10 de julio de 2003 la liberacin de cdigo fuente . El software OGo se

basa en la contribucin de cdigo de SkyriX 4.1 Groupware Server, un producto con

ms de 7 aos en el mercadoiv.

En Espaa, encontramos un caso recientemente como es el de la empresa extremea

PuntoDev la cual mantena un paquete de facturacin y contabilidad propietario cuyo

mercado era estrictamente local. Gracias a la consultora de Vivernet, PuntoDev decidi

liberar sus aplicaciones y en la actualidad, su mercado se ha visto multiplicado.v

Iniciativas PYMEs (de la Comunidad)

Otro tipo de liberaciones son las producidas por iniciativas de PYMEs que desarrollan

aplicaciones desde cero para luego liberarlas posteriormente. Los ltimos 12 meses y

fruto del empuje del Software Libre en toda Espaa, han surgido diferentes iniciativas
de desarrollos libres mayoritariamente en gestin comercial destinados a PYMEs as

como en Gestin de Contenidos, llevados a cabo por pequeas empresas y fruto de

desarrollos proios. Entre ellas encontramos a Facturalux, BulmaGes, Fisterra,

GestiONG, PuntoDev o Ferret , las cuales han sido promovidas por organizaciones

altamente involucrados en la Comunidad como Vivernet, Bulma, Igalia, Santiago Torres

u OpenSistemas

Otras Organizaciones Liberando

La existencia de enormes desarrollos en las Administraciones Pblicas ha sido un punto

donde los defensores del software libre han hecho hicanpi. Las posibilidades de

reutilizacin del cdigo para su uso por parte de organismos pblicos es una de las

mayores ventajas que el software libre tiene, ya que reduce enormemente el tiempo

dedicado en desarrollo intil para poder concentrar los recursos en la mejora y

evolucion de los mismos. El acuerdo firmado por los presidentes de la Junta de

Andaluca y la Junta de Extremadura en abril de 2003, muestra a las claras hacia donde

se est evolucionandovi. Uno de los puntos del acuerdo reza de la siguiente manera:

QUINTO.- Que ambas Administraciones coolaborarn en el desarrollo de nuevas aplicaciones,

que mantendrn bajo licencia GPL (GNU Public License), y en las actividades de difusin y

soporte de Software Libre a los ciudadanos de ambas Comunidades Autnomas.

2.CARACTERSTICAS DE LA ERA PROFESIONAL


Estas actuaciones se circunscriben en la que denominamos era profesional la cual
peresenta particularidades diferentes y especficas que anteriormente no se encontraron

en la gnesis de las tecnologas libres. Desde el liderazgo profesional por parte de

multinacionales del sector informtico, organismos pblicos, organizaciones

semipblicas, asi como fundaciones privadas, pasando por la construccin de nuevas

relaciones econmicas entre los diferentes agentes de la comunidad, la era profesional

presenta una serie de caractersticas intrnsecas a este periodo.

LIDERAZGO PROFESIONAL

La nueva era trae que muchas de las iniciativas libres vengan respaldadas por empresas

multinacionales de tecnologa. stas ven en el software libre, una de las reas de

negocio con ms futuro, debido a las propias dinmicas libres que las mismas presentan.

Este es el ejemplo de la empresa estadounidense Novell. Novell ha comprado Ximianvii

(AGOSTO 2003) y SuSEviii(NOVIEMBRE 2003), dos de las empresas de desarrollo de

software libre ms importantes y que ms contribuyen a la comunidad con sus

tecnologas libres.

Por su parte, Sun contina tomando posiciones en el software libre. Su plataforma Java

Desktop System basada en GNU/Linux ser implantada en millones de equipos en

Chinaix, as como en el Reino Unidox.

Por otra parte, no slo las empresas mantendrn el liderazgo en aplicaciones exitosas,

como las que comentbamos anteriormente. En la era profesional, diferentes

organizaciones pblicas y privadas llevan a cabo iniciativas relacionadas con el

Software Libre. Vivernet, Open Source Application Foundations o Fundacin Gnome,

son algunos de los ejemplos. Vivernet (Viveros de Emprendedores en la Nueva Era) es


la medida de la Consejera de Educacin, Ciencia y Tecnologa de la Junta de

Extremadura, destinada a facilitar el desarrollo de nuevos negocios en el mbito de la

Sociedad de la Informacin mediante la puesta a disposicin, de los jvenes

emprendedores con capacidad creativa, los recursos que les permitan desarrollar sus

actividades. Dentro de estas iniciativas, Vivernet est impulsando la utilizacin de las

tecnologas libres entre todas las PYMEs. Para ello est preparando la primera

metadistribucin destinada ntegramente a las PYMEs, que incluirn un paquete

ofimtico, de gestin comercial, gestin administrativa, entre otras aplicacionesxi

(ROMEO 2003).Por otra parte, organizaciones como la Open Source Application

Foundations, sustentada por Mitch Kapor (creador de Lotus) incumba diferentes

proyectos de software libre. Chandler, revolucionario proyecto de gestin de

informacin personal, es su proyecto ms importantexii (GILMOR).

CONSOLIDACIN DE DETERMINADAS APLICACIONES

La aparicin de la era profesional, tiene como efecto la consolidacin de las mejores

aplicaciones libres que se tengan, sobre todo en el ambiente del escritorio. Cuando se ha

de competir con las empresas de software propietario y con los recursos con los que

cuentan, la comunidad del software libre, se ve obligado a promover determinadas

alternativas frente a las propietarias. sto implica que aquellas iniciativas que no estn

en la vanguardia de la tecnologa, no lograrn atraer suficientes miembros a la

comunidad de desarrollo tan necesaria para su implantacion.

En la iniciativa UserLinux propuesta por Bruce Perensxiii (PERENS, 2003), podemos


observar cmo la eleccin de Gnome y OpenOffice.org sobre KDE o Abi, han resultado

en un profundo debate en la comunidad del software libre. En caso de resultar exitosa la

iniciativa UserLinux, har que aquellas tecnologas no elegidas, vern mermadas sus

posibilidades de crecimiento en gran medida.

NUEVAS RELACIONES ECONMICAS

Nuevas formas de relaciones econmicas se imponen entre los diferentes miembros de

la Comunidad. Cuando el software libre contina con su penetracin entre las diferentes

partes de la sociedad, relaciones econmicas comienzan a emerger. Este es el caso de las

relaciones entre las empresas de software libre que trabajan en la comunidad y el de las

empresas de IT que ven en el software libre, una interesante nueva lnea de negocio que

se abre.

Otro de los ejemplos de las nuevas relacionaes econmicas que se crean en la

comunidad, son los Gnome Bouties (Recompensas Gnome) establecidos por parte de

la Fundacin Gnomexiv (2003). En aras de conseguir una mayor integracin entre los

diferentes componentes que componen este escritorio grfico y las aplicaciones que

corren sobre l, la Fudacin Gnome publicaba el mes de noviembre de 2003

recompensas para todos aquellos desarrolladores que completaran determinadas tareas

que se tenan pendientes desde haca tiempo. De esta manera, se han introducido por

primera vez, incentivos econmicos de los que se tengan constancia, para el desarrollo

de tareas especficas en la comunidad del software libre. Siguiendo los pasos dados por

la Fundacin Gnome, la Fundacin Shuttelworth ha ofrecido $100.000xv (NOVIEMBRE


2003) para la realizacin de diferentes tareas en Python, entre otras tecnologas libres

3.DESAFOS A SUPERAR EN LA ERA


PROFESIONAL
Sin embargo, la era profesional debe superar diferentes desafos que se les presentan que

no son balades. Desde la relacin entre las grandes empresas y la comunidad, pasando

por la necesidad de una estandarizacin de procesos informticos,o bien la expansin

del conocimiento sobre el cambio en el paradigma tecnolgico, la comunidad del

software libre tiene ante s unos retos importantes para los prximos cinco aos.

RELACIN ENTRE LAS GRANDES EMPRESAS Y LA COMUNIDAD.

Uno de los principales desafos a los que se tendr que enfrentar la comunidades de

tecnologas libres, ser las relaciones entre las grandes empresas y los diferentes agentes

que componen la comunidad: organismos pblicos, empresas, instituciones educativas,

ciudadanos, etc. Las grandes empresas tendrn que invertir en la construccin de

comunidades y para conseguir las dinmicas del software libre, necesitan de un tippin'

point (punto de inflexin) que les permitan aprovechar el trabajo colaborativo. Sin

embargo la existencia de una multinacional no siempre es positiva desde el punto de

vista de algunos miembros de la comunidad.

Una de las razones para este hecho son las suspicacias que la misma levanta. No es fcil

conjugar los intereses de todas las partes envueltas y no siempre las relaciones son
fciles. Proyectos como OpenOffice.org (respaldado por Sun) o Helix (respaldado por

Real Networks) no tienen las mismas facilidades costando tiempo y esfuerzo la

construccin de una comunidad. ste hecho se ve refrendado con el anuncio por parte

de America Online de desentenderse de proyectos como Netscape, de los cuales

nacieron comunidades como Mozilla.

COLABORACIN ENTRE INICIATIVAS

Otro de los grandes desafos a los que se enfrenta el software libre, es el de la

interoperabilidad y estandarizacin de procesos. Empresas como Microsoft llevan

buscando durante aos la mxima estandarizacin e interoperabilidad de sus

aplicaciones entre s. Por otro lado, gran parte del desarrollo por parte de la Comunidad

del Software Libre se ha centrado en el desarrollo de aplicaciones no existentes en

plataformas libres, como GNU/Linux, por lo que no ha dedicado tantos recursos como

los necesarios a temas de interoperabilidad y estandarizacin de procesos. Era ms

necesario ofrecer aplicaciones libres y altenativas, que invertir tiempo en la

interoperabilidad entre ellas.

Sin embargo, el software libre no tiene mucho tiempo. Las iniciativas de Microsoft

marchan rpidas y contundentes en todos los campos en los que trabajan. La

estandarizacin de formatos, protocolos y procesos en los que estn sumergidos pueden

suponer la total dominancin de la infraestructura ms bsica informtica de las

organizaciones, y eso, puede significar perder la guerra. Project Green es el nombre de

uno de los ltimos proyectos de Microsoft tendentes a la interoperabilidad de muchas de


sus aplicaciones existentes en el mbito del software de gestinxvi (GILBERT, 2003) .

Este hecho confirma mucho de lo apuntado por Andrew Grygus en su famoso Beyond

2003xvii (GRYGUS 2003) al cual ya nos hemos referido en diferentes ocasionesxviii. Los

planes de Microsoft de estandarizacin de facto del mximo de sus formatos en las reas

donde compiten. Gracias a esta estandarizacin, los costes de migracin hacia

plataformas libres sern mucho ms costosas, ya que la tecnologa propietaria estar

mucho ms "apegada". El Gestin Libre de Hispalinux es un ejemplo de este hecho. La

lista de correo que prometa ser el inicio de una futura aplicacin comercial libre, con el

paso del tiempo ha ido decayendo. En Espaa hemos visto durante los ltimos 12 meses,

la aparicin de determinados proyectos como Facturalux, GestiONG, Fisterra,

BulmaGes, y la ms reciente de PuntoDev, que han mostrado cmo el hacer y no hablar

se impone en el software libre...."release early, release often"...

EXPANSIN DEL CONOCIMIENTO EN EL PARADIGMA TECNOLGICO

Hemos hablado sobre cmo la expansin del conocimiento sobre el software libre ha

sido decisivo en los ltimos aos para la penetracin del tecnologas como Linux,

OpenOffice.org, etc. Sin embargo esta expansin ha de continuar. El concepto del

software libre, se estanca en muchas ocasiones en la gratuidad del mismo y en los

quebraderos de cabeza de los interlocutores en entender cmo se gana dinero en el

software libre. No se hace hincapi en el cambio en el paradigma tecnolgico, que

constituyen las nuevas formas de colabroacin que una sociedad en red ofrece. Crear

conciencia que un grupo de miles de desarrolladores ofrece soporte sobre una tecnologa
como Linux se hace imperativo en la era en la que nos encontramos, si se pretende que

el software libre contine con su expansin en nuevas reas .

COLABORACIN ENTRE ORGANISMOS PBLICOS

La implantacin de software libre en los organismos pblicos no slo trae como

consecuencia el cumplimiento de la ley, ni los grandes ahorros de costes por la libertad

y gratuidad del mismo. La mayor consecuencia es la racionalizacin de los costes de

desarrollo dependientes de las administraciones pblicas as como el poder distribuir

esas herramientas entre el resto de la sociedad. El desafo se presenta ante las actuales

4. Y PARA TERMINAR.....UNA PROPUESTA


Las iniciativas a las que nos referamos anteriormente son slo el primer paso para

lograr que el software lirbe se expanda en mbitos como el de la gestin comercial;

todas ellas son bastante interesantes de por s, pero se quedarn en eso, en iniciativas

locales y sin mucho mayor poder de penetracin, si entre las mismas no se colabora. Las

dinmicas y bondades del Software Libre emergen cuando se colabora entre las

organizaciones y los diferentes proyectos. Francisco de Urquijo, consultor de software

libre, lo tiene bastante claro: estandarizacin de procesos antes de que las empresas de

software propietario consigan imponer sus estndares de facto.

Juantomas Garca, presidente de Hispalinux, ha propuesto la unificacin en torno a un

mismo proyecto de todos los responsables de proyectos de gestin en el mbito


hispanoamericano. Desarrollando la propuesta de Juantomas, la creacin de un comit

de estandarizacin de procesos se antoja prioritaria. Este comit podra estar formado

por parte de los responsables de Comunidad de cada una de las aplicaciones liberadas

comerciales que quisieran participar en un comit tendente a la estandarizacin de los

procesos. Este comit estara formado por parte de un Consejo de Asesores entre los que

se podra encontrar lderes de la Comunidad, Administracin Pblica, Responsables de

Tecnologia de Asociaciones Empresariales, etc. que permitiera unificar criterios a nivel

nacional sobre los procesos de administracin. A este comit se iran incorporando poco

a poco las empresas que fueran liberando para poder participar de las mismas, as como

cualquier otra organizacin interesada en participar en la misma. Empresas de software

propietario estaran especialmente invitadas a unirse al proyecto de estandarizacin, ya

que las mismas se veran tambin favorecidas de un mercado donde se compitiera en

servicios. En un futuro, podran articularse comits por cada uno de las grandes reas

que necesitan de una estandarizacin.

La comunidad del software libre ha entrado en la era profesional donde nuevas

caractersticas trazan el futuro sobre el cual las tecnologas libres continuarn

avanzando. Diferentes desafos tendrn que ser superados por parte de los diferentes

agentes de la Comunidad del Software Libre si se quiere que la penetracin de las

tecnologas libres, contine con la penetracin exponencial que ha venido manteniendo

en los ultimos aos. En las manos de la comunidad se encuentra su futuro.


i ROMEO, ALFREDO; GARCA, JUANTOMAS. La Pastilla Roja. Software Libre y Revolucin
Digital. Madrid 2003.
ii OpenOffice.org Press Rease 1.1. NOTA DE PRENSA. 1 de octubre de 2003. Disponible en
Internet: http://www.openoffice.org/about_us/1.1press_releaseb.html
iii Netscape Plans to Make Next Generation Communicator Source Code Available Free on the
Internet. Nota de Prensa. 21 de enero de 1998. Disponible en Internet.
http://wp.netscape.com/newsref/pr/newsrelease558.html
iv Liberacin de Groupware completo por SkyriX. NOTA DE PRENSA. 10 de julio de 2003.
Disponible en Internet: http://barrapunto.com/article.pl?sid=03/07/10/1524244&mode=thread
v Vivernet presenta ContaLinex y FacturLinex, en el marco del VII Encuentro de Emprendedores y
Empresarios. Vivernet. 23 de octubre de 2003. Disponible en Internet:
http://www.vivernet.com/noticias/principal54.html
vi Protocolo general entre las comunidades autnomas de Extremadura y Andaluca sobre
colaboracin en materia de uso y difusin de software libre y de Linex en particular.11 de abril
de 2003. Mrida. Disponible en Internet: http://www.hispalinux.net/andalucia2.html
vii Novell Acquires Ximian to Expand Linux Solutions and Open Source Commitment. NOTA DE
PRENSA. 4 de agosto de 2003. Disponible en Internet:
http://www.ximian.com/about_us/press_center/press_releases/?pr=novell
viiiNovell announces agreement to acquire Leading Enterprise Linux Technology Company. SUSE
Linux. NOTA DE PRENSA. 4 de noviembre de 2003. Disponible en Internet:
http://www.hispalinux.net/andalucia2.html
ix Chinese deal could be biggest Linux rollout yet. MCMILLAN, ROBERT. Internet Week. 18 de
noviembre de 2003. Disponible en Internet:
http://www.techworld.com/news/index.cfm?fuseaction=displaynews&NewsID=674
x Sun Lights Up U.K. Servers, Desktops . SINGER, MICHAEL. Internet News. 8 de diciembre de 2004.
Disponible en Internet. http://www.internetnews.com/dev-news/article.php/3286251
xi Software Libre e Innovacin. ROMEO, ALFREDO. Baquia. 30 de octubre de 2003. Disponible en
Internet: http://www.baquia.com/com//20031030/art00004.html
xii Reinventing Your Inbox. Mitch Kapor brings open source to the masses.GILMOR, DAN. Wired
Magazine. Noviembre 2003. Disponible en
Internet:http://www.wired.com/wired/archive/11.11/linus.html?pg=6
xiiiOn the GUI Selection in UserLInux. PERENS, BRUCE. 15 Diciembre 2003. Disponible en
Internet: http://userlinux.com/GUI.html
xivDesktop Integration Bounty Hunt. Gnome Foundation. Disponible en Internet:
http://www.gnome.org/bounties/index.php3
xv Claim your Bounty. Shuttelworth Foundation. Disponible en Internet:
http://www.markshuttleworth.com/bounty.html

xviMicrosoft lays out 'Project Green' revamp. GILBERT, ALOIRE. 7 de octubre de 2003. Disponible
en Internet: http://news.com.com/2100-1012-5087925.html?part=dht&tag=ntop
xvii2003 and Beyond. GRYGUS, ANDREW. Aaxnet. 23 de febrero 2003. Disponible en internet:
www.aaxnet.com/editor/edit029.html
xviiiColaborar o Morir. ROMEO, ALFREDO. Diariored.com. 21 de diciembre de 2003. Disponible en
Internet: http://www.aromeo.net/archives/000104.html
EHAS: programas libres para apoyar el sistema de salud en
zonas aisladas de America Latina.
Joaqun Seoane Pascual Arnau Sanchez Sala Valentn Villaroel Ortega
joaquin@dit.upm.es arnau@gbt.tfo.upm.es valentin@gbt.tfo.upm.es
Andres Martnez Fernandez Alberto Saez Torres
andresmf@tsc.uc3m.es ast@gbt.tfo.upm.es

4 de febrero de 2004

Resumen
El Programa Enlace Hispano Americano de Salud (EHAS1 ) pretende contribuir a la mejora
del sistema publico de asistencia sanitaria en zonas rurales aisladas de pases de America Latina,
por medio de las telecomunicaciones y la informatica. Para ello propone a puestos y centros
de salud soluciones de conectividad de bajo coste aptas para zonas donde no haya telefono ni
electricidad, as como servicios adaptados a ellas, que faciliten la capacitacion a distancia, las
consultas remotas, el pedido de medicamentos, la vigilancia epidemiologica, etc. Estas soluciones
utilizan y desarrollan software libre alla donde las condiciones lo permiten y que cada vez son mas
favorables.

1. Introduccion
Aunque hay razones poderosas para utilizar y desarrollar software libre en pases en desarrollo y,
en particular, en proyectos de desarrollo, la realidad indica que su aplicacion es aun limitada. Como
en todas partes, su introduccion empieza alla donde su uso es, sin posibilidad de discusion, la mejor
solucion tecnica y economica. Este es el caso de las soluciones que desarrolla el programa Enlace
Hispano Americano de Salud (EHAS), que partiendo del estudio de necesidades del personal sanita-
rio en regiones aisladas de Peru, Nicaragua, y posteriormente de Colombia, Cuba y Mexico, llego a
la conclusion de que con telecomunicaciones de bajo costo se podran paliar algunos de sus proble-
mas, como su aislamiento personal y profesional, pudiendo facilitar las consultas profesionales, la
formacion, el intercambio de informes, la coordinacion de emergencias, el pedido de medicamentos.
Para demostrarlo, entre los anos 2000 a 2002 se puso en marcha un proyecto piloto en la provincia
de Alto Amazonas del departamento de Loreto en Peru, con objeto de demostrar una solucion de bajo
coste y evaluar su impacto. Dicho proyecto involucra al Hospital Provincial de la capital, Yurimaguas,
y a 40 establecimientos de salud de dos categoras: centros de salud y puestos de salud. Los centros de
salud estan dotados de varias personas, al menos una de ellas medico, y suelen tener telefono y grupo
electrogeno funcionando algunas horas al da. Los puestos de salud dependen de los anteriores y solo
cuentan con una persona de formacion limitada y carecen de telefono y cualquier fuente de energa,
lo que hace necesaria alimentacion solar. Los desplazamientos se hacen por ro y, en algunos casos
peden necesitarse varios das para moverse de un puesto de salud a su centro de referencia.
1
http://www.ehas.org.

1
La evaluacion de este proyecto sugiere que ademas de mejorar la calidad de la asistencia sanitaria,
los costes de infraestructura se amortizan en poco tiempo [4, 3]. La experiencia obtenida y la evolucion
de la tecnologa han dado pie para definir otros nuevos en distintos escenarios, unos realizados y otros
en fase de diseno e implantacion. Por ejemplo, en la provincia del Cauca, en Colombia, se enlaza la
capital de la provincia, Popayan, con dos hospitales rurales en zona indgena guambiana de Silvia[1],
y estos con sus puestos de salud. En fase de diseno e implantacion hay extensiones de los proyectos de
Loreto y Guambia y acciones nuevas en el Cuzco peruano, la costa pacfica del Cauca y la provincia
de Guantanamo en Cuba.
El programa EHAS esta liderado por el Grupo de Bioingeniera y Telemedicina de la Universidad
Politecnica de Madrid, en su vertiente de investigacion y desarrollo, y por la Asociacion Madrilena
de Ingeniera Sin Fronteras, en su vertiente de realizacion de proyectos de cooperacion. Esta cola-
boracion entre Universidad y ONG ha dado lugar a la Fundacion EHAS, que sera la que desarrolle
el programa a partir de ahora. Cuenta con la participacion de universidades e instituciones publicas
en Peru, Colombia y Cuba, y es apoyado financieramente por los programas de investigacion de los
pases participantes (Plan Nacional de I+D+I del MCyT espanol, Colciencias, el Concytec peruano)
y programas de cooperacion ordinaria (AECI, ayuntamientos, autonomas) o con una inclinacion mas
cientfica o tecnologica (CYTED, Banco Mundial, Colegios profesionales, Comite de Cooperacion y
Solidaridad de la Universidad Politecnica de Madrid, programa ALIS de la Comunidad Europea).
A continuacion se describiremos brevemente las tecnologas utilizadas y en fase de desarrollo,
haciendo hincapie en el software libre empleado, modificado o construido.

2. Redes de voz y datos


Como las evaluaciones han demostrado, el principal servicio necesario y que claramente salva
vidas es la simple comunicacion de voz en el ambito mas local, siendo la comunicacion de datos un
complemento valioso, pero siempre secundario. Es por ello que la mayora de las soluciones pro-
puestas resuelven el problema de voz, sobre el que superponen un sistema de datos con bajo coste
adicional.

2.1. Microrredes VHF


En zonas como los llanos selvaticos de Alto Amazonas o los valles de Guambia, con estableci-
mientos separados decenas de kilometros, sin telefono, la infraestructura mas sencilla y usada para
comunicar los puestos de salud con su centro de salud es la radio VHF, ya que su alcance puede ser
del orden de 40 Km, limitado por la curvatura de la tierra y los obstaculos importantes (entre los que
se encuentran los arboles). Se eligen pues en estos casos radios VHF convencionales que se utilizan
normalmente para voz, pero que, intermitentemente, pasan a intercambiar datos entre un ordenador
cliente en el puesto de salud y un servidor situado en su centro de salud de referencia. El servidor a su
vez se comunica intermitentemente con internet a traves del telefono o, en algunos casos, a traves de
un terminal VSAT.

2.2. Redes HF
En zonas muy aisladas, VHF no se puede utilizar. En estos casos puede utilizarse HF (onda corta)
por reflexion ionosferica, salvandose distancias de centenares o miles de kilometros. Lamentablemen-
te HF es de muy escasa calidad y solo puede usarse a ciertas horas, dependiendo del canal, y con
protocolos y modulaciones especiales. No obstante el funcionamiento de estas redes es muy similar

2
a las de VHF, aunque con un radio mucho mayor, y con un servidor permanentemente alimentado y
conectado a internet.

2.3. Redes VSAT


Otra solucion explorada para zonas muy aisladas ha sido la utilizacion de satelites de baja orbita
(LEO). Estos satelites no son geoestacionarios, pero pueden utilizarse cuando pasan por encima de un
punto para intercambiar ficheros con muy baja energa. Pero no pueden utilizarse para voz, dependen
de microsatelites compartidos de vida incierta y de equipos terrestres de cierta complejidad, por lo que
se ha abandonado en favor de las redes HF. Ciertamente podra usarse la moderna telefona satelital en
la mayora de los lugares, pero los costes actuales siguen excesivos, por lo que los enlaces satelitales
geoestacionarios solo se usan para concentrar comunicaciones que se distribuyen luego por enlaces
terrestres.

2.4. Redes apoyadas en movilidad fsica


La idea de utilizacion de satelites LEO es extensible a cualquier tipo de moviles, ya sean satelites,
autobuses, barcos, caballeras o personas[5, 7]. La opcion mas simple pero de mas capacidad es el
transporte fsico de unidades de almacenamiento masivo, como CD o DVD, y esta posibilidad se ha
adoptado en EHAS como complemento para el transporte de gran cantidad de informacion cuando los
enlaces fsicos no lo soportan, si bien en un solo sentido.

2.5. Redes WiFi


La extension de las redes locales inalambricas en microondas (actualmente IEEE 802.11b) a dis-
tancias relativamente grandes ha supuesto una revolucion que por supuesto no desaprovechamos. A
pesar de no haber sido expresamente disenadas para ello, su regulacion liberal y su conscuente bajo
coste hacen de ellas una solucion que ya ha sido aprovechada (enlaces entre Popayan y dos hospita-
les rurales a mas de 40 Km). El ancho de banda mucho mayor que las soluciones anteriores abre el
camino a aplicaciones muy diferentes.
Sin embargo tambien plantea problemas, siendo el mas importante el que ahora la voz depende
de una red de datos sin soporte para calidad de servicio, por lo que ni siquiera esta garantizado poder
mantener una conversacion. Otro inconveniente es la necesidad de que no haya obstaculo alguno entre
los puntos a comunicar, algo muy caro de conseguir en selva, por ejemplo. Por ello se esta explorando
la posibilidad de construir redes ad-hoc con cierto soporte de calidad de servicio, construidas con
encaminadores autonomos basados en Linux y alimentados con energa solar. Estas redes permitiran
construir corredores inalambricos en valles y cuencas fluviales.

3. Aplicaciones basadas en correo electronico


Excepto en el caso de las redes inalambricas en microondas, vemos que las soluciones propuestas
se basan en conexiones intermitentes de bajo ancho de banda y utilizando medios diversos. Por ello
todas las aplicaciones contempladas, que dan valor anadido a la red de comunicaciones, se construyen
para poder funcionar traves de correo electronico, ya sea interpersonal, ya entre programas. As los
mensajes pueden atravesar distintos medios (radio VHF o HF, conexiones telefonicas a veces de mala
calidad, o almacen intermedio en satelites LEO o un CD) sin problemas. Sin embargo, si se dispone
de una conexion de velocidad aceptable para el funcionamiento interactivo, se utilizara.

3
Esta diversidad de soportes y transportes requiere gran independencia entre la informacion que se
maneja y la forma en que se trata, por lo que es preciso definirla de forma suficientemente abstracta.
Es por ello que se utiliza extensivamente la tecnologa XML, ya sea para definir el contenido de un
informe epidemiologico como para describir el contenido de un curso de formacion a distancia.
En particular, para formacion a distancia se esta trabajando en un conjunto de herramientas para
definir, editar y manipular material educativo utilizable por estudiantes conectados solo por correo
electronico2 , as como en una plataforma visual de teleeducacion activada por eventos de correo.

4. AX.25 y redes de banda estrecha


Para comunicar va radio clientes y servidores, tanto en VHF como en HF, se utiliza el protoco-
lo AX.25[2], una adaptacion de X.25 realizada por radioaficionados, implementada parcialmente en
Linux y, de forma cerrada, en Windows. En Alto Amazonas y el Cauca se implemento una red mixta
(estaciones Windows y servidores Linux).

4.1. TCP sobre AX.25


Como las aplicaciones de correo para Windows utilizan protocolos POP y SMTP directamente,
fue preciso implementar estos servicios de alguna manera sobre AX.25. En general, sea cual sea la
plataforma, parece ser buena idea implementar protocolos de aplicacion estandar de Internet, ya que
de ese modo todos los programas disenados para internet funcionaran directamente. Sin embargo,
esto ocasiona dificultades e ineficiencias, debido al desconocimiento por parte de TCP de un medio
semiduplex de elevadas tasa de error, latencia y probabilidad de colision, lo que ocasiona repeticiones
innecesarias de paquetes y detecciones falsas de congestion. Esta claro que hay que impedir que TCP
intervenga como protocolo de transporte y delegar la responsabilidad de gestion del enlace en AX.25,
mucho mejor adaptado para ello.

4.2. Tunelado de protocolos de internet sobre AX.25


Una posibilidad de empleada con exito en Alto Amazonas es enganar a las aplicaciones, haciendo-
las hablar con sendos proxis locales de SMTP, POP o lo que sea necesario. Las conversaciones con
esos proxis se trasladan al servidor por medio de AX.25, donde escuchan sus proxis complementarios,
que trasladan la conversacion a los servidores. Para multiplexar las distintas conversaciones de apli-
cacion se utiliza SSH, lo que resuelve de una vez tres problemas: la multiplexacion, el uso eficiente
del escaso ancho de banda disponible, y la proteccion de informacion que puede ser confidencial.

4.3. Uucp sobre AX.25


No obstante, y a pesar de la eficiencia lograda con un tunel SSH, los protocolos de aplicacion
de internet no son del todo apropiados para una red poco fiable y de escaso ancho de banda. Tradi-
cionalmente se ha usado uucp para intercambiar correo en enlaces de mala calidad, y como nuestras
aplicaciones estan basadas en correo, parece una opcion natural optimizar este. La venerable version
de Ian L. Taylor soporta diversos protocolos para distintos tipos de conexiones, incluidas semiduplex,
permite reanudar transferencias abortadas, y es bastante eficiente. Ya se utilizo en Alto Amazonas 3
2
http://mailcourse.sourceforge.net.
3
Sobre TCP.

4
para intercambiar correo entre los centros de salud y el conmutador central, y ahora se utiliza sobre
AX.25 para transferir lotes comprimidos con bsmtp.
Este cambio de timon ha supesto tambien el abandono de implementaciones AX.25 sobre Win-
dows. La flexibilidad de tener fuentes abiertos para resolver este y otros problemas compensa el in-
tentar vencer las resistencias de los usuarios a usar una plataforma libre. Y si no se puede, lo que s se
puede es trasladar toda la logica de comunicaciones a un procesador de comunicaciones de bajo costo
basado en Linux y conectado a otro ordenador por medio de una conexion ethernet.

4.4. Modulacion software


Con radios comerciales de voz VHF, canalizadas a 25 KHz, se consiguen facilmente 9600 bps,
pudiendose doblar la velocidad o reducir a la mitad la canalizacion si las radios y los modems son
de buena calidad. Aunque se han utilizado modems externos, por razones de coste, flexibilidad y
fiabilidad se ha optado por utilizar tarjetas de sonido, usando el procesador central como procesador
de senal. Eso nos permite ademas optimizar las modulaciones. Para ello se ha utilizado directamente
el paquete soundmodem de Thomas Sailer[6].
Con radios comerciales de voz HF, canalizadas a 3 KHz, y sometidas a fuertes interferencias y
desvanecimientos, pueden utilizarse modems de HF muy caros o muy lentos (100 a 300 bps). Esto hizo
necesario trabajar mas en profundidad la modulacion. Por ello se modifico profundamente un modem
(newqpsk) anadido por Tomi Manninen a soundmodem. Dicho modem, usa 15 portadoras moduladas
en DQPSK, entrelazado de bits para luchar contra los errores de rafagas, y codigos autocorrectores.
En el se sustituyo el codigo autocorrector por turbocodigos convolucionales, consiguendose alcanzar
velocidades entre 1000 y 2000 bps, segun la calidad del canal. Ademas los espacios entre portadoras
nos permiten intercalar canales de chat, muy convenientes cuando la calidad de la voz es muy mala.

4.5. Modificaciones de AX.25


Los clientes y el servidor de una red VHF o HF compiten por la unica frecuencia disponible,
que usan tanto en transmision como recepcion. Para controlar el acceso al medio, en el entorno de
radioaficionado se utiliza normalmente CSMA-CA: un cliente escucha si alguien esta hablando y, si
es as, se espera un tiempo seudoaleatorio para intentarlo de nuevo, tanto mas largo cuantas mas veces
se haya detectado portadora. La probabilidad de colision y destruccion de paquetes puede ser muy
grande debido a que el tiempo de conmutacion entre transmision y recepcion es considerable. Y en
radio no es posible detectar la colision pronto y anular la transmision, como se hace en ethernet.
Este es el unico modo implementado en Linux, ya que suele ser el unico interesante para los
radioaficionados, que quieren hablar todos con todos. Ademas exige que todas las estaciones se escu-
chen entre s, lo que implica mastiles mas altos para que las antenas, generalmente omnidireccionales,
se vean todas entre s. Esto es costoso y exige potencia suficiente en las radios para llegar a todos los
puntos. Sin embargo en nuestra aplicacion solo hay comunicacion cliente servidor.
Una solucion es la implementacion, al mismo nivel de AX.25, de un protocolo de control de
acceso multiple asignado bajo demanda. Dicho protocolo permite al servidor la asignacion de turnos
a los clientes que simulataneamente han establecido una conexion. El protocolo se ha implementado
en el nucleo de Linux de forma que funcione correctamente con interlocutores que desconozcan que
se esta utilizando este metodo de control de acceso, haciendoles creer que el servidor esta ocupado
durante la rodaja de tiempo que no les corresponde. Ello fue necesario porque, de nuevo, el caracter
cerrado de la implementacion de AX.25 en Windows impeda cualquier modificacion.

5
Otra modificacion importante fue la retransmision selectiva en AX.25. La modificacion introdu-
cida no es compatible con el estandar, ya que permite enumerar exactamente que paquetes se han
recibido mal para solo retransmitir esos, algo muy necesario en un entorno tan sensible a errores.

5. Estacion EHAS
Para facilitar el despliegue de las tecnologas desarrolladas, se estan preparando unas metadis-
tribuciones basadas en el proyecto Gnome2-live, basado a su vez en Debian, que permita instalar
y configurar facilmente estaciones clientes y servidoras comunicables por medio de las tecnologas
esbozadas mas arriba.

6. Conclusiones
El software libre nos ha permitido desarrollar rapidamente con pocos recursos un conjunto de
soluciones de bajo coste para mejorar las condiciones de vida en zonas aisladas y desfavorecidas.
Tambien ha ayudado el caracter relativamente abierto de la comunidad de radioaficionados. En los
casos en que se ha tenido que usar software comercial, las dificultades han sido mayores, ya que se
han tenido que soslayar los problemas que su caracter cerrado impeda resolver mas directamente.
Por ello los nuevos desarrollos se estan basando exclusivamente en software libre, si bien se ofrece la
oportunidad de usarlos a traves de un entorno propietario, a mayor coste.

Referencias
[1] Rendon A. EHAS-Silvia: Servicios de informacion sanitaria para las zonas rurales del cauca.
In Primer Encuentro de Investigacion, Innovacion e Ingeniera en Telecomunicaciones y Areas
Afines, 2003.

[2] William Beech, Douglas Nielsen, and Jack Taylor. AX.25 link access protocol for amateur packet
radio v2.2. Technical report, Tucson Amateur Radio Corporation, 1997.

[3] Andres Martnez. Evaluacion de impacto del uso de tecnologas apropiadas de comunicacion
para el personal sanitario rural de pases en desarrollo. PhD thesis, Universidad Politecnica
de Madrid, Escuela Tecnica Superior de Ingenieros de Telecomunicacion de la Universidad Po-
litecnica de Madrid, 2003.

[4] Andres Martnez, Valentn Villarroel, Joaqun Seoane, and Francisco del Pozo. EHAS program:
Rural telemedicine systems for primary healthcare in developing countries. In Proceedings of the
International Symposium on Technology and Society, 2002.

[5] Alex Sandy Pentland, Richard Fletcher, and Amir Hasson. Daknet: Rethinking connectivity in
developing nations. IEEE Computer, 37(1), enero 2004.

[6] Thomas Sailer. Soundmodem on modern operating systems. In ARRL and TAPR Digital Com-
munications Conference, 2000.

[7] Jaap van Til. Netweaving rural villages: introducing the weave. In ITS 12th European Regional
Conference. International Telecommunications Society, Sept 2001.

6
OPEN SOURCE INICIATIVES IN BIOINFORMATICS

A.Labarga1, I. Kovarskaia2
1
Universidad Pblica de Navarra, Spain; 2IMAGINA BIOTEK, SLL, Spain
alberto.labarga@unavarra.es

Bioinformatics is an exciting and rapidly developing field. There has been growing interest in
the area in recent years as the rates of biological data generation increased. Several
technological advances significantly accelerated the rate at which biological data is
generated, mainly faster nucleic acid sequencing methods and highly parallel, microchip
analysis technologies for both nucleic acids and proteins. The greatest single effort is the
recent draft sequence assembly of the Human Genome.

All indications point to the continued expansion of bioinformatics both as a scientific


discipline and as a commercial endeavor to meet the challenges of managing and analyzing
huge amounts of data. Scientific and methodological advances in both medicine and
pharmaceutical discovery derive from these data, so the correct use of computing
technologies leads to better science and better products.

There is a wide variety of individual projects and groups working on software and tools for
bioinformatics (Dugan, 2001). This presentation aims to provide a reference to those projects
that seem to be the most important and most active at this time.

There are two main groups within the bioinformatics open source software community. The
first is the Open Bioinformatics Foundation and their associated projects like BioPerl and
BioPython. This group creates development libraries and tools for programmers in a variety
of languages for bioinformatics generally, but mainly to facilitate sequence management and
analysis. The second group is the Bioinformatics.org and the Open Lab. This group provides
support for a large set of unconnected projects all relating to bioinformatics. The projects
within the Open Lab are primarily end-user software tools for scientists looking to solve
particular biological and bioinformatics problems, and not for software developers. There are
also larger, industry-focused organizations related to standards for middleware software, such
as CORBA and XML, and the associated standards forming initiatives such as BioXML or
BioCorba.

We will try to provide a quick overview of these initiatives and we will show some of the
work that Public University of Navarra and IMAGINA BIOTEK are developing related to
two of these projects: Bioconductor and the Gene Ontology Consortium.

References:
Dugan, J. Open Source Initiatives In Bioinformatics. A report submitted to the Health
Science Intiative Applications Working Group Internet2. 2001

Keywords: Bioinformatics, Biostatistics, Microarrays, Data mining


BENEFICIOS DEL CDIGO LIBRE EN LAS AREAS DE
INVESTIGACIN Y DESARROLLO

D. Reche Martinez1, A. Garca Linares2, I. Rodrguez Aragn3


1,2,3
Departamento de Investigacin, Desarrollo e Innovacin, Novasoft Sanidad,
Espaa
dreche@novasoft.es

Palabras Clave: Investigacin, Multiplataforma, Estndar, Seguridad, Sanidad

1. Introduccin

En los ltimos aos se escucha continuamente hablar del software libre, en multitud de
foros seguidores y detractores debaten acerca de sus beneficios, sin embargo no existe
un patrn comn de utilizacin y explotacin por parte de las empresas, los modelos de
negocio son muy variados. En este articulo pretendemos dar una visin sobre como se
utiliza el software libre en las reas de investigacin y desarrollo de organizaciones
empresariales y mostrar los beneficios asociados a su utilizacin.

El grupo de investigacin, desarrollo e innovacin de Novasoft Sanidad hace un uso


extensivo del software libre. Uno de los parmetros que consideramos como mas
importante en su uso es la confianza. Aunque a priori parezca sorprendente, el software
libre nos da seguridad. Pero, Cmo es posible que un software desarrollado por
voluntarios de distintas partes del mundo, con distintos niveles de programacin, sin
ningn inters especial en el correcto funcionamiento de sus desarrollos y en la mayora
de los casos sin ninguna remuneracin, sea confiable?. Es fcil de explicar, aqu no hay
trampa, todo se puede ver y tocar. El cdigo fuente esta puesto a disposicin de los
usuarios. Cualquier persona tiene la libertad de adaptar a sus necesidades y modificarlos
segn su criterio. Los diseos y arquitectura son discutidos y revisados
concienzudamente y cuando se detectan errores el propio programador da la seal de
alarma, no se oculta informacin.

2. El modelo OpenSource

El modelo de cdigo abierto no es una religin, Es una manera muy pragmtica de


evolucin del software en un ambiente en constante cambio. Aprovecha la sabidura, la
experiencia, la experticidad y el conocimiento de los requerimientos de los usuarios
para asegurar que sus necesidades sean cubiertas rpidamente. En general, para el
modelo de cdigo libre podemos enumerar las siguientes caractersticas y beneficios:

Gestin de la configuracin (plataformas, compiladores, etc.)


Muchos proyectos de cdigo libre permiten la utilizacin del compilador que mejor
se ajuste a las necesidades del usuario, esto permite personalizar el entorno de
desarrollo y mejora la portabilidad del cdigo. Si el sistema no tiene posibilidad de
ejecucin en su plataforma, entonces tome la iniciativa y cree un grupo de usuarios
con su misma afinidad, colabore para obtener un beneficio comn. Igualmente si
usted vende una plataforma que esta pobremente soportada, mantngala usted,
colabore con sus usuarios para afinar el software y sacarle el mximo rendimiento a
su plataforma. En general el cdigo libre facilita la facultad de eleccin. Mientras
que los sistemas propietarios limitan esta facultad al restringir, normalmente, el uso
de una plataforma y compilador especifico.
Gestin de revisiones y evolucin del producto
En este modelo ya no hay necesidad de esperar las promesas de resolucin de
problemas en la siguiente versin. Usted posee el cdigo fuente y puede participar
activamente en la las actividades de desarrollo, realizar un seguimiento de las
mismas, participar en las pruebas verificando las nuevas caractersticas y su
estabilidad.

Depuracin
Al disponer del cdigo fuente y del compilador adecuado, es posible participar mas
activamente en el seguimiento de errores directamente realizando depuracin sobre
el cdigo, esto acelera notablemente la velocidad de deteccin y correccin de
errores ya que su descripcin del error esta mas cercano al programador.

Documentacin
La documentacin del sistema normalmente es un proyecto satlite al proyecto de
desarrollo. Puede y debe participar activamente en el desarrollo de la misma,
realizando traducciones a su idioma, colaborando en las correcciones de las mismas
y en su evolucin segn las revisiones. Esta interaccin conlleva una documentacin
mas fiable y ms actualizada de la que cualquier producto propietario pueda
proporcionar.

Propiedad
En este modelo los usuarios son participes del sistema. Tienen inters en su buen
rumbo. Ya no son victimas de decisiones corporativas.

Herramientas de terceros
Debido a que se dispone del cdigo fuente los usuarios tienen mayor facilidad para
desarrollar herramientas y productos complementarios al sistema. No tienen que
necesariamente acceder va APIS.

Benchmarking
Al no estar sometido a intereses particulares el software libre no inhibe su
evaluacin, no esconde o maquilla los resultados de la misma. No tiene que
responder acerca del volumen de venta, si no esta preparado o no es lo
suficientemente estable no se pasa a produccin. Los evaluadores tampoco estn
sujetos a inters ya que finalmente son los mximos interesados en que el sistema
tenga un rendimiento optimo.

Seguridad
Cdigo abierto significa que lo que ves es lo que hay. Puede inspeccionar el cdigo
lnea a lnea en busca de acciones maliciosas, caballos de Troya, etc.

Licencia
No existen cargos por licencia, ni de desarrollo ni de ejecucin. Es posible instalar el
software donde y como quiera. Pasar a una nueva versin ya no es una decisin
econmica sino tcnica, ya que el upgrade no tiene coste alguno. Puede utilizar el
software como elemento de su solucin sin temor a elevar los costes de distribucin.

Para nosotros, una de las ventajas mas importante del Software libre adems de ser
gratuito es, en la mayora de las ocasiones, ser multiplataforma, ya que este, es un
excelente complemento para nuestros productos desarrollados en Java. En este aspecto
es importante sealar la utilizacin cada vez mayor de estndares para facilitar la
cooperacin entre sistemas de distintas organizaciones y sistemas heterogneos, como el
XML, SOAP, etc. En particular, en las reas de investigacin y desarrollo, encontramos
las siguientes ventajas adicionales:

Reduccin de costes de investigacin


El mantenimiento de un departamento de investigacin y desarrollo dentro de
una empresa, esta siempre sujeto a presiones econmicas y de resultados.
Especialmente en los casos de pequeas y medianas empresas. Esto ocasiona
que si no se cumplen los plazos o las expectativas planteados inicialmente, se
tienda a la supresin o reduccin del departamento. Buscar medios que permitan
reducir estos costes o mejorar los tiempos de presentacin de resultados son
siempre una garanta de permanencia. En este aspecto, el uso de software libre
supone una clara ventaja ya que los costes se reducen accediendo al mismo
tiempo a tecnologas punta que permiten disminuir los tiempo de respuesta e
implementar nuevas ideas que de otra manera sera difcilmente acometibles.

Interaccin con otros grupos de trabajo


Es casi imposible utilizar un software libre sin involucrarse en el proyecto. Esto
provoca una interaccin continua en foros, listas de correo, etc. Esta interaccin
con otros grupos de trabajo aporta nuevas ideas ya sea para ese u otro sistemas,
descubrir posibles errores de diseo, da la posibilidad de compartir informacin
y contrastar los resultados de la investigacin aportando una provechosa
interaccin.

Inmediatez
A menudo es necesario desarrollar elementos especficos de un sistema o
solucionar una necesidad con extrema urgencia. Los repositorios de proyectos de
cdigo libre existentes en Internet aportan soluciones eventuales listas para
descargar en las que podemos encontrar proyectos de todo tipo que en ocasiones
solucionan o al menos nos sirven de gua en la consecucin de la necesidad.

Metodologa
Dado que el departamento de I+D marca el ritmo de la innovacin de la empresa
en aspectos tales como forma de trabajo, adopcin de nuevas herramientas,
sistemas de calidad, etc. el hecho de que se encuentre involucrado en proyectos
de cdigo libre con grupos de ambientes diferentes incrementa de manera muy
positiva la adopcin de tcnicas metodologas de desarrollo como UML, URP,
WorkFlows, etc.

3. Detalle de los proyectos utilizados

Participamos en varios proyectos GNU y utilizamos muchos de los sistemas abiertos


que se pueden encontrar gratuitamente en Internet. Esto nos da la posibilidad de
experimentar con diferentes entornos y sistemas y dotar una mayor y mejor
funcionalidad a nuestros productos.

Entre los distintos sistemas de software libre utilizados por nuestro departamento,
podemos destacar los siguientes:
Sistemas Operativos
Linux. Es el sistema operativo libre mas utilizado para PC. Posee numerosas variantes,
entre ellas estn las iniciativas Linex y Guadalinex. Este entorno nos da la posibilidad
de realizar test de nuestros productos desarrollados en Java y verificar su portabilidad.
Adems de utilizarlo como estacin de trabajo, tambin aprovechamos sus
caractersticas como servidor destacando su gran fiabilidad y estabilidad.

FreeBSD. Nuestro servidor de correo, webmail, ftp, listas de correo y distribucin se


ejecutan en este sistema. Destacamos su robustez, sus limitadas exigencias hardware y
su seguridad.

Bases de Datos
MySQL. Probablemente es la base de datos libre mas conocida. Intentamos desarrollar
nuestros productos de manera que sean independientes del sistema de gestin de base de
datos utilizada. En este aspecto, utilizamos este motor de base de datos como elemento
participe en nuestro sistema de pruebas. Destacamos su sencillez y robustez.

PostgreSQL. Este motor de base de datos aporta una mayor velocidad de acceso y un
modelo de trabajo mas seguro (utilizacin de SSL y kerberos) y a esto aadimos
caractersticas como la integridad referencial o lenguajes procedurales.

Servidores y plataformas
Apache+Tomcat. Lder en nmero de servidores web instalados. Apache y Tomcat
ofrecen una solucin eficaz a nuestra necesidad de exportar el interfaz de elementos de
nuestros productos utilizando tecnologa Java/JSP. Tambin utilizamos la combinacin
Apache+PHP para obtener acceso a datos desde nuestra Intranet. Como una de las
ventajas mas importantes destacamos su flexibilidad y extensibilidad.

Jonas. Un servidor de aplicaciones que cumple con la normativa J2EE en el que poder
realizar un despliegue de nuestros componentes Java (EJB). Es bastante ligero y permite
el acceso a EJB va RMI/IIOP.

JBoss. Uno de los servidores de aplicaciones J2EE de cdigo abierto mas conocido y
utilizado. Actualmente disponemos de instalaciones en una comunidad autnoma que lo
utilizan como motor para nuestra aplicacin e-SIAP y pensamos introducirlo como
ncleo de nuestra principal sistema de informacin sanitaria. Es bastante escalable y el
despliegue de componentes es practico, no tiene requisitos hardware demasiado
elevados.

Mono. Mono es una iniciativa para implementar el entorno .NET en cdigo abierto.
Entendemos que es una iniciativa muy interesante debido a la importancia que
ltimamente ha adquirido el entorno .NET de Microsoft entre los desarrolladores.

Herramientas:
Jedit. Es un excelente editor de texto basado cien por cien en Java. Su caracterstica
mas deseable es su extensibilidad. Posee extensiones muy interesantes para editar y
verificar ficheros XML.

Forte. Es quizs uno de los entornos de desarrollo en Java mas utilizados en el mundo.
Lo utilizamos para desarrollar en todos nuestros productos basados en tecnologa Java.
OpenOffice. Es un conocido y completo paquete ofimtico que tiene la posibilidad de
ejecucin en la mayora de plataformas actuales, acceso a toda la funcionalidad y datos
a travs de componentes abiertos basados en API's bien definidas compatibles con Java
y formatos de fichero basados en XML. Es por ello que desarrollamos un software
especifico de integracin de OpenOffice con uno de nuestros productos, e-SIAP.

4. Conclusiones

A lo largo de este articulo hemos sealado las ventajas y beneficios de la utilizacin del
cdigo libre. Segn nuestra opinin, en el modelo de cdigo libre se produce una
redireccin del gasto econmico. Si en los sistemas propietarios el gasto se produce al
obtener las licencias y el soporte adecuado. En el modelo de cdigo libre ya no hay
gasto en licencias, pero sin embargo este se invierte en el mantenimiento, ya que se
debe aportar esfuerzo de desarrollo al proyecto con su propio personal y darle
continuidad. A cambio se obtiene mayor control sobre el sistema. Usted decide que
rumbo tomar, participa en las decisiones, en definitiva es libre de elegir. Y siempre debe
tener en cuenta que una mayor implicacin repercutir en una mayor capacidad para
decidir.

Es fcil descargar un software libre ponerlo en un CD y venderlo, pero la dificultad esta


en darle un valor aadido a ese software. En nuestro caso es mas bien al revs. Es el
software libre el que cubre ciertos aspectos adicionales de nuestros productos. Pero
garantizar el soporte del producto no es cosa fcil, ya que al ser un trabajo voluntario no
podemos exigir un tiempo de respuesta limitado a la hora de corregir errores, liberar
nuevas versiones, etc. An as, consideramos que la introduccin del software libre en la
empresa es beneficiosa y necesaria, en particular en las reas de investigacin y
desarrollo, debido en gran parte a la posibilidad de intercambiar conocimiento que en
nuestra opinin redunda finalmente en una mejor calidad del producto final.
Da 18-16.00h

Sala 2: Aplicaciones Ofimticas, Integracin y Desktop

Moderador Carlos Castro Castro Director General de Sociedad de la Informacin.


Junta de Extremadura

Participantes

Ben Marx Linux Business Development, IBM Spain and


Portugal
Juan Zamora Silicon Graphics
Diego Gmez Deck Junta de Extremadura
Kurt Pfeifle Danka Deutschland Holding GmbH
Antonio Larrosa Proyecto KDE
Abraham Otero Universidad de Santiago de Compostela
Miguel Hormigo Ruiz Director Soluciones Globales Internet
Rafael Grimn Suse Linux AG
ARQUITECTURAS DE KDE Y DESARROLLO RPIDO
DE INTERFACES DE USUARIO
A. Larrosa
KDE Developer
larrosa@kde.org

KDE es un proyecto de software libre con ms de 1000 colaboradores activos en todo el mundo
que realizan el escritorio lider actualmente en la comunidad Linux segn los usuarios que le
han otorgado diversos premios durante aos consecutivos por todo el mundo. En este artculo se
enumerarn algunas de las arquitecturas que se han desarrollado dentro de este proyecto,
parndose especialmente en las ms importantes. As, se explicar el funcionamiento de DCOP
(protocolo de comunicaciones del escritorio), as como de algunos usos que se le pueden dar.
Tambin se har hincapi en el excelente trabajo de los desarrolladores de KIO que es la
arquitectura que encapsula todos los accesos a documentos e informacin, permitiendo acceder
transparentemente a un documento sin importar el medio que haya que usar. No se dejar atrs
a KParts, que es la tecnologa que permite reutilizar funcionalidad de una aplicacin en
cualquier otra (por ejemplo, para usar un navegador web muy facilmente en cualquier
aplicacin, usando la componente KHTML a travs de Kparts). Y se har una introduccin a
Kiosk, una arquitectura para los entornos de uso restringido de ordenadores especialmente
pensada para kioskos, mquinas autnomas y otros entornos restrictivos. Adems, se har un
repaso a los mtodos de desarrollo rpido de aplicaciones con KDE evaluando varias
alternativas como KDialog, Kommander y Qt/Designer junto con el multiples veces premiado
KDevelop.

Keywords: Escritorio, Desarrollo, KDE, Arquitecturas

1. Introduccin
A mediados de 1996, Linux y el software libre haba entrado ya en la mayora de las
universidades y los expertos comprendan el potencial que tenan sistemas operativos como
Linux o FreeBSD. Sin embargo, y a pesar del gran nmero de ventajas que ofreca respecto a
otros sistemas operativos, tena un problema pues para un iniciado en informtica, era
demasiado complicado de usar y slo las personas con ms experiencia se atrevan a hacerlo. Es
por ello que Matthias Ettrich tuvo la idea de realizar un entorno de escritorio completo que
permitieran a todos los usuarios el poder acceder a sistemas operativos que hasta esa poca
estaban reservados para los expertos. Adems, se hara usando licencias libres, y de forma
altruista. Viendo la magnitud del proyecto, envi una carta pblica a todo el que quisiera
colaborar con l e inmediatamente se le unieron decenas de personas, e iniciaron KDE.

Desde entonces hasta ahora, KDE ha pasado por 3 versiones principales (la versin actual al
tiempo de publicar este artculo es la 3.2) y se han desarrollado multitud de aplicaciones de
todo tipo (desde un navegador web innovador llamado Konqueror que actualmente est siendo
utilizado por Apple como base para su propio navegador, hasta una suite de oficina completa,
KOffice, con editor de texto, hoja de clculo, programa de presentaciones, etc.).

Todo este desarrollo de aplicaciones ha necesitado del desarrollo de multitud de tecnologas que
solucionen los problemas y necesidades que se iban encontrando. Como consecuencia, se han
creado multitud de soluciones muy tiles para los desarolladores de casi cualquier aplicacin e
incluso para los usuarios que quieran avanzar un poco ms en el uso de un sistema Linux.
2. Arquitecturas de KDE
2.1. DCOP
Cuando un usuario usa un entorno de escritorio en su ordenador, hay multitud de aplicaciones
ejecutndose a la vez. Para proveer al usuario de un entorno integrado y consistente, es
necesario que las aplicaciones se comuniquen entre ellas de forma que no actuen como un
conjunto de aplicaciones independientes sino en conjunto como un solo entorno de escritorio.
As naci DCOP (Desktop COmmunication Protocol, o protocolo de comunicaciones para el
escritorio) como un protocolo que permite a unas aplicaciones comunicar su estado al resto de
las aplicaciones o hacer preguntas o peticiones entre ellas.

Por ejemplo, el marcador telefnico kppp puede emitir una seal cuando el usuario se conecta a
internet o cuando se desconecta, de forma que otras aplicaciones pueden cambiar su
comportamiento de acuerdo a esto (por ejemplo, para usar una cach local cuando se est
desconectado, pero acceder directamente a la informacin a travs de internet cuando se est
conectado). Usando DCOP, las aplicaciones tambin pueden preguntar el estado a otras
aplicaciones, por ejemplo, el lector de correo se puede comunicar con el cliente de mensajera
instantanea para conocer si un contacto est actualmente en linea para comunicarse con l ms
rpidamente que con un mensaje de correo. Por ltimo, aunque no menos importante es el uso
de DCOP para realizar acciones en otros programas, as se puede hacer una llamada mediante
DCOP para que el lector de correo descargue el correo de los servidores configurados, para que
el navegador web visite una pgina determinada, o para hacer que el programa que gestiona el
fondo de pantalla cambie el fondo por otro.

DCOP es un protocolo construido sobre el ICE (Inter Client Exchange) que forma parte del
estandar X11R6 y posteriores, y que es el encargado de gestionar las autorizaciones y permisos
mediante el mismo mtodo que la autorizaciones de X11 para usar el DISPLAY. En este
modelo, hay un servidor de DCOP (dcopserver) y cada uno de los programas que envan o
reciben seales a travs de DCOP en un cliente del servidor de forma que todos los clientes son
tratados iguales y el servidor se encarga de dirigir y repartir las seales entre los clientes.

Hay dos tipos de seales, las que son de "enviar y olvidar" y las que devuelven un valor. Las
primeras se utilizan cuando no estamos interesados en ningn valor de retorno o cuando
estamos enviando una seal a ms de una aplicacin a la vez, con lo que no podemos tener un
valor de retorno, y las segundas se utilizan cuando necesitamos un valor de retorno, ya sea
porque queremos saber si la peticin ha sido procesada correctamente, o porque esperamos una
referencia de DCOP para poder seguir trabajando mediante llamadas DCOP con un mismo
recurso.

Las referencias DCOP se utilizan para referenciar a un recurso (un objeto) que se encuentra en
otra aplicacin y permiten realizar con ese objeto las funciones que el propio objeto haya
especificado en su interfaz. El desarrollo de interfaces DCOP se sale del mbito de este
artculo, con lo que slo habra que decir que es muy sencillo e invitar a las personas
interesadas a visitar las pginas para desarrolladores de KDE en http://developer.kde.org .
Slo decir que se puede usar DCOP desde muchos lenguajes de programacin (desde C++ al
shell, pasando por python, perl, javascript, etc). Adems, la aplicacin kdcop permite mostrar
las interfaces de los programas conectados en un momento dado al servidor dcop e incluso
hacer llamadas DCOP de forma muy sencilla y didctica.

2.2. KIO
KIO es la arquitectura que se utiliza para abstraer los programas de los protocolos que puedan
utilizarse para transferir archivos ya sea a travs de internet, a travs de una red local o incluso
en el propio ordenador. Mediante KIO, los programas de KDE pueden acceder
transparentemente a casi cualquier protocolo sin necesidad de que el programador de la
aplicacin tenga que soportarlos explcitamente, ni siquiera sepa que existe, o incluso usando
protocolos propietarios.

KIO est estructurado en mdulos que se cargan y ejecutan dinmicamente conforme a las
necesidades de las aplicaciones. La idea principal es que cualquier documento y cualquier cosa
es referenciable mediante una URI (Uniform Resource Identifier) tal y como se describe en el
RFC 2396. Una URI tiene un campo que indica el protocolo mediante el cual el recurso est
accesible, un nombre de mquina que indica donde est disponible ese recurso, optativamente
un nombre de usuario y contrasea que se utilizan para identificarse y autentificarse con el
ordenador remoto, tambin opcionalmente un nmero de puerto en el que el protocolo
especificado anteriormente est disponible, y la direccin dentro del ordenador remoto donde el
recurso al que queremos acceder est disponible (optativamente, puede ir seguido de ms
parmetros como una marca interna del recurso para acceder directamente a una posicin
especfica, o incluso una peticin para que el servidor genere el documento segn la peticin
del usuario.

As, cualquier aplicacin puede usar KIO para acceder a cualquier documento o fichero
simplemente especificando la URI del objeto. As, todas las aplicaciones de KDE permiten no
slo abrir ficheros locales sino tambin abrir ficheros remotos a travs de protocolos como ftp,
http, ssh, samba (para acceder a directorios compartidos por sistemas windows), ldap, etc.
Cada protocolo implementado es un mdulo (una librera dinmica) que permite obtener y
enviar ficheros. As cualquier persona puede implementar un protocolo propio haciendo un
nuevo mdulo y automaticamente todas las aplicaciones de KDE pueden acceder a recursos a
travs de ese protocolo sin modificar nada y sin recompilar ningn programa.

El uso de KIO est ampliamente extendido, siendo quizs el ms til el que se hace en el
dilogo de abrir un documento, donde el usuario puede seleccionar ftp://ftp.miservidorftp.org/ y
acceder mediante el propio dilogo de abrir fichero a un servidor ftp remoto. As, si por
ejemplo desde el editor de texto Kate se abre un fichero mediante el protocolo
fish://miservidorssh.org, cuando se pulse en "Guardar Documento", el fichero se guardar en su
direccin original del ordenador remoto, sin necesidad de bajrselo, , modificarlo, guardarlo y
volver a enviarlo mediante un cliente ssh externo.

Otro uso muy til de la arquitectura KIO es el de simular estructuras de directorios virtuales,
as, el protocolo audiocd:// muestra en forma de directorios una estructura inexistente pero muy
prctica de los CDs de audio. En el directorio raz hay varios ficheros que contienen la
informacin digital de cada pista de audio, en otra carpeta, un fichero en formato mp3 por cada
pista, en otra carpeta en formato ogg vorbis, etc. Adems, accede a una base de datos CDDB
para poder mostrar como nombre de cada fichero el nombre de la cancin. As, cuando el
usuario decide copiar uno de los ficheros al disco duro, el "esclavo de KIO" (que as es como se
llaman a los mdulos, o "kioslaves") procesa el CD para generar al vuelo el fichero en el
formato seleccionado.

2.3. KParts
Hace unos aos se vi la necesidad de poder utilizar funcionalidad de una aplicacin dentro de
otra sin los problemas que trae el copiar cdigo fuente de un programa en otro. Dichos
problemas son tan importantes como el hacer muy dificil la mantenibilidad del cdigo
"copiado" (ya que hay que mantenerlo siempre actualizado e igual que el original) y la
dificultad de extensin ya que para seguir extendiendo un programa necesitara volver a copiar
cualquier otro cdigo de otro, lo que adems, aumenta el tamao de la aplicacin y los recursos
que consumira. Adems, en aquella poca se estaba viendo la importancia de tener una suite de
oficina bien integrada para poder tener un entorno de escritorio completo. As que los
desarrolladores de Konqueror (el navegador universal tanto para ficheros locales como
navegador de internet) y KOffice (la suite de oficina de KDE) desarrollaron una primera
versin de KParts, que evolucion en una solucin general a este problema.

KParts soluciona as una de las necesidades bsicas de KOffice, que es la de poder empotrar un
documento dentro de otro . Dicho de forma un poco ms realista, KParts permite empotrar una
aplicacin dentro de otra. Pero tambin permite implementar plugins para aplicaciones de forma
que mediante su instalacin, un plugin pueda proveer nueva funcionalidad a un programa. Esto
es por ejemplo lo que utilizan aplicaciones como Kopete (el cliente de mensajera instantnea
de KDE) para implementar las extensiones que hacen cosas como poner el estado del usuario a
"Alejado" automaticamente cuando Kopete (o mejor dicho, el plugin de "auto-away") detecte
analizando las imgenes de una webcam que el usuario ya no est delante del ordenador.

KParts se utiliza extensivamente por todo KDE. Uno de los usuarios ms remarcables es
Konqueror, que utiliza Kparts para cada una de las vistas que muestra en su interfaz. As, todo
en Konqueror es una componente de KParts, que se podra utilizar tambin en otras
aplicaciones que las necesitaran, mejorando as la reusabilidad del cdigo fuente y ayudando en
gran medida a la rentabilidad del esfuerzo ejercido para desarrollar un programa, ya que una
vez desarrollado algo en forma de componente de KParts, se puede reutilizar sin problemas en
mltiples sitios.

Es reseable notar que incluso si hay un gran nmero de aplicaciones que usan KParts para
poder usar funcionalidad de otras aplicaciones, el nmero de aplicaciones que implementan su
funcionalidad en forma de componente es an ms grande. Hay componentes para ver
imgenes, ficheros pdf (con la componente kghostview), ficheros postscript, hay componentes
que implementan un reproductor multimedia (como la componente que kmplayer ofrece que
contiene una ventana del reproductor mplayer junto con los controles), componentes para
empotrar un terminal de texto (konsole) en cualquier aplicacin, para empotrar un reproductor
de ficheros MIDI (Musical Instrument Digital Interface) usando Kmid, y en general,
componentes para visualizar casi cualquier formato de fichero. Pero quizs las ms importantes
son KHTML y Kate.

KHTML es la componente que Konqueror utiliza para navegar por internet, e implementa un
renderizador de pginas web que sigue la mayor parte de los estndares actuales (HTML 4,
CSS, Javascript, etc.). Otros programas tambin utilizan KHTML para mostrar al usuario
interfaces ms elegantes (implementadas internamente como pginas web) o para mostrar
pginas web que contienen la ayuda del programa.

Kate es un avanzado editor de texto plano con soporte para coloreado de sintaxis,
autocompletado, etc. Se utiliza en Konqueror por ejemplo para ver rapidamente el contenido de
un fichero de texto, o tambin se utiliza esta componente en el IDE de desarrollo KDevelop,
donde se ampla su funcionalidad con la posibilidad de mostrar por ejemplo la linea de
ejecucin de un programa cuando se est depurando, todo usando la misma componente.

2.4. Kiosk
Aunque uno de los objetivos de KDE es dar al usuario el control absoluto de su escritorio, en
algunos casos es necesario reducir las posibilidades que KDE ofrece por ejemplo por que se
quiera que el sistema slo se use para uno o varios fines muy particulares.

Kiosk es la arquitectura que permite desactivar funcionalidad de KDE para producir un entorno
ms controlado. Por ejemplo, para prohibir que un usuario pueda modificar el fondo del
escritorio en ordenadores que se usen para acceso pblico a internet.

Esto se puede conseguir de varias maneras. Por una parte, la arquitectura permite al
administrador de una mquina configurar qu opciones de qu programas el usuario va a poder
o no modificar. Anteriormente ya se poda hacer algo parecido eliminando los permisos del
usuario en el sistema de ficheros al fichero que contiene la configuracin, pero esta solucin no
es buena ya que por una parte, acta sobre ficheros completos (no sobre parmetros
individuales de una aplicacin) y por otra, no es muy segura ya que el usuario podra renombrar
el fichero o cualquiera de los directorios ancestros y regenerar un nuevo fichero donde s
tendra permisos de escritura.

Adems, no tendra sentido el deshabilitar ciertas acciones si el usuario podra ejecutar un


terminal y editar la configuracin manualmente. Es por ello que tambin se puede deshabilitar
la ejecucin de konsole.

Por si eso fuera poco, la plataforma Kiosk permite definir restricciones respecto a URLs de
manera que el usuario no pueda ser redireccionado desde una URL a otra o de manera que al
usuario se le deniegue el acceso a listar el contenido de un directorio determinado o incluso el
permiso a abrir cualquier fichero que est fuera de su directorio $HOME (ni siquiera para
lectura).

3. Desarrollo rpido de aplicaciones


3.1. KDialog
KDialog es un sencillo programa que se puede utilizar para dotar de interfaz grfica a
aplicaciones escritas en un lenguaje de shell como bash. Con KDialog se pueden generar
dilogos mediante los parmetros que acepta y devuelve la entrada del usuario en la salida
estandar del programa, con lo que hace muy sencillo mostrar dilogos para pedir o ensear
datos al usuario.

Para mostrar un mensaje de error por ejemplo, basta con ejecutar (desde un terminal):
kdialog --error "Se ha producido un error"
Para preguntar al usuario si desea continuar, se puede usar:
kdialog --yesno "Desea continuar?"
y el cdigo de retorno especificar si el usuario seleccion el botn "s" o el botn "no".
Tambin se puede mostrar una lista de opciones para que el usuario seleccione una, en este
caso, conviene usar un combobox.
Para ver la (larga) lista de opciones de kdialog, use kdialog --help (incluye la posibilidad de
pedir una linea de texto al usuario, una contrasea, un fichero con el dilogo de abrir fichero
standar de KDE, preguntas con 3 opciones, etc.).

3.2. Kommander
Kommander es un conjunto de herramientas que permiten crear dilogos grficos con los que el
usuario puede interactuar. El editor est basado en Designer, con lo que los interfaces se pueden
editar de manera extremadamente fcil. Pero lo ms importante es que tiene detrs un novedoso
sistema de programacin.

La idea bsica es que los widgets (los elementos visuales tales como un botn, una lnea de
edicin, una barra de desplazamiento, etc.) que se usan generan, segn su estado, un texto. Este
texto puede ser una linea de comando, un trozo de cdigo, un documento, etc. As, el texto
resultante puede usarse para ejecutar un programa (de ah el nombre Kommander), escribirse en
un archivo, como parmetro de otro script, o cualquier otra cosa en la que se pueda pensar. La
ventaja principal es que no hay que escribir ninguna linea de cdigo.
El texto asociado a un widget puede contener texto fijo o variables que se especifican por un
carcter @, as, si el texto asociado a una lnea de edicin es @widgetText, entonces este texto
se sustituye por el que el usuario haya escrito en la lnea de edicin. Por otra parte, tambin se
puede especificar como nombre de variable el nombre de otro widget, en ese caso, la variable
toma el valor del texto asociado al widget que se referencia. De esta forma, si una lnea de
edicin llamaba lineaDeComando tiene @widgetText como texto asociado y un botn especial
de ejecucin (que ejecuta el cdigo asociado cuando el usuario lo pulsa) tiene como texto
asociado @lineadecomando entonces cada vez que el usuario pulse ese botn, se ejecutar el
comando que haya escrito en la lnea de edicin.

El editor de Kommander (kmdr-editor) guarda todos los datos en un fichero XML que ms
tarde puede ser ejecutado por kmdr-executor.

3.3. Qt Designer y KDevelop


Qt Designer es un editor de interfaces que permite disear ventanas, dilogos, asistentes,
widgets compuestos, etc. de forma completamente visual. Mediante un mecanismo de arrastrar
y soltar, se pueden aadir todo tipo de elementos (incluso se puede extender con widgets
propios de una aplicacin especfica), especificar la disposicin dentro de la ventana, y retocar
todos y cada uno de los atributos.
KDevelop es un entorno de desarrollo integrado, con el que se puede desarrollar en casi
cualquier lenguaje (estn soportados C++, C, Java, Bash, Python, etc. ) adems, tiene soporte
de coloreado de sintaxis, autocompletado, depurador integrado para C/C++ y Java, y multitud
de plugins que permiten hacer casi de todo (desde analizar la aplicacin para encontrar
problemas de prdida de memoria o problemas de rendimiento en determinadas funciones,
hasta ver grficamente las diferencias entre dos ficheros, encontrar problemas de sintaxis en el
cdigo mientras se escribe o un asistente para ayudar en la edicin de ficheros automake).

4. Conclusin
Actualmente se siguen desarrolando nuevas ideas, como una nueva tecnologa de compresin
que permite comprimir los datos transmitidos entre un cliente y un servidor X de forma que las
aplicaciones de KDE tengan un rendimiento muy mejorado respecto de otras soluciones para
construir un servidor de terminales.

De la misma forma, se estn desarrollando multiples nuevas tecnologas, pero por lo rpido de
la evolucin de los proyectos opensource, seguramente tendrn inmensas mejoras en el tiempo
que pase desde que escriba este documento hasta que usted lo lea, con lo que le invito a visitar
http://www.kde.org para estar al tanto de las novedades que se vayan produciendo.

5. Bibliografa
http://www.kde.org El proyecto KDE
http://developer.kde.org Informacin para desarrolladores de KDE
http://www.kde.org/announcements/announcement.php Anuncio original (1996) de
Matthias Ettrich para comenzar el proyecto KDE
http://developer.kde.org/documentation/tutorials/index.html Tutoriales
http://developer.kde.org/~larrosa/visualtutorial.html Tutorial de desarrollo visual
http://www.konqueror.org Konqueror
http://quanta.sourceforge.net - Quanta (editor de pginas web) y Kommander
http://www.trolltech.com/products/qt/designer.html Qt Designer
Anlisis de la libertad en la plataforma Java
1 2
A. Otero y A. Snchez-Mariscal
1
elabra@usc.es, Departamento de Electrnica y Computacin,
Facultad de Fsica. Universidad de Santiago de Compostela. Tlf. 981.59.88.44, Ext. 13.569
2
mariscal@javahispano.org, javaHispano (http://javahispano.org).

Abstract posibles soluciones para compatibilizar, en la medida


de lo posible, estos objetivos parcialmente
Este trabajo analiza si se puede o no considerar que la enfrentados.
plataforma Java sea libre. Este anlisis no requiere
slo estudiar la parte software de la plataforma, fuente Este trabajo se organiza del siguiente modo: en el
tradicional de las crticas a Java por su condicin de primer apartado se exponen las partes de las que
no libre, sino tambin la libertad de las consta la plataforma Java, a continuacin se explica
especificaciones que definen la plataforma, y por lo cmo se define sta; es decir, cmo se crean y
tanto al software. mantienen las especificaciones que la guan. En el
cuarto apartado analizamos la libertad de la
Mostraremos de qu partes consta la plataforma Java,
plataforma, analizando por un lado la libertad de las
y explicaremos el proceso mediante el cual se definen especificaciones y por otro la libertad de las
y mantienen las especificaciones que la guan, implementaciones de estas especificaciones. En el
resaltando las principales causas de la falta de quinto apartado se analiza la posicin de Sun
libertad, y proponiendo soluciones a stas. Esto no
Microsystems acerca de liberar o no Java. Finalmente
siempre es simple, ya que no es fcil compatibilizar se exponen las conclusiones a las que hemos llegado
algunas ideas en las que se basa Java con las ideas en este trabajo.
en las que se basa el software libre. En el trabajo se
proponen posibles soluciones a este problema, y se
analiza la posicin de Sun respecto a liberar 2 Qu es la plataforma Java?
completamente la plataforma.
Hill Venners en su libro [3] afirma que Java est
formado por cuatro piezas completamente distintas:
1 Introduccin una especificacin de un lenguaje de programacin,
una especificacin de un formato binario, los
Determinar la libertad de la plataforma no es slo bytecodes, una especificacin de una mquina virtual,
cuestin de analizar las licencias bajo las que se encargada de interpretar los bytecodes, y un conjunto
distribuye el conjunto de herramientas de desarrollo de libreras estndar. Estos cuatro elementos definen,
(jdk), y las libreras bsicas, de Sun Microsystems, sin duda, el lenguaje de programacin Java.
principal fuente de crticas de la comunidad de
Software Libre (SL) hacia Java. En la plataforma Java, Sin embargo si Java ha alcanzado tanto xito y
adems de software, hay algo ms importante: las difusin no es slo gracias al lenguaje, sino tambin al
especificaciones que debe cumplir el software, resto de la plataforma, que integra mltiples
recogidas en una serie documentos pdf que describen tecnologas en su seno, tecnologas para el desarrollo
todas y cada una de las tecnologas que componen la de aplicaciones Web (Servlets y JSP ), de aplicaciones
plataforma. Un anlisis acerca de la libertad de la empresariales (EJB), de aplicaciones para telefona
plataforma no puede olvidar estas especificaciones. mvil (MIDlets), tarjetas inteligentes (JavaCard) y un
Sin embargo, organizaciones como Free Software inmenso sinfn de tecnologas que hicieron a Java
Foundation (FSF) [1], y Open Source Iniciative (OSI) nico hasta hace tan slo un par de aos, cuando
[2] no proporcionan criterios para determinar si una apareci .NET. El fin de este trabajo no es slo
especificacin es o no libre. En este documento analizar la libertad del lenguaje de programacin, y/o
hemos analizado, con la filosofa del SL, el proceso de del jdk distribuido por Sun, sino de toda la plataforma
creacin y mantenimiento de las especificaciones, en su conjunto.
concluyendo que no se pueden considerar
completamente libres, y proponiendo las Por ello, para nuestros objetivos, es ms correcto
modificaciones que consideramos necesarias para que considerar que la plataforma Java est compuesta por
se puedan considerar libres. un conjunto de especificaciones, que definen todas y
cada una de las partes de la plataforma, y una serie de
En cuanto a la parte software de la plataforma, las implementaciones de estas especificaciones. Sin
ideas del movimiento del SL, acceder y modificar el duda, por ser la base sobre la cual se edifica el resto
cdigo fuente del software sin restricciones, pueden de la plataforma, las especificaciones del lenguaje,
entrar en conflicto con el principio bsico de la bytecode, mquina virtual, y de las libreras estndar
plataforma Java: escrbelo una vez y ejectalo en juegan un papel protagonista, pero no son las nicas.
cualquier sitio (adaptacin de Write Once Run Por ello, un anlisis que pretenda determinar si se
Anywhere, WORA). En el trabajo se proponen puede o no considerar libre la plataforma Java, no slo
debe analizar su parte software, sino tambin las (ediciones empresarial y estndar, respectivamente,
especificaciones. de la plataforma), y el otro de las relacionadas con
J2ME (edicin para pequeos dispositivos: telfonos
mviles, tarjetas inteligentes). Cada uno de estos
3 La definicin de las especificaciones: comits est compuesto por 16 miembros con derecho
el Java Community Process a voto, 5 elegidos mediante votacin entre los
miembros del JCP, votacin en la que participan todos
El JCP, Java Community Process [4] es el organismo los miembros del JCP. 10 son propuestos por el PMO,
que dirige, mediante la creacin de nuevas siguiendo los criterios de comunidad balanceada y
especificaciones y el mantenimiento de las ya representacin regional [5]. Estos miembros han de
existentes, la evolucin plataforma Java. El JCP define ser ratificados mediante votacin pblica. El miembro
su propio funcionamiento y las normas por las que se restante es un representante de Sun. En cada comit
rige, normas que han ido evolucionando desde su hay un segundo representante de Sun, que ejerce la
creacin en Diciembre de 1998. La versin actual del labor de presidente, pero que no posee derecho a
JCP, y la que se describe en este documento, es la voto.
2.6 [5].
Convertirse en miembro del JCP es gratis para
El JCP es administrado por el Program Management empresas licenciatarias de Sun (empresas que
Office (PMO), organismo formado por asalariados de implementan especificaciones de la plataforma con
Sun Microsystems. Dos Comits Ejecutivos (CE) se nimo de lucro y pagan por ello a Sun), y para
encargan de aprobar las modificaciones y extensiones personas que a ttulo individual deseen formar parte
de la plataforma; uno encargado de las del JCP. Las empresas no licenciatarias han
especificaciones relacionadas con J2EE y J2SE

Figura 1 Diversas etapas por las que pasa un Java Specification Request.

de pagar 5000 $ por ao. En el caso de organizaciones probar que la tecnologa es factible, y un Test de
sin nimo de lucro, e instituciones acadmicas, es un Compatibilidad (TC), una batera de pruebas que
comit formado por un miembro de Sun, un miembro del permitan comprobar si una implementacin cumple o no
mundo del SL, o del mundo educacional, y un miembro la especificacin. Tanto la IR como el TC son
elegido democrticamente, quien decide si pueden desarrollados bajo la licencia que el grupo de expertos
formar parte del JCP gratis, o han de pagar 2000 $. decida, incluida cualquier licencia libre.
Las incorporaciones de nuevas tecnologas a la
plataforma Java se realizan a travs del JCP, mediante
un Java Specification Request [6] (JSR). Para crear un En una primera fase el grupo de expertos se centra en la
JSR se ha de explicar en un documento la necesidad de definir la tecnologa. Los documentos sobre los que
esa nueva tecnologa, o de modificacin de una trabajan son accesibles a todo el mundo a travs de
tecnologa ya existente, y cmo afectar este cambio al Internet, y cualquiera puede opinar y enviar
resto de la plataforma. Aunque no es necesario, tambin realimentacin sobre ellos al grupo de expertos. Una vez
es recomendable proponer un grupo de expertos que se que los expertos han llegado a un acuerdo en la
encargar de desarrollar el JSR, en caso de ser especificacin sta ha de ser aprobada por el CE
aceptado. Cualquiera, sea o no miembro del JCP, puede correspondiente, mediante votacin pblica en la que
proponer nuevos JSR. Uno de los dos CE del JCP, necesita una mayora simple de los votos emitidos para
segn el nuevo JSR afecte a J2ME, o a J2SE/J2EE, aprobarse. Si es aprobada pasa a una tercera fase,
analiza la propuesta y decide si acepta o no la creacin donde es toda la comunidad la que revisa y comenta la
del JSR. Esta decisin se realiza mediante una votacin especificacin, mientras el grupo de expertos se centra
pblica, donde el nuevo JSR debe obtener mayora en el desarrollo de la IR y el TC. Una vez que el grupo
simple. de expertos ha terminado su trabajo ste, nuevamente,
ha de ser aprobado por el CE correspondiente mediante
A continuacin el grupo de expertos, normalmente una votacin pblica. Finalmente se entra en una fase
liderados por quien propuso el nuevo JSR, trabaja sobre cclica de mantenimiento de la tecnologa, fase tambin
la especificacin. Debern completar el documento que abierta al pblico (ver Fig. 1).
define la nueva tecnologa o modificacin de una ya
existente, una implementacin de esta tecnologa, Hay una serie de JSR en los que Sun tiene privilegios
denominada Implementacin de Referencia (IR), para especiales y que se rigen por unas normas ligeramente
diferentes: los Umbrella Java Specification Request existencia de mltiples implementaciones de cada
(UJSR) [5]. Estos son los JSR que definen las tres tecnologa, libres y no libres, todas cumpliendo una
ediciones de la plataforma: J2SE, J2EE, J2ME y los misma interfaz. Esto evita estar ligado a un determinado
diversos perfiles de J2ME. Estos JSR paraguas producto: si encontramos otro mejor, o que se adapte
protegen, entre otros, la especificacin de la mquina ms a nuestras necesidades, podemos cambiar el actual
virtual, el lenguaje, y el bytecode. Los cambios en estas por el nuevo sin modificar una sola lnea de cdigo en
especificaciones pueden afectar a la compatibilidad nuestro desarrollo, siempre que ambos implementen
hacia atrs, o a la portabilidad, de las aplicaciones, por correctamente las especificaciones, y la garanta de esto
ello Sun justifica este trato especial. Cualquier nueva es que ambos hayan superado el TC.
funcionalidad o tecnologa que quiera incorporarse a
cualquiera de las tres ediciones de la plataforma ha de Las especificaciones tambin son la base sobre la que
hacerlo a travs de un UJSR. se sustenta toda la filosofa de la plataforma, WORA. Sin
la seguridad de que las mquinas virtuales de todas las
Para que un UJSR sea aprobado debe obtener al menos plataformas implementan correctamente la misma
5 votos positivos del CE correspondiente, y de los votos especificacin, y sin la seguridad de que el formato
emitidos al menos dos tercios han de ser de aprobacin. binario, el bytecode, generado por cualquier compilador,
Adems el representante de Sun puede vetar la nueva sigue unas mismas especificaciones, no tendramos
especificacin, lo que se traduce en que Sun tiene la garantizado que un binario se podr ejecutar en
ltima palabra en lo que se refiere a la aprobacin de los cualquier plataforma.
UJSR, y por lo tanto a cambios sobre J2SE, J2EE y
J2ME. Por ello estudiar la libertad de la plataforma no implica
slo estudiar la libertad del software, sino tambin la
No todos los JSR existentes actualmente se rigen por libertad de sus especificaciones. Ni FSF, ni OSI han
estas normas; como ya hemos comentado, el propio definido criterios para analizar la libertad de una
JCP es un JSR que evoluciona y por lo tanto sus normas especificacin. Si bien los criterios con los que se
cambian. En un principio no era tan abierto, no analiza si un cdigo es SL no son directamente
permitiendo, por ejemplo, la implementacin de los TC e aplicables a las especificaciones, s podemos analizar su
IR bajo licencias libres. Sun tambin tena derechos de proceso de creacin y mantenimiento con la filosofa que
veto sobre ms JSR, y las implementaciones de las hay detrs del SL.
especificaciones estaban obligadas a respetar las
posibles patentes que hubiese en las especificaciones, En cuanto a la parte software de la plataforma,
obligacin que ya no hay en la actualidad. entendemos que el anlisis no debe incluir las
implementaciones de terceros, las ajenas al JCP.
Algunos JSR todava se guan por versiones anteriores Hacerlo sera como requerir que, para que un lenguaje
del JCP, siendo el lder del grupo de expertos el que de programacin sea libre, todos los desarrollos que
puede decidir si actualizar o no la versin del JCP. Es de empleen ese lenguaje sean libres. No obstante nos
esperar que segn estos JSR saquen nuevas versiones alegramos de poder afirmar que en la plataforma Java
de mantenimiento se vayan pasando a la ltima versin hay implementaciones libres de prcticamente todas las
del JCP, ms abierta y ms respetuosa con el mundo especificaciones, as como multitud de herramientas
del SL. libres para el desarrollo de software que se han
convertido en estndares de facto en la comunidad (Ant,
Finalmente, cualquiera puede implementar las Struts, Hibernate, JUnit, Eclipse, NetBeans). En este
especificaciones, y distribuir su implementacin bajo la sentido los trabajos [7,8] son un buen repertorio de estas
licencia que considere oportuno. No est obligado a libres de la plataforma Java.
pasar el TC, pero si desea hacerlo, y ha realizado la
implementacin con nimo de lucro, ha de pagar a Sun
por pasar el TC. Si la implementacin ha sido realizada 4.1 Libertad de las especificaciones
por una organizacin sin nimo lucro, como suele ser el Los documentos que recogen las especificaciones son
caso de los desarrollos libres, el mismo comit de tres pblicos, estando disponible en Internet en formato PDF.
personas que decide si las organizaciones sin nimo de Cualquiera puede descargrselas e implementarlas si
lucro pagan por pertenecer al JCP, decide si ha de pagar as lo desea; esto incluye la especificacin de la
o no por pasar el TC. No pasar el TC no implica que una mquina virtual y bytecode [9], y del lenguaje [10].
determinada implementacin no cumpla especificacin, Cualquiera puede implementar estas especificaciones, o
sin embargo es una garanta para sus usuarios de que bien implementar modificaciones de ellas. En Internet
efectivamente la cumple. hay abundantes proyectos en los que se han
implementado, con fines didcticos o cientficos,
modificaciones de las especificaciones del lenguaje,
4 Anlisis de la libertad de la plataforma bytecode y/o mquina virtual Java [11]. Basndose en
Java esto, en algunos trabajos [7] se afirma que las
especificaciones de la plataforma java son
La plataforma java se construye sobre las completamente libres.
especificaciones, recogidas en documentos pblicos, y
acompaados de una IR y un TC. Normalmente Acceder a una especificacin, y realizar sobre ella las
determinar si algo es o no software libre slo requiere modificaciones que uno quiera no es realmente
estudiar si se puede o no, y bajo qu condiciones, importante para la plataforma Java, ms all de permitir
acceder, modificar y redistribuir su cdigo fuente. En el realizar interesantes experimentos e investigacin sobre
caso de la plataforma Java hemos de analizar adems sta [11]. Lo realmente importante son las autnticas
las especificaciones. stas son una clave fundamental especificaciones, las que guan la plataforma Son ellas
en el xito de la plataforma, ya que permiten la realmente libres?. Siguiendo las ideas del SL esta
libertad se traducira en que cada uno pueda modificar e 4.2 Libertad de las IR y TC
implementar esas especificaciones sin restricciones,
cosa que es cierta y poco relevante para la libertad de la En la libertad de las IR se basan actualmente la mayor
plataforma. Aplicando el sentido comn, la libertad exige parte de las crticas realizadas por parte de la
adems que la comunidad Java pueda, en igualdad de comunidad del SL en contra de la plataforma. Esto no
condiciones, participar en los procesos de creacin, deja de ser curioso para los autores, ya que desde
definicin, y mantenimiento de estas especificaciones. nuestro punto de vista lo ms importante de la
plataforma son las especificaciones, y no sus
Como hemos explicado, cualquiera, incluso sin implementaciones. Quizs el motivo de centrar esas
vinculacin con una organizacin, puede tanto proponer crticas en las IR sea el desconocimiento, por parte de
una nueva especificacin como participar en la creacin los crticos, acerca del funcionamiento de la plataforma,
de sta. Adems cualquier miembro de la comunidad o quizs sea que los crticos no comparten la filosofa de
puede descargar y analizar el trabajo que realiza el la plataforma Java, WORA, por lo que no dan tanta
grupo de expertos de cualquier especificacin, y enviar importancia a las especificaciones y TC.
realimentacin sobre ella. En este sentido parece que el
JCP es bastante libre. Actualmente el lder del JSR decide qu licencia emplea
para la IR y TC, pudiendo ser una licencia libre si as lo
Sin embargo el mximo rgano del JCP, el PMO, est desea. No cabe duda de que la comunidad se
compuesto por miembros de Sun. Cada uno de los dos beneficiara si todas las IR fuesen libres, ya que podran
CE del JCP tiene siempre a un representante de Sun, y ser empleadas como base para otras implementaciones
10 de sus miembros son propuestos por el PMO, si bien de las especificaciones, y permitira una evolucin ms
han de pasar una ratificacin de la comunidad. rpida y eficaz de la plataforma.
Finalmente Sun puede vetar cualquier cambio sobre un
UJSR. Sun justifica sus privilegios diciendo que stos le La IR que ms crticas por parte de la comunidad del SL
permiten velar por la compatibilidad hacia atrs, y el ha generado es, sin duda, la IR de J2SE, el conjunto de
carcter multiplataforma de Java. herramientas de desarrollo de Sun, conocido como jdk.
Este se distribuye bajo licencia Sun Community Source
Para ser realmente libre No debera ser la propia License (SCSL) [12]. Esta licencia no es libre; permite
comunidad la que decida si quiere o no seguir siendo ver el cdigo fuente del jdk, e incluso modificarlo, pero
compatible hacia atrs, o soportar todas las slo bajo ciertas condiciones, las cuales, en esencia,
plataformas?. Con esto los autores no estamos diciendo fuerzan a que el producto modificado siga cumpliendo
que estemos en contra de estos dos principios, pilares las especificaciones de la mquina virtual, bytecode y
bsicos de la plataforma en los cuales, al igual que la lenguaje Java. Su objetivo es evitar que la plataforma se
inmensa mayora de la comunidad, creemos y estamos fragmente por causa de implementaciones del
dispuestos a luchar por ellos. Sin embargo no creemos compilador o mquina virtual no compatibles con las
que estos principios sirvan de excusa para permitir a especificaciones. Sun afirma que esta licencia toma las
Sun esos privilegios, por ms que l haya sido el padre ventajas de los modelos de cdigo abierto y propietarios,
de Java y su protector. Sin igualdad no puede haber y elimina sus inconvenientes [12], ya que permite
libertad plena, por ello el JCP, y por extensin las acceder al cdigo fuente libremente, con todos los
especificaciones Java, no podrn considerarse beneficios que para la comunidad y para la propia
completamente libres mientras haya desigualdades en la plataforma conlleva, siempre que el acceso no atente
capacidad de participacin de los miembros de la contra el principio bsico de WORA.
comunidad para gestionar, y para participar en la
definicin de las especificaciones. Sin embargo, una vez que un individuo ha accedido al
cdigo licenciado SCSL su licencia le impide participar
Por otro lado, si bien es cierto que por ser un organismo en proyectos de cdigo abierto, ya que el cdigo que ha
grande y complejo es necesario que haya dentro del visto es propiedad intelectual de Sun, y no puede
JCP una serie de comits ejecutivos que velen por el emplear en proyectos libres lo que en l ha aprendido.
correcto funcionamiento, e incluso de un rgano Adems, si desea cobrar a sus usuarios por el trabajo
semejante al PMO, estos no deberan estar nunca en que ha realizado, est obligado a pagar unas cuotas a
manos de una empresa (recordemos que el PMO est Sun. Evidentemente una licencia as dista mucho de
formado exclusivamente por personal de Sun). Las poder considerarse libre.
empresas tienen sus propios intereses, y no siempre son
los ms adecuados para la comunidad. Por ello el Es necesaria una licencia de este tipo para algunas IR,
proceso de creacin de las especificaciones no debe para proteger a la plataforma Java de la fragmentacin?.
estar liderado por una empresa, sino por una Es una pregunta difcil de responder. Sun afirma que s;
organizacin sin nimo de lucro, lo que nos garantizara sin ella algunas empresas podran aprovecharse de su
que el JCP velar por los intereses de la comunidad, sin posicin privilegiada en el mercado para imponer una
privilegiar intereses particulares. En cuanto a los versin de la mquina virtual devaluada, o no compatible
miembros de los CE deberan ser elegidos con las dems. Microsoft en su da desarroll una
democrticamente por los miembros del JCP, pudiendo versin de la mquina virtual y herramientas de
cualquier miembro del JCP optar a este puesto en desarrollo que permitan acceder a ciertos servicios de
igualdad de condiciones, cosa que no sucede ahora, ya Windows, lo que permita desarrollar aplicaciones que
que el PMO elige a 10 de los miembros, y al slo funcionasen en Windows [13]. Si la plataforma Java
representante de SUN. hubiese sido completamente abierta nada hubiese
podido detener a Microsoft. Hoy en da la plataforma
estara fragmentada; ms de la mitad de los
desarrolladores Java lo hacen bajo Windows, y
probablemente buena parte de ellos emplearan las
herramientas de Microsoft. Segn Sun, SCSL vela para muchas tecnologas de la plataforma, existentes en la
que esto no suceda. comunidad [7], todas ellas adhirindose a las
especificaciones.
Sin embargo, Microsoft, u otra gran empresa, tienen
recursos suficientes para implementar la mquina virtual Sin embargo Sun no lo ve as, y consideramos
desde cero, sin necesidad de basarse en ningn cdigo, improbable que actualmente est dispuesto a liberar las
con lo que esta licencia pierde bastante sentido. Si estas IR que de l dependen (entre ellas el polmico jdk) bajo
empresas lo desean pueden partir de las alguna licencia actualmente aceptada como libres por
especificaciones del lenguaje y mquina virtual [9, 10] e Open Source Iniciative y/o Free Software Foundation. En
implementar su propia variante de Java sin basarse en este sentido quizs la hipottica licencia que en este
ningn cdigo. documento hemos definido fuese un buen punto de
encuentro entre las posiciones de Sun y las del SL, o
Danese Cooper, responsable de Open Source cuanto menos, un paso ms de la plataforma Java hacia
Programs Office de Sun, ha tenido mltiples entrevistas la libertad completa.
con los representantes del Software libre. A ambas
partes les resulta evidente que la compatibilidad En lneas generales los razonamientos aplicados a la IR
obligatoria (WORA), y SL no pueden coexistir. son extensibles al TC, si bien disponer de su cdigo
Compatibilidad opcional y SL s podran existir. Esto es fuente no tiene ms inters que el puramente
obvio, si entendemos por SL lo que se recoge en [14]. investigador o acadmico. La libertad respecto a los TC,
adems de involucrar su cdigo fuente, debera tener en
La comunidad de SL acepta en su seno, e incluso cuenta tambin las tasas que hay que pagar para
promueve y aconseja [15], una serie de licencias que en pasarlos. Actualmente las empresas han de pagar, y
cierto modo limitan la libertad del usuario del software, a bastante, para pasar estos test, mientras que las
costa de evitar que ese usuario pueda contravenir en organizaciones sin nimo de lucro no. Si bien lo ideal
algn modo las ideas de los promotores del SL. Son las sera que los test fuesen gratis para todo el mundo, un
licencias con copyleft, encabezadas por la GNU GPL, organismo como el JCP, en manos de una hipottica
la licencia recomendada por Free Software Foundation organizacin sin nimo de lucro, requiere fondos para su
para el SL. Esta licencia obliga a que todo proyecto que subsistencia. El cobro de tasas, a las empresas que
emplee cdigo GPL se rija tambin por la licencia GPL. vayan a obtener beneficios de sus implementaciones de
Los autores de este trabajo creemos que la autntica las especificaciones, por pasar el TC nos parece una
libertad debe nacer de la libre eleccin, y no de la fuente de ingresos adecuada.
imposicin, en ese sentido preferimos licencias tipo
Apache, o BSD y no la licencia GPL, licencia que obliga
a ser libre. Esto no quiere decir que no comprendamos 5 Opinin de Sun Microsystems
el porqu de la licencia GPL, ni que no nos parezca una
licencia adecuada; es un arma que el mundo del SL ha La opinin de Sun Microsystems sobre la libertad de la
creado para defender sus principios. plataforma, como organizacin, es que ciertas partes de
Aceptara el mundo del Software libre que la la plataforma no deben de ser completamente libres para
comunidad Java defendiese sus principios del mismo evitar la fragmentacin, y la licencia SCSL y los UJSR
modo?, es decir, se podra considerar libre una licencia son el arma ideal para evitarlo. No se prev que a corto
que permitiese acceder al cdigo fuente de una IR, sin plazo Sun vaya a cambiar la licencia, por ejemplo, del
ningn tipo de restricciones, y modificarlo, siempre que jdk. Comentaremos, a modo de ancdota, que cuando
la modificacin supere el TC correspondiente. Esta escribimos este trabajo J2SE 1.5 se encuentra en
licencia permitira acceder con total libertad al cdigo desarrollo, el JSR que lo est definiendo es el 176,
fuente, mientras que ese acceso no amenace los liderado por Sun. La versin del JCP que emplea es la
principios de la plataforma Java, del mismo modo que 2.1, una versin de JCP que no permite implementar con
una licencia GPL permite acceder con total libertad al licencia libre la IR y TC. Desconocemos si su lder tiene
cdigo fuente que la posee, siempre que el acceso no intenciones de actualizar la versin del JCP a la 2.6.
amenace los principios del SL. Internamente la posicin de Sun dista de ser unnime;
Otra alternativa, que indudablemente el mundo del SL James Gosling reconoce que el tema de si Java debiera
vera con buenos ojos, sera liberar todas las IR con o no ser libre es un debate continuo [16]. Hay quien
licencias aceptadas como libres, y confiar en la propia opina como Danese Cooper, principal responsable de la
comunidad Java para que sta siga las especificaciones relacin de Sun con el mundo del SL, quien cree que
desarrolladas en el JCP, especificaciones creadas con el llegar el da en el que Java pueda ser libre y la propia
consenso de la mayora de la comunidad. Danese comunidad, y no Sun, vigile por su compatibilidad y
Cooper cree que llegar el da en que la comunidad portabilidad. James Gosling, el padre de Java, opina que
Java sea la que defienda la plataforma contra cualquier hace ms de un ao que lleg el da del que habla
posible intento de fragmentacin, y que entonces se Danese Cooper [16]. Sin embargo las declaraciones de
podrn liberar todas las IR con licencias libres. Jonathan Schwartz, vicepresidente ejecutivo de Sun,
dan a entender que Java nunca debera ser libre [17].
Los autores de este documento tenemos otra opinin, Como vemos ambas posturas cuentan con partidarios de
compartida por James Gosling [16]: creemos que ese peso dentro de Sun.
da ya ha llegado. Vemos muy improbable que la
plataforma Java pueda sufrir una fragmentacin, ya que Analizando los hechos, y no las palabras, Sun ha
la mayora de la comunidad no apoyara esa iniciativa. mostrado a lo largo de los aos que el motivo de las
Buena prueba del nulo inters en fraccionar la restricciones que hay en la plataforma es hacer frente a
plataforma por parte de la comunidad Java son las la fragmentacin, como sucedi en el caso de Microsoft,
mltiples implementaciones libres que de J2SE, y otras y no poner trabas al desarrollo de SL en la plataforma
Java. Durante mucho tiempo Apache viol las normas En cuanto a Sun, hemos de reconocer que a pesar de
del JCP, pudiendo haber sido demandado por Sun. ser el principal responsable de que Java no sea libre,
Lejos de ocurrir esto Apache mantena una excelente hasta la fecha ha mostrado un buen criterio en la
relacin con Sun, quien le apoyaba y financiaba en sus aplicacin de sus privilegios, lo que hace que
desarrollos libres, y todos los problemas se zanjaron asociaciones como Apache, Blackdown, Kaffe, o
modificando el JCP para legalizar las actividades javaHispano, asociaciones con una notable afinidad por
(desarrollo de IR y TC bajo licencias libres) que Apache el SL, defiendan y trabajen por la plataforma Java. Sin
llevaba tiempo realizando, pero que en ningn modo embargo esto no excluye que deseemos seguir
suponan un riesgo para la fragmentacin de la caminando hacia la libertad total de la plataforma, y que
plataforma. esperemos que la opinin de gente como James Gosling
se acabe imponiendo a la de Jonathan Schwartz, y Sun
Por otro lado, si bien Sun posee privilegios en el JCP, no libere completamente la plataforma.
hay ninguna evidencia de que los haya empleado con
otro fin que no fuese proteger la compatibilidad y
portabilidad de la plataforma. Tambin es evidente que
Sun empuja cada vez ms la plataforma Java hacia la Bibliografa:
liberacin: cada nueva versin del JCP libera un poco
ms la plataforma, siendo un paso ms hacia la libertad
plena. [1] Free Software Foundation. http://www.fsf.org.
[2] Open Software Iniciative. http://www.opensource. org.
6 Conclusiones [3] Bill Venners. Inside the Java Virtual Machine.
McGraw-Hill Osborne Media, 2000.
Es evidente que actualmente no se puede decir que la
plataforma Java sea libre. Aunque la mayor parte de las [4] Java Community process. http://www.jcp.org/.
crticas realizadas desde fuera de la plataforma en este [5] JCP v. 2.6. http://jcp.org/aboutJava
sentido se dirigen hacia las licencias de las IR, en /communityprocess/first/jsr215/JCP2_6.pdf.
especial a IR del JSR que define J2SE, nosotros
identificamos como ms grave la falta de libertad plena [6] Java Specification Request. http://www.jcp.org/
en la creacin y mantenimiento de las especificaciones en/jsr/overview
de la plataforma. La rescisin de los privilegios de Sun,
[7] A. Molpeceres y M. Prez. Java y Software Libre,
as como la gestin del JCP por una organizacin sin
Realidad o Ficcin?. http://www. javahispano.
nimo de lucro, evitando as que posibles intereses
org/articles.article.action?id=77. 2003.
particulares de una empresa puedan llevar el JCP por el
camino que no conviene a la mayor parte de la [8] A. Molpeceres y M. Prez. Arquitectura empresarial y
comunidad, son condiciones necesarias para lograr la SL, J2EE. http://www.
libertad de la plataforma. javahispano.org/articles.article.action?id=70. 2003.
En cuanto a las IR y TC, la comunidad se beneficiara si [9] Tim Lindholm y Frank Yellin. The JavaM Virtual
se pudiese acceder al cdigo fuente de stas, para Machine Specification. Addison Wesley. 1999.
basar en ese cdigo sus propias implementaciones de la
especificacin, as como para poder participar [10] J. Gosling, B. Joy, G. Steele, G. Bracha. The Java
activamente en el avance y correccin de bugs de las IR. Language Specification. Addison Wesley.
Es poco probable que esto supusiese un riesgo de [11] Modificaciones de las especificaciones de la
fragmentacin en la plataforma: las implementaciones mquina virtual, lenguaje, y bytecode. http://www.robert-
libres que la comunidad Java ha realizado hasta la fecha tolksdorf.de/vmlanguages.
tratan de adherirse a las especificaciones, lo cual
muestra un nulo inters de la comunidad del SL por [12] Sun Community Source License (SCSL).
fragmentar la plataforma. Por otro lado el protagonista http://www.Sun.com/software/communitysource.
del nico intento de fragmentacin en la historia de la [13] Declaracin de James Gosling en el juicio contra
plataforma, Microsoft, actualmente apuesta por una Microsoft por violar las especificaciones de la JVM.
tecnologa similar a Java, pero paralela, .NET, y es poco http://java.sun.com/lawsuit/82198gosling.html
probable que en estas condiciones retomase Java y
volviese a intentar fragmentar la plataforma. [14] Free Software Foundation. Free Software
Definition.http://www.fsf.org/philosophy/free-sw.html.
Una forma de evitar el riesgo de fragmentacin, sera
proteger estas IR con una licencia que permitiese el libre [15] R. Stallman. Why you shouldn't use the Library GPL
acceso y la modificacin del cdigo fuente siempre que for your next library. http://www.fsf.org/licenses/why-not-
el nuevo software pasase el TC correspondiente. No lgpl.html.
tenemos claro si la comunidad del SL aceptara esta
[16] Entrevista a James Gosling.
licencia como libre, licencia que protege la filosofa de
http://www.computerworld.com/developmenttopics/
Java, WORA, del mismo modo que la licencia GPL
development/java/story/0,10801,82109,00.html.
protege la de esta comunidad. Esta licencia sera ms
fcilmente aceptada por Sun que cualquier licencia [17] Entrevista a Jonathan Schwartz.
considerada como libre por la comunidad de SL, y an http://www.computerworld.com/developmenttopics
cuando esta licencia no fuese aceptada como libre, /development/java/story/0,10801,82286,00.html
siempre sera un paso ms hacia la libertad plena.
El Papel del Integrador en el Software Libre
Miguel Hormigo Ruiz

Director Delegacin Regional Sur

Soluciones Globales Internet, S.A. (Grupo GMV)

Antes de entrar en detalles sobre el contenido de mi ponencia, me gustara dar la

definicin que la Real Academia Espaola da a la palabra integrar: completar un

todo con las partes que faltaban. Hacer que alguien o algo pase a formar parte de un

todo.

Teniendo en mente esta definicin, el integrador se puede considerar de manera

recursiva como un generador de valor que une las piezas que dan sentido a un todo y

genera en una pieza ms aprovechable por el bienhechor. El integrador es un ente que

tiene la necesidad de comprender cada una de las piezas y desarrollar otra pieza cuyo

valor es la suma del esfuerzo en agregar las piezas unitarias ms la nueva pieza

generada. Esta idea de construccin e ingeniera est ntimamente relacionada con el

Software Libre desde su nacimiento en cuanto al concepto de modularidad, simplicidad,

ahorro de costes y beneficio para el cliente final.

La integracin asociada al concepto de ingeniera nos muestra la necesidad de aportar

metodologas y procesos que generen los productos y soluciones deseados, y es aqu

donde las empresas de integracin aaden adicionalmente las cualidades necesarias para

ofrecer servicios especializados en cada sector de actividad conjuntamente con el

Software Libre.

En definitiva, el integrador es uno de los engranajes clave para que el mundo del

Software Libre crezca y se desarrolle acorde a las necesidades de un mercado en amplia

expansin pero muy exigente en dos parmetros bsicos: el tiempo y la calidad. La


tecnologa avanza muy deprisa y es necesario ser capaz de absorber lo mejor de ella

generando soluciones con igual o mayor calidad que lo puedan hacer los productos

comerciales.

Aunque anteriormente se han esbozado puntos en comn entre el integrador y el

Software Libre, me gustara incidir ms en este punto. Se puede considerar que esta

relacin tiene que construirla el Mercado en el que van encajando las piezas para

construir un modelo econmico que aporte valor a cada una de las partes que lo forman.

El buen integrador tiene el objetivo constante, independientemente de si el software es

libre o no, de ocupar la posicin deseada en el mercado y para ello, teniendo en cuenta

el modelo de software libre tiene que utilizar el modelo de negocio, que Raymond en su

Caldero Mgico denomina Regale la Receta y Abra un Restaurante junto con una

serie de alianzas en procesos, metodologas de calidad y experiencia en las tecnologas

aplicadas en su sector de actividad.

En este caso, el buen integrador se puede asemejar conjuntamente a las tres figuras que

se muestran a continuacin:

- Equipo de Ftbol: el equipo de integradores debe constituir un conjunto

sincronizado al mnimo detalle, organizado para llevar a cabo el trabajo deseado

y liderado con una figura de referencia como director de proyectos.

- Grupo de Msica: el integrador debe estar en el mercado, es decir,

temporalmente generar soluciones de valor que se reconozcan por la comunidad

y aumenten su valor.

- Direccin de una Pelcula de Cine: el integrador debe volcarse en cada proyecto

que realiza como si fuese su obra cumbre y considerarla como tal.

Estas tres aproximaciones anteriores no son suficientemente explotadas tanto por el

mercado como por el integrador aunque se observa cada vez un acercamiento mayor a
esta postura, en el que, por ej. empresas pequeas o medianas son capaces de competir

en igualdad de condiciones con empresas multinacionales, teniendo como principal

valor la experiencia de sus equipos de trabajo.

En cuanto a la relacin entre el Integrador y el Software Libre, sta debe ser pragmtica

en el sentido de que el integrador es la entidad encargada de unir piezas ms pequeas

para hacerlas funcionar conjuntamente. No se debe perder en la inmensidad de cada una

de las piezas, sino que su funcin es, primero, adquirir las mejores piezas; segundo,

unirlas con su experiencia y metodologas para crear la nueva pieza deseada. El

Software Libre proporciona al integrador los elementos necesarios para sustentar su fin

ya que le da la posibilidad de aportar su buen hacer para crear, innovar y aportar. En

este sentido, el Integrador ha convivido desde siempre con el concepto de Software

Libre ya que sus productos, o mejor dicho, sus soluciones han sido traspasadas al

mercado con todas sus consecuencias, incluido el cdigo. El integrador aporta la

garanta de privacidad al mercado ya que las soluciones son totalmente transparentes.

El integrador se identifica plenamente con el Software Libre teniendo en cuenta que este

ltimo clasifica al software como un servicio y no un bien adquirible. De esta manera se

considera que el concepto de valor de venta del software no tiene sentido, en

contraposicin al valor de uso que es por el que se valora realmente la aportacin del

integrador. Este concepto radicaliza la forma de comercializar los servicios del

Integrador, es necesario que el mercado valore el esfuerzo, los conocimientos

adquiridos y la experiencia de un buen Integrador, algo que no sucede siempre.

Por otro lado es necesario que el Software Libre no se fagocite a si mismo y no muera

de xito, hay que comprender los modelos de negocio con los que actuar para generar

economas vlidas y proporcionar un desarrollo sostenible. En muchos mercados, el

concepto de Software Libre se identifica como gratis lo cual es un gran error, si esto
fuese as ya estara completamente degradado y hara aos que hubiese sucumbido. El

Software libre se tiene que identificar con otros valores ms sutiles como son:

- La defensa del derecho a la informacin

- La independencia ante poderes econmicos e intereses comerciales

- La bsqueda de metodologas alternativas a los desarrollos tradicionales

De tal manera que se le reconocen beneficios tales como:

- privacidad (es posible realizar auditorias de cdigo para detectar cdigo

malicioso)

- enriquecimiento tecnolgico

- escalabilidad

- productividad

- interoperatividad

- calidad, etc...

En consecuencia es preciso que el mercado asuma completamente que el valor del

Software Libre est en el uso o la importancia como herramienta y no en la venta, ya

que el concepto de producto desaparece. Para que el Software Libre llegue a su estado

de madurez debe desaparecer el concepto de licencia ya que sta se tiene que considerar

un bien higinico o valor de por s. Por el mismo motivo el concepto de patente, tal

como lo conocemos hoy en da, no tiene sentido de tal manera que se tiene que valorar

el avance tecnolgico como apuntalamiento. La principal ventaja o valor que aporta

consiste en bajar los costes sino en disminuir riesgos. El Integrador se incorpora en este

modelo proporcionando el desarrollo sostenible, ya que, tanto ste como, el mercado

no tiene que olvidar que su objetivo es obtener beneficios desarrollando un modelo

constructivo piramidal sin vrtice. Debe generar valor sobre una base firme obteniendo
resultados que generan beneficios una sola vez, adquirir experiencia, mejorar la calidad

de los resultados obtenidos e innovar tecnolgicamente en el siguiente desarrollo.

Ante esto se abren nuevas puertas en las que la globalizacin ha tenido mucho que ver.

El acceso a una cantidad de informacin ilimitada no significa gran calidad en el

conocimiento, es por ello, que no hay que confundir Sociedad de la Informacin con

Sociedad del Conocimiento ya que sta es un fin ltimo (inalcanzable por as decirlo) de

la primera y el Integrador debe comprender que su valor est en el grado de

conocimiento con respecto a la informacin suministrada. En consecuencia el beneficio

que debe obtener es directamente proporcional a la capacidad de adquirir conocimiento

especfico sobre una tecnologa, y saber aplicarlo no necesariamente sobre la capacidad

de venta de dicho conocimiento.

Por ltimo, es necesario recalcar desventajas, malas interpretaciones y degradaciones de

conceptos relacionados con el Software Libre y sobre todo hacer hincapi en evitar la

radicalizacin del Software Libre que como queda patente tiene un gran futuro que hay

que cuidar. El Software Libre no debe confrontarse con Software Comercial, hay que ir

ms all y observar que el resultado puede ser tan bueno en un caso como en otro, es

preciso observarlos como modelos de negocio alternativos y que sea deseable que sigan

conviviendo. El mercado es el que dicta el valor de un bien o servicio, ya sea comercial

o de libre distribucin y en ese sentido las empresas generadoras de software comercial

tienen an mucho que decir y a la vez que estn haciendo un esfuerzo por adaptarse a

las nuevas formas de trabajo, bien abriendo sus fuentes poco a poco, bien participando

de alguna manera en los nuevos mercados. Actualmente es difcil creer que se vuelvan a

generar los monopolios de los aos ochenta y noventa sino ms bien una

interoperatividad y homogeneizacin en todos los sentidos en consecuencia se debe

confluir haca estndares de facto. Si hacemos un ejercicio de memoria, hay que tener
en cuenta que el Software Libre tal como lo conocemos actualmente, no ha inventado

nada relevante, aunque est explicando al usuario que no tiene sentido el modelo

econmico impuesto. Al contrario, las empresas de software comercial han desarrollado

la tecnologa que conocemos actualmente aunque se han extralimitado tanto que han

hecho necesario que nos planteemos otros modelos econmicos alternativos. En un

futuro se har necesario una convergencia y un alineamiento, se debe calcular el

verdadero valor de coste del software y la gran capacidad de avance tecnolgico del

Software Libre debe apostar por un mundo mejor en el que el usuario tenga ms

libertad, seguridad y calidad.

Me gustara finalizar con una frase de Arthur C. Clarke que Eric S. Raymond utiliza en

su fenomenal artculo El Caldero Mgico que se adapta perfectamente a las

cualidades necesarias del Integrador: Cualquier tecnologa suficientemente avanzada es

indistinguible de la magia.

Miguel Hormigo Ruiz.-


SUSE LINUX ENTERPRISE SERVER:

CARRIER GRADE lINUX Y DATA CENTER LINUX

Rafael Grimn Canto

Maxfeldstrasse 5

D-90409 Nrnberg

Germany

e-mail: rgriman@suse.it

1. Qu es Linux
Linux, como bien se sabe, es un sistema operativo que naci en el ao 1991 de las
manos de Linus Torvalds. Apoyado por la comunidad GNU y OpenSource ha avanzado
muchsimo y ha conseguido entrar en las empresas a pesar de ser software desarrollado
por una comunidad de programadores y no por una empresa.
La licencia principal bajo la cual se distribuye Linux, la licencia GPL, nos permite
utilizar libremente dicho sistema operativo. Qu significa libremente? Libremente
significa que podemos:

instalar linux en tantos equipos como querramos


modificar su cdigo fuente
aprender de su cdigo fuente
redistribuir dicho cdigo
Muchas veces se piensa que esto repercute negativamente sobe el autor original. Esto
no es correcto pues la licencia GPL nos obliga a respetar al autor original en todo
momento. Como podemos observar, en las licencias tradicionales de software, se
protege nicamente al autor quedando el usuario desprotegido y sometido al autor
original. En este caso, se respeta tanto al autor original como al usuario final.
2. Historia de Linux en las empresas
Linux fuen entrando poco a poco en las empresas gracias a su gran parecido a los
sistemas operativos UNIX y a su licencia. Al principio entr en las Universidades y
centros de investigacin debido a que se poda estudiar su cdgo y modificarlo. Gracias
a esto se le fueron aadiendo carctersitcas propias de otros sistemas operativos,
caractersticas como:

servidores de impresin
servidores de correo, web y ftp
servidores de ficheros
Los primeros pasos que dio Linux en la empresa fue para implementar dichos
servicios. Eran servidores no crticos. Poco a poco se ha ido dotando a este sistema
operativo de ms capacidades y ms prestaciones como pueden ser:

clstering
sistemas de ficheros journaling
soporte para diferente hardware
Gracias a estas nuevas caractersticas Linux ha podido ir escalando dentro de la
empresa y tomando papeles cada vez ms crticos dentro de las empresas.

3. Futuro de Linux en las empresas


Cada da vemos ms empresas y ms proyectos basados en Linux. Actualmente las
empresas saben que Linux es un buen servidor de ficheros, un buen servidor web, un
buen servidor de correo. Tambin estn viendo que se le est dotando de caractersticas
propias de otros sistemas operativos utilizados en sistemas de misin crtica como
pueden ser grandes bases de datos de bancos o compaas de telefona.
Debido a esta posibilidad de aadir fcilmente nuevas caractersticas, muchas
empresas han optado por Linux en sus centros de proceso de datos, en sus aplicaciones
de misin crtica, ... Muchos grandes fabricantes han decidido apostar por Linux
fundando un laboratorio que permita que Linux tenga esas caractersticas demandadas
por sus clientes. Este laboratorio denominado OpenSource Development Labs (OSDL)
est patrocinado por empresas como: SUSE LINUX AG, IBM, HP, Alcatel, CISCO,
Fujitsu, Nokia, Novell, ...
De OSDL han salido dos grandes proyectos:
Data Center Linux: cuya meta es dotar a Linux de todas aquellas
necesidades y capacidades que requieren las empresas en sus centros
de proceso de datos.
Carrier Grade Linux: debido a la gran demanda de conectividad que hay
hoy en da, se est produciendo un gran cambio en dichos mercados,
cambio que difcilmente pueda hacer frente una empresa de
telecomunicaciones sola. De ah que haya un esfuerzo comn para
dotar a Linux de dichas capacidades.

4. Data Center Linux


Las grandes instalaciones de Tecnologas de la Informacin se estn dando cuenta
que necesitan cada vez ms recursos para manejar la ingente cantidad de datos que
tienen. Esto requiere cada vez ms el desembolso de sumas desorbitadas de dinero. No
slo eso sino que el mantenimiento es cada vez ms difcil y la posibilidad de decidir
libremente cmo manejar la informacin es cada vez menor. Debido a esta situacin, se
piensa ms en Linux.
El objetivo es dotar a Linux de las caractersitcas que no tiene para poder
implementarse perfectamente en los grandes centros de datos de las empresas.
Obviamente los requerimientos de los grandes centros de datos varan en funcin del
segmento de mercado en el que se encuentran. Podemos definir los siguientes
segmentos de mercado:

finanza
fbricas
educacin
sanidad
Debido a esto se ha decidido empezar por uno de los cuatro segmentos mencionados
en funcin de la adopcin de Linux en dicho mercado, uso de nuevas tecnologas, ...
Dicho segmento es el de las finanzas. Se ha definido una arquitectura dentro de este
segmento que es la siguiente:

Infraestructura de red: aqu encontramos servicios de DNS, cortafuegos, ...


Capa de presentacin y hosting web: encontramos servicios como servidores
web, servidores de correo, ...
Servidores de aplicaciones: encontramos tecnologa como Java, J2EE, ...
Bases de datos: aqu encontramos data warehousing, bases de datos
transaccionales, ...
Almacenamiento: se estudian las necesidades de conexin entre servidores y
sistemas de almacencamiento.
Esta arquitectura necesita que Linux presente una serie de mejoras:

Administracin
Fiabilidad, Servicio, Disponibilidad
Rendimiento
Estndares

5. Carrier Grade Linux


Carrier Grade Linux es una nueva categora de Linux, ms robusta que ofrece una
plataforma estndar a las empresas de telecomunicaciones. El mercado al que se quiere
ofrecer CGL es:

Telefona mvil
Internet y servidores de aplicaciones
Telefona fija
Equipos de comuncacin empresariales
VPNs
Hay tres tipos de aplicaciones que se van a soportar:

Gateways: actan como pasarela entre dos tecnologas, suelen gestionar un gran
nmero de conexiones en tiempo real.
Signaling Servers: gestiona todas las rutas y el estado de las conexiones, suelen
requerir un tiempo de respuesta de unos 80 milisegundos.
Management Servers: gestionan la red, los clientes y los servicios.
Para disear una especificacin efectiva para las tres aplicaciones menscionadas
anteriormente, se deben definir una serie de categoras:

Seguimiento de estndares: SNMP, LSB, POSIX, ...


Requerimiento de la plataforma: hot-swap, arranques remotos, ...
Disponibilidad: dotar a Linux de capacidades de alto rendimiento, como
journaling, RAID-1, Volmenes Lgicos, ...
Servicios: monitorizacin de recursos, alarmas, ...
Herramientas: depuradorrs para el kernel, herramientas de anlisis de volcados
del kernel, ...
Rendimiento: caractersitcas como respuestas en torno al milisegundo, RAID-0,
...
Seguridad: no se ha definido, pero se ha tenido en cuenta para un futuro
cercano.
Da 19-12.00h

Sesin Auditorio: Software Libre en el Mundo

Moderador Jos Carlos Alarcn Secretario General para la Sociedad de la


Informacin de la Junta de Andaluca.
Participantes

Elizabeth Gordon-Werner NSW Department of Commerce- Australia


Hugo Lueders Representante de initiative for Software Choice
David Evans NERA USA
Danese Cooper Open Source Initiative USA
Marta Prez Cuso Unctad. United Nations
Jos Cruz Cedillo CINVESTAV-IPN-Mxico
PSTEPS TO ASSIST TRANSITION TO OPEN SOURCE
SOFTWARE

E. Gordon-Werner1
1 of Information and Communications Technology, NSW Department of
Commerce, Australia
Elizabeth.Gordon-Werner@commerce.nsw.gov.au

The New South Wales (NSW) Open Source Project was established in mid 2002 by
the Office of Information and Communications Technology, a branch of the NSW
Department of Commerce which has responsibilities including fostering the move
to eGovernment and promulgating open standards

The project currently has over 70 members from 50 NSW Government agencies
and is focusing on facilitating communication and developing a toolkit to assist in
the assessment and implementation of open source software (OSS).

The toolkit includes:

Open Source Software Products and Services in NSW,a report which lists a) locally
available OSS products and commercial software that operates on OSS
platforms catagorised by application (collaborative/workgroup software,
content management/ web development, communication, databases, graphics,
internet infrastructure, virus scanning, spam filtering, network and server
monitoring, messaging/mail/web browsing/office systems and other
miscellaneous systems); b) open source platforms, management and migration
tools and c) local companies offering open source services and expertise.

Total Cost of Ownership Template and Report, to assist cost and compare software
products. The template was designed to be used not only to cost full IT solutions
(to support business cases) but to compare alternative software packages which
differ only in some details. It includes line items such as re-usability of source
code.

A report on industry use of OSS and on OSS training opportunities in NSW.

The compatibility of two desktop suites was tested and the report is being used to
produce a plain-English guide for NSW agencies using both the MS Office and
StarOffice desktop suites.

Among initiatives currently underway are a website at


www.opensource.nsw.gov.au to facilitate communication and information sharing.
Four Case Studies are also being prepared to document the experiences of NSW
Government agencies with OSS. These Case Studies will assist others moving to
use OSS.

The reports, templates and future plans for the project will be discussed.
The NSW project is keen to share its products and knowledge with others and
would welcome contact with other government groups with software, reports or
experience to share.

Keywords: Open Source, TCO, NSW, Government


Da 19-12.00h

Sala 1: Tecnologa abierta

Moderador Jernimo Moreno Director General Cofiman


.
Participantes

Antonio Pedro Serrano lvarez Junta de Andaluca


Silvia Soriano Silicon Graphics
Agustn Torres- Ternero SADESI, SAU.
lvaro Haya Cassfa
Oscar Gmez Prieto Telvent
Antonio Luque Universidad de Sevilla
Jos Jess Chaso DMR Consulting
Juan A. Prieto XimetriX
Directorio Corporativo de la Junta de Andaluca: una
experiencia de implantacin con OpenLDAP para grandes
volmenes
A. Torres-Ternero Alvarez1, J Salmeron2, L. Romero1
1
SADESI, Espaa, 2C. de la Presidencia, Junta de Andaluca, Espaa.
agustin.torres@juntadeandalucia.es

Resumen

Este documento describe la arquitectura implantada para el desarrollo del Servicio de Directorio

Corporativo de la Junta de Andaluca. El diseo de esta arquitectura e implantacin del servicio se ha

enfrentado a problemas derivados de la gestin masiva de usuarios, as como a elevadas cargas de

trabajo. Todo ello ha definido la actual arquitectura como una solucin caracterizada por su alta

fiabilidad, elevadas prestaciones y caracter distribuido.

1. Introduccin

Con la puesta en marcha en el ao 1999 de la Red Corporativa de la Junta de Andaluca se puso en

marcha un proceso de profunda reestructuracin de los cimientos telemticos y de comunicaciones

de la administracin andaluza, siendo una de las principales acciones la constitucin de una red de

datos dotada de grandes anchos de banda internos que abre la puerta a un amplio rango de

servicios de valor aadido. Entre estos servicios destaca el servicio de Correo Corporativo. Como

elemento esencial de este proyecto surge la necesidad de implantar un servicio de directorio que

proveyera de soporte a toda la informacin necesaria para el sistema de correo.

La asociacin del Servicio de Directorio Corporativo con una herramienta tan esencial como es el

uso del correo electrnico dentro del marco de una gran organizacin se ha plasmado en los

siguientes requisitos funcionales del servicio:

Disponibilidad. El sistema ha de contar con una alta tolerancia a fallos hardware y software,

teniendo en cuenta la redundancia de elementos crticos y cuellos de botella (bottlenecks)

Rendimiento. El servicio ha de ser capaz de dar soporte a una elevada demanda de peticiones,

del orden de varios millones al da, manteniendo una calidad de servicio ptima.
Seguridad. El servicio ha de proteger la informacin sensible almacenada contra ataques o usos

indebidos.

Escalabilidad. La magnitud en el nmero de peticiones puede cambiar sustancialmente con la

integracin de nuevos servicios, por ello la arquitectura debe ser fcilmente ampliable.

Caracter marcadamente distribuido. El amplio mbito geogrfico y la dispersin de los usuarios

hacen necesario el potenciar la distribucin del servicio.

2. Arquitectura fsica del servicio


La arquitectura final implantada para el servicio se basa en la utilizacin de la tecnologa desarrollada

en el proyecto OpenLDAP [1].

Dentro del anlisis de herramientas y posibles soluciones para la satisfaccin de los requisitos

funcionales del servicio, OpenLDAP destaca no slo en los apartados de prestaciones y rendimiento,

sino que adems su caracter de proyecto de fuente abierta se encuentra acorde con las directrices

recogidas en el decreto 72/2003 que la Junta de Andaluca ha articulado en su avance hacia la

Sociedad del Conocimiento y la Informacin [2].

La Figura 1 muestra la arquitectura fsica final desarrollada e implantada para este servicio.

Figura 1 Arquitectura del Servicio de Directorio Corporativo de la Junta de Andaluca

La arquitectura est formada por un conjunto de nodos especializados, los cuales implementan

ciertos requisistos funcionales del proyecto.


El ncleo del servicio lo constituye el nodo de escritura (E), nico elemento no redundado del

sistema. Este nodo recibe las peticiones de actualizacin de datos por parte de los clientes (C) a

travs de una capa software denominada Interfaz de Administracin (IdA). Esta capa software, que

toma la forma de una aplicacin cliente, una aplicacin web y un conjunto de bibliotecas en lenguaje

Java, forma parte del efecto de caja negra que sobre el sistema se trata de imponer en relacin a la

utilizacin del mismo por parte de los usuarios finales. La existencia de la Interfaz de Administracin

distribuye el centro de gravedad de la seguridad del sistema, entre los mecanismos de seguridad

propios del servidor y la propia capa de software. Esta ltima permite crear mecanismos de

autorizacin personalizados, robustos y ajustados a las necesidades especficas del proyecto, que

complementan los incluidos en el propio software del servidor, resolviendo la componente de

seguridad buscada por el proyecto.

Los cambios realizados sobre el nodo de escritura (E) son trasladados a los nodos de lectura (L)

usando para ello los mecanismos de replicacin implementados en el servidor (slurpd). Estos nodos

se destinan a la resolucin de las peticiones de lectura de datos realizadas por los clientes (C). Para

ello los nodos se encuentran agrupados bajo un elemento hardware (D), encargado del balanceo de

la carga mediante la implementacin del algoritmo de distribucin de peticiones ptimo a las

necesidades del servicio. Los clientes acceden por tanto al servicio a partir de una nica direccin

publicada. De esta forma se garantiza su escalabilidad ante un aumento de las peticiones por parte

de los clientes, por el simple mtodo de agregar ms nodos de lectura.

La fiabilidad del sistema es controlada en sus dos vertientes: OpenLDAP potencia la creacin de

servicios altamente fiables gracias, entre otras caractersticas, a la calidad de su cdigo. Por otra

parte la redundancia de los elementos de la arquitectura permite una alta tolerancia a fallos. En este

sentido hay que destacar que el caracter de especializacin de los nodos se consigue con una

combinacin de configuracin y gestin de las conexiones. Por ello la reconversin de un nodo

desde un determinado rol a otro cualquiera se realiza en un tiempo lmite, llegando a poderse

automatizar para evitar retrasos innecesarios.

Los cambios realizados sobre el conjunto de datos tambin son trasladados a un nodo especializado

denominado 'servidor de rplicas' (SR) usando los mecanismos de replicacin integrados en el

software del servidor (slurpd). Este elemento se encarga de la retransmisin de los cambios a las

diferentes rplicas externas (X) a la organizacin, de nuevo usando los mecanismos de replicacin
comentados. Estos nodos de servicio son locales a cada uno de los departamentos u organismos de

la organizacin. Cada uno de ellos almacena el conjunto de datos propietarios de cada organismo.

De esta forma logramos un proceso diferido de consulta por parte de los clientes (C), o aplicaciones

locales a cada organismo, integradas en el sistema. Una primera etapa del proceso consistir en la

peticin de datos al nodo local de cada organismo, agilizando las peticiones y potenciando la

seguridad en las comunicaciones al no viajar estas por la intranet de la organizacion. nicamente

cuando los datos requeridos no se encuentren en esta copia local de los datos, la peticin se

realizar al servicio centralizado. Esta parte del diseo del servicio potencia el caracter distribuido del

mismo, elevando su rendimiento, gracias al caracter local de las peticiones, y potenciando la

fiabilidad del sistema al contar cada organismo con una copia de los datos de los cuales son

propietarios.

3. Arquitectura lgica del Servicio


En la definicin de la arquitectura lgica se definen las caractersticas posedas por la informacin

almacenada en el servicio. Aunque el estndar [3] diferencia en un servicio de directorio LDAP dos

componentes principales: el modelo de protocolo y el modelo de datos, trabajos posteriores [4] han

dividido el servicio en cuatro componentes diferentes: los modelos de datos, funcional, de seguridad

y de nombrado. En el diseo de esta arquitectura se ha seguido esta ltima divisin.

El modelo de datos trata sobre la estructura y tipos de datos necesarios para la construccin del

rbol del servicio. En la definicin del modelo de datos hay dos tareas principales: la definicin de los

datos que el servicio almacenar y la definicin del esquema que estos datos implementarn. Para el

caso del Servicio Corporativo de la Junta de Andaluca, su evolucin inicial como proyecto asociado

al Servicio de Correo Corporativo marc el conjunto de datos a aquellos relacionados con la

informacin personal de los usuario y el rutado del correo electrnico por los diferentes nodos de la

pasarela y nodos de almacenamiento. Tambien se incluy informacin referente a usuarios

especializados (administradores), organismos dados de alta en el sistema y otros recursos como

edificios, servicios, etc. En relacin a los esquemas de datos implementados, en el proyecto siempre

se ha intentado seguir los esquemas estndares implementando esquemas propietarios nicamente

cuando no existan soluciones ya implementadas o las que existan no se adecuaban a las

necesidades del proyecto.


El modelo funcional define todas aquellas operaciones que interactuan con los datos almacenados

en el servicio. El modelo funcional implementado por el servicio coincide totalmente con el modelo

funcional definido en el proyecto OpenLDAP, el cual divide las operaciones sobre los datos en tres

grupos diferenciados: operaciones de consulta, que permiten realizar bsquedas en el servicio y

recuperar los datos obtenidos, operaciones de actualizacin, las cuales implementan las operaciones

de borrado, insercin y modificacin de los datos almacenados, y operaciones de autenticacin y

control, las cuales llevan a cabo los procesos de autenticacin por parte tanto de los clientes como

del propio servicio, as como el control de ciertos aspectos de la sesin establecida entre ellos.

El modelo de seguridad provee al servicio de mecanismos de proteccin en una doble vertiente:

orientado a los clientes y orientado al servidor. Los primeros permiten a los usuarios la presentacin

de su identidad (autenticacin). Los mecanismos orientados al servidor permiten controlar el acceso

a los datos por parte de los usuarios previamente autenticados (autorizacin), distinguiendo a los

usuarios normales de aquellos usuarios especializados en la gestin y administracin del sistema.

Finalmente el modelo de nombrado define como son almacenados los datos en la estructura rbol

del servicio. La estructura desarrollada para el proyecto se ha basado en la estructura estndar de

estos sevicios con algunas modificaciones. Se han definido ramas en la estructura para el

almacenamiento de los datos referidos a los empleados de la organizacin, para los organismos y

entidades dados de alta, para los usuarios especializados en la administracin del servicio y para las

aplicaciones integradas en el mismo. Finalmente se ha definido una meta rama para el

almacenamiento de los meta datos referidos al servicio. La meta rama ofrece funcionalidades de

diccionario de datos del servicio y constituye una de las fuentes de informacin sobre el servicio de

caracter dinmico ms importantes del mismo.

4. Conclusiones
El desarrollo e implantacin del Servicio de Directorio de la Junta de Andaluca surge como un

proyecto complementario al Servicio de Correo Corporativo. A partir de aqu, las posibilidades del

proyecto y la flexibilidad del diseo del mismo han potenciado la integracin de sistemas y servicios

que inicialmente no estaban previstos.

En la actualidad los servicios integrados no slo abarcan los relacionados con el Correo Corporativo

(rutado de mensajes de correo electrnico, autenticacin de clientes IMAP y POP, autenticacin de


usuarios en su acceso al Servicio de Webmail Corporativo) sino que diferentes sistemas han sido

conectados, entre otras cosas para centralizar la autenticacin en el servicio, bien va LDAP o bien

mediante la utilizacin de plug-ins como PAM para la autenticacin a travs de diferentes servicios

(IMAP, POP, etc.)

La definicin de un protocolo de intercambio de datos con las aplicaciones de gestin de recursos

humanos de la organizacin ha automatizado la carga y borrado de los usuarios, potenciando el

caracter de meta directorio del servicio, caracter ampliable en un futuro no muy lejano con la

integracin de otros servicios fuentes de datos, como los relacionados con el personal docente

adscrito a la organizacin.

En todas estas cuestiones OpenLDAP ha representado un papel preponderante. Una veces gracias

a su flexibilidad, otras gracias a sus elevadas prestaciones o a los mecanismos de seguridad

implementados en el mismo, OpenLDAP se ha convertido en uno de los referentes de esta

tecnologa dentro de la organizacin, siguiendo un desarrollo paralelo a su auge internacional como

servicio de directorio por excelencia en sistemas abiertos.

4. Referencias
[1] www.openldap.org

[2] Consejera de la Presidencia, Decreto 72/2003, de 18 de Marzo, de Medidas de Impulso de la

Sociedad del Conocimiento en Andaluca. BOJA 55, Junta de Andaluca, Marzo 2003.

[3] M. Wahl, T. Howes y S. Kille. Lightweight Directory Access Protocol(v3). RFC 2251, IETF,

Diciembre 1997.

[4] T. Howes, M. C. Smith y G. S. Good. Understanding and Deploying LDAP Directory Services.

Prentice-Hall, 2003.
ABSTRACT PLATAFORMA DE GESTORES DE CONTENIDO
EN SOFTWARE LIBRE

Ponente: lvaro Haya (CASSFA)


Da: Jueves 19, Sala 1, Maana

1. Introducin: qu es un gestor de contenidos? Requisitos que debe cumplir

Gestin documental
Versionado
WorkFLow (procesos de publicacin)
Categorizacin de los contenidos
Ciclo de vida de los contenidos
Deshacer cambios
Sistemas de Bsqueda
Mltiple criterios de ordenacin
Soporte para Metadatos
Seguridad
Autenticacin
Granuralidad de privilegios
Herramienta de administracin
Soporte transacional
Soporte SSL

2. Ventajas de uso de una herramienta de SFA para la Gestin de los contenidos

3. Panormica de gestores de contenido de SL. Visin tecnolgica


Plataforma
Servidor de aplicaciones
Sistema Operativo
Servidor Web
Base de Datos
Lenguajes
De desarrollo
Leguaje de lgica de negocio
Separacin del contenidos de la lgica
Procesos de composicin de pginas
XML
Presentacin segn canal
Importacin / Exportacin XML
XSLT
Modularidad
Interfaces de comunicacin
Fuentes de datos externas
Sites Virtuales
Cache
Balanceo de carga
Alta disponibilidad

4. mbito de aplicacin de cada gestor de contenidos


a. Tamao de la Web
b. Tecnologa
c. Web colaborativa
d. Exportacin /

5. Independizacin de los contenidos de la publicacin. Publicacin en Base a


estndares
a. Mecanismos de separacin de la gestin de los contenidos de la
Publicacin
b. Herramienta de publicacin Cocoon
c. Integracin de Gestores de contenidos con herramientas de publicacin
Cocoon
d. Un ejemplo de integracin OpenCMS Cocoon.
e. Servicios Web

6. Unos ejemplos prcticos


a. Intranet del IAJ (PHPNuke)
b. Web de la Consejera de Gobernacin (OpenCMS)
c. Andaluciajunta.es (OpenCMS Cocoon).
Ponencia Antonio Luque

SISTEMA DE SIMULACIN PARA UN MICROCONTROLADOR


ELECTRNICO BASADO EN LAS HERRAMIENTAS DE
DESARROLLO GNU

J. M. Bentez, A. Luque
Departamento de Ingeniera Electrnica, Universidad de Sevilla, Spain
aluque@gte.esi.us.es

En este artculo se presenta un entorno modular de simulacin de sistemas electrnicos


construidos alrededor de un microcontrolador. A partir de unas herramientas que
propociona el depurador GDB, se han desarrollado simuladores de perifricos y de
dispositivos electrnicos simples que pueden conectarse a un microcontrolador. Se
describe la arquitectura general del sistema, que consta de: simuladores de perifricos,
simuladores de mdulos externos, interfaz de usuario, y sistema de comunicaciones
entre las partes.

Palabras clave: microcontrolador, simulacin, GDB, perifrico.

1. Introduccin
Los microcontroladores son las piezas fundamentales de los sistemas empotrados, que en los
ltimos tiempos se han convertido en casi ubicuos. Un microcontrolador es un dispositivo
electrnico parecido a un microprocesador, pero ms completo que ste en muchos aspectos.
Al igual que un microprocesador, un microcontrolador (uC) posee una unidad aritmtico-
lgica (ALU), y una serie de registros internos. Estos elementos forman la unidad central de
proceso (CPU). Un microprocesador no contiene nada ms (salvo quiz memoria de
almacenamiento), pero un microcontrolador integra en el mismo circuito integrado una serie
de perifricos, que lo dotan de funcionalidad completa. Estos perifricos son, por ejemplo,
contadores, puertos serie, temporizadores, memorias, puertos de E/S, etc. Un
microcontrolador no necesita de ms componentes electrnicos para funcionar, mientras que
un microprocesador s. Es por esto, que los microcontroladores son el componente ms
utilizado para construir sistemas empotrados, en los que el tamao y el coste son factores
determinantes (VanSickle2001).

Normalmente, estos sistemas empotrados carecen de los interfaces que presentan los
ordenadores de propsito general, como teclado o monitor, por lo que la programacin de los
microcontroladores que los integran no puede hacerse directamente. Lo usual es escribir y
compilar el programa en un ordenador personal y luego descargar una imagen binaria del
mismo a la memoria interna del microcontrolador. La depuracin de los programas es
extremadamente difcil en un sistema empotrado, al no poseer ste los mecanismos de
interfaz con el exterior antes descritos, siendo muy habitual el proceso de prueba y error para
depurar un programa. Conscientes de este problema, muchos fabricantes de
microcontroladores han desarrollado emuladores, dispositivos que, situados en el sistema
electrnico en el mismo lugar en que estara el microcontrolador, y conectados a su vez a un
PC, se comportan desde el punto de vista elctrico de la misma forma que lo hara el
microcontrolador que se pretende emular. Estos emuladores suelen tener un precio
prohibitivo, que los hace inviables para muchas aplicaciones.

El proceso de depuracin usando el hardware real es caro y tedioso. Se comprende la


necesidad de contar con un simulador que se ejecute enteramente en un PC y que sea capaz de
leer e interpretar un programa compilado para el microcontrolador, y proporcionar las mismas
salidas que proporcionara este. Usando simuladores, el ciclo de desarrollo se puede acortar
sensiblemente y el coste fijo asociado al proyecto es bastante menor.

En este artculo se describe un sistema de simulacin desarrollado por los autores para los
microcontroladores de la familia M.CORE de Motorola (MMC2000). El sistema est basado
en las herramientas GNU, como GCC y GDB que han sido aportadas por el fabricante del
microcontrolador, a las que los autores han aadido las rutinas suficientes para simular el
microcontrolador completo.

La familia M.CORE consta de varios microcontroladores diferentes construidos alrededor de


una CPU RISC (Reduced Instruction Set Code). Su caracterstica ms destacada es el bajo
consumo, lo que los hace ideales para aplicaciones mviles o que necesiten bateras. Cada
miembro de la familia es ligeramente diferente en los perifricos que incorpora, pero en
general se cuenta con puertos serie sncronos (SPI) y asncronos (SCI), memoria Flash,
memoria RAM esttica (SRAM), temporizadores, convertidores analgico-digitales, y
puertos digitales de entrada/salida, entre otros.

2. Diseo general del sistema


La compaa Motorola, fabricante del microcontrolador, proporciona un simulador de la CPU
del mismo para ser embebido en el depurador GDB. Por otra parte, algunos empleados de la
misma han contribuido a la comunidad de software libre una versin del compilador GCC y
del resto de herramientas de desarrollo GNU adaptadas para producir cdigo M.CORE.

El simulador aportado por Motorola se limita exclusivamente a la CPU del microcontrolador,


por lo que es apropiado nicamente para calcular los tiempos de ejecucin de un determinado
programa. En este aspecto es muy preciso, como se puede comprobar en la Tabla 1, en la que
se comparan los ciclos de reloj que toma la ejecucin de varios programas en el simulador del
que tratamos con los que toma segn las pruebas internas de Motorola. La compaia afirma
que la precisin del simulador para cualquier programa est en torno al 0.5%.

ciclos reales ciclos sim Diferencia


Programa 1 366101 366102 0.00%
Programa 2 4461476 4462938 0.03%
Programa 3 255551 255547 0.00%
Tabla 1. Comparacin de ciclos de reloj usados por varios programas,
en la realidad y en el simulador de Motorola. Los programas son:
algoritmos de ordenacin, resolucin de ecuaciones y compresin de
datos. Fuente: Motorola, Inc.

El concepto central del sistema descrito en este artculo es la construccin, en torno al


simulador de Motorola, un sistema que sea capaz de simular los perifricos del
microcontrolador, y al que se puedan conectar dispositivos externos, de la misma forma que
se hara con un sistema electrnico real. El usuario del simulador es capaz de especificar qu
dispositivos estn conectados en qu pines del microcontrolador, y el simulador se encarga de
que estos dispositivos reflejen el estado actual del sistema. En la seccin 5 se incluye un
ejemplo simple.

Para lograr el objetivo descrito, son necesarias dos simulaciones adicionales a la de la CPU.
Por una parte, hay que simular todos los perifricos internos al microcontrolador, como
contadores, puertos, etc. Y por otra, hay que aadir un conjunto de mdulos que se puedan
conectar externamente al simulador del microcontrolador completo. Estos mdulos pueden
ser LEDs, displays de 7 segmentos, terminales serie, motores paso a paso, o cualquier cosa
que se pueda inventar. Estas dos nuevas simulaciones se describirn con detalle en las
secciones 3 y 4.

Con el objeto de no limitar arbitrariamente el sistema, la prioridad en el diseo del mismo ha


sido la modularidad. Los autores han desarrollado nicamente algunos mdulos que se
pueden conectar al microcontrolador, pero han dotado al sistema de la capacidad de poder ser
extendido simplemente escribiendo el cdigo de nuevos mdulos. Para esto se ha diseado
una interfaz de comunicacin entre el simulador y los mdulos externos, de forma que sea
muy fcil aadir nuevos mdulos en cualquier momento.

En la Fig. 1 se muestra la arquitectura general del sistema. Las partes sombreadas han sido
desarrolladas por los autores dentro de este proyecto, mientras que las que tienen fondo
blanco se encuentran disponibles bajo licencia libre.

Figura 1. Estructura general del proyecto

3. Simulacin de perifricos
La principal caracterstica de la simulacin de los perifricos, al igual que la del resto del
sistema, es su modularidad. No todos los microcontroladores de esta familia presentan los
mismos dispositivos perifricos, de manera que el diseo de estos dispositivos sigue un
patrn modular. Los elementos perifricos se representan como mdulos independientes al
microcontrolador, para conseguir as una estructura flexible que puede simular cualquier
elemento microcontrolador de la familia. De esta forma, adems, se facilita la incorporacin
de nuevos perifricos al simulador.

Para que la flexibilidad no derive en problemas de incompatibilidad entre los distintos


elementos que forman el simulador se ha definido una interfaz de acceso a los dispositivos
perifricos. La estandarizacin del acceso a estos perifricos permite que la adicin de un
nuevo elemento que se ajuste a esta interfaz definida no implique cambios adicionales en el
resto de la estructura del simulador.

La combinacin del diseo modular en la simulacin de los perifricos junto con la definicin
de un acceso estndar a ellos consigue que el microprocesador vea a los perifricos como
cajas negras, sin que tenga que conocer nada acerca de cul es su estructura interna o cmo se
ha implementado su funcionalidad. Lo nico que conoce el microprocesador es la manera de
acceder a esas cajas negras.
La directriz que suele seguir Motorola en la arquitectura de sus microcontroladores es mapear
todos los perifricos en memoria, de manera que no hay diferencia entre acceder a una
posicin de memoria y acceder a un dispositivo externo, del mismo modo que no hay
diferencia entre acceder a un perifrico y acceder a otro. Esta arquitectura viene a redundar en
la idea de que el microprocesador considere a los perifricos como cajas negras que se
distinguen entre s tan slo por la direccin mediante la cual son accedidas.

ste ha sido, pues, el diseo que se ha seguido en la definicin de la interfaz de acceso a los
perifricos, por ser la que habitualmente emplea Motorola, pero podra cambiarse fcilmente
a otras arquitecturas usadas por otros fabricantes, como puede ser Intel, que diferencia entre
accesos a memoria y accesos a perifricos.

Cada uno de los perifricos desarrollados en el proyecto posee su propio cdigo, que trata de
imitar la lgica propia del componente hardware real. As por ejemplo, un contador posee un
cdigo que decrementa continuamente a intervalos regulares un cierto registro y activa un bit
en otro cuando la cuenta ha llegado a cero. El programa que se ejecuta en el simulador puede
leer este bit para saber si la cuenta ha acabado, o acceder en cualquier momento de forma
transparente al valor actual de la cuenta.

4. Interfaz de usuario
El uso de interfaces de usuario se hace especialmente til en el desarrollo de sistemas
empotrados, pues stos carecen de mecanismos de interfaz con el exterior como ocurre con
los sistemas para computadores. De esta manera, el poder visualizar de algn modo cules
son las salidas que proporcionan los programas que ejecuta el microcontrolador se convierte
en una ayuda inestimable para el desarrollo de tales sistemas.

La interfaz de usuario desarrollada refleja la doble vertiente de la naturaleza del desarrollo de


sistemas empotrados. Por un lado, dispone de todos los elementos habituales de un sistema de
depuracin convencional para programas que se ejecuten en computadores, como puede ser la
ejecucin controlada o la posibilidad de comprobar el valor de las variables que conforman el
programa.

Por otro lado, la incorporacin al simulador de los dispositivos perifricos que forman el
microcontrolador hace necesario que la interfaz de usuario no slo trabaje con el programa
que ejecuta el microprocesador, sino que tambin muestre el estado de los distintos
perifricos. De esta manera, podemos comprobar, por ejemplo, el estado del puerto serie o de
los distintos registros de salida.

Finalmente, y para conseguir que el simulador se ajuste lo ms posible a la realidad, del


mismo que podemos conectar fsicamente distintos elementos a la salida del microcontrolador
para comprobar su estado, la interfaz de usuario permite hacer lo mismo con el simulador,
mediante una serie de mdulos independientes que representan elementos externos al
microcontrolador. Toda esta estructura se ha diseado teniendo presente la necesidad de que
el conjunto sea fcilmente extensible, de forma que se puedan incorporar nuevos mdulos si
el usuario de la interfaz lo cree necesario.

La interfaz de usuario es la capa ms externa en la estructura del sistema desarrollado por los
autores. Se trata de una sencilla aplicacin grfica que pone a disposicin del usuario toda la
potencia y capacidad que ofrece la API de comunicacin con GDB. Dicha aplicacin est
implementada con la completa librera de componentes Qt que ofrece Trolltech (Kalle2002).
Se ha elegido esta librera por la enorme flexibilidad y funcionalidad que provee el
mecanismo de signals y slots para la comunicacin entre objetos.

Hay que hacer notar que la aplicacin grfica est perfectamente separada de la API, por lo
que no es necesario utilizar aqulla si queremos usar esta ltima. La API est presentada
mediante una serie de llamadas que obtienen toda la funcionalidad que ofrece GDB, por lo
que es posible desarrollar cualquier otro tipo de aplicacin grfica que haga uso de dicha
interfaz de programacin. La aplicacin desarrollada por los autores, aun siendo una interfaz
de usuario completa y totalmente funcional, puede servir de muestra a otras futuras
aplicaciones y a lo que stas pueden conseguir si se utiliza la API.

La aplicacin grfica tiene un diseo convencional compuesto por un men, una barra de
herramientas y una serie de vistas y panales. En la vista principal se puede ver el cdigo del
programa que se quiere simular. Mediante el men o directamente en la barra de
herramientas, el usuario de la aplicacin grfica puede controlar cmo se ejecuta el programa,
mediante la insercin y eliminacin de puntos de ruptura y mediante los comandos de control
de flujo de ejecucin.

Se dispone tambin de una serie de ventanas adicionales en las que se puede ir siguiendo la
evolucin de varios componentes del programa. As, se dispone de vistas para obtener el
valor de variables, de la pila de llamadas, de los registros internos del microprocesador y de
cualquier direccin de memoria del microcontrolador. Es esta serie de vistas la que da sentido
y utilidad al uso del simulador, puesto que se puede comprobar que todos estos parmetros
toman los valores que quiere el programador a medida que ejecuta su programa.

Por ltimo y para hacer ms til el uso de esta herramienta, se ha provisto a la interfaz un
modo grfico en el que el usuario puede aadir a la salida del microcontrolador elementos
externos como los que puede conectar en la realidad. De esta forma, se pretende conseguir
que el simulador refleje lo ms fielmente posible el comportamiento real del
microcontrolador, comprobando el funcionamiento de elementos externos en lugar de una
serie de valores numricos.

Toda esta funcionalidad se obtiene a travs de la API de comunicacin con GDB. Esta
interfaz de programacin ofrece toda una serie de llamadas que ponen a disposicin de los
programadores todo lo que GDB ofrece mediante su interfaz de comandos. En el sistema
desarollado por los autores se ha puesto especial hincapi en los aspectos ms relevantes del
diseo de sistemas empotrados y que podemos apreciar en la interfaz de usuario, como puede
ser la obtencin del estado de los registros internos del microprocesador o la obtencin del
valor almacenado en una posicin cualquiera de memoria.

Esta interfaz de programacin no est ligada al microcontrolador M.CORE, es decir, es


independiente del microprocesador que se utilice, pudindose utilizar con cualquier otro
simulador que provea GDB.

El funcionamiento de la librera se basa en la creacin de dos procesos que se comunican


mediante tuberas (pipes). Uno de estos procesos, el hijo, ejecuta el depurador GDB, mientras
que el otro, el proceso padre, se encarga de realizar las peticiones y presentarlas de manera
adecuada al exterior. Tambin se utiliza otro mecanismo de comunicacin entre procesos,
como son las seales, que se emplean para informar a la API de que han sucedido eventos
significativos, como puede ser el cambio de estado de los perifricos.

Para comunicarse con GDB se utiliza la interfaz GDB/MI, que es una interfaz orientada al
uso de GDB como una parte de un conjunto mayor (Stallman1994).

5. Ejemplo de aplicacin
En esta seccin se pretende ilustrar con un ejemplo las capacidades del sistema. Se va a
conectar un mdulo externo en algunos pines de salida del microcontrolador simulado y se va
a proceder a simular un programa que acceda a dichas salidas.

Uno de los mdulos desarrollados en el proyecto es el conjunto de LEDs. Se trata de un


nmero de diodos emisores de luz que se pueden conectar a cualquier pin de salida del
microcontrolador. Cuando el programa que se est ejecutando establece un valor lgico alto
en uno de esos pines, el LED correspondiente se ilumina en pantalla, y cuando el valor lgico
es bajo, permanece apagado. En este ejemplo, el conjunto de LEDs se conecta al puerto A del
microcontrolador (MMC2000).

Una vez se ha hecho esto, se compila el siguiente programa, que hace parpadear uno de los
LEDs del conjunto (se han omitido algunas inicializaciones de los registros del
microcontrolador, que no aportan nada al ejemplo).

int main(void)
{
set_led(OFF);
for(i=0;i<=10;++i) {
set_led(ON);
delay1();
set_led(OFF);
delay1();
}
}

En el programa anterior, la funcin set_led() nicamente pone un valor lgico alto o bajo
en un registro interno del microcontrolador, en funcin de su nico parmetro, como se
muestra en el cdigo siguiente.

void set_led(unsigned char v)


{
if(v)
reg_PORTA.reg|=0x01;
else
reg_PORTA.reg&=0xFE;
}

Este registro en un microcontrolador real se redirige inmediatamente a un conjunto de pines


de salida (el puerto A). En este sistema, es el simulador del perifrico correspondiente al
puerto A el que informa al mdulo de los LEDs de que el valor del registro ha cambiado. El
mdulo entonces actualiza la imagen en pantalla, dando al usuario la impresin de que un
LED se enciende o apaga.

Por supuesto, son posibles simulaciones ms complejas. Por ejemplo, los autores han
desarrollado tambin un mdulo externo que simula un terminal serie, que se puede conectar
al puerto serie asncrono del microcontrolador simulado. De esta forma, es posible la
visualizacin en pantalla de los caracteres transmitidos por el programa del microcontrolador.
6. Conclusiones
Se ha presentado un sistema apropiado para la simulacin de sistemas electrnicos sencillos
basados en microcontroladores. El sistema descrito est orientado a la simulacin de un
microcontrolador concreto, pero es fcilmente portable a otros para los que existan
simuladores de sus CPUs (GDB proporciona varios).

La gran ventaja del sistema descrito es la modularidad, que permite escribir nuevos mdulos
que conectar al microcontrolador simulado con gran facilidad.

Las lneas de desarrollo futuro del proyecto se centran en la creacin de una mayor cantidad
de mdulos externos para ampliar el rango de sistemas electrnicos simulables. Otra
caracterstica que los autores estn estudiando es la posibilidad de conectar dos o ms
microcontroladores simulados a travs de sus puertos serie (sncronos o asncronos) con el
objeto de simular un sistema de comunicaciones completo.

Referencias
(Kalle2002) Matthias Kalle Dalheimer, Programming with Qt, 2nd ed., O'Reilly, 2002.
(MMC2000) MMC2107 Technical Data, Motorola Inc., 2000.
(Stallman1994) Richard M. Stallman and Roland H. Pesch, Debugging with GDB, Free
Software Foundation, 1994.
(VanSickle2001) Ted Van Sickle, Programming microcontrollers in C, 2nd ed., LLH
Publishing, 2001.
SISTEMA DE SIMULACIN PARA UN MICROCONTROLADOR
ELECTRNICO BASADO EN LAS HERRAMIENTAS DE
DESARROLLO GNU

Persona de contacto: Antonio Luque


Departamento de Ingeniera Electrnica, E. S. Ingenieros
Av. Descubrimientos, s/n 41092 Sevilla (Espaa)
Tlf: 954487375, Fax: 954487373
aluque@gte.esi.us.es
GESTIN SEMNTICA DE CONTENIDOS CON ximDEX

J. A. Prieto, J. Villar, D. Gmez, M. Estells


XimetriX network thoughts; Spain
ximlab@ximetrix.com

La gestin de informacin y documentos mediante Sistemas de Gestin de Contenidos (CMS,


Content Management Systems) ha evolucionado hacia la plena separacin entre los
contenidos y los elementos encargados de su presentacin. Sin embargo, esta separacin no
est siendo aprovechada para dotar de significado a los elementos de informacin que
constituyen los contenidos, lo que, en el paradigma de la Web semntica, facilitara, por
ejemplo, la sindicacin de informacin sin necesidad de establecer manualmente las fuentes
origen de la informacin y, a un nivel ms avanzado, permitira aumentar el grado de
interoperatividad entre sistemas de distintas corporaciones.

En la actualidad, el uso de XML para la publicacin en Web asocia, en la mayora de los


CMS existentes, una estructura y una sintaxis concreta, lo que dificulta considerablemente su
posible uso para la realizacin automtica de tareas de intercambio de informacin entre
entidades en base a una sintaxis y/o semntica compartida. Por otro lado, los CMS
tradicionales se constituyen adems en los Servidores de Aplicaciones encargados de la
explotacin de los contenidos, lo que reduce considerablemente la interoperabilidad con otros
sistemas, bloqueando adems el acceso a los precursores de los contenidos.

El entorno ximDEX1 de Gestin de Contenidos (CMS) desarrollado por XimetriX


(www.ximetrix.com) proporciona los pilares necesarios para dotar de significado a los
elementos de informacin que constituyen los contenidos. Para ello, proporciona a los
usuarios la capacidad de edicin y definicin de los formatos finales a utilizar en la gestin de
los contenidos (aplicativo XML), proporcionando adems un motor de transformacin
(mdulo dexT en ximDEX) con licencia libre, encargado de la translacin a los formatos
finales de publicacin (XHTML, HTML, PDF, ) utilizados en los servidores Web y de
explotacin, a partir de los aplicativos XML libremente definidos. Adems, a diferencia de
otras herramientas similares, el entorno ximDEX proporciona un editor de XML tipo
wysiwyg en web y simplifica o automatiza la mayora de las tareas vinculadas al ciclo de vida
documental, lo que garantiza un acceso sencillo a las tareas necesarias para la adecuada
gestin de los contenidos y permite el uso del entorno por usuarios no avanzados.

La reutilizacin de contenidos ya existentes o heredados se garantiza mediante filtros de


transformacin automatizados. Sin embargo, en un marco libre, es an ms importante
garantizar la reutilizacin futura de los contenidos y fomentar la interoperabilidad entre
corporaciones en un entorno colaborativo. En el entorno ximDEX, esta reutilizacin futura
de los contenidos surge como consecuencia directa de: i) permitir la libre definicin de los
aplicativos XML utilizados en la gestin de contenidos de una corporacin y ii) estructurar y
garantizar el pleno acceso a todos los contenidos y a los precursores de los mismos (cdigo
fuente para explotacin dinmica, plantillas de transformacin de formatos, ) mediante
mltiples vas como, por ejemplo, Servicios Web.

Keywords: Gestin y Publicacin de Contenidos, CMS, Web Semntica, Interoperabilidad.

1
http://www.ximetrix.com/index_prod_ximdex.html
Contenidos y Web Semntica

La gestin de contenidos centrada en la publicacin en Internet ha evolucionado


gradualmente hacia la plena separacin entre los contenidos y los elementos encargados de su
presentacin, es decir, de los aspectos visuales. El mximo exponente de esta separacin lo
proporciona el asentamiento de XML como tecnologa para la publicacin de contenidos
[Zapt03].

En el paradigma de la Web Semntica [Bern01] se asocia un significado a los elementos de


informacin que forman los contenidos, proporcion ndose simultneamente mecanismos para
estructurar y compartir ese significado en un dominio concreto de conocimiento. El dotar a
los elementos de informacin que componen la Web actual de un significado bien definido
permitira, entre otros, mejorar las capacidades de bsqueda contextual, aumentar la
interoperabilidad entre sis temas en entornos de colaboracin y llegar, en combinacin con
Servicios Web, a componer aplicaciones en base a servicios publicados [Shet02, Tsai03].

Sin embargo, en el marco de los Sistemas de Gestin de Contenidos (CMS, Content


Management Systems) actuales, esta separacin entre contenidos y presentacin no est
siendo aprovechada para aadir significado a los elementos de informacin que constituyen
los contenidos, principalmente por la asociacin realizada por ol s CMS existentes a una
estructura y sintaxis predefinida y por la falta de madurez de las tecnologas de gestin de
ontologas, tcnica habitualmente usada para la representacin de conocimiento en base a
la especificacin formal y explicita de trminos en un dominio y de las relaciones existentes
entre ellos [Chan99].

El acercamiento de los sistemas de Gestin de Contenidos a los paradigmas de la Web


Semntica permitira automatizar la realizacin automtica de tareas de intercambio de
informacin entre entidades en base a una sintaxis y/o semntica compartida, lo que
facilitara la sindicacin y agregacin automtica de informacin, evitando la necesidad de
establecer manualmente las fuentes origen de la informacin. A nivel ms avanzado,
permitira aumentar el grado de interoperabilidad entre sistemas de distintas corporaciones,
evolucionando de los actuales Portales de Contenidos a Portales de Servicios [Prie03].

XimetriX network thoughts (www.ximetrix.com) ha desarrollado ximDEX, un entorno para la


adquisicin, gestin y transformacin de contenidos que permite la inclusin de significado
bien definido a los elementos de informacin que forman los contenidos. El presente artculo
recoge las principales caractersticas del entorno, resaltando los aspectos clave que posibilitan
el tratamiento de contenidos en el paradigma que ofrecer la Web Semntica.

Gestin de Contenidos con ximDEX

El entorno ximDEX es un sistema automtico de adquisicin, transformacin y publicacin


de contenidos en base a aplicativos XML sobre un entorno visual de etiquetado de los
elementos de informacin. As, en su configuracin como CMS, el gestor ximDEX permite la
automatizacin de la publicacin de contenidos en formatos tpicos de Internet, tanto de tipo
esttico como de tipo dinmico, y de todos los componentes encargados de su explotacin
(java, php, .net, etc.), a lo largo de todo el ciclo de vida del documento. El carcter del
entorno facilita el escalado y desarrollo de nuevas aplicaciones, proporciona ndo
simultneamente mecanismos de reutilizacin de los contenidos y facilitando la asociacin de
significado a los elementos constitutivos de los contenidos.

El pilar central de esta operativa lo constituyen las capacidades de transformacin de los


documentos estructurados (documentos XAP XML Active Publishers en ximDEX),
descritos en base a aplicativos XML libremente definidos por los usuarios, haca los mltiples
formatos finales de publicacin e intercambio comnmente aceptados en Internet.

Operando como CMS, los documentos XAP almacenados en el entorno son convertidos
automticamente al formato final de publicacin (XHTML, por ejemplo), mediante la
aplicacin recurrentemente de una serie de Plantillas de Transformacin de Documentos
(PTD) que contienen las propiedades de presentacin necesarias para cada uno de los canales
vinculados a la publicacin (pdas, web, mviles), respetando las caractersticas multilinge
requeridas. Los documentos no estructurados (PDFs, vdeos) son gestionados en base a
metainformacin aplicada mediante tcnicas de anotacin, controlando el entorno todo su
ciclo de vida y versionado y la publicacin y despublicacin automtica en los servidores
vinculados al entorno de produccin.

En el contexto de separacin entre contenidos y presentacin es necesario desvincularse de


los entornos de produccin existentes. Para ello, el entorno ximDEX gestiona los elementos
de cdigo (clases java, php, ) encargados de los contenidos dinmicos, convirtindose en
un precursor tanto de los contenidos a publicar como de los elementos de explotacin
necesarios. Esto permite al entorno ximDEX operar de forma completamente separada
respecto al entorno final de explotacin, lo que disminuye considerablemente el nivel de
intrusividad de la solucin y aumenta el nivel de interoperabilidad.

Documentos estructurados y anotaciones contextuales

Los documentos en ximDEX (documentos XAP) se estructuran mediante anotaciones XML


elegidas libremente de un aplicativo XML predefinido por los usuarios del entorno, aplicativo
con vinculacin directa con las Plantillas PTD de transformacin que encapsulan los aspectos
necesarios para su traslacin a otros sistemas de publicacin, agregacin y sindicacin de
informacin. As, un formato XAP lo constituye el aplicativo XML, libremente definido por
los usuarios del sistema, que proporciona las pautas para realizar la transformacin adecuada
mediante la invocacin recurrente de las plantillas PTD.

La Figura siguiente recoge un documento XAP sencillo que vincula significado a elementos
concretos de informacin en un dominio concreto de aplicacin, en este caso para representar
una beca, donde, para simplificar, se han eliminado las descripciones multi- idioma y de
identificacin de las anotaciones:

<beca id=123>
<organismo>Ministerio de Ciencia y Tecnologa</organismo>
<destino>Instituto de Microelectrnica de Sevilla</destino>
<duracin unidad=meses>12</duracion>
<ttulo>Ayudas y Becas de introduccin a la investigacin aplicada</ttulo>
<referencia boe=23503><url>http://www.mcyt.es</url></referencia>
</beca>

Figura 1: Documento estructurado en formato XAP


En la lnea de simplificacin requerida para el acercamiento del entorno a personal no
especializado, el entorno ximDEX proporciona un editor wysiwyg para XML, lo que permite
la edicin de los documentos estructurados sin conocer las etiquetas que lo componen,
visualizando simultneamente el estilo final del documento. La figura siguiente muestra el
entorno ximDEX durante la edicin de un documento para el canal web:

Figura 2: Edicin wysiwyg de un documento XML en ximDEX.

Una vez incorporado (bien por agregacin, bien por edicin) el documento XAP XML
Active Publishers al sistema, este es transformado de forma activa hasta llegar al formato
final de publicacin o intercambio requerido. Durante este proceso de transformacin se
expanden de forma recurrente las distintas anotaciones existentes en el documento en base a
un contexto predeterminado y acotado de publicacin a elegir de una taxonoma de perfiles.
Esta transformacin implica habitualmente la inclusin de texto estructurado o no,
permitindose tambin el acceso a fuentes remotas de informacin para la inclusin de
informacin generada dinmicamente (activa) o incluso la ejecucin de cdigo interpretable.

Mdulos bsicos de ximDEX

A diferencia de la mayora de los gestores de publicacin existentes, donde se realiza una


generacin dinmica de los contenidos publicados en cada visita al servidor de explotacin, el
gestor ximDEX desvincula la creacin de los documentos de su explotacin. Para ello, induce
una separacin entre la etapa encargada de la creacin/importacin, supervisin,
transformacin y publicacin de los contenidos y la etapa posterior de explotacin por
servidores especializados (de vdeo, de aplicaciones, web, etc.).

De este modo, el entorno ximDEX puede describirse como un precursor de contenidos y de


sus componentes dinmicos, dejando la explotacin a servidores especializados (ej.: apache,
resin) para cada tipo de contenido, lo que permite un mejor escalado de la infraestructura
asociada y evita los cuello de botella, tpicos de las arquitecturas multicapas con generacin
dinmica, inducidos por otros CMS. Adems, y lo que es ms importante, permite adecuar la
tecnologa empleada a la explotacin a realizar (PHP versus JAVA por ejemplo), lo que
reduce el nivel de intrusividad de ximDEX en el mbito de aplicacin y aumenta las
capacidades de interoperabilidad.
La Figura siguiente recoge el desglose de ximDEX en los mdulos principales que lo
componen y su vinculacin con los servidores remotos:

dexT
D Servidores Remotos
FS dexP de Explotacin
E
BD
web aplicaciones vdeo
Servidor WEB
dexC (Back Office)

Figura 3: Mdulos principales de ximDEX y servidores de explotacin

El mdulo dexC es el orquestador del sistema completo. Para ello, accede a los datos y
documentos, estructurados XML o no HTML, PDF, etc. , almacenados en la base de
datos del sistema (BD), invoca al mdulo de transformacin dexT, encargado de realizar la
sntesis real de los contenidos estructurados en los diversos idiomas y formatos de
explotacin mediante la aplicacin de las plantillas PTD, gestiona el ciclo de vida completo
de cada documento y sus ventanas de publicacin y despublicacin en los formatos finales
para sincronizacin a los servidores remotos, agrega informacin de fuentes externas, realiza
importaciones masivas de contenidos desde el sistema de archivos, realiza un control de la
integridad de los enlaces internos y externos, la gestin de las anotaciones contextuales, etc.

El mdulo dexT constituye el corazn de ximDEX. Se encarga de generar las diversas


variantes de los elementos de un documento a partir del documento original descrito en
formato XAP. Los documentos y elementos generados por el mdulo dexT de ximDEX se
encuentran ya en el formato final de presentacin (HTML, cdigo PHP o clases java, por
ejemplo), para su sincronizacin final al servidor elegido mediante el mdulo dexP. El dexT
se encarga adems de controlar las diversas variantes de un documento, es decir, los
diversos idiomas en que se publica, las versiones para impresin, y para los diversos canales
de publicacin (PDA, mvil, Web). El formato XAP (XML Active Publishers) es el
aplicativo XML que proporciona las pautas para realizar la transformacin adecuada
mediante la invocacin recurrente de las plantillas PTD definidas.

Por ltimo, el mdulo dexP se encarga de enlazar el entorno ximDEX con los servidores
remotos de explotacin que publican y sirven los documentos en los formatos finales
(servidores de aplicacin, vdeo, web, ). Este mdulo presenta dos personalidades
entrelazadas, una de tipo esttico y otra de tipo dinmico, realizando la sincronizacin con el
servidor de explotacin adecuado en la fecha y hora indicada por el perfil de publicacin, o
bien, en caso de optarse por una explotacin dinmica del contenido directamente por el
entorno ximDEX, realiza la peticin al mdulo de transformacin (dexT) para la
interpretacin del documento XAP a peticin del servidor Web de explotacin.

La figura siguiente recoge una de las pantallas de gestin de flujos de trabajo que controlan el
comportamiento del mdulo dexC:
Figura 4: Control de Flujos de Trabajo en ximDEX

Formatos libres y reutilizacin de contenidos

Un aspecto clave, habitualmente olvidado de forma intencionada por otros entornos y


productos, es el libre acceso a los documentos y contenidos almacenados en el gestor y la
publicacin de los formatos de intercambio utilizados [Cosm97]. En un marco libre es an
ms importante garantizar la reutilizacin futura de los contenidos y fomentar la
interoperabilidad de corporaciones mediante el intercambio de informacin en formatos no
propietarios.

En el entorno ximDEX, la garanta de reutilizacin futura de los contenidos surge como


consecuencia directa de los aspectos siguientes relacionados con la informacin y los
formatos: i) permitir la libre definicin de los aplicativos XML (formato XAP) utilizados por
la entidad o corporacin en la gestin de sus contenidos, ii) proporcionar mecanismos
potentes de estructuracin y anotacin de los mismos, y iii) garantiza r el pleno acceso a todos
los contenidos (XAP y generados) y a los precursores de los mismos (cdigo fuente para
explotacin dinmica, plantillas de transformacin PTD, ), a travs de mltiples vas como,
por ejemplo, Servicios Web.

Otro aspecto fundamental es proporcionar con licencias libres todos los sistemas encargados
de realizar la transformacin de los contenidos desde el formato original (XAP) a los
formatos finales utilizados para la publicacin. En el entorno ximDEX, esta transformacin la
realiza el mdulo dexT, publicado con licencia libre, capaz de transformar y estructurar
portales complejos multilinge de contenidos a mltiples formatos finales.

Conclusiones

La separacin creciente entre contenidos y presentacin abre un camino directo haca la


inclusin de tcnicas provenientes de la Web Semntica, lo que permitir asociar significado
concreto y unvoco, en un dominio de conocimiento, a los elementos de informacin que
forman los contenidos.
En este contexto, se han presentado las caractersticas fundamentales del gestor ximDEX
desarrollado por XimetriX (www.ximetrix.com), entorno que facilita la asociacin de
semntica a los elementos de informacin durante la creacin de documentos, resaltndose
adems los requisitos fundamentales para garantizar la reutilizacin futura de los contenidos
y el intercambio automatizado de informacin entre entidades en un marco de colaboracin,
lo que facilitar las tareas de agregacin y sindicacin y permitir la manipulacin automtica
de informacin en el paradigma ofrecido por la Web Semntica.

Referencias
o [Athe02] R. Athey, Enterprise Content Management: taming content chaos, Search
Results, Deloitte Consulting and Deloitte & Touche, ISBN 1-892384-21-7, 2002.
o [Bern01] T. Berners-Lee, J. Hendler et al, The Semantic Web: A New Form of Web
Content That Is Meaningful to Computers Will Unleash a Revolution of New
Possibilities, Scientific American, vol. 284, no. 5, pp. 28-31, May 2001.
o [Chan99] B. Chandrasekaran, V. R. Benjamins et al, What Are Ontologies, and Why
Do We Need Them?, IEEE Intelligent Systems, pp. 20-26, Jan./Feb. 1999.
o [Cosm97] P. Di Cosmo, Pige dans le Cyberespace / Trampa en el cyberespacio /
CyberSnare, http://www.pps.jussieu.fr/~dicosmo/Piege/PiegeES.html (espaol)
o [Prie03] J. A. Prieto, Interoperability Dossier, Internal Report, Jul. 2003.
o [Shet02] A. Sheth, C. Bertram el al, Managing Semantic Content for the Web, IEEE
Internet Computing, Volume: 6, Issue: 4, pp. 80-87, Jul-Aug. 2002.
o [Tsai03] Tse-Ming Tsai, Han-Kuan Yu et al, Ontology-Mediated Integration of
Intranet Web Services, Computer Magazine, Volume: 36, Issue: 10, pp. 63-71, Oct.
2003.
o [Zapt03] Zapthink LLC, XML in the Content Lifecycle: Creating, Managing,
Publishing, Distributing, Syndicating, and Protecting Content with XML, Jan. 2003.
Da 19-12.00h

Sala 2: Educacin, Universidad y e-learning

Moderadora Pilar Ballarn Directora General de Evaluacin Educativa y


Formacin de Profesorado Junta de Andaluca

Participantes

Jess Mara Rodrguez Barahona Univ. Juan Carlos I


Francisco de Urquijo Niembro CINVESTAV-IPN
Giovanna Sissa Observatorio Tecnolgico/ Educacin Ministry
Francisco Javier Snchez Quirs Esware Linux
David Puente Sadiel
Antonio Jos Senz Albanes Cassfa
lbert Calvet CV & Consulting
MicroEducation

F. de Urquijo Niembro, J.U. Cruz Cedillo, R. Hansen,


CINVESTAV-IPN, Mxico
urquijo@servidor.unam.mx

It is during the first months of life that the most important part of our formation and
education takes place. The great majority of the cerebral connections develop based on
the needs and impulses experienced during the immediate months after birth. The
acquisition of communication skills of all types like foreign languages, reading,
mathematics, body language, music and sign language is enormously facilitated if it is
practiced during very early childhood. These depend fundamentally on the exposure of
children to their parents doings and awareness. The objective of the research is to
develop a better structure to support parenthood by means of new technologies and by
making parents conscious of this natural opportunities opened to the human being.

The Digital Revolution and the use of Sign Language with Babies.

This paper propose a new vision of the relevance of the signs language for human
beings and proposes a way to enhance human communication in the planet by taking
advantage of the digital revolution. Based on an in-depth reflection of the challenges
and the practices of natives americans and the deaf community, it is time to turn our
attention to what we could learn from them.

Signs language is so natural to the human being that babies can learn its use months
before being able to communicate in a spoken language.

The Digital Revolution is reaching most of the world regions. Soon, it will be normal to
interact directly through video conferences or other forms of virtual presence. The use
of new technologies will foster the development of sign languages.

If every children in the world learn to communicate by means of signs we would be


initiating a new way to unite the world, learn new languages much easier and enlarge
our natural potential.

Sign language usage in native America.

What can the modern world learn from native americans today? Universal use of sign
language had almost disappearing even from the history books, but recently has come
back as a powerful tool for human understanding and sharing between different
cultures, like it used to be for centuries on this part of the world. The cultural collision
between such difference worlds, in so different aspects, had been so tremendous, that
five hundreds years latter had not been enough to settled the consequences of such
impact.

Somethings were adopted in both worlds very fast, like smoking, eating beef, pork,
corn, tomatoes, potatoes, etc. The adoption of languages took more time, for example
only 20% of the mexican population speak Castilian by 1821.

Other cultural differences took even more time to reach the planet. One in particular,
very close to our heart is the extremely advance, sophisticated, powerful and universal
use of sign language used by the american natives before 1492.

The subject is enormous, in history, in sociology, in linguistic, and specially as a new


and powerful very modern educational tool.

Even more important, this subject has to offer lots in nature respect, in human
understanding, and a future for the world.

Natives americans living today, have still so much to share, above richness, food, lands
and beauty, that had not yet been valued enough. Important lessons, the world can get
from such living societies today. Only some native communities from Yucatan, Alaska
or Arizona, still use sign language in general. We hope soon with the help of open
systems and free software human been could hear on its natural mother tong the sound
of many other languages of the world while understand through the use of signs.

Often, free software is criticizes for only reverse engineering what proprietary software
has done before. Microeducation is a new and fascinating new field where proprietary
solutions had not been before.
EL SISTEMA OPERATIVO ORGANIZACIONAL ESTNDAR
(SOOS)
F. de Urquijo Niembro, J.U. Cruz Cedillo
CINVESTAV-IPN, Mxico
urquijo@servidor.unam.mx

El proyecto SOOS, busca apoyar a las pequeas, medianas y grandes


organizaciones de todo tipo y de cualquier parte del mundo, para ayudarlas a
evolucionar hacia una economa digital. Actualmente, slo unas cuantas
empresas muy bien financiadas pueden pagarse toda la diversidad y
complejidad de las innumerables tecnologas existentes, apoyndose en
decenas de proveedores distintos, cada uno automatizando partes puntuales de
las operaciones. Esto exige una enormidad de recursos que muy pocas
empresas de Mxico o del mundo se pueden permitir. En contraste, en este
proyecto se busca simplificar al mximo la operacin organizativa de todo lo
estandarizable, favoreciendo as la interaccin automtica entre
organizaciones, reduciendo los costos operativos de toda la economa sin
mayores necesidades de capital o de endeudamiento.

Lo que proponemos es crear un Sistema Operativo Organizacional Estndar (SOOS),


como base para el mejoramiento del desarrollo, funcionamiento e interoperabilidad de
las organizaciones de todo tipo. Esta propuesta busca la efectividad y eficiencia de los
procesos de la organizacin mediante la integracin de diversas tecnologas. El objetivo
consiste en mejorar el funcionamiento de las organizaciones, a travs de la
estandarizacin de los procesos. Esto requiere de investigacin y desarrollo tecnolgico
interdisciplinario, ya que implica integrar conocimiento de reas muy diversas, como la
administracin, la electrnica, la informtica, las telecomunicaciones, las ingenieras de
diseo y de las manufacturas, el derecho y las ciencias sociales, entre otras.

Resultados esperados
1.- Una comunidad especializada y altamente competente, que adems y gracias a sus
desarrollos concretos con el SOOS, sea capaz de ofrecer soluciones reales para las
organizaciones en todos los pases.
2.- Un conjunto de polticas relativas a procesos y tecnologas organizacionales, cuyo
objetivo es establecer estndares y mtodos que permitan la obtencin de sinergias entre
la academia, las empresas, los gobiernos y las comunidades.
3.- El SOOS ser distribuido libremente en un DVD, CDs o Internet, y su contenido no
tendr costo alguno para el usuario, al igual que otros servicios pblicos, similar a los
libros de textos gratuitos que tienen muchos pases del mundo.
4.- Su contenido ser el compendio de software libre que una organizacin necesita para
funcionar lo ms eficientemente posible, pero basado en estndares internacionales
abiertos y metodologas (diseo, implementacin, codificacin, comunicacin y
documentacin, entre otras) que permitan una adaptacin fcil a sus necesidades
especficas. Contendr lo necesario para facilitar la administracin, la comunicacin
telefnica y de datos, el seguimiento de las actividades, de los recursos y de las
personas.
5.- Una comunidad de organizaciones, alerta y activa que utilizar el SOOS, pero que
tambin tendr lo necesario para expandir la funcionalidad de tal manera que sea forjada
una comunidad participativa, de individuos, grupos y de instituciones con intereses
comunes.

El mnimo comn denominador


Desde el punto de vista tcnico, el SOOS ser un conjunto de componentes de software
que incorpore de una manera estndar (pero en continua evolucin) las siguientes
funciones:
1.- Comunicar la organizacin con el exterior (al utilizar los servicios telefnicos, o una
red de voz y datos). Facilitar la interoperatividad con otras organizaciones: clientes,
usuarios, proveedores, bancos, organismos gubernamentales, etc.
2.- Interactuar con una base de datos relacional abierta, accesible a todas las
aplicaciones (Postgress)
3.- Dar seguimiento a los procesos que realiza una organizacin (Workflow).
4.- Visualizar las actividades de la organizacin en trminos de modelos estndares
(MDA, UML, XML, ebXML,...)

Racionalizacin de mdulos que no estn integrados ni estandarizados


1.- La funcionalidad de un ERP (Enterprise Resource Planning) flexible y adaptable a
las necesidades de las organizaciones de cada pas. Cada ao se gastan localmente
decenas de millones de dlares para adquirir soluciones propietarias tipo SAP, BAAN,
People Soft, Solomon, u otras, que no estn necesariamente al da ni se adecuan a las
necesidades de las organizaciones.
2.- Un CRM (Customer/Citizen Relationship Management) suficientemente verstil
para la administracin de la relacin con los clientes (ciudadanos, pacientes, escuelas,
municipios,...) al alcance de todas las organizaciones (micros, pequeas y medianas).
3.- Un GIS (Geographical Information System), Sistema de Informacin Geogrfico,
basado en estndares abiertos (OpenGis), coadyuvara en muchas de las aplicaciones del
SOOS, por ejemplo el catastro predial en los municipios, las obras hidrulicas en los
ejidos, la localizacin de mviles va GPS (vehculos, personas, fauna, flujos, ...), la
planificacin, asignacin y control de rutas de distribucin en las empresas, entre
muchas otras.
4.- Un HD (Help Desk), mdulo interactivo que atienda automticamente las peticiones
de informacin relevante de parte de ciudadanos, clientes, usuarios, causantes,
pacientes, alumnos o turistas, buscando mejorar la eficiencia de esas actividades
recurrentes.
5.- Comercio Electrnico (B2B). En el contexto de la globalidad econmica, toda
organizacin que tenga que comprar o vender deber operar digitalmente para
mantenerse competitiva. Esto har posible agregar la funcionalidad de oferta y demanda
de productos directamente del productor al consumidor, eliminando intermediarios.
6.- Una integracin total entre el telfono y los datos. Actualmente las organizaciones
instalan dos redes: una de datos y otra de voz. Esta duplicidad, adems de ser incmoda,
reduce dramticamente la productividad y origina gastos adicionales.

Los Beneficios
1.- Acercar las actividades acadmicas y las productivas: Todos los sectores
acadmicos podrn concretar sus investigaciones en aplicaciones directas al convertir
sus conocimientos en software que se pueda emplear fuera de la academia. Los
universitarios necesitan saber lo que las organizaciones requieren; inversamente, las
organizaciones necesitan abastecerse de material humano con conocimiento y
experiencia prctica obtenidos durante su formacin profesional.
2.- Saltar la brecha tecnolgica informtica: En el sector de alta tecnologa, muchas
organizaciones pueden salvar varias de las etapas intermedias de desarrollo de software
que tecnolgicamente ya han sido superadas. Por ejemplo, el mercado financiero ms
grande del mundo, el de Nueva York, usa el lenguaje de programacin universal
COBOL, a pesar de que ya se conocen mejores tecnologas.
3.- Establecer un mercado abierto internacional de nuevas tecnologas:
Actualmente muchos pases son un territorio colonizado por empresas de software
propietario. El SOOS permitir tener la masa crtica necesaria, la vinculacin academia-
economa, y una exposicin a millones de posibles nuevos creadores y usuarios de
soluciones abiertas.
4.- Eliminar la total dependencia de soluciones extranjeras: En pases en desarrollo,
hay empresas, universidades u organismos del sector pblico que quisieran contribuir a
la expansin tecnolgica de sus correspondientes economas, pero no lo pueden hacer
porque tienen que cumplir con los requisitos de seguridad de la inversin que
hipotticamente si tienen las soluciones propietarias. Por ello se requiere de una masa
crtica de xitos documentados, y de un esfuerzo riguroso de parte de los investigadores
y usuarios, para mejorar el nivel de credibilidad que tienen las soluciones abiertas.
5.- Mejorar directamente la productividad y la eficiencia de las organizaciones:
Un SOOS ofrecer una reduccin radical de los costos de modernizacin sin tener que
utilizar onerosos crditos.
6.- Reducir considerablemente el costo de operacin de las organizaciones: El
desarrollo de un SOOS brindar la posibilidad de que las mismas organizaciones
desarrollen sus competencias administrativas a travs de un aprendizaje continuo y
acceso a la mejor tecnologa disponible. Ellas mismas contribuirn al desarrollo y
mejora continua del SOOS.

Keywords: SOOS, estndares abiertos, sistemas organizacionales, economa digital.


TECHNOLOGY TRANSFER AND OPEN SOURCE SOFTWARE FOR
SCHOOL

Giovanna Sissa
Osservatorio Tecnologico scuole MIUR
Piazza della Nunziata 2, 16124 Genova, Italy
direzionne@osservatoriotecnologico.net

Technology Transfer is a keyword in ICT field; usually the term is used to indicate a
facilitation process from ICT to industry.
The relevance and complexity of ICT trends leads to the need of this kind of support for
schools and mainly for the introduction of Open Source Software in education.
Osservatorio Tecnologico (http:/www.osservatoriotecnologico.net), by the Italian MIUR
(Ministero Istruzione Universit e Ricerca), is an Italian web based national service for
technology transfer from ICT to schools. Since the beginning, in 1999, the Open Source
Software has been one of the main topics which Osservatorio Tecnologico was engaged with.
Osservatorio Tecnologico mission is the technological transfer from ICT to school in order to
establish a link between academic, research, net-economy communities and schools.
Main tasks are:
To identify and focus on ICT trends and Open source software paradigm;
To support the introduction and management of Open Source software;
To identify Best practice of Open source software in education;
To disseminate Open source principles for student, teacher and generic users;
To inform about open source and free software opportunities for e-government into
public sector and more specifically into school system;
To create Guideline for open source software choice into public sector and school.
Open Source Software is an emerging trend in software development, both in private and
public sector; in school it's relevant too.
Core business of Osservatorio Tecnologico are trends and news about basic and general
purpose application software, operating system and general application programs (not
educational software).
Osservatorio Tecnologico want to try and define Open Source Software phenomenon,
development and business model and to help schools into the introduction of Open source
software paradigm.
For this purpose the Osservatorio Tecnologico web based service has created four different
types of repository:
An information repository, containing document, bibliography, papers and news;
An experience repository, containing best practice about Open source software experience
into school, mainly related to networking;
A data repository, about 1600 Italian schools;
A software repository, containing test and evaluation of: Linux distribution, both on server
and on client, networking program, like http server, file server, mail server and application
program, like office automation programs.
Target people are teachers, school operators, public sector managers, but also citizens.

The cultural impact of OSS in education


One of the most widely discussed arguments in the OSS debate concerns the impact it could
have on the development of the country. There is an area of particular interest: education.

The phenomenon of open source software (and the related areas of open formats and
information access and sharing) is proving to be much larger than its origins as a specialist
niche could have led us to suppose. Furthermore, it has a potential cultural impact that go
beyond computer science field. Cultural aspects involved are the openness of knowledge, the
freedom of disseminating scientific knowledge and the debate on issues relating to copyright
protection.
Modalities and rules to transfer and distribute Knowledge on Internet are critical issues for
schools. Knowledge has to be as free and open as possible but authorship must be preserved
and reliability of sources too. For this reason the web site of Osservatorio Tecnologico is
released under Creative Commons licence.

In general, the OSS paradigm has cultural implications that cannot be reduced to a mere
technological fact. This cannot fail to have a significant impact on the relationship between
OSS and education, at both school and university level.

The availability of the source code, which is the essence of OSS, is also of great interest in
the area of education. In particular, it is widely used in technical schools, where computer
science is on the syllabus.
From a methodological point of view, some advocates emphasise the educational value of
OSS in a computer science course, while others highlight the specialist training aspect for
technical school students. In addition, the teaching of the various disciplines can be carried
out using open source teaching programs.
The other use of OSS in schools concerns the operation of computer infrastructure, starting
with the adoption of a Linux operating system on the server, including the management of
networks and network services, and the use of an open source office automation suite on
clients. OSS can offer various advantages; in order to exploit these benefits, adequate
professional skills must be available, and this may be a critical issue for schools.
There are four areas of OSS use in school.

1.Direct use of open source package


Open source packages can certainly be used in place of, or alongside, proprietary software in
support of teaching activities, network or network services management, or administrative
activities. From the teaching point of view, the use of open source packages together with
proprietary ones helps students to understand that there is often a wide choice and numerous
alternatives available.
Examples of tools that can be used in this field are Linux, Apache, OSS office automation
suites, tools for managing network services, and training support programs.

2. Analysis and study of open source code


The advantage of OSS is that its source code can be accessed. For this reason many people
argue that OSS and other types of accessible software can be used not only as a direct
working tool but also as a subject of study. The source code availability can be used to teach
the principles and techniques of computer science. Examples of this use are: study and
organisation of a compiler, the structure of a network server, and techniques for indexing
databases.
Computer science, in addition to a theoretical base, requires practical training. The direct
development of code from the student is very useful. The study of existing programs can be
used to demonstrate programming techniques and the best practices can significantly increase
the capabilities and skills of the students. However the source code under consideration must
be of a high quality and adhere strictly to the software engineering principles.

3. Development and integration of an open source code


The third field in which OSS can play an important role is in advanced laboratory work,
especially in the final years of secondary school. Examples include extending the
functionality of existing systems, integrating other open source and proprietary software
programs or systems, and the addition of new data formats.

4. Modification of open source resources and their reuse in teaching and network services
This area involves the work being done by some groups of teachers and programmers in
developing teaching software, including: software for teaching various subjects that has been
adapted by teachers/developers to meet their own needs; utilities for teaching and school
organisation developed and modified by the teachers; and distribution of solutions or systems
for specific use in schools, such as the distribution of the Linux operating system.

Outlook for the use of OSS in schools


Italian schools are becoming increasingly interested in OSS. Actual use is however limited to
some exemplary cases concentrated mainly in technical or vocational institutes where
computer science is taught. These experiences are the result of specific or local factors for
excellence, such as the presence of a teacher who is particularly convinced of the validity of
the OSS paradigm or where there is a centre of technological excellence in the area which
gives support and provides solutions and training, mainly with the aim of testing out
innovative approaches. These practices are difficult to scale up and apply to the basic
educational curriculum.

Keywords: Open Source Software in school, Technology transfer, Open Content,


Osservatorio Tecnologico
E-LEARNING Y EDUCACIN SECUNDARIA

Fco. Javier Snchez Quirs1,


1
I.E.S. Monterroso, Spain
fco.javier.sanchez@hispalinux.es

I. Introduccin
La importancia que en los ltimos aos estn adquiriendo las plataformas o
herramientas de aprendizaje electrnico (o e-learning) ha hecho que todos los niveles
educativos, tanto dentro de la enseanza reglada, como puede ser la Universidad, como
en mbitos econmicos como puede ser la teleformacin de los empleados en las
empresas, comiencen a preocuparse por desarrollar contenidos e implantar plataformas
de e-learning. Al mismo tiempo, los gobiernos estn intentando impulsar este tipo de
enseanza a travs de programas europeos (vid. http://www.elearningeuropa.info). Sin
embargo, es muy poco lo que podemos encontrar de aprendizaje electrnico en el
mbito de la educacin secundaria y fundamentalmente esto es as porque las
plataformas de e-learning que se usan en universidades o empresas suelen pertenecer al
software propietario, que es caro, cerrado y no muestra su fuente.
Qu posibilidades hay entonces de desarrollar contenidos y de implantar un sistema de
e-learning en la educacin secundaria? Sin duda, la respuesta se halla en el software
libre que nos permite acceder al cdigo fuente para modificarlo, mejorarlo y adaptarlo a
nuestras necesidades. Adems, la instalacin de servidores con este tipo de software es
sencilla y muy configurable.
Nuestra intencin en esta comunicacin es mostrar cules son los pasos que hemos dado
hasta el momento para desarrollar nuestro proyecto en el mbito de la educacin y
dividiremos nuestra exposicin en los siguientes apartados: en primer lugar, trataremos
la planificacin estratgica del proyecto; a continuacin, la planificacin tctica, seguida
de la gestin tecnolgica del mismo. El siguiente apartado ser la gestin y desarrollo
de los contenidos, que deberemos comenzar a debatir en cuanto est en marcha nuestro
proyecto. Y por ltimo, cul creemos que deben ser las fases en las que se explicite este
proyecto. Todo este desarrollo lo hemos plasmado en un documento que es fcilmente
adaptable a la realidad concreta de cada centro.

II. Una nueva forma de educacin: el aprendizaje electrnico o e-learning


Pretendemos en este apartado definir una idea acerca de lo que es el e-learning, pero
tambin mostrar cules son las caractersticas principales de esta nueva forma de
aprendizaje as como sus implicaciones desde el punto de vista educativo.

III. Proyecto tecnolgico en el mbito de la educacin


1. Planificacin estratgica del proyecto de implantacin
Est claro que sin una estrategia de implantacin nuestro proyecto no podra ser llevado
a cabo; pero, cules son las bases sobre las que tenemos que plantear nuestra
estrategia? Son unas ms importantes que otras, o, de otra forma, tenemos que
establecer prioridades en nuestra estrategia?
Por otra parte sabemos que la planificacin de un proyecto de este tipo es algo
fundamental para la viabilidad y buen funcionamiento del mismo y, por ello, no
queremos dejar de hacer algunas consideraciones que, sin lugar a dudas, sern la base de
todo nuestro proyecto:
1. Participacin de los profesores en el proyecto
2. Estrategia y temporalizacin de la implantacin del plan
3. Formacin del profesorado
2. Planificacin tctica del proyecto de implantacin
Sin duda alguna, nuestro proyecto necesita de una gestin estratgica que defina
apartados tan importantes como la creacin y gestin del plan, los contactos iniciales
para acuerdos estratgicos, la definicin de las necesidades para la ubicacin y el
desarrollo del proyecto, la organizacin del personal, la estructura organizativa general
y los perfiles generales de acceso. Todos estos apartados configurarn la planificacin
tctica del proyecto de implantacin.
3. Gestin tecnolgica del proyecto de implantacin
Este apartado, necesario e imprescindible en nuestro proyecto, tiene su razn de ser en
el hecho de que debemos seleccionar una plataforma o herramienta en la que centrar
nuestro trabajo, explicar las caractersticas de la misma, establecer las herramientas de
comunicacin y definir la infraestructura tecnolgica sobre la que va a desarrollarse.
La seleccin de la plataforma est motivada por la infraestructura con la que contamos:
de hecho, tenemos en el servidor de nuestro centro un sistema operativo Linux instalado
y funcionando, por lo que quedan excluidas ya de principio todas las herramientas que
necesitan un sistema operativo propietario tipo Windows. Adems creemos firmemente
que el software libre nos conducir inevitablemente a que tambin el conocimiento sea
libre, como ya antes hemos apuntado.
Entre las herramientas disponibles hemos elegido miguel (nombre de nuestra
herramienta) porque consideramos que su nivel de desarrollo y perfeccionamiento es tal
que no tendremos ningn problema en su instalacin, configuracin y funcionamiento.
Adems, tenemos la ventaja de que esta herramienta est desarrollada por un equipo
espaol, con lo que el acceso a los desarrolladores ser ms fcil y rpido, tanto para la
comunicacin con los mismos como para la posibilidad de que sean ellos los que
impartan los cursos que el Centro de profesores pueda asignar a nuestro centro.
Las caractersticas de miguel que mejor se adaptan a nuestro proyecto se resumen en el
siguiente cuadro:
Fcil de usar: La aplicacin est pensada para ser usable y no quedar en el olvido, tanto
por parte de los profesores como de los alumnos. Esto se consigue gracias a la
elaboracin de ayudas e interfaces humanas sencillas, as como con mecanismos de
publicacin y comparticin de contenidos que no necesitan de una elevada curva de
aprendizaje.
Accesible a personas con discapacidades.
Mantenimiento simplificado: Facilita el trabajo del administrador.
Segura y de alto rendimiento.
Modular. Capaz de adaptarse a cualquier necesidad.
Hay que sealar que miguel dispone de las herramientas bsicas para el desarrollo de un
curso. Como profesor, se tiene acceso a otras necesarias para que el curso pueda
realizarse sin ningn tipo de incidencias, as como para evaluar la calidad del curso. Y
adems, para facilitar el trabajo al administrador del sistema, se dispone de una
herramienta de administracin muy sencilla de utilizar y en la que se automatizan las
tareas ms comunes. Como algo especial se incluye tambin una potente y sencilla
herramienta de gestin de bases de datos en la que el administrador puede realizar
cualquier tarea referente al acceso a los datos de la plataforma. Tareas como la
realizacin de informes, resolver peticiones de modificacin de datos concretos, tareas
de mantenimiento..., se resuelven de la forma ms simple en miguel.
Por otra parte, las herramientas de comunicacin que usaremos para hacer ms viable
nuestro proyecto sern el correo electrnico y las reuniones del Equipo Tcnico de
Coordinacin Pedaggica y el Claustro, as como todas aquellas que el equipo directivo
decida para presentar, difundir y promocionar nuestro plan de implantacin.
Por ltimo, sealar que nos hemos propuesto desarrollar e implantar una plataforma
educativa de e-learning usando sofware libre en un instituto de educacin secundaria.
Pero nuestro proyecto educativo de innovacin pretende adems que este modelo sea
extensible a todos los centros de enseanza interesados dependientes de la Consejera de
Educacin y Ciencia de la Junta de Andaluca a travs de un sistema de formacin del
profesorado que tenga como ncleo los Centros de profesores y la Direccin General de
Evaluacin Educativa y Formacin del Profesorado como coordinadora y aglutinante de
estos esfuerzos.
OPENSOURCE EN E-LEARNING
D. Puente Bautista
Sadiel S.A, Espaa
dpuente@sadiel.es
El eLearning no es sencillo. No es tan simple como "que el profesor cuelgue contenidos
en una web y el alumno se los descargue para imprimir y leer". Entran a jugar factores
que tienen que ver con todo lo que comprende la educacin y la tecnologa.
El mejor profesor que presencialmente imparte sus clases podra no ser el mejor
profesor en un curso impartido a travs de Internet. Igualmente, el mejor equipo de
analistas podra no concretar una aplicacin que consiga que profesores y alumnos
enseen y/o aprendan... y una de las muchsimas consecuencias de esto es que, un
software, sea gratuito o sea comercial no garantizar nunca, por el hecho de costar mas
o menos, el logro de la enseanza y del aprendizaje.
En esta ponencia no vamos a discutir qu software es mejor y no vamos a decir
verdades absolutas. Se van a mencionar siempre hechos parciales. Nadie puede asegurar
que hoy mismo no se haya lanzado una nueva aplicacin, un nuevo LMS (Learning
Management System) que cubra ms o nuevos aspectos que los actualmente cubiertos.
Igualmente no podemos asegurar que todas las instituciones empleen adecuadamente los
medios que tiene a su alcance ni que sus demandas y necesidades sean siempre
idnticas.
El coste de un LMS OpenSource
Una de los primeros motivos que un cliente puede argumentar en la adquisicin de un
software OpenSource suele ser el coste econmico del producto. No queremos centrar
en ste el motivo por el cual una institucin prefiera un tipo de aplicacin u otra ya que,
aunque la licencia de un LMS sea de 0 no debemos pensar que el coste de su
utilizacin sea de 0 .
El hosting del LMS: Propio o en ASP.
El ancho de banda necesario para Internet (en funcin del uso que se le vaya a
dar).
La integracin con otros sistemas de informacin.
La personalizacin.
La formacin para la administracin y gestin del LMS.
Los contenidos y la integracin de los mismos.
La tutorizacin y el seguimiento de los cursos.
Es muy frecuente encontrar que un LMS OpenSource tiene miles de descargas
realizadas por toda la Comunidad de usuarios pero tambin es frecuente encontrar que
gran parte de las mismas estn instaladas en PCs personales como fruto de la curiosidad
y a modo de testeo. Nada negativo pero ejemplificador de lo que hemos expuesto
anteriormente: La explotacin no suele ser de 0 y es aqu en donde muchas
implantaciones quedan paralizadas.
Evidentemente, todos estos conceptos pueden ser o no "gravosos" en funcin de los
recursos que un organismo o empresa tenga.
Ventajas
Muy escuetamente, entendemos que un LMS OpenSource puede ser beneficioso para:
Empresas que no exijan prestaciones distintas a las que la solucin OpenSource
da respuesta. Se puede entender que dichas instituciones no son complejas y el
nivel de crecimiento y demanda de servicios puede tener respuesta desde estas
soluciones.
Organismos o entidades que dispongan de recursos (econmicos y humanos)
suficientes como para dar solucin a nuevas demandas o necesidades que la
solucin OpenSource genere.
Peligros
Pensar que siempre va a salir mas econmico que con un software comercial: Slo en
algunos casos es as. Generalmente, si se opta por un LMS OpenSource por este motivo,
deber estudiarse el proyecto a medio largo plazo. Los inicios suelen ser ideales para
ver las bondades de algunas aplicaciones, pero la evolucin y el xito del proyecto
puede llevarnos a un desarrollo interminable de sus posibilidades (y desarrollo implica
coste). El coste para desarrollar y evolucionar un LMS OpenSource con prestaciones
semejantes a otros con licencias de pago puede llegar a ser superior que las mismas.
A continuacin se enumeran y describen brevemente las herramientas ms conocidas en
este mbito y que se pueden considerar lo suficientemente maduras como para ser
puestas en explotacin. Algunas de ellas, aunque no se pueden considerar estrictamente
LMSs, han sido incluidas por su excelencia en ciertos aspectos y pueden ser utilizadas
en algunos casos especficos.
Claroline 1.4.2. [Miguel] (www.claroline.net y http://hidrogeno.unileon.es/miguel-
web/tiki-index.php)
De la parte del usuario, slo necesita de un navegador, de la parte del servidor, funciona
casi en cualquier plataforma, siempre que soporte Apache, PHP y MySQL: Linux,
Unix, Windows y MacOs X estn comprobados. Recomendable correr en el mismo
servidor un servidor de correo (Postfix o Sendmail).
En 1998, Claroline comenz su desarrollo en la University of Louvain en Blgica, la
cual decidi desarrollar una plataforma Open Source para poder basarla en la
colaboracin de muchos usuarios y que el desarrollo de la misma fuese ms rpido.
Lo que consiguieron es un paquete muy sencillo y minimalista, en el que el profesor
puede aadir de modo muy simple las partes (los mdulos) que necesite. Esto se ha
conseguido reciclando piezas de cdigo de la comunidad Open Source. Por ejemplo, el
proceso de autentificacin est inspirado en el utilizado por PhpNuke, y el layout de la
pgina de inicio de los cursos est inspirado en Yahoo.
El fenmeno Claroline se extendi rpidamente a otros pases, agrupando una
comunidad de usuarios, desarrolladores, traductores y profesores que han hecho posible
la traduccin en 15 idiomas y el desarrollo rpido de esta herramienta en un competidor
para plataformas comerciales.
Existen aplicaciones en desarrollo basadas en Claroline en Galicia (la experiencia del
CESGA (http://aula.cesga.es/) y Extremadura (Miguel,
http://hidrogeno.unileon.es/miguel/ desarrollado por Hispalinux).
Herramientas generales: Agenda, Enlaces, Documentos, Trabajos, Anuncios,
Usuarios, Foros, Ejercicios, Grupos, Descripcin del curso, Chat.
Herramientas slo para administradores: Estadsticas, Caractersticas del curso,
Aadir un enlace a la pgina principal.
Moodle 1.1.1 (www.moodle.org)
De la parte del usuario, slo necesita un navegador. Para el servidor, decir que Moodle
se ha desarrollado en Linux con Apache, MySQL y PHP, pero tambin funciona con
PostgreSQL y sobre sistemas operativos Windows XP, MacOs X y Netware 6.
Cualquier servidor web que soporte PHP debe funcionar (por ejemplo, IIS sobre
Windows).
En cuanto a bases de datos, MySQL y PostgreSQL estn recomendadas, el resto se
soportarn a partir de Moodle 1.1.
Moodle comenz su desarrollo a final de los 90 gracias a la idea de Martin Dougiamas,
quien hoy en da an esta a cargo del proyecto. En esos tiempos Martin era el
administrador de WebCT en la Curtin University of Technology.
La primera versin de Moodle vio la luz en Agosto 2002, tras varios prototipos
descartados. A partir de ah, Moodle ha ido creciendo en herramientas, escalabilidad y
rendimiento.
Algunas de sus caractersticas son: Accesibilidad para visitantes, editor HTML
embebido, mdulos de actividades, Plug-ins de idiomas, diversos mtodos de
autentificacin, los cursos pueden ser pblicos o cerrados, puede configurarse la
eliminacin automtica de alumnos, dispone de una herramienta de cambios recientes.
Las calificaciones de foros, exmenes, tareas y diarios de estudio pueden visualizarse en
una pgina y descargarse a Excel, dispone de informes completos de actividad,
integracin con correo exterior, tareas, consultas, foros de discusin, diario de estudios,
cuestionarios, recursos, encuestas.
FLE3 1.4.5. (http://fle3.uiah.fi)
Para el usuario, solo es necesario un navegador y para el servidor es necesario Zope
(similar a Apache) ya que est escrito en Python. Se ha probado en la mayora de
sistemas operativos: GNU/Linux, MacOs X, *BSD y Microsoft Windows.
Junio de 1997, MediaLab, University of Art and Design en Helsinki. FLE nace como un
proyecto soportado por el ministerio de educacin finlands y varios sectores de la
industria. El proyecto pretende crear un sistema que soporte mtodos de educacin
innovadores utilizando new media. Debe ser un producto accesible a travs de Internet y
soportar, en especial, el aprendizaje basado en problemas (Problem Based Learning,
PBL). Este primer prototipo de FLE se testear con unos 2000 alumnos en su primer
ao de existencia, en entornos tan dispares como empresas e institutos de educacin
secundaria.
A final del ao 2000 se lanzar una segunda versin del proyecto debido al alto nivel de
aceptacin del primero. En este proyecto participarn adems otras instituciones
gubernamentales escandinavas y contar con el soporte de ITCOLE (Innovative
Technologies for Collaborative Learning and Knowledge Building), proyecto de la UE
incluido en el programa 'Schools for Tomorrow'.
Hoy en da FLE es una opcin para aquellos que necesitan de una herramienta que
soporte el aprendizaje colaborativo. FLE3 se distribuye como software libre y de cdigo
abierto bajo licencia GPL, permitiendo a cualquiera modificarlo y redistribuirlo.
Herramientas:
En FLE no existen herramientas de por s como a las que se ven en otros sistemas. La
idea de FLE es otra, y quiz por eso sea una herramienta interesante para algunos. En
esta seccin se van a ver en profundidad los tres bloques que conforman FLE al ser
estos lo ms parecido a herramientas que podemos encontrar.
CampusAbierto (http://www.campusabierto.org)
Para el usuario, solo es necesario un navegador y para el servidor es necesario Apache
sobre Linux, Tomcat, y PostgreSQL.
CampusAbierto es la plataforma de eLearning con licencia GNU desarrollada por
IngeniA (empresa ubicada en el Parque Tecnolgico de Mlaga), que ofrece adems
servicios de instalacin, consultora, mantenimiento, etc. para esta plataforma.
Cada curso contiene varios grupos de herramientas, organizadas en 4 categoras:
Informacin, Trabajo, Comunicacin y Pblica, que aparecen a la izquierda en un men
separado.
CampusAbierto ofrece cuatro perfiles de usuario distintos: Administrador, tutor, alumno
y pblico, este ltimo diseado para dar acceso a visitantes y que no pueden acceder a
algunos recursos del curso.
Las diferencias entre los perfiles se encuentran en el numero de opciones disponibles
para cada uno de ellos.
Herramientas: Informacin del curso, Participantes, Agenda, Contenidos,
Ejercicios, Prcticas, Evaluaciones, Correo, Foros, Tabln del curso, Charlas.
.LRN 2 (http://www.dotlrn.org/)
.LRN es una reciente y prometedora iniciativa del MIT (Massachusetts Institute of
Technology) para, sobre licencia GNU, dotar a esta y a todas las universidades
interesadas, de un entorno (LMS) que soporte los contenidos y recursos que son
necesarios para desarrollar acciones educativas a travs de Internet.
.LRN actualmente est en uso en el MIT (U.S.), en la Universidad de Heidelberg,
Cambridge, Bergen (Noruega), Sydney (Australia), Galileo (Guatemala), y Copenhagen
(Dinamarca).
Herramientas:.LRN dispone de recursos para hacer posible una comunidad de usuarios
en un entorno de trabajo colaborativo.. Soporta la administracin y registro de grupos,
portal, carga de ficheros, calendario, foros, FAQ.s, noticias, pginas personales de los
alumnos y encuestas.
.LRN 3 (a partir de mediados del 2004) incluir, entre otras muchas funcionalidades,
soporte a los estndares mas extendidos (IMS, SCORM, OKI...) y nuevas
funcionalidades.
Conclusiones
La herramienta Open Source recomendada de las presentadas a da de hoy es sin duda
Moodle, excepto en casos puntuales en los que puede recomendarse FLE3 o Mimerdesk
debido a sus caractersticas especiales: FLE ser la opcin preferente para cursos o
proyectos basados en resolucin de problemas, y Mimerdesk lo ser para proyectos
colaborativos. En todos los dems casos, se optar siempre por Moodle debido a su
superioridad en cuanto a nmero de herramientas, estabilidad y expansin. An as,
WebCT sigue siendo superior en estos aspectos al compararla con Moodle.
Keywords: eLearning, OpenSource, LMS, educacin a distancia.
APORTACIONES DE LA COMUNIDAD DE MADRID AL
SOFTWARE LIBRE. UNA PERSPECTIVA EDUCATIVA

I. Ali Gago, J.Q. Vargas Ibez


rea de Tecnologas de la Informacin y la Comunicacin. Consejera de Educacin de
la Comunidad de Madrid; Espaa.
ismail.ali@madrid.org

Recientemente, diversas administraciones locales y regionales en Espaa han


desarrollado distribuciones de sistemas opertivos alernativos a los sistemas propietarios,
fundamentalemente dirigidos al mundo educativo.

Dichos sistemas trataban de reducir el excesivo coste en licencias pagado por las
administraciones educativas y contribuir al desarrollo de entornos alternativos y abiertos
que permitieran independizarse de corrientes mayoritarias.

Consciente de todo ello, y siguiendo la lnea abierta por otras Comunidades Autnomas
en Espaa, la Consejera de Educacin de la Comunidad de Madrid ha desarrollado su
propia distribucin de un sistema operativo y aplicaciones de cdigo abierto.

Se ha puesto especial enfasis en incorporar todas aquellas aplicaciones necesarias para


impartir los contenidos de Informtica incorporados en los curricula de la enseanza no
universitaria y aquellas aplicaciones educativas y entornos de desarrollo que permitan,
al profesorado no especialista, la utilizacin y la elaboracin y disribucin de
contenidos educativos en formato digital.

Se ha elegido como soporte para esta distribucin aquel que ha permitido incorporar el
sistema operativo y todas las aplicaciones reseadas y se ha intentado que dicho soporte
respete al maximo la configuracin de los equipos informaticos de los posibles usuarios,
as como su eventual convivencia con otros sistemas ya instalados.

Keywords: Educacin, Software, Administracin, Licencias


LOS LMS OPEN SOURCE ELIMINAN UNA GRAN BARRERA AL
E-LEARNING

por Albert Calvet Rib


Socio Director
CV&A Consulting SL
Calvet 36, 4 4 E 08021 Barcelona
Fax +34 93 241 40 40
Tel +34 696 10 63 23

Ponencia presentada al OPEN SOURCE WORLD CONFERENCE 2004,


FEBRERO DE 2004

Cuando una empresa desea implementar un programa de eLearning empieza por


preparar un anlisis de las necesidades a cubrir, las caractersticas de la audiencia a la
que se dirigir, el establecimiento de unos objetivos y, en definitiva, la planificacin de
las actividades y recursos a emplear con el fin de lograr el cumplimiento de dichos
objetivos. Luego realiza el diseo instructivo de los cursos y prepara los
correspondientes contenidos. Por entonces empieza tambin la seleccin de una
plataforma de gestin de la formacin o LMS, su adquisicin, instalacin y puesta en
marcha. Despus se preparan los tutores, se matricula o registra a los alumnos y
finalmente se inicia la formacin, cierto? Falso.
Lo que ocurre la mayora de los casos es que se empieza por buscar una plataforma, es
decir, el LMS (Learning Management System). Se cae entonces en la peor trampa
posible, una trampa que alarga, encarece y dificulta la implementacin de la actividad
de eLearning. Por qu la seleccin del LMS se convierte en una barrera?. Por varias
razones.
1. La mayora de los LMS son aplicaciones complejas y con largas listas de
funcionalidades que naturalmente difieren sensiblemente unos de otros.
2. Sin un plan de negocio sobre la actividad del eLearning es imposible preparar
una lista de requisitos que no resulte una carta a los reyes magos y se hace
prcticamente imposible evaluar las diferentes alternativas que ofrece el
mercado.
3. Los elevados precios de las plataformas hacen que el riesgo de la eleccin sea
tan alto que se llega a demorar la decisin varios aos.
4. En el caso de las empresas de menor dimensin, este coste tan elevado consume
todo el presupuesto de eLearning y ms.
El resultado final es que antes de empezar realmente a hablar de eLearning hay que
superar estos impedimentos. Pero cuando una situacin se enquista tanto es
extraordinariamente difcil resolverla, tanto al personal de la empresa como a los
consultores externos.
Afortunadamente, existe una solucin. Los LMS Open Source con un coste de licencia
nulo y unas prestaciones similares a las de los productos comerciales estn permitiendo
ver el problema de la seleccin del LMS de una forma nueva que cambia las reglas del
juego. Se examinan las alternativas principales y prestaciones de los LMS de esa
categora, se muestra que han alcanzado un nivel de calidad ms que adecuado y se
detallan las exigencias operativas que requieren: hardware, instalacin, soporte y
mantenimiento.
Se resume cual es la difusin en Espaa de los LMS Open Source y las posibilidades
futuras, teniendo en cuenta que el tamao de las empresas en nuestro pas es ms bien
reducido, lo que hace an ms atractivas estas soluciones.
La conclusin de todo esto es que el Open Software permite romper la barrera de
eleccin del LMS y hace posible decirles a las empresas. Como el trabajo de seleccionar
una plataforma no es en realidad una actividad de eLearning, cuanto ms sencillo sea y
antes termine antes se podr empezar a trabajar en el real y difcil planteo de las
cuestiones del eLearning.
Da 19-16.00h

Sesin Auditorio: Software Libre en Europa

Moderador: Representante Comisin Europea DG INFSO Unidad de Software

Participantes

Barbara Held Fed. Ministry of the Interior


Arnold Reinders Ministry of the Interior
Flavia Marzano Italian Provinces Unin
Morgens Kuehn Pedersen Copenhagen Business School
Pjet Severljnen 3 Roses/CEMR
Tunde Kallai Hungarica Sprl
Greert Didden EC proyects manager
Ponente Arnold Reinders

In the Netherlands there is an increasing political pressure to implement Open Standards


and Open Source Software in government. This would put the public sector in charge of
its own software policy, increase the accessibility of government information and
increase competitiveness within the software market. In response to that the Ministry of
the Interior and the Ministry of Economic Affairs have developed a policy on how to
handle Open Standards and Open Source Software. Key issue of this policy is that Open
Source Software cannot exist without Open Standards. The policy that is now being
implemented on open standards is:
1. organisations in the public sector should use open standards;
2. if they have implemented their own closed standards they should make them open;
3. discuss with the European Commission whether they can use their market power to
open proprietary standards from software vendors or to implement open alternatives.

The policy for open source software is:


1. open software may not be discriminated in favour of proprietary software;
2. develop open source software where it not exists;
3. to encourage public sector organisations to develop their own software as open
source software.

The goal is to have the Dutch government standardized on Open Standards by 2006 and
a freedom of choice in operating systems and applications. This goal however, is
hampered by uncertainty about reliability, support and liability of Open Source
Software by government IT-managers. In order to reach that goal a competence centre
has been instituted to support government organizations in implementing this policy.
Some of the tasks of this competence centre will be:
- communicate on Open Standards and Open Source Software
- creating a catalogue with Open Standards;
- creating a license model for releasing government software along the lines of GNU-
GPL;
- creating a software exchange site where government organizations can exchange their
own software.
We try to join or initiate European initiatives because many developments take place on
an international level rather than at a national level. In the latter half of 2004 the
Netherlands chairs the EU and we intend to organize several events to promote open
standards and open source software.
Tunde Kallai

eVillages - demonstrating exploitation of public sector information on


an open source platform

- RTD project proposal document ( ITEM 2003) - Hungary

Short summary of the project

1. 1. Rationale and Objectives

eEurope2005 from the European Commission sets several concrete goals and action lines to
speed up the process creating a digital Europe. Several action lines concerning high
performance in a constantly changing world with increasing convergence between data- and
telecommunication, action lines concerning the needs of high security on the global net, Internet
oriented general solution - co-operating with mainframe proprietary systems - reusing
experience and well proved knowledge to shape the new digital administration.

In that context we see it as a major challenge to speed up the process of an open digital
administration at European level. It will only succeed - by cross-border co-operation and if
every public entity in Europe organise their public information - general and specialist
orientated information as well - and maybe especially - as specific information/data of persons
or companies - in open data structures to be enhanced with high security by Internet.

Content and data are still becoming ever more important.

The main intention should be to develop solutions and content which as fast a possible can be
implemented from governmental users and citizens.

Therefore we see a strong connection from organised data and information to directly access by
Internet as a base of new digital economy - and in private-public co-operation where both
international orientated and at the same time private and public used solutions and content are
preferred.

1.2 The priorities of the eVillage -initiative:

citizens and companies own (personal) secure portal - homepage for handling information
and services by Internet (Informer SA Greece)

interactive/dynamic forms on demand guiding the citizen (and the front service officer)
through an optimal flow ( SUSE LINUX Hungary)

structured access on demand to all legislation, rules and guidelines (in digital form) for
citizens and companies by the interactive form ( Ministry of Interior Affairs)

secure reuse of relevant information about the citizens, properties and companies (from the
classic, central systems) all needed information on the right step in the flow (from the best
practice in the administration, (Small regions from South-Hungary)
most (except local information) electronic information (regulations, legislation, procedures
etc.) in standard built on net-world-wide best administrative practice, provided by central
information provider (Ministry of Interior Affairs )

highest level of automatic integration between data from forms and the most used electronic
case-handling systems (Informer SA, SUSE LINUX) )

and a broad extent of already used governmental data processing solutions, formerly only in
use for experts, internal government users and not - net oriented data transport (Office of
State Secretary for Rural Development)

overall technical architecture building on integration's and OS-platform for structuring


information to be directly accessed by Internet (SUSE-LINUX)

one basic system which suits the needs of both citizens, companies, employees, employers,
networkers, other authorities and organisations to create equality by providing knowledge
on demand both for specialists, administrators, citizens and companies (HadroNet Ltd,
Informer SA)

1.3. The eVillage -project should give the experiences about the RTD goals :

how our concept can be realised as a general cross-border-concept in Hungary and in the
accession countries?

are the contents of key-data-sets the same in Hungary ?

how to find new methods for mutual identification of key-data?

how can we adopt best practice to use legislation, rules and public guidelines in the concept
- in spite of the fact that familiar public services are carried out by different administration
levels- in different organisations and surroundings - using the possibilities and rationales in
digital services?

how can our platform, data structure and used standard for data exchange secures a
decentralised creation of knowledge and data for reuse for public entities in other EU
member states?

how can our planned structure for charged data and services be best-practice to
create new markets in the egov area?

1.4. Advantages

The benefits are among others:

For citizens, companies and networkers:

V Better, cheaper and higher quality information - both in general and considering
personal files

V Self Service - "One-Stop-Shopping" most services as seen from the users can be found in
one place. Electronic mail and forms gives far quicker means of communication and the
digital architecture makes it possible to simplify the forms making them easier and
quicker to fill out. The dynamic form guides the user through an optimal process (best
practice).
V New democratic means of expression. The direct access, through e-mail, to the political
representatives is already in place. In the near future it will be possible to establish
electronic debate forums where the citizens can get in a dialogue with each other and the
politicians about specific subjects, for example local area planning.

For administrations and citizens, companies and networkers:

V Better real time overview for both citizens, public and private users at the same
time: regulations, information about persons and projects etc.

V Better case handling: deadlines, work flow. Exactly because it will be possible to send
electronic documents from one case worker to another and to build in automatic alarms,
which alerts the employee when a deadline is getting near, the work process becomes
easier and faster. The simplified forms results in fewer errors and hereby quicker
processing.

V Closer contact with the citizen: electronic mail, forms and direct access to own cases

V Better means of education/reduction /lifelong learning through flexible tele-education

V Rationalisations

V Better overview of bottlenecks and critical paths in the whole administration. In our
project the goal is to link together different forms from several organisations. Today
many applications to one organization demand support documents from one or more third
party organization and therefore the total service time is not only measured through one
application but a series of applications for one and the same "citizen-case". The
relationship of those forms is deciding the total service time for a citizens application for
a service.

This - we believe - will lead to a number of important changes in the relationship between
citizen and civil servants.

1.5. Budget

Contribution
5 Total Eligible requested from the
Duration (in months) 8
Costs
6 EUR 199.041 Ministry of EUR 173.077
Information
7
Technology
1.6. Deliverables

DELIVERABLES LIST
Reference Title of Deliverable Status Expected
No. Delivery Date
D.2.1 Technical Infrastructure handbook Confidential 2
D.1.1 Progress Report 1 Restricted 3
D.3.1 OS Forms ready and integrated in the OS based Confidential 3
solution
D.4.1 OS Form is ready Confidential 3
D.5.1 Digital signature solution operating and Confidential 4
integrated with OS Form
D.6.1 Distribution and maintenance of the digital Public 4
signatures used in the project operating
D.6.2 User groups identified and have started using OS Public 4
Form
D.7.1 Web enabled showcase illustrating the main Public 5
innovations of the intended services
D.7.2 First dissemination and good practice workshop Public 5
and report
D.1.2 Progress Report 2 Restricted 6
D.7.3 Second dissemination and good practice Public 6
workshop and report
D.8.1 Plan for exploitation of the products developed Confidential 7
D.1.3 Progress Report 3 Restricted 7
D.7.4 Second dissemination and good practice Public 8
workshop
D.7.5 Final report Public 8

1.7. The Cost Models in EURO

FC Informer - 5000 EUR/month


- SUSE LINUX 5000 EUR/month
- HadroNet Ltd. 5000 EUR/month

AC - Ministry of Interior Affairs 3500 EUR/Month


- The Office of the State secretary for the Rural development
- Regional Development Agency of Small region (South-Hungary Region)
1.8. The budget

Partner name Own contribution Requested Total budget


fund
Ministry of Interior Affairs - 12.500 12.500
The Office of the State - 12.500 12.500
secretary for the Rural
development

Regional Development - 29.000 29.000


Agency of Small region
Informer 12,982 58.928 71.910
SUSE LINUX 5.000 25.000 30.000
HadroNet Ltd 7 ,982 35.149 43.131
Total EUR 25.964 EUR 173.077 EUR 199.041
Is Linux ready for space applications?

Sebastian S. Prieto, Ignacio G. Tejedor, Daniel Meziat L., Aitor V. Sanchez


Computer Engineering Department (University of Alcala)
Ctra. Madrid-Barcelona, km 31,600, 28871 Alcala de Henares (Madrid), Spain
Tel.: +34-1-8856600, Fax: +34-1-8856923
{ssp, ngt, meziat, avs}@aut.uah.es

Abstract
The main goal of this paper is to determine the readyness for space-grade applications of the open source approach
to software development in general and the Linux operating system in particular. We will begin explaining what does
make space systems different from other embedded environments and the technical hurdles that it poses to application
software and OS development. We will then explain the advantages that can be obtained from an open source software
development model and the use of the Linux OS, as well as its theoretical disadvantages. Afterwards, some examples
of actual use of Linux and free software in space will be provided, establishing the state of Linux in space nowadays.
And finally, we will briefly expose the linux and open source efforts related to space applications that were involved
in.

1 Introduction 1. Systems onboard unmanned space vehicles such as


satellites
Outer space is an attractive environment for almost any-
body, not only for obvious scientific and economic rea- 2. Systems onboard manned vehicles such as space
sons, but also for the mystery and awe it traditionally in- stations, capsules or other spaceships
spires. However, space missions have a lot of technical
hurdles to overcome and its problems have traditionally 3. Systems onboard planet exploration vehicles, such
as exploration rovers
been solved with highly specialized hardware and soft-
ware, which leads to high reliability but also very high 4. Ground station systems
cost and long development times.
The appearance and great success of open source de- 5. Other computer systems, such as laptops aboard
velopment philosophies and the Linux operating system, space stations to asist astronauts in scientific or
specially in the scientific community, leads to the main maintainance tasks
question of this work: Is Linux in particular, and open
source in general, applicable and ready for space in or- We will briefly explain such criteria and the techni-
der to reduce cost and development times? We will try cal challenges they involve in the following subsections.
to address this question and show that the answer is a re- Then we will focus in systems types defined in items 2
sounding yes. and 3 of the previous list, which share a few character-
istics that make them specially difficult and expensive to
produce, and as such, most interesting to adapt Linux for.
2 Space missions primer
2.1 Technical hurdles
Computing systems are used in several parts of a space
mission, each with different technical issues to solve. Several technical difficulties arise in space environments.
They can be classified using different criteria, such as ra- Some of them are inherent to the place they perform their
diation exposure, possibility of manual maintainance, re- duties, such as outer space or a distant planet: Main-
liability levels required, power and space constraints, etc. tainance is difficult if not impossible, so highest reliabil-
Typically the five following items are included in such ity is a must. Other constraints are due to physical lim-
classification: itations (in terms of both size and weight) of the launch
1 This work has been supported by Comision Interministerial de Ciencia y Tecnologa (CICYT) of Spain, grant ESP2002-04379-C02-01
and/or transporting vehicle. Moreover, power consump- into account.
tion is usually limited too, since power sources are also All the above causes the hardware and software to un-
weight and size limited, be it solar panels or any kind of dergo extensive testing and validation processes, which
battery. ultimately means that very few (and expensive) OSes
However, in space systems not protected by a planetary or runtime environments, such as ADA, that qualify for
atmosphere or the stronger shields of a manned space- space use.
craft, radiation is probably the biggest problem to solve.
Radiation can penetrate the vehicles shielding and alter 2.3 Embedded space systems
the contents of memory cells, or even destroy electronic
circuits causing latch-up effects of the total failure of an As stated before, of all possible space systems unmanned
element. A lot of effort is put into avoiding this kind of space vehicles present the most daunting difficulties, and
effects, including: as such, they are the most interesting case of study for
Linux suitability and the use of open source development
Using radiation-hardened versions of electronic philosophy. These difficulties are mainly:
components
They are extreme embedded systems in terms of
Adding hardware EDAC to buses, memory mod- power, size and weight constraints
ules and internal CPU circuits
They are usually subject to high radiation environ-
Duplication of system buses ments

Using redundant architectures for some or all sys- Manual maintainance is impossible or near to im-
tem components possible, so reliability must be top-notch
We will try to determine if the characteristics of Linux
Additionally, electronic components are more sensitive
make it a pratical alternative to traditional, commercial
as the level of integration gets higher, so enhancements
and closed-source operating systems.
in speed, power and capacity derived from these techno-
logical enhancements cant always be used.
3 Open source in space
2.2 How is software affected?
Because of the peculiarities of space applications, space
Ultimately, the technical issues described before end up computers and software have been traditionally very
affecting the way software is produced and used in sev- special-purpose pieces of engineering. CPUs and hard-
eral ways. ware designed specially for space, and hand-coded soft-
First of all, the reliability concerns derived from radia- ware specially tailored for the application needs, often
tion and the impossibility of maintanance causes very few without any proper operating system. The use of an
processors and architectures to be oficially validated by Ada environment as only runtime environment has been
Space Agencies. Sometimes, completely new architec- a common alternative.
tures are designed for space applications (i.e. MAS281 The need for faster development times and easier pro-
processor), which usually means theres no OSes and gramming has made space systems evolve slowly to
very few tools readily available. Another option is to COTS (commercial of-the-shelf ) hardware and software.
produce radiation-hardened versions of general purpose Using rad-hard versions of popular architectures such as
processors such as x86 and PowerPC. However, these ar- PowerPC, and commercial, more generic and high qual-
chitectures lack special advanced features of space archi- ity operating systems such as VxWorks has allowed lower
tectures (such as EDAC and native redundancy support). cost and faster development time, though losing a bit
And not every popular architecture has space versions, so of the features of a fullly-customized system in terms
choice of OSes and tools is reduced. of reliability, power, size, weight, etc. It is quite popu-
Also, in many cases where the architecture offers space lar nowadays to use slightly modified commercial space-
features, system software needs to be aware of them; grade SBCs (Single Board Computers), a commercial
for example, hardware EDAC and redundancy must be Real-time OS such as VxWorks and an appropriate BSP
supported, and this is usually not taken into account in (Board Support Package) and build the needed applica-
generic OSes. And other techniques such as failed mem- tions on top of this platform.
ory bank switching, built-in-tests and such must be also However cost is still very high. Operating systems and
taken into account. BSPs are mostly closed source, which often results in dif-
Finally, due to performance and capacity constraints, ficult debugging and programming. Moreover, develop-
software footprint and speed optimizations are of great ment environments are usually proprietary and license-
importance. Even power draw must be frequently taken limited, which further drags development. It is our belief
that many aspects of development could greatly benefit The Linux kernel fulfills most of these requirements; it
of an open source COTS operating system and platform has evolved into a high performing, stable OS. The pos-
such as Linux, in many ways. We will try to show these sibility of selecting which parts of the kernel to include
advantages in the following sections. at compile-time and the module loading capability helps
minimizing system footprint. Finally, it offers a rich sys-
3.1 The Linux environment for space appli- tem call interface, and supports various POSIX APIs via
the standard GNU libc. But the main weak point of Linux
cation programming remains the lack of real-time features; the regular Linux
From the point of view of the application programmer, kernel is non-preemptible, so return times are not guaran-
open source in general and Linux in particular offers a teed. The scheduler has very poor support for real-time
wide range of advantages over a commercial COTS en- tasks. and finally, the timer precision is lacking at best
vironment, not to mention over traditional programming. due to the non-preemptability of the kernel. This situa-
[7] tion has got better in the recently released 2.6 series, but
In terms of cross-platform development, the possibility it is still not completely fine-tuned and still does not pro-
of using a development testbed with the same character- vide true real-time. However, not all hope is lost; we are
istics as the final target at the OS level, inherently speeds talking of the vanilla Linux kernel here. There are several
up testing, debugging and validation of a big amount of real-time kernel extensions and enhancements that suc-
code that does not depend in specific target hardware de- cessfully provide RT capabilities to Linux, even though
tails. Almost every OS functionality available in a con- they are not strictly kernel components and require spe-
ventional x86 PC will be available in the target system, cial programming; this has allowed Linux to be succes-
including RT extensions; and writing software to emulate fully used in hard real-time systems.
target hardware behaviour is always an option. All this Apart from providing all the functionality needed to qual-
accounts for lower costs and faster development. ify for use in an embedded environment, the Linux kernel
The wide range of tools, programming environments, offers advantages directly inherited from its open source
documentation and libraries, coupled with the familiar- nature. We will get into this in a subsequent section.
ity of a UNIX environment also makes development far
more flexible. The programmer is not limited to the tools
provided by a software vendor; he may practically build 3.3 Real-time extensions
its own development environment. Moreover, the avail-
able open source tools such as the GNU tools are well As stated before, Linux doesnt do real time well at all. In
known for its high quality and robustness. Many com- order to provide RT features such as low response times,
mercial software vendors use them themselves in their preemptability, etc., Real-time extensions available for
own products. the Linux kernel must be used. There are several alter-
Finally, there is a very important factor often overlooked; natives the end-user can choose, depending on its needs,
the great source of information and support that the open each with its own pros and cons. There are mainly two
source community provides. Even though commercial approaches to the real time problem in the Linux OS:
software vendors usually provide good technical support,
it cant compare with such a massive, dynamic and usu- The latency reduction and preemptability ap-
ally helping community. proach. It consists mainly in making the ker-
nel more (or fully) preemptible, and reducing the
amount of time the Linux kernel spends with in-
3.2 The Linux kernel terrupts disabled. This approach provides an easy
Space systems have evolved from using no operating sys- programming model at the cost of making the ker-
tem at all, to operating systems built from the ground nel more difficult to follow, providing worse re-
up specifically for real-time embedded systems. In these sponse time than other methods of providing RT
systems, emphasis is put into several features: and possibly decreasing throughput a bit. This is
the approach used by MontaVista and the kernel
High performance preemption and low latency patches.
High reliability
The dual-kernel approach. It consists in placing
Small footprint a minimalistic real-time kernel between the hard-
Low latency (to meet real-time constraints) ware and the standard Linux kernel. This RT kernel
intercepts interrupts and either passes them to the
Standard APIs (preferably POSIX) and wide ar- appropriate real-time task, or to the standard Linux
ray of IPC (Inter Process Communications) mech- kernel (which runs as a task itself). This approach
anisms ensures minimal delays and the best response times
possible. However it has several disadvantages: RT Massive amount of features and latest technology
tasks must run in kernel space and cannot use any incorporated into the kernel due to code contribu-
standard Linux services, since they run indepen- tion; many device drivers, many supported filesys-
dently of it. Device drivers cant be used either. tems, rich set of networking capabilities, etc
Moreover, real-time applications must be split in
at least two parts: a RT task and a Linux userland Bugs are discovered faster, and patches are quickly
task, which communicate using special RT-FIFO issued compared to closed source alternatives
devices. This makes programming more difficult
and takes the risk of running code in kernel space. Code sharing speeds up development of own appli-
However, this is the most popular choice and has cations and provide a great information resource
shown very good results in real-worls applications.
Additionally, open source software provides a great ad-
This is the approach taken by RT/Linux and RTAI.
vantage in this type of software developments: Every-
Even though not as polished or hassle-free as other OS thing (OS kernel or tools) can be freely and easily mod-
kernels built with real-time in mind from the design ta- ified to suit the needs of the specific application or plat-
ble, Linux suceeds in providing real-time capabilities if form. If the kernel scheduler doesnt perform well, one
needed, with really good performance. There are several can tune it or rewrite it. If a device driver needs tweaking,
choices (some of them commercial) for enabling real- it can be modified. If we need new drivers, programming
time, and choosing the most adequate is up to the devel- and debugging them is easier. Customization of kernel or
oper. other system software is taken one step beyond the pos-
sibilities offered by commercial closed-source OSes and
development environments.
3.4 uClinux Finally, as was our own situation, if a hardware architec-
Sometimes, application constraints (physical or econom- ture is not yet supported, it is possible to perform a port to
ical) force the developer to use hardware architectures such architecture. This is simply impossible with closed
with reduced features. In case the architecture doesnt source operating systems.
sport a MMU (Memory Management Unit), it is not pos-
sible to use some operating systems that rely on it for a
good deal of their functionality. Linux is one such op- 4 State of Linux in space
erating system. However, Linux counts with a deriva-
tive specifically designed for MMU-less CPUs, called In the following section we will first expose processor ar-
uClinux [1]. While this OS has reduced features when chitectures in which Linux is known to run. Afterwards
compared to the standard Linux kernel, it provides most we will mention some commercial distributions of devel-
of the functionality and mostly allows cross-platform de- opment kits (SDKs) and customized Linux kernels suited
velopment in standard Linux systems, which is still com- specifically for embedded and space applications, in case
paratively easier compared to other environments. Al- the developer doesnt want to build everything by him-
most any application that works under Linux will run un- self. Finally we will mention some real space missions in
der uClinux, as long as a few limitations of uClinux are which Linux has been used (or is projected to be used) in
taken into account. one way or another.

3.5 Open source philosophy implications 4.1 Current space architectures in use and
Linux support
In the previous sections we have showed that the Linux
operating system is a competent alternative from the tech- As stated before, nowadays its very usual to use radiation
nical standpoint, both as a development environment and hardened versions of regular CPUs to reduce cost and de-
as a kernel executive. But we have only taken a peek at velopment time. These versions are virtually identical to
the most important feature of Linux for space applica- their more mundane counterparts, so if Linux runs in a
tions: its Open Source nature. Using a fully open source particular architecture, it will run in the rad-hard version
environment (OS and development tools) automatically with no more modifications than those required to adapt
brings to the table the usual advantages of the open source to the particular SBC.
philosophy: The following is a relation of current or near-future space
CPU architectures and their their corresponding regular
Enhanced robustness and security derived from the commercial versions (if any):
massively parallel auditing of code by thousands of
users that contribute with their patches and correc- PowerPC architecture: RHPPC (PPC603),
tions RAD6000 (RS/6000), RAD750 (PPC750)
SPARC architecture: ERC32 (V7, no MMU), Montavista Linux. Montavista offers a range of
LEON2 (V8, not yet commercially available) Linux kits focused in embedded systems in gen-
eral, including their own low latency patches to the
MIPS family: Mongoose-V, RH32, Harris RH3000 Linux kernel, drivers and tools, supporting several
(all based in the R3000 core, no TLB) processor architectures [12]

Intel x86: Rad-hard versions of standard IA32 LynuxWorks BlueCat Linux. Apart from offering
CPUs (80x86, Pentium) LynxOS development tools, LynuxWorks offers a
linux kit consisting of the BlueCat RT kernel (a
All these architectures have available Linux ports (or dual-kernel RTLinux realtime Linux kernel), BSP
uClinux in case or MMU-less designs) for the commer- packages for several boards and architectures and a
cial version of the related CPU architecture, so specific wide range of tools and IDEs [13]
Linux ports already exist or are potentially feasible. One
notable exception was the ESA-approved ERC32 archi- Therefore, using Linux in embedded space applications
tecture; even though SPARC ports of the Linux kernel do doesnt necessarily mean a completely Do-It-Yourself ap-
exist, they are targeted at V8 and V9 versions, and there proach; its possible to obtain professional tools, drivers,
is support for specific V7 machines with MMU (mainly documentation an support and on the other hand, keep
Sun4/300). LEON2, an architecture not already available all advantages of working with Linux and an open source
in commercial silicon, already has Linux ports. [15] environment. This adds even more flexibility to the de-
velopers options, and shows the strenght of Linux and
Open Source in embedded and space applications.
4.2 Commercial Linux development prod-
ucts 4.3 Efforts and Success stories
Even though Linux and most development tools are com- In this subsection, we will summarize a few space efforts
pletely free, some companies offer development kits and and projects where Linux has been used in one way or
tools tailored to specific needs. These packages usually another.
include BSPs for commercial COTS SBCs, Linux kernels
modified with proprietary solutions and customizations 4.3.1 FlightLinux
(mainly RT extensions) and assorted development tools.
This NASA-funded project had the goal of providing an
Sometimes these products are worth the investment, on-orbit flight demonstrarion of the Linux software. The
and can be considered an intermediate alternative to goals was achieved, using the UoSAT-12 mission from
closed source COTS software like for example Tor- Surrey Space Technology Ltd. (SSTL), and obtaining a
nado/VxWorks. However, whats really important is that NASA Technology Readyness Level (TRL) 7 (out of 9),
its existence shows the industrys interest in developing which stands for System prototype demonstration in a
solutions based in free, open software; and specifically space environment.
the Linux environment. Some of these products are: Flight Linux is a specific Linux build, with reduced foot-
print, and spacecraft-specific device drives included. The
Timesys Linux RTOS SDK. Timesys offers a com- CPU architecture used was an Intel 80386EX, radiation
plete development package including a low-latency hardened, with 4Mb of RAM. Support for several on-
Linux kernel with several modifications to enhance board devices was developed (i.e. the Bulk Memory de-
RT capabilities. It also includes a BSP claiming vice), and where COTS drivers were available they were
full driver support for up to 70 different SBCs in 8 customized to the specific implementation in the system.
processor architectures. Enhanced versions of the Examples of this customization are the CAN bus and
kit include an IDE (Integrated Development Envi- 10BaseT drivers.
ronment) and profiling tools [14] This effort managed to remotely load a Linux kernel and
perform a ping command and ftp up and down transfers.
FSM Labs RTLinux Pro. Developers of the orig- [5, 4]
inal RTLinux versions, apart from offering a free
RTLinux distribution, FSM Labs offers an en-
4.3.2 CANDOS
hanced version of Linux with realtime extensions,
tailored to a variety of architectures such as IA32, This project is part of tne OMNI (Operating Missions
PowerPC, MIPS, ARM, etc. They offer enhanced as Nodes on the Internet) Project, a series of Internet-in-
performance and features compared to the standard space experiments and demonstrations. The objective of
RTLinux distribution, and some sidekick products the CANDOS (Communication And Navigation Demon-
focused on real-time network communications [11] stration On Shuttle) Mission was the demonstration of a
Low Power Transceiver (LPT), which flew as payload in (JPL) and Sun Microsystems as a proof of concept, pow-
the STS-107 Columbia mission. ered by TimeSys Linux RTOS and JTime real-time Java
Several mission operations scenarios were demonstrated virtual Machine, running control software written in Java.
using the CANDOS communications system, using stan- This is a great proof of the validity of the Linux operating
dard IP communications protocols and technologies. The system for mission critical flight software.
onboard computer of the experiment consisted on a stan-
dard x86 computer running of-the-shelf RedHat Linux
6.1, with complete sucess.
5 Our contribution to push Linux
4.3.3 JAESAT into space: ERC32 uClinux port
JAESAT will be a 15 kg-class amateur radio micro satel- Our workgroup has participated in several space pro-
lite in development by the Australian Space Research In- grammes, and has dealt with some different software
stitute (ASRI). [6] projects for flight computers. In the process we have
According to the projects homepage, the twin flight com- worked with several development environments, from
puters will most likely be based in COTS SBC, probably fully hand-made programming to Ada environments and
StorngARM 1110-based running Linux. Dual-redundant VxWorks in a variety of platforms (i.e. MAS281 and
components are used to account for the use of COTS elec- PowerPC). We have dealt with the problems of pro-
tronics, which is likely to suffer from degradation due to prietary systems, and closed-source kernels, BSPs and
space environment. drivers.
A few years ago, ESA pushed an initiative to generate an
4.3.4 Linux for the ISS open platform, hardware and software, to develop space
applications in order to reduce development time and
Although it cannot be strictly considered space appli- cost [2]. In the process, a 32-bit, high performance and
cations, Linux has been chosen by the European Space open hardware architecture was validated: ERC32. It is
Agency (ESA) for two software products which will con- a SPARC V7 CPU and combines specific for-space fea-
trol the rendezvous and docking operations for a servic- tures such as multiple EDAC mechanisms, redundancy
ing spacecraft called ATV. These pieces of software are support and radiation hardness, with the advantages of
GOAS and RACSI. [8] being fully compatible with a commercial and open ar-
GOAS is the Ground Operator Assistant System for the chitecture such as SPARC. The software part coming out
rendezvous operations of ATV. It is used on ground, and from the initiative was a RT kernel (RTEMS), an open
is a tool to monitor the ATV mission and intervene in case Ada environment (Open Ravenscar), and adapted gcc
of a problem, providing complex command and control to tools. However, RTEMS lacks the popularity of the Linux
replan the entire mission if necessary. [9] operating system and environment, so we decided to start
RACSI (Remote ATV Control System at ISS) runs on a an effort to port Linux to the ERC32 architecture. [3]
laptop operated by an astronaut onboard the station. It ERC32 is a MMU-less design, so porting the regular
monitors and checks the ATV mission and offers the posi- Linux kernel is not possible. Instead we have ported the
bility to temporarily interrupt the mission and to initiate uClinux variant to the Tharsys ERC32 SBC that we had
collision-avoidance maneuvers. [10] available.
In both cases, Linux was chosen as the underlying OS for
reliability, performance, portability and cost reasons.
5.1 Status
4.3.5 Other works in progress
uClinux 2.0 has been sucessfully ported to the ERC32
In space timescale, where adoption of new tech is slow platform with standard functionality; all system calls are
due to extensive validation and testing, Linux is a rather supported (with the typical limitations of uClinux), it is
new technology. We will definetly see Linux-based mis- ROMable (works both from ROM and RAM after ROM-
sions flourishuing in the next few years, as Linux matures to-RAM copy). There is support for several board de-
as a embedded real-time platform. vices, and work is in progress to produce an ethernet
One such example of could-be Linux based mission is driver for the included SONIC ethernet controller. Also,
the next generation of NASAs Mars Exploration Rover a reasonably usable development environment consisting
(MER), due to launch in 2009. Current MER missions, of the usual GNU tools has been produced.
which will hopefully arrive to Mars in January 2004, However, the port is complete only in a basic form; some
are powered by Windrivers VxWorks RTOS. But a pro- ERC-32 specific (i.e. non-SPARC V7 standard) features
totype vehicle of the next generation MER has already are not yet supported, such as EDAC error handling,
been demonstrated by NASAs Jet Propulsion Laboratory RAM bank switching handling, etc. and some board
devices such as the VME interface is not supported ei- [2] ESA Contractor Report, SAAB Ericcson Space,
ther. for these and other reasons, it is already a work-in- Sweden, 32-bit microprocessor and computer devel-
progress. opment programme - Final report.

[3] Sebastian S. Prieto, Ignacio G. Tejedor, Aitor V.


5.2 Future work Sanchez, 2003, Porting Linux to ERC-32 Architec-
These are our planned future developments for the ture, F IFTH R EAL -T IME L INUX W ORKSHOP, pp
ERC32 Linux port: 273278.

Full SBC driver support [4] Patrick H. Stakem, QSS Group, Inc., June
2002, FlightLinux Project Final Report.
Real-time extensions (http://flightlinux.gsfc.nasa.gov/ ).
Upgrading to uClinux 2.6 and integration in the [5] Patrick H. Stakem, QSS Group, Inc., Oct
main Linux 2.6 kernel tree 2000, FlightLinux Project Technical Report.
(http://flightlinux.gsfc.nasa.gov/ ).
Enhancements to the development environment to
ease application programming and testing [6] Australian Space Research Institute (ASRI) JAESAT
project website (http://www.asri.org.au).

6 Conclusions [7] Laird, Cameron, August 2002, Open source satellite


control. (Web article).
We believe there are clear advantages in developing space
software using open software in general, and Linux in [8] Ortega, Guillermo, March 1999, Linux for the Inter-
particular. Having direct access to source code is a great national Space Station, L INUX J OURNAL , ISSUE 59
avantage in a number of ways; Bug fixing by the end-user, (http://www.linuxjournal.com/article.php?sid=3024).
higher degree of customization and easier debugging be- (Web article).
ing some of the most relevant. On the other hand, with
[9] GOAS: The Ground Operator Assistent Sys-
the addition of RT extensions and the support of POSIX
tem for Rendezvous and Docking (Web report)
APIs, Linux offers a complete set of features, placing it at
(http://www.estec.esa.nl/wawww/ESC/goas.html).
the level of other COTS software solutions. Additionally,
the Linux development environment offers great flexibil- [10] RACSI: The Remote Control of the
ity, and the possibility of cross-platform development and ESAs Pre-Development Programme Au-
testing in standard PCs makes the technology more acces- tomatic Transfer Vehicle (Web report)
sible and cost-effective. Finally, we should not overlook (http://www.estec.esa.nl/wawww/ESC/racsi.html).
the cost reduction derived from the use of free software
and royalty-free components. [11] FSMLabs RTLinux software (Commercial website)
For all this, we must conclude that Linux will be used (http://www.fsmlabs.com).
more and more often in the future in space applications,
and establish itself as a strong alternative against other [12] MontaVista Linux software (Comercial website)
COTS alternatives. The recent involvement of traditional (http://www.mvista.com).
RTOS software companies as Windriver in Linux, and the [13] LynuxWorks Bluecat RT real-time embed-
appearance of companies devoted to offer real-time Linux ded Linux software (Commercial website)
based development kits should confirm this. (http://www.lynuxworks.com).

[14] TimeSys Linux RTOS Software (Commercial web-


References site) (http://www.timesys.com).

[1] Embedded Linux microcontroller project. [15] Gaisler Research, ERC32, LEON and LEON2 tools
(http://www.uclinux.org) and information (website) (www.gaisler.com).
COMO CREAR UN PROYECTO DE SOFTWARE LIBRE

Jos Manuel Palomar Mega


Caymasa El Sendero, SA, Espaa

Desde el punto de vista de la empresa privada el uso del software libre no es slo una
forma de ahorrar costes, tambin es un exitoso modelo de negocio para aquellos que se
atrevan a abrazarlo. Sin embargo, a pesar de lo mucho que se habla de el software libre
ltimamente poco se habla acerca de cmo crear uno de estos proyectos y devolver a la
comunidad de software libre algo a cambio de lo que ella nos ha dado.

Primero es importante no dejarse engaar por mitos. Por ejemplo, la idea de que con
liberar el cdigo fuente de uno de nuestros proyectos software y publicarlo en Internet
bajo alguna de las licencias de cdigo abierto, miles de desarrolladores por Internet van
a unirse al proyecto y continuar desarrollndola sin ms ni ms es un mito. Conseguir
una comunidad de buenos desarrolladores que contribuyan y colaboren en un proyecto
es muy complicado y conlleva mucho esfuerzo, un ejemplo claro de esto es Netscape.
Otro mito es suponer que porque publiquemos nuestra aplicacin como software libre,
inmediatamente toda la comunidad vaya a utilizarlo y se haga muy popular. El software
por ser libre no significa que sea bueno y los usuarios desean software de calidad y si es
libre mejor.

Como en cualquier proyecto software el primer paso es decidir que queremos hacer, si
ya disponemos de algn proyecto software interesante podemos escogerlo para
publicarlo como software libre. Tambin podemos publicar desarrollos que hayamos
tenido que abandonar sin terminar o empezar algn proyecto nuevo.

Una vez sabemos que es lo que queremos hacer es hora de ponerse manos a la obra,
porque el software libre no se programa slo. Como ya dijimos antes, no esperemos a
que una avalancha de programadores se peleen por colaborar en nuestro proyecto nada
ms publicarlo, lo normal es que durante un largo periodo, de aos, la mayora de los
desarrolladores de nuestro proyecto debamos asignarlos de entre los que dispongamos
en la empresa. Si somos una gran empresa esto, normalmente, no debera ser un gran
problema pero si estamos en una empresa mediana o pequea hay que saber asignar los
recursos juiciosamente y es en buenos desarrolladores donde debemos concentrar
nuestros recursos. Es importante que le proyecto siga vivo en todo momento y mientras
la comunidad de desarrolladores de nuestro proyecto no madure debemos ser nosotros
quienes la mantengamos. Contra menos invirtamos en su desarrollo menos posibilidades
hay de que finalmente sea exitoso.

Tambin es importante que el cdigo que se desarrolle est bien documentado, la


documentacin hace la diferencia, sobre todo si nuestro proyecto consiste en algn tipo
de librera o servicio que deba integrarse o utilizarse por otros desarrolladores. Adems
el software bien documentado har ms sencillo que programadores externos colaboren
con el proyecto.

El ltimo paso antes de empezar a distribuir nuestro proyecto es decidir la licencia bajo
la cual vamos a distribuirlo. Tenemos muchas opciones que van desde las ms libres
como la GPL, LGPL o Apache o algunas ms restrictivas como la utilizada por Sun
Microsystems o Netscape. Todo depende de que grado de libertad de uso queremos dar
a terceros y del nivel de compromiso que queremos ofrecer a la comunidad,
personalmente prefiero GPL, la licencia de software libre por excelencia.

Ya estamos listos para distribuir nuestro proyecto para lo cual la va ms adecuada es


fundar un sitio en Internet. Dicho sitio debe albergar todos los servicios
complementarios a nuestro proyecto, estos deben ser al menos una web, listas de correo
y un repositorio de cdigo. En el sitio web vamos a publicar los anuncios de los
progresos del proyecto, su documentacin y las distribuciones binarias y de cdigo
fuente del mismo. Las listas de correo nos servirn como va de comunicacin con los
usuarios y entre los desarrolladores y a travs de ellas ofreceremos soporte gratuito
sobre el proyecto. Por ltimo y no por ello menos importante el repositorio CVS donde
ir almacenando el cdigo de la aplicacin a medida que se va desarrollando, este
repositorio debe ser pblico si queremos que desarrolladores externos colaboren
programando la aplicacin. Adems podemos disponer de otro tipo de servicios, como
foros, que son una buena alternativa a las listas de correo o un Wiki. Si no disponemos
de recursos propios para montar todos estos servicios de forma autnoma podemos usar
uno de los muchos hospedajes gratuitos que estn a disposicin de los proyectos de
software libre, de los cuales mi consejo es www.sourceforge.net.

Publicitar el proyecto es la parte ms sencilla, simplemente hay que anunciar el


proyecto en los directorios de software libre que existen en Internet, como por ejemplo
www.freshmeat.net.

Ya slo queda una cosa, trabajo, trabajo y trabajo. Hay que tener paciencia y ser muy
constante, son muchos los proyectos que se empiezan pero pocos llegan a su madurez y
la nica forma de conseguir esto es con la constancia y el trabajo.

Mucho se habla hoy en da sobre el software libre, sobre sus usos y sobre sus
posibilidades comerciales. Es hora de dejar de hablar empezar a contribuir.

Keywords: proyecto, software, libre, sendero


PROYECTO ANDALUSG, dentro del

Sistema Integrado de Informacin Agraria de Andaluca (SIIA)

Alvaro Zabala Ordez1, Marco Antonio Fuentelsaz Prez1, Antonio Muoz Rastrero1,
Sergio Baos Calvo1, Borja Maas Alvrez1
1: Empresa Pblica Desarrollo Agrario y Pesquero.

El Sistema Integrado de Informacin Agraria de Andaluca es un programa de actuaciones


que surge a raz del Plan de Modernizacin de la Agricultura Andaluza, cuyo objetivo es
obtener una mejora de los sistemas de informacin desde y hacia el sector agroalimentario,
como herramienta de apoyo al proceso de toma de decisiones.

En un primer momento, la aplicacin GIS del SIIA fue desarrollada como un Sistema Abierto
e independiente de la plataforma, frente a las tendencias predominantes dentro del mercado
GIS, que apuntaban claramente hacia el software propietario.

En los ltimos tiempos, la tendencia en el campo de desarrollo de software se est


invirtiendo, y ha emergido con gran fuerza el movimiento del Software Libre. La Junta de
Andaluca ha sido, junto con la Junta de Extremadura, una de las primeras administraciones
pblicas en apostar por esta filosofa, al ser consciente de las importantes ventajas que aporta
tanto para la sociedad como para las empresas del sector, que se pueden aprovechar de las
sinergias existentes.

En ese sentido, la aplicacin GIS del SIIA se ha encontrado en una posicin inmejorable para
aprovecharse de los beneficios del movimiento del Software Libre, al estar concebida como
un sistema abierto y estar desarrollada con la plataforma Java, plataforma de desarrollo
independiente tanto del entorno hardware como del sistema operativo que dan soporte a las
aplicaciones. Esto hace posible, por ejemplo, que el SIIA pueda funcionar sin ningn
esfuerzo adicional en sistemas operativos como GuadaLinex o Linex.

En un primer momento, el SIIA ha hecho uso de numerosos proyectos de carcter libre,


distribuidos bajo diferentes tipos de licencia (GPL, Apache) para incorporar funcionalidades
y servicios soportados por estos.

No obstante, para la consecucin de la implantacin de los procesos de negocio a los que el


SIIA debe dar soporte, se han realizado una serie de desarrollos propios, partiendo de
productos libres ya desarrollados. El siguiente paso dentro de esta decidida apuesta del SIIA
por el Software Libre ser la distribucin de estos desarrollos bajo algn tipo de licencia
libre (GPL, LGPL, Apache, etc.)

Palabras Clave: SIIA, Software Libre, Java, GIS


PROYECTO ANDALUSG, dentro del

Sistema Integrado de Informacin Agraria de Andaluca (SIIA)

Alvaro Zabala Ordez1, Marco Antonio Fuentelsaz Prez1, Antonio Muoz Rastrero1,
Sergio Baos Calvo1, Borja Maas Alvrez1
1: Empresa Pblica Desarrollo Agrario y Pesquero.

PARTE I: INTRODUCCIN Y MOTIVACIONES.

1) El Software Libre como elemento clave para el impulso de la Sociedad de la


Informacin en Andaluca.

La Junta de Andaluca, consciente de la importancia que las Nuevas Tecnologas estn


cobrando en la sociedad actual, y con el objetivo de impedir la aparicin de la denominada
brecha digital, que incremente las desigualdades como consecuencia de la dificultad de
acceso a las tecnologas de la informacin, est tomando una serie de medidas encaminadas
al impulso de la Sociedad de la Informacin. Estas medidas, materializadas en una serie de
planes como el III Plan Andaluz de Investigacin, o el Plan Info-AlAndalus: actuaciones
estratgicas para el desarrollo de la Sociedad de la Informacin en Andaluca, alcanzaron su
punto culminante con la publicacin del DECRETO 72/2003, de 18 de marzo, de Medidas
de Impulso de la Sociedad del Conocimiento en Andaluca, en el BOJA de 21 de Marzo.
El principal objetivo de este decreto es poner las Nuevas Tecnologas al servicio de los
ciudadanos andaluces, para obtener una mejora en la calidad de vida, en el equilibrio social y
por consiguiente en la productividad.
Para ello, el decreto se traduce en varias medidas que buscan alcanzar una serie de objetivos
especficos, necesarios para alcanzar el mencionado objetivo principal:
- Facilitar el acceso a Internet a todos los ciudadanos, y la apertura de este canal
telemtico a los servicios que presta la Administracin (e-Administracin).
- Adaptar servicios bsicos como Educacin, Sanidad, Bibliotecas y Fondos
Documentales, etc a las tecnologas de la informacin, con los beneficios potenciales
que ello conlleva.
- Garantizar el acceso de todos los andaluces y andaluzas a las tecnologas de la
informacin y las comunicaciones.
Dentro de las medidas propuestas en el Decreto para la consecucin de este ltimo objetivo,
como implantacin de puntos de acceso a Internet para ciudadanos, buzn de correo gratuito
para mayores de 14 aos, etc. destaca dentro del mbito que nos ocupa la difusin de la
utilizacin del Software Libre. De esta forma, el artculo 31 de este decreto establece los
siguientes puntos:
- En las adquisiciones de equipamiento informtico destinado a los centros docentes
pblicos para su uso en actividades educativas, se exigir que todo el hardware sea
compatible con sistemas operativos basados en software libre. Los ordenadores
tendrn preinstalado todo el software libre necesario para el uso especfico al que
estn destinados.
- El equipamiento informtico que la Administracin de la Junta de Andaluca ponga a
disposicin en los centros de acceso pblico a Internet utilizar para su
funcionamiento productos de software libre.
- La Administracin de la Junta de Andaluca fomentar la difusin y utilizacin
orientadas al uso personal, domstico y educativo de software libre debidamente
garantizado. A tal fin se establecer un servicio de asesoramiento a travs de Internet
para la instalacin y uso de este tipo de productos.
La materializacin de todas estas medidas ha sido el proyecto GUADALINFO. Este proyecto
ha sido impulsado por la Junta de Andaluca, con la colaboracin de varias consejeras y
contando con participacin privada, y su objetivo bsico es la creacin de centros de acceso
pblico a Internet en banda ancha para municipios de menos de veinte mil habitantes. Uno de
los pilares sobre los que se est desarrollando este proyecto es el sistema operativo de
carcter libre GUADALINEX. GUADALINEX es una distribucin del sistema operativo
GNU/Linux, basada en una de las distribuciones libres ms populares de ste: Debian. Al
desarrollar una distribucin propia como sta, la Junta de Andaluca obtiene la capacidad de
soporte necesaria para dar servicio al ciudadano, y es capaz de dotar a sta de la facilidad de
uso e instalacin de las que suelen carecer las distribuciones no comerciales normales.
GUADALINEX es la principal muestra de la voluntad de la Junta de Andaluca para
promocionar la utilizacin de Software Libre, por las consabidas ventajas para la sociedad
que ste proporciona.

2) SIIA: Sistema Integrado de Informacin Agraria de Andaluca.

El Sistema Integrado de Informacin Agraria de Andaluca (SIIA) surgi para dar respuesta a
varios de los objetivos planteados por el Plan de Modernizacin de la Agricultura Andaluza,
elaborado por la Consejera de Agricultura y Pesca.
En concreto el SIIA entronca directamente con las siguientes estrategias de modernizacin
del plan:
- Estrategia n 8: Infraestructura de I+D+I al servicio de los sectores productivos.
- Estrategia n 9: Informacin como un factor clave para mejorar la competitividad.
- Estrategia n 10: Obtencin de un sector agroalimentario organizado y vertebrado.
- Estrategia n 16: Una administracin agraria gil y eficaz, al servicio del sector
agrario.
Como podemos ver, en este plan se da una especial importancia a la informacin como un
factor clave en la obtencin de la competitividad (en el mismo sentido del decreto 72/2003
anteriormente mencionado).
El SIIA permite gestionar toda la informacin de inters tanto para la Administracin como
para los distintos agentes econmicos y sociales del complejo agroalimentario,
mantenindola perfectamente actualizada. Adems, posibilita la realizacin de estudios
prospectivos y el modelado de escenarios que sirvan de apoyo para la toma de decisiones en
materia de poltica agraria.
El SIIA por el tipo especial de informacin con la que trabaja (datos geogrficos o
susceptibles de ser referenciados espacialmente) cae dentro del mbito de estudio de los
Sistemas de Informacin Geogrfica.
El SIIA ha sido concebido como una herramienta para ser utilizada no solo por la
administracin, sino tambin por todos los agentes que estn relacionados con la realidad
agraria: agricultores, ganaderos, asociaciones profesionales, sindicatos, etc. De esta forma, el
SIIA no es solo un sistema que permite mejorar la gestin interna de la administracin, sus
propios procesos, sino que tambin permite mejorar la relacin de sta con sus administrados,
centralizando los flujos de informacin entre ambos.
El sistema consigue dar servicio a esta pluralidad de usuarios con intereses tan distintos
(regados, ganadera, forestacin, acuicultura, etc.) de una forma totalmente integrada. Es
decir, los datos que se ofrecen y las herramientas proporcionadas para su tratamiento
dependern tanto del mbito abordado (los anteriormente mencionados y otros ms, como
concesiones de agua, catastro, etc.) como de los privilegios que tenga asignados el usuario
para ese mbito. Estos usuarios puede acceder al sistema bien a travs de la Red Corporativa
de la Junta de Andaluca (usuarios de la propia administracin), bien a travs del portal web
de la Junta (usuarios externos).

3) SIIA y Software Libre.

a) SIIA apuesta por la plataforma Java y los Sistemas Abiertos.

Tal y como hemos comentado con anterioridad, el SIIA es un sistema de informacin que cae
dentro del mbito de los Sistemas de Informacin Geogrfica (GIS), al manipular datos
geogrficos o que son susceptibles de ser referenciados espacialmente.
Este sector tradicionalmente se ha visto dominado por el software propietario, e incluso la
tendencia dominante apuesta por desarrollos basados en una nica plataforma: Microsoft
Windows, manteniendo un nicho de productos residuales para el resto de plataformas. Tal es
el caso de ESRI, lder mundial del mercado GIS, cuyos productos en un principio estaban
basados en componentes ActiveX, y actualmente en la plataforma .NET.
El SIIA desde su concepcin se desvi rpidamente de esta tendencia, pues su objetivo
principal era dar servicio a una gran pluralidad de usuarios funcionando bajo diversos
entornos y plataformas. Con tal fin, el ncleo del SIIA fue desarrollado ntegramente con la
plataforma Java. Gracias al empleo de la plataforma Java, un mismo ncleo dio soporte a
servicios heterogneos que deban funcionar bajo diferentes entornos.
Teniendo en cuenta la supremaca de la familia de sistemas operativos Unix en el mundo de
los servidores, caracterizada por la seguridad y estabilidad, el servicio web del SIIA comenz
a funcionar en un servidor web Apache bajo un sistema operativo Unix. La lgica de las
aplicaciones desarrolladas en Java era ejecutada por el motor de servlets Tomcat, tambin de
carcter gratuito y libre. Con posterioridad el motor de Servlets Tomcat fue sustituido por un
servidor de aplicaciones, capaz de ejecutar componentes EJB (Enterprise Java Beans). De
hecho, el servicio web del SIIA podra funcionar dentro del entorno de ejecucin de cualquier
servidor de aplicaciones compatible con la especificacin J2EE.
Para la manipulacin, tratamiento y recuperacin de imgenes digitales de gran volumen, el
SIIA utiliz el formato de almacenamiento de imgenes ECW. Este formato presenta una
serie de ventajas que lo hacen muy adecuado para el almacenamiento de imgenes de gran
resolucin:
- Elevado grado de compresin, al utilizar algoritmos Wavelet.
- Empleo de imgenes piramidales.
- Bajo porcentaje de prdida de informacin (compresin no degradativa).
No obstante, se trata de un formato propietario y no existen bibliotecas de programas
adecuadas para la carga de este tipo de imgenes en plataformas que no sean compatibles con
Microsoft Windows. Por esta razn, el servicio web del SIIA se complementa con una serie
de servicios distribuidos, encargados de la manipulacin de imgenes y datos cartogrficos,
funcionando bajo diferentes plataformas. Estos servicios comparten el mismo ncleo de
sistema que el servicio web, al estar desarrollados con el lenguaje multiplataforma Java.
En el momento de concepcin del SIIA no existan productos de carcter libre desarrollados
en Java que pudiesen servir como un adecuado punto de partida para su desarrollo. En
adicin, la gran mayora de productos GIS existentes en el mercado estaban orientados a
trabajar con ficheros de datos o con bases de datos personales (DBase, Access), lo que
resultaba inapropiado para arquitecturas cliente / servidor a tres capas, soportando varios
clientes concurrentes. Por esta razn, se opt por desarrollar ntegramente el corazn del
SIIA, lo que en el sector se denomina Geodatabase, a partir de las especificaciones
publicadas por el consorcio OpenGIS (OGC). De esta forma, se desarroll un modelo de
clases Java (basado en las especificaciones OGC) y se cre un modelo de datos en una base
de datos relacional que diese soporte persistente a las clases Java mencionadas. Gracias al
estndar de acceso a Bases de Datos JDBC, el SIIA es capaz de trabajar con cualquier base de
datos relacional de la que se disponga de un driver JDBC.
No obstante, por razones de celeridad en la prestacin de servicio la funcin de renderizado
de mapas fue delegada en ltima instancia en un producto comercial: ArcIMS de la casa
comercial ESRI. ArcIMS es un servidor de mapas que trata de seguir en mayor o menor
medida la especificacin OGC WMS (Web Mapping Service). Este servidor recibe peticiones
en formato XML (segn la misma filosofa de la especificacin SOAP del consorcio W3C) y
como respuesta genera imgenes con los mapas solicitados, devolviendo a su vez un mensaje
XML del que, entre otra informacin, se puede extraer la ubicacin de la imagen guardada.
En adicin, permite gestionar aspectos adicionales como la simbologa de los elementos
cartogrficos, etiquetado, formato de los textos en los mapas, etc.
An as, ArcIMS es simplemente un servidor de mapas, del que no se puede esperar que
soporte las funciones de anlisis y geomodelaje que caracterizan a los Sistemas de
Informacin Geogrfica, funciones que s son soportadas por el ncleo Java del SIIA.

b) SIIA consumidor de Software Libre.


Adems, durante este tiempo en el que el SIIA ha estado dando servicio, han comenzado a
surgir desarrollos de productos GIS de carcter libre publicados bajo la licencia del software
libre por excelencia: la licencia GPL. La existencia de un software de carcter libre, con gran
parte de funcionalidad implementada, posibilitaba la extensin del SIIA sin tener que partir
desde cero. En concreto, el equipo del SIIA fij su atencin en las suites JTS y JUMP.
JUMP (Java Unified Mapping Platform) es un cliente al estilo del GIS de escritorio
ArcView. Tiene funciones de edicin y anlisis espacial avanzado, como clculo de reas de
influencia, cruce entre capas de polgonos, etc. Presenta una arquitectura basada en plugins
que le hace relativamente fcil de extender. JUMP es capaz de cargar orgenes de datos en
fichero (ShapeFile, GML), tambin es capaz de conectarse a una base de datos Postgre SQL
con la extensin espacial PostGIS, e incluso puede conectarse a servidores WMS y mostrar
las imgenes generadas por este tipo de servidor. Gracias a su arquitectura extensible, JUMP
es capaz de cargar cualquier origen de datos cartogrfico para el que se desarrolle un plugin
que realice esa tarea.

JTS (Java Topology Suite) es una implementacin de la especificacin de geometras del


consorcio OpenGIS. JTS proporciona funciones de anlisis avanzado como clculo de reas
de influencia, cruce de polgonos, evaluacin de predicados binarios del tipo intersecta a,
toca a , etc. Ambos proyectos han sido desarrollados por la empresa canadiense Vivid
Solutions Inc., y han sido distribuidos con licencia GPL.

Adicionalmente, el SIIA hace uso de otros productos de carcter libre, no directamente


relacionados con la lgica GIS, pero s necesarios como subsistemas de soporte para la
realizacin de tareas bsicas en todo sistema de informacin. De estos productos cabe
destacar Hibernate, Velocity, JFreeChart, JFreeReport, o Log4J.
Hibernate. Este producto libre, distribuido bajo licencia LGPL, es un potente motor de
persistencia basado en la tcnica del mapeo Objeto / Relacional. Un motor de persistencia es
un subsistema que nos permite hacer persistentes las instancias de nuestras clases sobre
mltiples almacenes: bases de datos, ficheros, sistemas heredados, etc. Adems, nos permite
recuperar instancias de estos objetos segn diferentes criterios. Los motores de persistencia
estn diseados para realizar esta labor de forma muy eficiente y optimizada, por lo que
liberan a los desarrolladores, acostumbrados a trabajar con clases, de tener que trabajar con
conceptos relacionales. De forma paulatina, el corazn del SIIA se est migrando para hacer
uso de Hibernate, de forma que se gestionen de forma sencilla y transparente los accesos a la
base de datos.

Velocity. Es un motor de plantillas desarrollado ntegramente en Java por el proyecto Jakarta


de Apache. Jakarta es un proyecto que se encarga de proporcionar herramientas de carcter
libre y de cdigo abierto a la comunidad de desarrolladores Java. En vez de utilizar alguna de
las licencias GNU, Apache distribuye sus productos libres con una licencia propia: la licencia
de software libre de Apache. Un motor de plantillas es un subsistema que se encarga de
generar las vistas de una aplicacin web (cdigo Html) a partir del contenido de una plantilla,
normalmente un fichero de texto con formato. Esta definicin casa perfectamente con la
tecnologa de pginas JSP. De esta forma, una pgina JSP se podra ver como una plantilla.
No obstante, Velocity (y sus pginas VTL) presenta una serie de ventajas sobre las pginas
JSP que nos decidieron a optar por su utilizacin. Entre ellas cabe destacar:
Las pginas JSP mezclan la lgica de presentacin con la lgica de negocio (el acceso a
objetos Java), lo que se traduce en un cdigo en espagueti difcil de mantener. Por el
contrario, las pginas VTL de Velocity mantienen una clara separacin entre ambas.
Las pginas JSP no permiten la reutilizacin de componentes visuales. Velocity permite
definir bibliotecas de macros de las que se puede hacer uso desde las pginas VTL. Por esta
razn, las macros Velocity pueden ser consideradas como componentes reutilizables.
Las pginas JSP experimentan una fase inicial de compilacin (en la primera peticin que
reciben), lo que eleva mucho el tiempo de respuesta de los primeros usuarios que solicitan
estas pginas. Por el contrario, las pginas VTL presentan un buen rendimiento en todas las
peticiones al no atravesar por el ciclo interpretado-traduccin a cdigo java-generacin de
cdigo binario.

Log4J. Es un sistema de traza de mensajes desarrollado tambin como parte del proyecto
Jakarta, y distribuido bajo licencia de software libre de Apache. Un sistema de traza de
mensajes (habitualmente conocido por su termino ingls Logging) permite controlar la
ejecucin de los sistemas desarrollados, para revisar si su funcionamiento es el debido.
Facilita controlar el nivel de prioridad de los mensajes generados por el programa como
ayuda a la depuracin, y volcarlos segn diferentes salidas: pantalla, ficheros de log, tablas de
base de datos, etc. La ltima versin del JDK de Java (la 1.4) incluye un subsistema de este
tipo. No obstante, en la mayor parte de entornos de produccin los servidores de aplicaciones
y motores de servlets no contemplan esta versin, sino que trabajan con la versin anterior.
Esta poltica es muy prudente, pues el JDK 1.4 lleva relativamente poco tiempo a disposicin
de la comunidad, y no est todava suficientemente maduro. Por esta razn, es muy til el
empleo de este subsistema de traza de mensajes de Jakarta.

JFreeChart. Se trata de una biblioteca de clases Java, distribuida bajo licencia GPL, para la
generacin de grficos y diagramas. El SIIA hace uso de esta til herramienta para la
generacin de grficos de todo tipo, tanto desde entorno Internet (gracias a su facilidad de
exportacin a formatos de imagen como PNG, JPEG, etc) como en los nuevos desarrollos de
escritorio.

JFreeReport. Consiste en un subsistema de generacin de informes para su impresin y


visualizacin por pantalla. A partir de documentos XML que especifican el formato que ha de
tener el informe, se puede interactuar con el API Java que proporciona para dotar de
contenido a dichos informes. Esta biblioteca de clases tambin permite generar salidas segn
diferentes formatos: Html, PDF, Excel, impresin, etc. Gracias a su uso, se han facilitado
mucho las tareas relacionadas con el formateo de informes impresos, como seleccin del
formato de papel, cambio de orientacin, etc. JFreeReport y JFreeChart han sido
desarrollados por la empresa Object Refinery y son distribuidos bajo licencia GPL.

c) SIIA productor de Software Libre.


Actualmente, el equipo SIIA est desarrollando una extensin del GIS de escritorio JUMP
para que se conecte a su Geodatabase ncleo de la aplicacin GIS del SIIA- y sea capaz de
acceder a los orgenes de datos cartogrficos contenidos en ella. Esta extensin se encuentra
en estado muy avanzado, y de ella ya existe disponible una versin Beta. En algunas de las
figuras que acompaan al presente documento se pueden ver capturas de pantalla con el
funcionamiento de la aplicacin. Se trata de una arquitectura cliente / servidor a dos capas,
con el cliente JUMP accediendo directamente a la Geodatabase incluida dentro de una base
de datos relacional.
Adems, se est desarrollando un servidor de datos espaciales, y una extensin de JUMP
capaz de conectarse al mismo y de trabajar con los datos servidos por ste. De esta forma,
estaramos hablando de una arquitectura cliente / servidor en 3 niveles, con un middleware
intermedio (nuestro servidor espacial) que minimiza el nmero de conexiones consumidas de
la base de datos, optimiza el trfico de red, y adems aporta lgica no existente en la base de
datos gracias al empleo de las clases topolgicas de JTS. De este servidor ya existe una
primera versin Beta, capaz de recuperar datos de la base de datos segn diferentes criterios,
incluso espaciales aunque la base de datos no estuviese preparada para trabajar con este tipo
de datos. Estas extensiones contemplan tambin la posibilidad de trabajar con imgenes
digitales y orgenes de datos Raster, caracterstica de la que en un principio careca JUMP.
Actualmente se estn desarrollando extensiones que permitan la edicin concurrente de
cartografa por parte de mltiples usuarios, el mantenimiento de diferentes versiones de un
mismo elemento cartogrfico (transacciones de larga duracin), la implementacin de reglas
topolgicas y asociaciones entre diferentes capas cartogrficas, y funciones de anlisis
avanzado en general.
El desarrollo de estos productos se abord tras un anlisis de las herramientas de carcter
libre existente, tras llegar a la conclusin de que ninguna ofreca la funcionalidad requerida,
y de que s sera viable el desarrollo de un servidor propio, con un protocolo abierto y
pblica, al que se pudiese conectar cualquier tipo de cliente.
El siguiente paso, una vez alcanzado un estado de madurez suficiente, ser la publicacin
tanto del cdigo fuente como de los scripts y utilidades necesarios para la instalacin y puesta
en funcionamiento del nuevo sistema, bajo una licencia de software libre. De esta forma, se
pondr a disposicin de toda la comunidad de usuarios interesados un producto GIS que
cubra sus necesidades, tanto de aplicaciones de escritorio (JUMP) como de servidores
departamentales (Geodatabase del SIIA), y lo mas importante, independiente del sistema
operativo utilizado, al estar desarrollado con la plataforma Java.

4) Descripcin de la Interfaz Web del SIIA.


Antes de pasar a describir cmo se ha desarrollado el ncleo del sistema, no podemos dejar
de detallar algunos casos de uso de la interfaz web del mismo, de cara a ofrecer una mejor
visin de la percepcin que el usuario tiene de l.
a) Visualizacin de Cartografa, y Navegacin interactiva por sta.
El SIIA permite visualizar en forma de mapas los orgenes de datos cartogrficos
incorporados al sistema. As mismo, el usuario es libre de modificar la escala, centro de
visualizacin o nmero de capas que se le muestran. Con tal fin, todas las aplicaciones del
SIIA (segn el concepto de aplicacin mencionado con anterioridad) ofrecen mdulos para
esto.
FIGURA 1: CAMBIOS DE NIVEL DE ZOOM

b) Consulta de Informacin Alfanumrica (Catastro, etc)


El SIIA permite realizar consultas alfanumricas sobre la informacin territorial almacenada.
Para ello, proporciona mdulos como los localizadores, que son asistentes que guan al
usuario en su bsqueda ofrecindole diferentes criterios de filtro para su encadenamiento.

FIGURA 2: LOCALIZADORES.

c) Incorporacin al Sistema de datos almacenados de forma local.


El Sistema tambin ofrece a los usuarios la posibilidad de incorporar nuevos datos para su
visualizacin. Para ello, los usuarios autorizados podrn subir ficheros de cartografa en
alguno de los formatos de intercambio soportados (ShapeFile de ESRI, GEN de Arc/Info,
etc.). Estos datos solo permanecern en el sistema mientras dure la sesin de trabajo del
usuario que los incorpor, pudiendo ste realizar diversas operaciones con ellos.

FIGURA 3: CARGADOR DE FICHEROS

5) Descripcin de los nuevos productos en fase de desarrollo.


El principal inconveniente de los clientes GIS basados en web es el hecho de que estos
clientes solo reciben imgenes (PNG, JPEG, etc) de los mapas generados de lado del
servidor. Como consecuencia de esto, la carga de trabajo se centra casi exclusivamente en el
servidor, desaprovechndose notablemente las posibilidades de las estaciones de trabajo
actuales, cada vez ms poderosas con la difusin del PC. Esto resulta claramente ineficiente
para la realizacin de operaciones de anlisis complejas, para las que tradicionalmente se ha
recurrido a clientes propietarios, limitndose los clientes web para las tareas de visualizacin.
Adems, como los datos cartogrficos reales nunca son enviados al cliente, este no puede
editarlos ni modificarlos.

El equipo de desarrollo del SIIA est trabajando en un servidor de datos cartogrficos capaz
de atender simultneamente mltiples conexiones de diferentes clientes, gracias a un diseo
multitarea concurrente. De forma complementaria, se ha desarrollado un plugin del cliente
GIS de escritorio JUMP que permita acceder, mostrar, consultar y manipular los datos
cartogrficos proporcionados por este servidor. Adicionalmente, y aprovechando la
funcionalidad de dicho servidor, se ha desarrollado otro plugin que permita a JUMP
conectarse directamente a una base de datos que tenga el esquema de Geodatabase corazn
del SIIA, y extraer de sta directamente los datos. De esta forma, y aprovechndonos del
mayor grado de reutilizacin ofrecido por los lenguajes orientados a objetos, podemos
trabajar segn una arquitectura cliente / servidor tradicional en dos niveles, o podemos
trabajar con una arquitectura cliente / servidor en 3 capas, segn se desee.

En la figura FIGURA 4 podemos ver el primer paso para conectarnos a una Geodatabase con
nuestra extensin de JUMP, a travs del middleware propio desarrollado. La aplicacin nos
muestra un dialogo en el que aparecen diferentes orgenes de datos, para seleccionar alguno
de ellos.

Una vez seleccionado el origen, se crea una nueva capa dentro del panel de capas, y sus
elementos cartogrficos son dibujados en el panel de visualizacin de mapas, como podemos
apreciar en la figura FIGURA 5.
Nuestro servidor de datos cartogrficos tambin es capaz de proporcionar datos en formato
raster, segn diferentes formatos. En la figura FIGURA 6 podemos ver como el cliente
JUMP muestra datos de imgenes raster servidos por nuestro servidor dedicado. Para tal fin,
hemos desarrollado una extensin de JUMP que sea capaz de mostrar imgenes, tanto
proporcionadas por servidores dedicados como recuperadas directamente de ficheros.

PARTE II: DESCRIPCIN TECNOLGICA.

1. Modelo de Clases para Datos Vectoriales: OpenGIS Simple Features


Specification.

El modelo de datos vectorial del SIIA ha sido desarrollado a partir de la especificacin


Abstract Specification: Features formulada por el OpenGIS Consortium.
El elemento central de este modelo es el Feature, definido como una entidad real o
abstracta cuyos atributos describen fenmenos cuantitativos o cualitativos relacionados con
dicha entidad, y que es susceptible de ser referenciada espacialmente. Toda ocurrencia de esta
entidad tendr asociada dos estructuras: una geometra cuya definicin es objeto de otra
especificacin OGC, el modelo geomtrico OGC, como veremos posteriormente- y un
esquema de Feature FeatureSchema segn la especificacin- del que el Feature es una
instancia.
Cada esquema de Feature tendr asociados una serie de atributos identificados por un
nombre, que tendrn asociados a su vez un tipo de dato y un valor. El siguiente diagrama de
clases recoge el mencionado diseo:
FIGURA 4: MODELO DE CLASES BASADO EN LA ESPECIFICACIN DE FEATURES DE OGC.

Como parece evidente, un Feature sera el equivalente a una ocurrencia de Entidad de una
base de datos relacional, un FeatureSchema sera el equivalente al Esquema de esta Entidad,
y un FeatureAttr sera el equivalente a un campo. A su vez, para acotar los tipos de datos que
pueden tener los valores de los atributos de un Feature se introduce la clase AttributeType. El
equivalente de la Entidad-Tipo o Entidad sera una FeatureCollection coleccin de Features-
A diferencia de las bases de datos relacionales, este modelo incluye el tipo de dato
Geometry, que representa las propiedades geomtricas de un fenmeno geogrfico, y que ser
utilizado, entre otros casos, para la representacin grfica de estos fenmenos en el seno de
un mapa, o como base para la realizacin de consultas de base espacial.
Qu ventajas ofrece este modelo basado en el uso intensivo de metadatos como
FeatureSchema esquema del Feature- o AttributeType esquema de un atributo, formado
por nombre y tipo de dato-?
Un GIS, frente a otros sistemas de informacin, es un sistema abierto capaz de integrar
nuevas fuentes de datos, procedentes de orgenes diversos y almacenadas segn diferentes
formatos. Gracias a este esquema de metadatos, podremos cargar nuevas fuentes de datos en
el sistema, con el nico requisito de que se disponga de la suficiente informacin sobre su
esquema, incluyendo en ste la topologa (punto, lnea o superficie de forma simplificada)
esencial para determinar la representacin grfica de los Features almacenados.
De esta forma, entidades geogrficas del mundo real tan poco relacionadas como
Carreteras y Ros podrn ser gestionadas por diferentes instancias de una misma clase,
FeatureCollection, siendo sus ocurrencias instancias de la clase Feature. En adicin, la
propiedad Geometra de su esquema tomar valores de un mismo tipo de dato: el subtipo
Lnea, puesto que ambas son entidades de geometra uno-dimensional.

2. Modelo geomtrico del OpenGIS Consortium.


Como hemos visto con anterioridad, todos los esquemas de una entidad geogrfica Feature-
tienen un atributo Geometra, cuyo tipo de dato es Geometry. Geometry es una clase
abstracta raz de la jerarqua de clases geomtricas proporcionadas por la especificacin
OGC. El resto de clases aparecen en el siguiente diagrama de clases.

FIGURA 5: MODELO DE GEOMETRAS DE LA ESPECIFICACIN OGC.

La especificacin OGC tambin establece el comportamiento que deben proporcionar


aquellas clases geomtricas que implementen la especificacin. Destaca la inclusin de
predicados binarios (operaciones de carcter booleano que relacionan dos geometras, un
ejemplo sera el predicado contenido en) y de operaciones de anlisis espacial (operaciones
que se aplican sobre una geometra para obtener otra, un ejemplo sera la operacin buffer,
que devuelve el rea de influencia de una geometra)

3. Esquema Relacional.
Como ya mencionamos con anterioridad, una de las principales caractersticas de los
Sistemas de Informacin Geogrfica, y por extensin del SIIA, es la capacidad de integrar
datos geogrficos procedentes de fuentes heterogneas.
La necesidad de que un GIS sea capaz de integrar fuentes de datos procedentes de numerosos
orgenes, almacenadas segn distintos formatos, es debida al tradicional problema de la falta
de estndares en el mbito de la informacin geogrfica digital.
Los Sistemas de Informacin tradicionales, basados en el empleo de bases de datos
relacionales, no presentan este problema. Esto es as gracias a la utilizacin del modelo en 3
capas de ANSI y a la estandarizacin de los tipos de datos empleados. El modelo en 3 capas
de ANSI separa el nivel lgico de la informacin esquema conceptual- del nivel fsico
esquema fsico -. De esta forma, y puesto que las aplicaciones especficas entran directamente
en contacto con el nivel lgico, podemos hacer cambios en el nivel fsico como por ejemplo
cambiar de gestor de bases de datos relacional- de forma casi transparente. Esto sucede as al
menos en teora, pues en la prctica los Gestores de Base de Datos se suelen desviar del
estndar, introduciendo sus propios tipos propietarios.
En el caso de las aplicaciones GIS esto no ha sucedido as. Debido a que la representacin del
atributo geomtrico de un dato geogrfico no fue estandarizada (el estandar SQL92 no
contempla la inclusin de objetos), aparecieron numerosos formatos propietarios,
incompatibles entre s. Las primeras soluciones estuvieron basadas en un modelo hbrido-
relacional. La componente alfanumrica del dato geogrfico era almacenada en bases de
datos relacionales, como Dbase, (o el gestor relacional Info, utilizado por el clebre GIS
Arc/Info) mientras que la componente geomtrica y/o topolgica era almacenada en formatos
propietarios orientados a fichero. Tal es el caso del formato que durante mucho tiempo ha
sido considerado estndar de facto en el almacenamiento de informacin cartogrfica digital:
el formato ShapeFile propiedad de la casa comercial ESRI.
El problema surge en que, si nos movemos en otros mbitos cambia el formato de
almacenamiento considerado como estndar. En el campo del planeamiento urbanstico el
formato ms utilizado es el formato DXF (Drawing eXchange Format) propiedad de la casa
comercial Autodesk, lder mundial en el mercado CAD. Tambin podemos encontrarnos con
cartografa almacenada en formatos propietarios de equipos de medida GPS, formato propio
de catastro, formatos propietarios de intercambio de particulares, formato MIGRA
normalizado por el ministerio pero que nunca lleg a cuajar, etc.
El SIIA es capaz de acceder a informacin almacenada bajo diferentes formatos gracias al
empleo de una arquitectura basada en drivers, haciendo uso intensivo de los patrones de
diseo Dynamic Linkage (ligadura dinmica) y DAO (Data Access Object, objeto de
acceso a datos).

FIGURA 6: DIAGRAMA DE CLASES DE ACCESO A DATOS.

En adicin, el SIIA sigue la especificacin OGC Simples Features Specification for SQL
para la inclusin del tipo de dato geogrfico en bases de datos relacionales que no incluyan
esta caracterstica.
La especificacin establece que las colecciones de datos espaciales (FeatureCollection en
nuestro modelo de clases) sern almacenadas como tablas de la/s base/s de datos (siendo sta
otra caracterstica del SIIA, la capacidad de trabajar simultneamente con bases de datos
distintas, segn una arquitectura distribuida).
Cada dato geogrfico (Feature) ser almacenado como una fila en la tabla alfanumrica,
cuyos atributos sern columnas que tengan alguno de los tipos de datos definidos en el
estandar ODBC/SQL 92.
El atributo espacial (tipo de geometra y coordenadas de los vrtices que la componen) es
almacenado de acuerdo con el formato WKB (Well Known Binary Format), en una tabla
asociada a la anterior, la tabla de geometras. Ambas tablas se relacionan a travs de la
columna geomtrica, GID, siendo sta clave primaria de la tabla de geometras.

FIGURA 7: DIAGRAMA ERD DEL ESQUEMA RELACIONAL DESCRITO.

Los gestores de bases de datos ms importantes (Oracle, SQL Server, Informix, Postgre-SQL,
MySQL) estn adoptando la especificacin OGC, incluyendo tipos geomtricos en el juego
de tipos de datos disponible. Esta especificacin es conocida como OGC SQL 92 With
Geometry Types, y es un subtipo del estndar ANSI SQL Objeto-Relacional.

4. Consultas por Rectngulo: Indexacin Espacial.


Como consecuencia de trabajar con un modelo extendido del modelo lgico tradicional, que
incorpora el componente espacial (el atributo Geometra de un esquema de Feature) surge
la necesidad de realizar consultas sobre la base de datos con una nueva semntica: consultas
de base espacial.
Este tipo de consulta se puede expresar de la forma: Devulveme todos los Feature
(registros) de las FeatureCollection especificadas (tablas) que cumplan una determinada
condicin lgica (filtro alfanumrico) y adems cumplan una determinada condicin
espacial.
Las consultas de base espacial se pueden complicar tanto como exija la naturaleza del
problema planteado. As, por ejemplo, se podra plantear una consulta del tipo selecciona
todas las ciudades de poblacin superior a 5000 habitantes que caigan dentro del rea de
influencia de este hospital (representado como una Feature de geometra puntual),
considerando un radio de 15 km.
No obstante, la consulta de base espacial ms simple y ms intensamente utilizada en un
Sistema de Informacin Geogrfica es la consulta a partir de rectngulo: devulveme los
Features de las capas visibles que caigan dentro del rectngulo especificado. Esta consulta se
realiza cada vez que el usuario modifica el nivel de zoom del rea de visualizacin del mapa
mostrado, para acercar, alejar, desplazar, etc.
Puesto que parece evidente que no sera viable recorrer todos los Features (registros) de las
FeatureCollection (tablas organizadas en capas) en busca de aquellos cuya geometra est
contenida en el rectngulo, se han desarrollado algoritmos de indexacin espacial tanto para 2
como para 3 o ms dimensiones. Estos algoritmos son anlogos, para el caso n-dimensional, a
los algoritmos de indexacin alfanumricos (b-tree, ndices bitmap) para el caso
unidimensional.
Los principales algoritmos de indexacin espacial existentes son el algoritmo R-Tree y el
algoritmo QuadTree. Ambos algoritmos mantienen una estructura arbrea, basada en la
subdivisin del espacio que abarcan todas las Feature de una FeatureCollection.
Independientemente del ndice espacial utilizado, el proceso de consulta espacial atraviesa
por dos etapas: filtro primario y filtro secundario.
El filtro primario permite una rpida seleccin de los registros candidatos (Features) a
cumplir la condicin impuesta (contenido en rectngulo). Para ello, realiza sus
comparaciones a partir de aproximaciones de la geometra de los Feature puestos en juego,
reduciendo de esta forma la complejidad de los clculos.
El filtro secundario toma como entrada los Feature candidatos (elementos devueltos por
nuestro algoritmo de indexacin espacial) y realiza un clculo topolgico exacto del tipo
contenido en que relacione candidatos con el rectngulo de consulta.
Existen diferentes formas de implementar estos algoritmos de indexacin espacial. El API
JTS (Java Topology Suite), visto en anteriores apartados del presente documento,
proporciona implementaciones en memoria de los algoritmos R-Tree y QuadTree. Esto
implica que, una vez cargados en memoria todos los Feature de una FeatureCollection
(independientemente de cual sea su mecanismo de almacenamiento persistente) podremos
recuperar directamente aquellos que solapen con un rectngulo determinado.
Esta forma de trabajar tiene el inconveniente de que, para poder realizar consultas de base
espacial, debemos cargar en memoria todos los registros almacenados en nuestra base de
datos (lo cual resulta claramente inadecuado para, por ejemplo, trabajar con
FeatureCollection de parcelas catastrales, del orden de varios millones de registros).
En este punto, nos encontramos con un problema derivado de que los gestores de bases de
datos relacionales tradicionales (compatibles con la especificacin ANSI SQL 92, como
Oracle8i) no incluyen tipos de datos geomtricos en su juego de tipo de datos. Como
consecuencia, los algoritmos de indexacin que incorporan (en el caso de Oracle ndices btree
e ndices bitmap) no son apropiados para trabajar con la componente espacial del dato
geogrfico, y por consiguiente para la realizacin de consultas de base espacial.
Como estructura de indexacin espacial persistente, que permite indexar tanto registros de
bases de datos como entradas en ficheros binarios de acceso aleatorio, estamos utilizando el
subsistema Spatial Index Library, distribuido bajo licencia LGPL por la Universidad de
California. (http://www.cs.ucr.edu/~marioh/spatialindex/).
Un ejemplo de base de datos relacional que considera tipos geomtricos e ndices espaciales
es Oracle, a partir de su versin 9i. Para tal fin, incluye el tipo de dato
MDSYS.SDO_GEOMETRY, que representa la clase abstracta Geometry definida en el
modelo geomtrico de OGC. Con esta nueva capacidad, podemos crear una tabla que soporte
los registros de una FeatureCollection de trminos municipales con geometras de polgono
mediante la siguiente sentencia SQL:

CREATE TABLE parcelas (


parcela_id NUMBER PRIMARY KEY, nombre VARCHAR2(32),
geometria MDSYS.SDO_GEOMETRY);

Y podramos aadir registros de la siguiente forma:

INSERT INTO parcelas VALUES(


3,
'jan',
MDSYS.SDO_GEOMETRY(
2003, NULL, NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(3,3, 6,3, 6,5, 4,5,
3,3) ) );

Por ltimo, Oracle9i permite indexar espacialmente los registros que contengan campos del
tipo MDSYS.SDO_GEOMETRY mediante la siguiente sentencia:
CREATE INDEX parcelas_spatial_idx ON parcelas(geometria) INDEXTYPE IS
MDSYS.SPATIAL_INDEX;

Gracias al uso del patrn de diseo DAO (Data Access Object) est previsto la incorporacin
de orgenes de datos de este tipo, de forma totalmente transparente al sistema.
Como ejemplos de bases de datos libres que estn incorporando esta capacidad, podemos
mencionar PostgreSQL (con su extensin espacial PostGIS), y MySQL, que a partir de su
vesin 4.1 va a incorporar tambin funciones espaciales. No obstante, la forma de trabajar
con estas bases de datos no diferira mucho de la aqu mostrada para trabajar con Oracle
(producto de carcter comercial).

5. Orgenes de Datos Raster.

El SIIA tambin permite el acceso y manipulacin de fuentes de datos raster.


Estos datos se corresponden con imgenes digitales, procedentes de vuelos areos
fotogramtricos o de imgenes de teledeteccin. Dichas imgenes se caracterizan por su gran
tamao, del orden de magnitud del Gb, ya que forman mosaicos que pueden llegar a cubrir
naciones e incluso continentes.
Con tal fin, se utiliza como formato preferido de almacenamiento el ECW (Enhanced
Compressed Wavelet), propiedad de la casa comercial ER-Mapper
(http://www.ermapper.com).
Este formato ofrece ratios de compresin muy elevados, conservando una calidad visual ms
que aceptables, caracterstica que le hace altamente recomendable frente a otros formatos
como el JPEG, que es muy degradativo, o el TIFF, que no ofrece suficiente grado de
compresin. En adicin, los tiempos de recuperacin de fragmentos de imgenes estn muy
optimizados, al utilizar pirmides de imgenes multiresolucin.
Para su uso desde todo tipo de aplicacin GIS o de Teledeteccin, ER-Mapper ofrece para su
descarga una API Java que permite extraer fragmentos de imagen en forma de instancias de
la clase java.awt.BufferedImage a partir del rectngulo del puerto de visin solicitado.

En el caso de datos en formato raster , que no son ms que imgenes digitales de las que se
conoce las coordenadas de sus esquinas, la indexacin espacial es inmediata, y viene dada por
la propia estructura matricial de las imgenes digitales. Conociendo las dimensiones en
pixeles de la imagen, y las coordenadas reales de sus esquinas, es posible obtener las
coordenadas pixel de cualquier coordenada del mundo real que se proporcione.
Como extensin a la especificacin de Features, OGC ha elaborado una especificacin que
incluye orgenes de datos no vectoriales: OGC Coverages Specification. Dentro de esta
especificacin se incluye el modelo de clases para orgenes de datos raster, no incluido en
ninguno de las APIs utilizadas (JTS, JUMP).
6. Referencias

?? SIIA-Web: http://www.juntadeandalucia.es/agriculturaypesca/siiaweb/
?? Spatial Oracle.: http://otn.oracle.com/products/spatial/spatial_locator_features.html
?? Open GIS: http://www.opengis.org
?? ArcIMS: www.esri.com/software/arcims/
?? JTS (Java Topology Suite): http://www.vividsolutions.com/projects/jts
?? JUMP (Java Unified Mapping Platform): http://www.vividsolutions.com/jump/
?? JfreeChart y JFreeReport: http://jfree.org
?? Spatial Index Library: http://www.cs.ucr.edu/~marioh/spatialindex/
?? ER-Mapper: http://www.ermapper.com
LISTADO DE FIGURAS
FIGURA 1: CAMBIOS DE NIVEL DE ZOOM E INCORPORACIN DE NUEVOS DATOS

FIGURA 2: LOCALIZADORES.
FIGURA 3: CARGADOR DE FICHEROS

FIGURA 4: SELECCIONANDO UNA CAPA DE LA GEODATABASE CON JUMP


FIGURA 5: CAPA DE LA GEODATABASE CARGADA EN JUMP

FIGURA 6: EXTENSIN DE JUMP PARA ACCEDER A ORGENES RASTER.


FIGURA 4: MODELO DE CLASES BASADO EN LA ESPECIFICACIN DE FEATURES DE OGC.

FIGURA 5: MODELO DE GEOMETRAS DE LA ESPECIFICACIN OGC.


IGURA 6: DIAGRAMA DE CLASES DE ACCESO A DATOS.
Fisterra 2: software libre para gestion empresarial
Alejandro Garca Castro, Jose Mara Casanova Crespo,
Juan Jose Sanchez Penas, Jose Dapena Paz
Igalia: Ingeniera en Informatica y Software Libre
Gutenberg 34B 2o , 15008, A Coruna, Galicia, Espana
10 de enero de 2004

c
2004, Igalia S.L. 1
casos como complementarios: en ocasiones es decisiva
la libertad que otorga al usuario el hecho de disponer
del codigo fuente y de la posibilidad de analizarlo, mo-
Resumen dificarlo y redistribuirlo; en otras, cobra especial interes
la reduccion del TCO (coste total de propiedad) o la
Fisterra 2 constituye una evolucion en las aplica- muchas veces mayor calidad tecnica de las soluciones
ciones de gestion empresarial en el ambito del software libres. En cualquier caso, miles de usuarios (empresas,
libre. Partiendo del trabajo realizado por Igalia en la administraciones o usuarios finales) estan optando a
primera version, publicada en 2003, se ha redisenado cada vez mayor velocidad por soluciones innovadoras
una nueva arquitectura multicapa, mas generica y am- basadas en una nueva forma de entender el desarrollo
biciosa, que vera la luz en su version estable durante el de software.
ano 2004.
En el artculo se realiza una evaluacion sobre los dis-
tintos proyectos libres orientados al mundo de la ges- Esta evolucion del sistema va pareja a la aparicion de
tion y, partiendo de esto, se justifica y explica la apor- soluciones (aplicaciones, distribuciones, servicios) para
tacion de la nueva version de Fisterra. los distintos ambitos y sectores de utilizacion de softwa-
re libre. Cada vez son menos los huecos en los que hay
que recurrir a sistemas cerrados porque el conjunto de
1. Introduccion: necesidad de sistemas operativos y aplicaciones libres no son capa-
ces todava de satisfacer las demandas de los usuarios.
aplicaciones empresariales Si hace unos anos las limitaciones de las soluciones de
En los ultimos anos, las plataformas basadas en soft- escritorio era una crtica habitual a los sistemas libres,
ware libre y su nuevo modelo de desarrollo cooperativo, en la actualidad esa carencia ya no existe, gracias a
y en particular el sistema GNU/Linux y sus aplicaciones proyectos como KDE o Gnome, que han equiparado la
asociadas, se han convertido en una alternativa solida a calidad del escritorio GNU/Linux a la de cualquier siste-
cualquier otra solucion tradicional, basada en software ma propietario. No obstante, todava existen algunos
propietario cerrado. El nacimiento de decenas de nue- ambitos en los que faltaran unos anos para que esta
vos proyectos cada mes, la adopcion cada vez mayor del situacion llegue; entre ellos estan el del diseno grafico,
software libre por parte de administraciones publicas el de las herramientas de CAD, o, atendiendo a lo que
de todo el mundo, e incluso el apoyo explcito de gran- mas interesa para el presente artculo, el sector de las
des corporaciones como IBM, Sun o HP, son pruebas aplicaciones de gestion empresarial (ERP, CRM, con-
contundentes de la evolucion de este movimiento que tabilidad, etc.).
tiene apenas dos decadas y cuya explosion se esta vi-
viendo en los ultimos cinco anos. Existe un hueco por llenar, que se corresponde con
El avance del software libre tiene relacion con dis- las tecnologas, herramientas y aplicaciones adecuadas
tintos aspectos, que se pueden ver en la mayora de los para construir sistemas de gestion eficientes, eficaces,
1 Copyright Igalia, S.L. Permission is granted to copy, distri- flexibles, modernos y de calidad. Fisterra es un pro-
bute and/or modify this document under the terms of the GNU yecto nacido con la vocacion de colaborar en este tra-
Free Documentation License, Version 1.2 or any later version bajo, intentando que los sistemas libres, ademas de to-
published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A
dos los sectores ya conquistados, puedan acceder a
copy of the license is included in the section entitled GNU Free nuevos ambitos en los que su aplicacion traera mayor
Documentation License. libertad para todos los participantes.

1
2. Aplicaciones de gestion en por estar claramente enfocado a la administracion
contable mas domestica, el proyecto tiene carac-
GNU/Linux tersticas interesantes que podran ser utilizadas
La necesidad de aplicaciones y tecnologas de desa- para una contabilidad mas empresarial. Es un pro-
rrollo especializadas en la gestion empresarial es algo yecto muy estable, con licencia GPL y desarrollado
difcilmente cuestionable. GNU/Linux, por la herencia con tecnologa GNOME.
de UNIX, nace como un sistema con especial fuerza en Compiere [3]: iniciado en 1999 por la empresa del
la parte servidor, lo que conlleva que su mayor cuota de mismo nombre, se trata de un ERP desarrollado
mercado durante muchos anos haya sido los servidores en Java y con interfaz web. Es multiplataforma y
de intranet y de Internet (el ejemplo mas utilizado es el esta publicado con licencia Mozilla (MPL), en la
del servidor web Apache). Progresivamente, esta mayor actualidad esta ya en una version completamente
capacidad para el lado servidor se ha ido desplazan- estable. El servidor esta basado en JBoss [13], con
do al desktop (escritorio del usuario final), y esto abre el desarrollo basado en servlets y EJBs. El proyec-
nuevas posibilidades entre las que, en el ambito empre- to tiene en la actualidad una gran actividad.
sarial y de gestion, es cada vez mas evidente el de la
aplicacion de software libre para solucionar las necesi- G-CTB [5] (GNU ConTaBilidad): implementacion
dades que tradicionalmente cubran (y todava cubren de una aplicacion de contabilidad clasica, con li-
en la mayora de los casos) los ERP/CRM propieta- cencia GPL, que utiliza tecnologa GNOME para la
rios de las grandes empresas de desarrollo de software interfaz grafica y el acceso a datos, esta desarro-
(SAP, Navision, Libra, etc.). llado en C, y se encuentra todava en versiones
En los ultimos anos, han nacido iniciativas deriva- iniciales, ademas de encontrarse el proyecto com-
das de la coincidencia por parte de distintos grupos de pletamente parado en el ultimo ano.
desarrolladores o empresas en la necesidad de software
libre de gestion. Algunas de estas iniciativas estan en ASPL-Fact [4]: proyecto iniciado en el 2000 e im-
sus primeras fases todava y cuentan con pocos apoyos pulsado por la empresa ASPL (Advanced Software
(grupo de desarrolladores limitado y problemas de fi- Production Line) que pretende crear una arquitec-
nanciacion), pero otras comienzan a vislumbrarse como tura modular para el desarrollo de aplicaciones de
proyectos de gran interes. Comentamos a continuacion gestion en GNU/Linux. Por el momento el proyec-
algunas de las iniciativas existentes: to se ha centrado en la definicion de una arqui-
tectura flexible basada en tecnologa GNOME y
GNUe [1] (GNU Enterprise): metaproyecto que en el protocolo BEEP para la comunicacion clien-
forma parte del proyecto GNU, y que tiene tres te/servidor; una primera version de esta arquitec-
objetivos claros: un conjunto de herramientas, in- tura esta prevista para agosto de 2003. Todo el
cluyendo interfaces de usuario, generadores de in- desarrollo es bajo licencia GPL y con C como el
formes, modulos para la creacion de aplicaciones lenguaje principal de programacion.
cliente/servidor de gestion, etc.; un conjunto de
paquetes que implementen, utilizando las herra- Bulmages [6]: aplicacion de contabilidad para
mientas anteriores, un ERP completo; y finalmen- GNU/Linux, con licencia GPL, que utiliza tecnologa
te, la creacion de una comunidad de usuarios al- KDE, desarrollado en C++, y se encuentra en la
rededor de este proyecto. GNUe nace en marzo de actualidad en una version utilizable, con las fun-
2000, aunque toma las riendas de varios proyec- cionalidades basicas y implementadas. Su desarro-
tos anteriores que ya se haban iniciado en 1996. llo esta siendo coordinado por miembros del grupo
En estos momentos las herramientas (servidor de de usuarios de GNU/Linux de Mallorca. El proyecto
aplicaciones, generador de informes, generador de inicio su actividad en noviembre de 2002.
formularios, navegador, etc.) comienzan a ser uti-
Facturalux [7]: aplicacion de gestion tipo ERP pa-
lizables, aunque sus versiones no son todava muy
ra GNU/Linux, con licencia GPL y tecnologa KDE
estables. Los paquetes estan todava en las prime-
(QT, C++, Kugar), utiliza una arquitectura deno-
ras fases de desarrollo, o incluso sin comenzar. No
minada A3D (Arquitectura Abierta de Aplicacio-
obstante, ya existen tres proyectos que utilizan las
nes Dinamicas), que almacena codigo y datos en
herramientas de GNUe para implementar directa-
la BD utilizando el estandar XML y ECMAScript;
mente sus programas de gestion: Luca [10], GNUe
BEEP [14] es el protocolo de comunicacion escogi-
Small Business [11] y Rent-Free [12]. El lenguaje
do. El proyecto esta impulsado por InfoSiAL, des-
escogido para el desarrollo es Python.
de principios del 2001, y mantiene una actividad
GNUCash [2]: aunque con frecuencia no es cita- alta en la version actual del codigo, que todava es
do como una herramienta de gestion empresarial, un prototipo.

2
GestiONG [8]: implementacion de una aplicacion

Empresa A
de gestion de ONGs y sociedades sin animo de lu-

...
cro, haciendo especial hincapie en la creacion de
un programa estandar de contabilidad. El proyec-

Distribucin
to dio comienzo mayo de 2003 y esta disponible

Sector x
Seguros
ya un prototipo con funcionalidad basica. El pro-
grama, con licencia GPL, utiliza tambien tecnologa

...
KDE para la implementacion (QT, C++, Kugar) y
presenta una actividad considerable actualmente.

Gestion Libre [9] en Hispalinux: proyecto que pre- Fisterra 2


tende coordinar acciones (documentacion, desa-
rrollo, especificaciones) relacionadas con la intro-
duccion de software libre de gestion en empresas y
administraciones publicas. El proyecto existe des- GNOME 2
de el ano 1999.

En este contexto, en en el que se ve claramente que Figura 1: Estructura de Fisterra 2


estan surgiendo iniciativas en los ultimos 3 anos para la
creacion de software de gestion empresarial, y tambien
se puede observar que la mayor parte de los proyectos Fisterra 2 consta hoy por hoy de un nucleo sobre
estan todava lejos de proporcionar una solucion solidael que se apoyan desarrollos de Igalia orientados a
al usuario, en el ano 2003, nace el proyecto Fisterra. desarrollos verticales para sectores especficos.
El proyecto es impulsado y desarrollado por Igalia y Durante el primer mes de 2004 se esta dando un
basado en tecnologas GNOME. En los siguientes apar-
importante giro en cuanto a las herramientas para el
tados se detallan los aspectos mas importantes del pro- trabajo en comunidad dentro del proyecto. Una nueva
yecto, describiendo la arquitectura propuesta para la web, mas util y dinamica, sera el eje central de coordi-
nueva version, que constituye un paso mucho mas am-
nacion del proyecto. El trabajo del equipo de desarrollo
bicioso para colocar a Fisterra definitivamente entre sera realizado en un servidor de CVS publico y accesi-
las alternativas mas interesantes para la construccion ble para cualquier persona interesada. Una larga lista
de soluciones ERP/CRM en GNU/Linux. de herramientas de ayuda como bonsai, tinderbox, bug-
zilla o natzilla estaran a la disposicion de la comunidad
para coordinar el desarrollo de Fisterra.
3. Fisterra 2
Uno de los intereses principales es la creacion de una
comunidad de desarrolladores fuerte que trabaje en el
3.1. Presente del proyecto: fisterra-
desarrollo aplicaciones de gestion basadas en software
base y fisterra sectorial libre; por ello estamos intentando la colaboracion con
Actualmente Fisterra es un proyecto activo, desde otros proyectos, acordando arquitecturas comunes que
el momento de su publicacion hasta la fecha de hoy nos puedan llevar en un futuro cercano a la creacion
se ha trabajado mucho en el diseno y arquitectura de de estandares de facto para la creacion de este tipo de
la nueva version. Se esta invirtiendo un gran esfuerzo aplicaciones.
en definir las necesidades de las aplicaciones de gestion Fisterra 2 se divide en un framework generico de
empresarial tanto desde el punto de vista tecnologico trabajo, que es conocido como fisterra-base, y el con-
como conceptual. La version original, mas orientada a junto de aplicaciones sectoriales genericas desarrolla-
un sector, del proyecto, ha sido generalizada hacia la das utilizando las bibliotecas y facilidades aportadas
creacion de un framework para el desarrollo de apli- por dicho framework. Las aplicaciones sectoriales im-
caciones de gestion de diversos sectores empresariales. plementan un conjunto de procesos de negocio que son
Ademas, se ha potenciado la creacion de herramientas interesantes para la logica de trabajo de ese sector.
que faciliten el trabajo en comunidad, por lo que se Intentando la generalizacion de los procesos de ne-
espera que el ano 2004 sea clave para el crecimiento en gocio de una empresa Fisterra se ha dividido en las
el numero de usuarios y desarrolladores de Fisterra. siguientes partes principales, que estan siendo imple-
Igalia esta en conversaciones con empresas especiali- mentadas de forma progresiva para Fisterra 2: ges-
zadas en la gestion de negocio para la colaboracion en tion de contacto con clientes (CRM); gestion de ventas
el enriquecimiento de la solucion y para la distribucion (del presupuesto-venta a la contabilidad); gestion de
a mayor escala de sistemas basados en esta tecnologa. compras (del presupuesto-compra a la contabilidad);

3
Vista/datos
Controladores/widgets
Modelo/Datos
...
Vista Ventana
Controlador Ventana
Fachada
Delegate

CORBA

Modelo Aplicacin Servidor

Figura 2: Captura de pantalla de Fisterra 2


Figura 3: Diseno del Cliente de Fisterra2

gestion de la logstica (almacenes); gestion de fabrica- viadas por los clientes, a la vez que gestiona el acceso
cion (SCM); gestion de recursos humanos; gestion de a la base de datos, el control de accesos y las autoriza-
tesorera; gestion de la contabilidad y finanzas; ges- ciones.
tion de negocio, tactica y estrategia (datawarehouse,
OLAP); gestion de la integracion (legacy); gestion de
3.3.1. Cliente Fisterra 2
la aplicacion (administracion); gestion de proyectos; y
gestion de calidad. El cliente en Fisterra es la parte visible al usuario,
la cual esta controlada por un automata de estados
3.2. Objetivos de Fisterra 2 que determina el flujo de la aplicacion. La estructura
interna del cliente esta definida siguiendo el patron de
Fisterra 2 nace como la evolucion tecnologica en diseno MVC (Model-View-Controller ).
el desarrollo de aplicaciones de gestion empresarial de Cada ventana esta formada por tres tipos de compo-
Igalia. Tras la experiencia alcanzada con el desarrollo nentes: vista descrita mediante ficheros XML de glade;
de la primera version, se ha realizado una refactoriza- controlador, que rellena la ventana en base a su mode-
cion completa de la arquitectura para permitir desa- lo, gestiona los eventos y callbacks; y widgets para la
rrollos mas escalables de sistemas de informacion para representacion de los datos del dominio del negocio uti-
empresas. lizaremos widgets creados segun el patron model-view-
Los objetivos de Fisterra 2 son construir una solu- controller, de forma similar a la solucion aplicada para
cion mas general y flexible que sea adaptable de forma los GtkTrees. De esta forma tendremos modelos que re-
sencilla a nuevos negocios. presentaran estructuras de datos de dominio complejas
Entre los objetivos a alcanzar con la nueva version se orientadas a al trabajo visual y controladores/vista en-
encuentran: incorporacion de la tecnologa GNOME2; cargados del mostrado de estos objetos. Esta solucion
arquitectura multicapa; y proporcionar un framework nos permitira la creacion multiples vistas sin tener que
generico y un conjunto de ejemplos de aplicaciones para cambiar la representacion de datos del cliente.
sectores de negocio para facilitar el desarrollo y adap- Para la gestion de ventanas y su creacion usamos un
tacion de nuevos modulos sectoriales sin partir de cero. sistema de controlador principal en el que se registran
las ventanas para poder ser construidas en el sistema.
Para la construccion de una ventana se hace una pe-
3.3. Diseno del sistema
ticion a este controlador que utilizara builders para la
Fisterra 2 establece una separacion entre cliente creacion de las mismas.
y servidor. El cliente tiene como funciones la interac- Por abajo de los controladores de ventana encontra-
cion con el usuario final mediante la interfaz grafica. mos las fachadas encargadas de implementar las lla-
Es necesario poder ejecutar instancias del cliente en madas a los servicios utilizando los modelos que repre-
multiples equipos. Su implementacion es totalmente in- sentan los datos de las ventanas. La abstraccion de la
dependiente de la del servidor siempre que cumpla las tecnologa de comunicaciones, en este caso CORBA,
interfaces de comunicacion. se consigue mediante una capa de delegacion encarga-
El servidor se encarga de gestionar el proceso de ne- da de ocultar los procesos necesarios para realizar la
gocio de la aplicacion. Realizar las operaciones que en- comunicacion.

4
SERVICIOS DAO
personalizaciones del modelo de negocio consistiran en
modificar o parametrizar estos servicios.

COMUNICACIONES
INFORMES
CLIENTE La nueva arquitectura esta detallada en la figura 4
OBJETOS SESION
CLIENTE DE
WORKFLOW 3.4. Tecnologas utilizadas
NEGOCIO

......
Fisterra utiliza como base el conjunto de tecno-
logas que conforman el Gnome SDK, para las interfa-
ces de usuario y el servidor de aplicaciones. Sobre estas,
Figura 4: Diseno servidor Fisterra 2 integra e introduce otras tecnologas, para dar sopor-
te a persistencia, e implementar la comunicacion, tal y
como hemos podido ver en apartados anteriores. Sobre
3.3.2. Servidor Fisterra ellas, Fisterra constituye por si mismo un completo
framework de desarrollo de aplicaciones.
La novedad en Fisterra 2 se encuentra principal-
mente en que se separa del cliente todo el comporta- A continuacion detallamos las principales tecnologas
miento de gestion de negocio, autenticacion y acceso a que se utilizan en Fisterra.
datos en un servidor. Este proporciona distintos servi-
cios que son utilizados por el cliente para la ejecucion 3.4.1. Tecnologas GNOME
de la aplicacion.
El sistema servidor permite disponer de un unico GTK+ Librera que proporciona los widgets y con-
punto de acceso a la base de datos, de forma que to- troles. En Fisterra se utilizan los estandares de
das las operaciones contra ella se ejecutaran desde un desarrollo de interfaces del escritorio GNOME, y se
unico punto. Esto ademas elimina la dependencia de la observa el respeto por los estandares que define, en
base de datos para la gestion de la concurrencia. Para especial las HIG2 .
la creacion y gestion de datos se ha creado una estruc-
tura basada en un sistema de generacion de codigo, LibGlade Librera para la descripcion visual de inter-
que permite construir la estructura de objetos de ges- faces de usuario, y el uso de estas descripciones en
tion de datos de negocio de forma eficiente. EL objeto aplicaciones. La mayor parte de las interfaces de
principal es el barnacle del que heredan el resto de ob- usuario de Fisterra se desarrollan con esta herra-
jetos y que les proporciona una serie de caractersticas mienta.
estandares.
El servidor permite gestionar la operativa de distin- GObject Sistema que permite realizar orientacion a
tos clientes y disponer de una gestion global de autori- objetos en C, usado por el proyecto GNOME. Los
zaciones y control de las operaciones. objetos de negocio y la persistencia se implemen-
La capa de comunicaciones implementa las interfaces tan utilizando GObjects.
disponibles para su utilizacion en el cliente, se encar-
ga de aceptar las peticiones en el cliente y redirigirlas LibXML, libXSLT Libreras que implementan ope-
al servicio correspondiente. La tecnologa de comuni- raciones para manipulacion de ficheros XML, y
caciones se mantendra abstracta al sistema, pero para transformaciones XSL. Se utilizan en Fisterra co-
las implementaciones iniciales se utilizara CORBA. mo formato de intercambio.
En la capa de servicios se dividen en 2 tipos, servi-
Orbit Implementacion ligera de CORBA, protocolo
cios de utilidad y servicios de negocio. Ambos tipos se
de invocacion remota de metodos, y comunicacion
han implementando utilizando una estructura de ob-
de objetos interoperable. Se utiliza para la comu-
jetos con un tipo padre encargado de implementar las
nicacion entre los distintos servicios del sistema, y
caractersticas generales de los mismos, los EGBs (En-
entre cliente y servidor.
terprise Gnome Barnacles). Los EGBs nos permiten la
separacion del codigo de gestion de negocio. Los EGBs
especficos de servicio se encargan de la implementa- libGDA Librera de acceso a bases de datos del pro-
cion las funciones que exportan los modulos. Entre los yecto Gnome. Se utiliza para implementar el ac-
servicios utilidad se encuentran el acceso a datos, ges- ceso generico a bases de datos relacionales, y pro-
tion de workflow, gestion de sesion y elaboracion de porcionar as persistencia a la capa de negocio.
informes. Los servicios de negocio implementan com- 2 HIG (Human Interface Guidelines): Documento de normas
portamientos del negocio soportado por la aplicacion y y estandares sobre la implementacion de interfaces de usuario en
se apoya sobre los servicios utilidad, de esta forma las GNOME.

5
3.4.2. Otras tecnologas de aplicaciones basadas en Fisterra (solucion horizon-
tal comun), y por otro las implementaciones de los dis-
PostgreSQL Gestor de bases de datos relacional, que tintos sectores verticales especializadas y posiblemen-
implementa un gran conjunto de funcionalidades te adaptables para las necesidades de una empresa en
de SQL, de forma eficiente. Es la base de datos concreto. Tres sectores estan siendo desarrollados ya,
elegida para el almacenamiento de informacion en y sus partes comunes estan siendo abstradas, y dichas
Fisterra. implementaciones formaran parte de las proximas ver-
siones de Fisterra 2, completamente integrada con las
3.5. Publicacion y colaboracion mas recientes tecnologas del proyecto GNOME.
A pesar de que los desarrolladores del proyecto se en-
En el momento de elaboracion de este artculo se en- cuentran satisfechos con las decisiones tomadas, tanto
cuentra publicada (ademas de la version 1.5 completa tecnologicas como de diseno de arquitectura, es muy
y funcional, pero menos generica) en la web la version importante el intercambio y la colaboracion con otros
0.0.2 de Fisterra 2, esta formado por un subconjun- proyectos con objetivos similares, con lo que en es-
to de las funcionalidades de Fisterra sobre las que se tos momentos se estan llevando a cabo iniciativas para
han realizado las pruebas tecnologicas sobre el entorno contactar con los coordinadores de distintos proyectos
GNOME 2, consistentes en la migracion de la interfaz de software de gestion empresarial libre. En el futuro,
de Glade1 a Glade2 y la actualizacion de la librera Fisterra buscara todava mas la sinergia con otras
libgda a su version 0.12 desde la 0.2. Esta version es iniciativas, intentando ser una solucion mejor y mas
simplemente para realizar pruebas de desarrollo, pero completa para los usuarios de software libre.
en el CVS publico esta ya disponible la version ini-
cial de fisterra-base y el codigo inicial sobre el que se
esta construyendo un ejemplo de aplicacion para el sec- 5. Agradecimientos
tor de la distribucion. La primera version estable de
fisterra-base y el codigo para el sector de la distribu- Los autores del artculo quieren agradecer a Ja-
cion seran publicadas en el primer y segundo trimestre vier Vazquez Lamas, Xavier Castano Garca, Alber-
de 2004, respectivamente. to Garca Gonzalez, Jose Juan Gonzalez Alonso, Javier
Fernandez Garca-Boente, Alejandro Pineiro Iglesias, Xa-
Igalia esta trabajando actualmente en buscar puntos
vier Rodrguez Calvar, Eloy Froufe y Sergio Villar Senn su
de encuentro con otros proyectos para intercambiar ex- colaboracion en el desarrollo del proyecto Fisterra.
periencias y tratar de clarificar el futuro de las aplica-
ciones de gestion empresarial como Software Libre.
Referencias
[1] GNU Enterprise: http://www.gnuenterprise.org

4. Conclusiones y trabajo futuro [2] GNU Cash - Open Source accounting Software: http://www.gnucash.org

[3] Compiere, Smart Open Source ERP Software with integrated CRM Solu-
tions: http://www.compiere.org
En este artculo hemos presentado el presente y pla-
[4] ASPL-Fact, facturacion para Linux: http://fact.aspl.es
nes futuros de un nuevo proyecto de software libre lla-
mado Fisterra. El desarrollo del ERP Open Source [5] G-CTB: GNU ConTaBilidad: http://www.tecnopro.net/gctb

se encuentra en estos momentos inmerso en la segunda [6] Bulmages, contabilidad para Linux: http://bulmages.bulma.net

etapa de generalizacion, con la definicion de una ar- [7] FacturaLUX - Software ERP de codigo libre: http://www.facturalux.org

quitectura que marca el rumbo cara a un framework [8] GestiONG, Software solidario para organizaciones solidarias:
que permita definir con facilidad nuevas aplicaciones http://gestiong.sourceforge.net

de gestion empresarial para sectores distintos de los ya [9] Gestion Libre: http://gestion-libre.hispalinux.es

implementados. Con la version 1 ya estabilizada y en [10] LUCA, programa de gestion: http://www.vialibre.org.ar

funcionamiento, el proyecto y sus desarrolladores estan [11] GNUe Small Business Edition: http://www.gnu.org/software/gnue-sb
embarcados en una segunda fase intensa y compleja de
[12] Rent-Free: http://savannah.nongnu.org/projects/rentfree
la que debera salir, si todo sigue como esta previsto,
[13] JBoss, Professional Open Source: http://www.jboss.org
una version avanzada de la segunda version, siguiendo
las decisiones de diseno arquitectonico que se explican [14] RoadRunner, Industrial Strength BEEP Toolkit: http://rr.codefactory.se

en el artculo. Esta nueva version sera publicada en sus [15] Open Source Initiative: http://www.opensource.org

distintas versiones durante la primera mitad del ano [16] Garca Castro, Dapena Paz. GNOME for business appliances: case study
and architecture proposal. GUADEC IV Dublin, 2003.
2004.
Con estas lneas trazadas, se deja claro cual es el en-
foque actual del proyecto, que camina hacia un ERP
abierto en dos niveles diferentes: por un lado los com-
ponentes basicos que forman el framework de desarrollo

6
LA LIBRERA DE VISIN ARTIFICIAL OPENCV
APLICACIN A LA DOCENCIA E INVESTIGACIN1
V. M. Arvalo, J. Gonzlez, G. Ambrosio
Dpto. De Ingeniera de Sistemas y Automtica, Universidad de Mlaga. Espaa
varevalo@ctima.uma.es

En este artculo describimos las caractersticas fundamentales de la librera de visin artificial y cdigo
abierto The Open Computer Vision Library (OpenCV a partir de ahora). La librera OpenCV proporciona
un marco de trabajo de alto nivel para el desarrollo de aplicaciones de visin por computador en tiempo
real: estructuras de datos, procesamiento y anlisis de imgenes, anlisis estructural, etc. Este marco de
trabajo facilita en gran manera el aprendizaje e implementacin de distintas tcnicas de visin por
computador, tanto a nivel docente como investigador, aislando al desarrollador de las peculiaridades de los
distintos sistemas de visin. De igual forma, presentamos algunos ejemplos de la utilizacin de dicha
librera en docencia e investigacin por parte del Dpto. de Ingeniera de Sistemas y Automtica de la
Universidad de Mlaga.
Palabras clave: Software libre, visin por computador, procesamiento de imgenes, docencia,
investigacin, etc.

1. Introduccin
La necesidad de disponer de un paquete de visin por computador y procesamiento de imgenes lo
suficientemente flexible como para proporcionar herramientas de alto nivel para el desarrollo de las
prcticas docentes que imparte el Dpto. de Ingeniera de Sistemas y Automtica de la Universidad de
Mlaga; y la potencia, escalabilidad y disponibilidad del cdigo fuente para el desarrollo de los distintos
proyectos fin de carrera y tesis doctorales que dirige dicho departamento, propici una bsqueda incesante
de software que cumpliera dichas caractersticas y sobre todo que fuese gratuito, estuviese
soportado/revisado por personal cualificado y adems se le intuyese una larga vida.
Son muchos los paquetes de procesamiento de imgenes comerciales y software libre disponibles
actualmente, y muchas las ventajas e inconvenientes de cada uno de ellos.
Entre los distintos paquetes comerciales disponibles actualmente destacan por su potencia The Matrox
Image Library (MIL) [1], Khoros, eVision, HIPS, Exbem, Aphelion, etc. sin embargo, el principal
inconveniente es su elevado precio y su ciclo de actualizacin, muchas veces, relativamente largo. Algunos
de ellos carecen de un entorno de desarrollo de alto nivel (i.e. HIPS), otros disponen de ste, pero estn
ligados a la plataforma de desarrollo (i.e. Khoros - Unix, Linux; Exbem - MacOS; eVision, Aphelion -
Windows) o al propio hardware de captura (i.e. MIL). Todos ellos proporcionan funciones de
procesamiento y anlisis de imgenes, reconocimiento de patrones, estadsticas, calibracin de la cmara,
etc. a travs del propio entorno o a travs de libreras de funciones, desarrollados en la mayora de las
ocasiones en C/C++. Sin embargo, tan slo HIPS pone a disposicin del cliente su cdigo fuente, y en la
mayora de los casos hablamos de libreras monolticas, muy pesadas y no demasiado rpidas.
Por otro lado, son muchos los paquetes no comerciales (con y sin licencia Software Libre) disponibles en
el mercado, entre ellos destacan OpenCV, Gandalf, TargetJr, VXL (basado en TargetJr), CVIPTools,
ImageLib, ImLib3D (Linux), LookingGlass, NeatVision (Java), TINA y XMegaWave (Unix/Linux).
Todos ellos disponen de herramientas para el procesamiento de imgenes, pero a excepcin de OpenCV y
Gandalf ninguno proporciona un marco de trabajo completo para el desarrollo de aplicaciones relacionadas
con la visin por computador. Esta capacidad de desarrollo contempla, no slo el procesamiento de
imgenes, sino tareas mucho ms complejas como el reconocimiento de gestos, estimacin del movimiento
y la posicin de un objeto, morphing, estimadores (filtros de Kalman, etc.), etc. Sin embargo, slo
OpenCV proporciona bibliotecas de tipos de datos estticos y dinmicos (matrices, grafos, rboles, etc.),
herramientas con la posibilidad de trabajar con la mayora de las capturadoras/cmaras del mercado,
entornos de desarrollo fciles e intuitivos y todo ello, corriendo en dos de los sistemas operativos ms
utilizados del mundo Microsoft Windows y Linux.

1
Este trabajo ha sido financiado por el proyecto CICYT DPI-2002-01319.

1
El artculo est estructurado de la siguiente forma. En la seccin 2 describimos las caractersticas de The
Open Computer Vision Library. En la seccin 3 detallamos algunas de las aplicaciones de dicha librera a
la docencia e investigacin. Finalmente, en la seccin 4, presentamos las conclusiones de este trabajo.

2. The Open Computer Vision Library


El 13 de Junio del 2000, Intel Corporation anunci que estaba trabajando con un grupo de reconocidos
investigadores2 en visin por computador para realizar una nueva librera de estructuras/funciones en
lenguaje C. Esta librera proporcionara un marco de trabajo de nivel medio-alto que ayudara al personal
docente e investigador a desarrollar nuevas formas de interactuar con los ordenadores. Este anuncio tuvo
lugar en la apertura del IEEE Computer Society Conference on Computer Vision and Pattern Recognition
(CVPR). Haba nacido The Open Computer Vision Library [5] y lo haca bajo licencia BSD (Software
Libre).
La librera OpenCV es una API de aproximadamente 300 funciones escritas en lenguaje C que se
caracterizan por lo siguiente:
Su uso es libre tanto para su uso comercial como no comercial (ver licencias en [2], [3] y [4] para
ms informacin).
No utiliza libreras numricas externas, aunque puede hacer uso de alguna de ellas, si estn
disponibles, en tiempo de ejecucin.
Es compatible con The Intel Processing Library (IPL) y utiliza The Intel Integrated
Performance Primitives (IPP) para mejorar su rendimiento, si estn disponibles en el sistema.
Dispone de interfaces para algunos otros lenguajes y entornos: EiC - intrprete ANSI C escrito por
Ed Breen. Hawk y CvEnv son entornos interactivos (escritos en MFC y TCL, respectivamente)
que utilizan el intrprete EiC; Ch - intrprete ANSI C/C++ creado y soportado por la compaa
SoftIntegration; Matlab - gran entorno para el clculo numrico y simblico creado por
Mathworks; y muchos ms3.

2.1 Estructura y caractersticas de la librera OpenCV


La librera OpenCV esta dirigida fundamentalmente a la visin por computador en tiempo real. Entre sus
muchas reas de aplicacin destacaran: interaccin hombre-mquina (HCI4); segmentacin y
reconocimiento de objetos; reconocimiento de gestos; seguimiento del movimiento; estructura del
movimiento (SFM5); y robots mviles.

Figura 1: Estructura de la librera OpenCV.

2
Intel facilit el desarrollo y mantenimiento de la librera OpenCV aceptando y manteniendo las propuestas de cdigo fuente
revisadas por un grupo de expertos de la comunidad investigadora. Revisores que incluan representantes de los ms
importantes laboratorios de visin incluyendo: Jitendra Malik, University of California Berkeley; Takeo Kanade, Carnegie
Mellon University; Pietro Perona, NSF Engineering Research Center, California Institute of Technology; Irfan Essa, Georgia
Institute of Technology; Carlo Tomasi, Stanford University; Trevor Darrell, Massachusetts Institute of Technology; Stan
Sclaroff, Boston University.
3
Son muchos los proyectos Software Libre en avanzado estado de gestacin que hacen uso de la librera OpenCV como
marco de trabajo, entre ellos podemos destacar: Foresight; OpenCV User Contribution Library y S2iLib (visitar
www.sourceforge.net para ms informacin).
4
Del trmino ingls Human-Computer Interaction.
5
Del trmino ingls Structure From Motion.

2
Como podemos ver en la figura 1, la librera OpenCV proporciona numerosos elementos de alto nivel,
como veremos en secciones posteriores, que facilitan sobre manera el trabajo al usuario (tanto al docente
como al investigador). Por ejemplo, proporciona filtros Microsoft DirectShow para realizar tareas tales
como: calibracin de la cmara, seguidores de objetos (Kalman tracker y ConDensation tracker), etc.
Todos ellos se pueden utilizar en Microsoft GraphEdit para ilustrar de forma bastante sencilla numerosas
aplicaciones de visin. En la figura 2 y figura 3 podemos observar un ejemplo de ellos.

Figura 2: Seguidor de caras realizado con un filtro Figura 3: Salida del seguidor de caras realizado
de Kalman. con un filtro de Kalman.

De igual forma, la librera OpenCV proporciona numerosas aplicaciones de ejemplo que ilustran como
emplear las distintas funciones de la librera. En la figura 4 podemos ver una implementacin de los HMM
(Hidden Markov Models) para el reconocimiento de caras.

Figura 4: Detector de caras realizado con HMM (Hidden Markov Models).


Tambin los entornos de scripting hacen uso de estas funciones para implementar su funcionalidad. La
librera OpenCV proporciona una gran diversidad de entornos. En la seccin 2.2 detallamos de forma
pormenorizada algunos de los ms utilizados.
Todas estas herramientas de alto nivel hacen uso de un paquete de clases C++ y funciones C de alto nivel
que utilizan a su vez funciones muy eficientes escritas en C. Concretamente, el conjunto de funciones
suministradas por la librera OpenCV se agrupan en los siguientes bloques:
Estructuras6 y operaciones bsicas: matrices, grafos, rboles, etc.
Procesamiento y anlisis de imgenes: filtros, momentos, histogramas, etc.
Anlisis estructural: geometra, procesamiento del contorno, etc.
Anlisis del movimiento y seguimiento de objetos: plantillas de movimiento, seguidores (i.e.
Lucas-Kanade), flujo ptico, etc.
Reconocimiento de objetos: objetos propios (eigen objects), modelos HMM, etc.
Calibracin de la cmara: morphing, geometra epipolar, estimacin de la pose (i.e. POSIT), etc.
Reconstruccin tridimensional (funcionalidad experimental): deteccin de objetos, seguimiento de
objetos tridimensionales, etc.
Interfaces grficos de usuarios y adquisicin de video.
En la figura 1 tambin podemos observar como la librera OpenCV puede hacer uso de libreras
propietarias como son en este caso The Intel Image Processing Library (IPL) y The Intel Integrated
Performance Primitives (IPP) en caso de disponer de ellas. Estas aplicaciones tratan de mejorar el

6
Todas estas estructuras disponen de funciones para su gestin: creacin, inicializacin, destruccin, conversin,
estadsticas, etc. Por ejemplo, la librera OpenCV dispone de todo un conjunto de funciones para realizar operaciones con
matrices, lgebra lineal (SVD, Mahalanobis, etc.) y funciones matemticas de propsito general.

3
rendimiento de la librera con primitivas optimizadas para procesadores Intel. Sin embargo, la licencia
por las que se rigen estas aplicaciones no es software libre y por tanto carece de inters para los autores.

2.2 Interfaces grficos y herramientas de la librera OpenCV


La librera OpenCV proporciona varios paquetes de alto nivel para el desarrollo de aplicaciones de visin.
Todos ellos se pueden agrupar en libreras de C/C++ dirigidas a usuarios avanzados y en herramientas de
scripting dirigidas, en este caso, a usuarios de nivel medio (ideal para practicar con las distintas tcnicas de
procesamiento de imgenes y visin). Al primer grupo pertenecen HighGUI y CvCam, mientras que al
segundo pertenecen Hawk y OpenCV Toolbox para Matlab.
HighGUI permite la escritura/lectura de imgenes en numerosos formatos (BMP, JPEG, TIFF, PxM, Sun
Raster, etc.) y la captura de stream de video de capturadoras Matrox y cmaras/capturadoras con drivers
VFW/WDM (la mayora del mercado); la creacin de ventanas para visualizar imgenes en ellas, las
ventanas HighGUI recuerdan su contenido (no es necesario implementar callbacks de repintado); y
adems, nos proporciona mecanismos muy fciles de interaccionar con ellas: trackbars, capturando la
entrada del teclado y el ratn.
CvCam nos proporciona un nico interfaz de captura y reproduccin bajo Linux y Win32; callbacks para
la gestin de stream de vdeo o ficheros AVI y un mecanismo fcil para implementar visin estreo con
dos cmaras USB o una estreo-cmara.
Hawk es un entorno visual con el intrprete ANSI C EiC como ncleo; soporta plugins; proporciona
soporte para OpenCV, IPL y HighGUI va plugin; y soporte de video.

Figura 5: Hawk (EiC).


Por ltimo, la librera OpenCV proporciona un toolbox para Matlab que se caracteriza por lo siguiente:
Utiliza tipos nativos de Matlab (matrices, estructuras).
Compatibilidad con la Image Processing Toolbox.
En la figura 6 podemos ver una implementacin de un seguidor de caras denominado CamShift con el
OpenCV Toolbox para Matlab.
% Seguidor de caras Camshift, mejorado con filtro de ruido
function new_window = track_obj( img, obj_hist, window, thresh )
probimg = cvcalcbackproject( img, obj_hist );
% Eliminamos pequeos huecos a travs de la operacin morfolgica 'close'
probimg = cvclose( probimg, 3, 2 );
probimg = cvthresh( probimg, thresh ); % Umbralizamos la imagen
contours = cvfindcontours( probimg, 'external' ); % Localizamos los contornos
mask_img = zeros(size(contours));
for i = 1:length(contours)
% Eliminamos los contornos pequeos;
if contous(i).rect(3)*contous(i).rect(4) < 30
contours(i).pt = [];
end
end
mask_img = cvfillcontours( mask_img, contours, 'w' ); % Obtenemos la mascara
new_window = cvcamshift( mask_img, window ); % Aplicamos el seguidor CamShift a la mascara
return;

Figura 6: Seguidor de caras CamShift implementado con Matlab.

4
3. Aplicacin de la librera OpenCV en docencia e investigacin
Como hemos detallado en secciones previas, la librera OpenCV nos proporciona el marco de trabajo ideal,
tanto por el desarrollo de pequeas aplicaciones prcticas, ideales como apoyo a la docencia en asignaturas
relacionadas con la visin por computador, como para el desarrollo de la labor investigadora de cualquier
grupo de visin.
En labores docentes es de gran inters disponer de herramientas que permitan al alumno experimentar las
diferentes tcnicas y procedimientos tericos (metodolgicos) explicados en clase.
Una de las herramientas ms utilizadas a nivel acadmico es el paquete matemtico Matlab. Este paquete
se utiliza en numerosas asignaturas como apoyo a la docencia y es ampliamente conocido por el mundo
universitario. Matlab dispone de un toolbox denominado Image Processing Toolbox que permite cargar
imgenes en distintos formatos, visualizarlas y manejarlas como matrices numricas. Sin embargo, carece
de muchas de las caractersticas a las que hacamos referencia en la seccin 1, y que debera cumplir
cualquier paquete de visin por computador que se precie. La librera OpenCV proporciona un toolbox que
aprovecha muchos de los tipos de datos, estructuras y en general, la potencia que este paquete ofrece, para
facilitar al usuario de nivel medio-bajo el acercamiento a muchas de las tareas habituales de la visin por
computador. En la figura 6 podemos ver un ejemplo de cdigo Matlab de un seguidor de caras
denominado CamShift, en la figura 7 podemos ver la salida de dicho algoritmo.

Figura 7: Salida del seguidor de caras CamShift.


Otro de los lenguajes ms utilizados en el mbito universitario es el lenguaje C. La librera OpenCV
tambin proporciona, como ya hemos visto en secciones anteriores, numerosas libreras de apoyo que nos
permiten implementar de forma sencilla y rpida aplicaciones de visin, obviando aspectos tales como las
caractersticas de la cmara, el formato de las imgenes, etc. En la figura 8 podemos observar el cdigo de
un programa suministrado al alumno para que se familiarice con el entorno Hawk y con el operador de
Canny de extraccin de bordes7. En la figura 9 podemos observar la imagen de entrada y dos imgenes de
bordes obtenidas con distintos parmetros de procesamiento.
void on_trackbar(int h) {
cvCanny(gray, edge, 0.0f, (float)edge_thresh*5, 3); // Detectamos la imagen de bordes
cvCopy( image, cedge, edge ); // Copiamos la imagen de bordes
cvShowImage(wndname, cedge);
}
int main( int argc, char** argv ) {
char wndname[] = "Edge", tbarname[] = "Threshold", filename[] = "fruits.jpg";
if( (image = cvLoadImage( filename, 1)) == 0 ) return -1;
// Creamos la imagen de salida
cedge = cvCreateImage(cvSize(image->width,image->height), IPL_DEPTH_8U, 3);
// Convertimos a escala de grises
gray = cvCreateImage(cvSize(image->width,image->height), IPL_DEPTH_8U, 1);
edge = cvCreateImage(cvSize(image->width,image->height), IPL_DEPTH_8U, 1);
cvCvtColor(image, gray, CV_BGR2GRAY);
cvNamedWindow(wndname, 1); // Creamos una ventana y un trackbar
cvCreateTrackbar(tbarname, wndname, &edge_thresh, 100, on_trackbar);
on_trackbar(0); // Mostramos la imagen
cvWaitKey(0); // Esperamos a que el usuario pulse una tecla
cvReleaseImage(&image); cvReleaseImage(&gray); cvReleaseImage(&edge);
cvDestroyWindow(wndname);
return 0;
}

Figura 8: Operador de extraccin de bordes Canny escrito con C.

7
La extraccin de bordes constituye una de las etapas del procesamiento de imgenes ms habituales e importantes. La
librera OpenCV nos proporciona una funcin de extraccin de bordes que nos permite trabajar en tiempo real con un
rendimiento aceptable.

5
Imagen fuente Canny (t=1) Canny (t=30)

Figura 9: Salidas del operador de Canny.


Todo lo expuesto anteriormente es perfectamente extrapolable a cualquier investigador que desarrolle su
labor en algn rea de la visin por computador. Adems, la disponibilidad del cdigo de la librera
permite aadir nuevas funcionalidades o simplemente modificar las existentes (respetando siempre los
requisitos exigidos por la licencia BSD-Software libre [2] por la que se rige la misma) lo que proporciona
una ventaja aadida. As mismo, es importante sealar que existe una lista de distribucin
(OpenCV@yahoogroups.com) con cientos de usuarios en la que se discuten aplicaciones, bugs, etc. y un
grupo de cualificados revisores encargados de examinar exhaustivamente todas las contribuciones de
cdigo antes de incorporarlas a la siguiente versin estable de la librera.

4. Conclusiones
Segn lo expuesto a lo largo de este artculo, The Open Computer Vision Library constituye una de las
apuestas ms interesantes e importantes en visin por computador a lo largo de los ltimos tiempos y
adems Software Libre. Su estabilidad, escalabilidad, su rpido crecimiento y desarrollo garantizan su
continuidad y la hacen especialmente til en el mbito universitario, para la realizacin de tareas de
docencia e investigacin a corto, medio y largo plazo.

Referencias
[1] Matrox Electronic Systems Ltd. Matrox Imaging Library (MIL).
www.matrox.com/imaging/products/mil/home.cfm, 2003.
[2] Open Source Initiative. The BSD License. www.opensource.org/licenses/bsd-license.php, 2003.
[3] Open Source Initiative. The MIT License. www.opensource.org/licenses/mit-license.php, 2003.
[4] Open Source Initiative. The Open Source Definition. www.opensource.org/docs/definition.php,
2003.
[5] The Open Computer Vision Library.
www.intel.com/software/products/opensource/libraries/cvfl.htm, 2003.

6
Cdigo 00/00 1

Repercusin Socieconmica del


Software Libre

1 Concepto
[Software Libre vs Open Source]

2 Impacto

3 Conclusiones

4 Oportunidades

roberto.santos@hispalinux.es
Cdigo 00/00 2

Concepto
www.gnu.org [punto de vista tico]
"Software Libre" se refiere a la libertad de los usuarios de correr,
copiar, distribuir, estudiar, cambiar y mejorar el software.
[1 libertad] La libertad de ejecutar el programa, con cualquier propsito.
[2 libertad] La libertad de estudiar como funciona el programa, y adaptarlo a
sus necesidades.

El acceso al cdigo fuente es una precondicin para esto.
[3 libertad] La libertad de distribuir copias de manera que se puede ayudar a
los dems.
[4 libertad] La libertad de mejorar el programa, y distribuir las mejoras al
publico de tal manera que toda la comunidad se beneficia.
El acceso al cdigo fuente es una precondicin para esto.

Los programadores empiezan a compartir sus programas entre ellos


con estas condiciones desde el mismo origen de la informtica.
La popularizacin de los ordenadores e Internet hace que hoy dia haya
cientos de miles de programas con distintas calidades y capacidades.

roberto.santos@hispalinux.es
Cdigo 00/00 3

Concepto
www.opensource.org [punto de vista prctico]
"Open Source" establece como derecho el acceso al cdigo fuente de
los programas y adems garantiza:
[1] Libre redistribucin.
[2] Inteligibilidad del cdigo fuente (no ofuscacin)
[3] Trabajos derivados
[4] Integridad del cdigo fuente del autor
[5] No discriminacin de personas o grupos
[6] No discriminacin de uso en determinados campos
[7] La licencia no debe ser especfica a un producto
[8] La licencia no debe restringir a otro Software
[9] La liceencia debe ser tecnolgicamente neutral
Los Empresas de Software distribuyen sus programas bajo estas
premisas ya que obtienen benficios en el la disminucin del coste de
distribucin y de desarrollo al reaprovechar y compartir esfuerzos.
El efecto red hace que monopolios, teoricamente inexpugnables,
queden seriamente afectados en muy poco tiempo. Esto hace que
se este usando la liberacin de aplicaciones como arma comercial.
roberto.santos@hispalinux.es
Cdigo 00/00 4

Concepto
Cuidado con las acepciones:
Cdigo abierto <> Software Libre
Existe Software en el que se muestra el cdigo fuente pero que no permite
ser ejecutado en cualquier circunstancia, o modificarlo o redistribuirlo sin
trabas
Software Comercial <> Software Propietario
El Software Libre tambin se comercializa (Esware, Hispafuentes,
Debian/Citius)
Sotware Gratis <> Software Libre
Internet Explorer es Gratis pero no Libre.
Cuidado con las licencias
Leer las licencias es hoy dia una prioridad mayor que conocer la
tecnologa o facilidades del software
La GPL (Licencia Pblica General) es la ms utilizada.
Guia de licencias libres
http://www.gnu.org/licenses/licenses.es.html

roberto.santos@hispalinux.es
Cdigo 00/00 5

Impacto
SOFTWARE
Se pueden elegir miles de aplicaciones de todas clases; generalistas y
verticales. puedes probarlas, adaptarlas, usarlas..(Debian, Sourceforge,
BerliOS, Sabanah, freshmeat...

No se paga licencia por cada mquina que se instala ni por cada


instancia de acceso a un servidor ni por cada CPU, slo se pagan los
servicios profesionales ajenos, si se necesitan.

Se desarrolla software sin partir de cero. El cliente obtiene software de


"alta costura", hecho a medida, a precio "pret-a-porter".

El cliente decide las funcionalidades, no el marketing de la empresa

Existe competencia real en el mercado de software porque todos tienen


a su disposicin TODO el cdigo fuente libre (que es muchsimo).

roberto.santos@hispalinux.es
Cdigo 00/00 6

Impacto
HARDWARE
GNU/Linux funciona en multitud de arquitecturas hardware de
potencias muy variadas (Debian => 11 distintas).
Esto le permite elegir y comparar
GNU/Linux es muy modular
Puede reutilizar su hardware
Puede escalar bajo demanda
GNU/Linux es muy eficiente
Se necesita hardware menos potente (y caro)

El dimensionado de sistemas y la previsin de escalabilidad


cambia. Ahora se hace bajo demanda y adems se puede elegir la
arquitectura ms adecuada a sus necesidades porque el software
es ESTANDAR.

Se optimiza la inversin en hardware.

roberto.santos@hispalinux.es
Cdigo 00/00 7

Impacto
SOPORTE
Cualquier empresa le puede dar soporte de calidad, no slo la creadora
del software.
Tu decides cuando quieres actualizar a una nueva versin no la
estrategia comercial de terceros
La experiencia ganada por los tcnicos propios es extrapolable a toda
la gama de hardware (el Software es ESTANDAR)

Existe competencia real en la eleccin de soporte tcnico de


cualquier nivel.

roberto.santos@hispalinux.es
Cdigo 00/00 8

Impacto
FORMACION
Cualquier empresa puede ofrecer una formacin de la misma calidad
que slo poda ofrecer antes la empresa creadora.
Software Libre =>Conocimiento acumulativo (Inversin)
Software Propietario => Formacin Continua ante distintos Programas
(Gasto)

Baja drsticamente el coste de la formacin altamente cualificada


o especializada.

roberto.santos@hispalinux.es
Cdigo 00/00 9

.
Impacto
INTEROPERABILIDAD DE LOS SISTEMAS
Slo el Software Libre garantiza el respeto a los estndares en los formatos,
protocolos e interfaces por su propia filosofa

SEGURIDAD Y PRIVACIDAD
Se reduce la ventana de exposicin de riesgo.
Las pandemias de virus no existen
Permite auditoras de cdigos espa o maliciosos.

EL ENRIQUECIMIENTO TECNOLGICO
El acceso profundo al conocimento que permite la inspeccin del
Cdigo fuente garantiza la independencia tecnolgia y aporta fortaleza
en el mercado.

roberto.santos@hispalinux.es
Cdigo 00/00 10

Impacto

.
PRODUCTIVIDAD Y ESCALABILIDAD
La estandarizacin de plataforma a todos los niveles reduce el ratio
gasto/capacidad de computo.
La flexibilidad funcional del personal aumenta significativamente la
productividad global.

LGICA DE NEGOCIO
Los sistemas informticos se adaptan a los procesos dela organizacin
y no viceversa, como ocurra hasta ahora.

FOMENTO DEL IDIOMA PROPIO


Actualmente, todas las lenguas que se hablan en Espaason minoritarias en
Internet y tienen pocas posibilidades de desarrollarse en el mundo del
software de licencia propietaria puesto que se depende de los intereses
comerciales.
En el software Libre se pueden realizar traduccin, Correccin ortogrfica y
gramatical o cualquier localizacin sin necesidad de obtener permisos.

roberto.santos@hispalinux.es
Cdigo 00/00 11

Dificultades

Dificultad en comunicar estas caractersticas a quien puede tomar


decisiones de alto nivel.
Los procedimientos de adquisicin-contratacin siguen orientados a
producto en lugar de a servicio y tienen inercias muy fuertes.
La irresponsabilidad de algunos tcnicos/asesores que "compran
(piden) pero no tienen que pagar (paga la empresa)".
La desidia de algunos tcnicos/asesores que realmente no tratan de
solucionar los posibles problemas si no de eludir las responsabilidades
Los tcnicos no quieren ms cambios , estn descredos de todo
debido a los continuos desengaos de productos "maravillosos" que,
al final, estn llenos de problemas, dificultades y costos que se aaden
constantemente.
Generalmente el acceso a los mbitos de decisin se realiza a travs de
mandos intermedios que pueden filtrar o tergiversar la informacin por
algn tipo de beneficio "personal".

roberto.santos@hispalinux.es
Cdigo 00/00 12

Conclusiones

.
Las principales consecuencias que produce el uso intensivo y
extensivo de software libre son:

La efectiva liberalizacin del mercado informtico


Ms calidad a menor costo
Se amplia el mercado potencial al tener unos costes asumibles por ms
entidades y empresas.
La independencia tecnolgica de la compaa y de la sociedad.
La capacitacin propia para la investigacin y desarrollo.
El aumento en la capacidad de innovacin en el resto de mbitos de
negocio y de los sectores productivos.
El estmulo del empleo de mecanismos de Colaboracin como
metodologa de trabajo que ayuda a Compartir esfuerzos en pro de una
mejor competitividad.

roberto.santos@hispalinux.es
Cdigo 00/00 13

Oportunidad

.
EL MERCADO EST ABIERTO
www.debian.org
Ms de 11 000 paquetes de software
Estrictos criterios de calidad
Organizacin descentralizada y no intervenida
www.sourceforge.net
Mas de 50 000 proyectos de Software Libre
www.google.org

Las oportunidades de negocio debido al bajo umbral para


informatizar a clientes son inmensas
Varios modelos de negocio [como si fuera Software propio]
ASP, outsourcing, soporte, mejora....
No competimos contra nuestro vecino, competimos contra el
resto del mundo.

roberto.santos@hispalinux.es
Da 19-16.00h

Sala 2: Grandes Empresas, Movilidad y Telecomunicaciones

Moderador. Carlos Lpez Director General Sadesi

Participantes

Jorge Gat Director I+D Vodafone Europa


Jose M Boixeda de Miquel Gas Natural S.A.
Javier Achirica Lpez Experto en Tecnologas IP. Oficina eBA.
Telefnica Empresas
Jos Luis Guzmn Carvallo Auna Grandes Clientes
Jordi Palet Consulintel
Mark Valdma Per Scitum Ltd.
Pedro J. Gmez Confederacin Hidrogrfica del Guadalquivir
Ricardo Sanfeliz Zurita Gerente Consultoria Getronics
DATA EXCHANGE SYSTEM DOORPIT
Text created by Mark Valdma

A data exchange system for two-channel data exchange and its application in the
second generation GPRS mobile telephony and in the third generation mobile data
exchange.

The data exchange system comprises a server (5), which has 2 channels: a
parallel information channel (PI) and an event-oriented (EO) data communication
channel for the communication of the user with other users.

The parallel information channel (PI) is configurated to transmit fast and


universal parallel information. The event-oriented data communication channel (EO) is
configurated for the realization of economical data communication. The data exchange
system is suitable for the transmission of events, commands, statuses, and data.

Domain of the invention

The present invention deals with a data exchange system, more exactly a system
for two-channel data exchange and its application in the 2.5 generation GPRS mobile
telephony and in the third generation mobile data exchange. Based on the general data
communication model Open Systems Interconnection (OSI) and on the five-layered
TCP/IP (Transmission Control Protocol/Internet Protocol) network model, the system
has been developed for the applications of TCP/IP layers 6 and 7.

Background of the invention

The system of the invention is first and foremost meant for mobile clients,
considering the services of modern GPRS data communication and the third generation
data communication. Operators of mobile data communication provide the service of
GPRS data communication, where, in most cases, it is the amount of data
communication that is calculated and charged. The economical data communication
protocol guarantees a faster and cheaper data exchange environment (as compared to the
protocols of HTML, etc.). The application service (e.g. EMS for the transmission of
events and messages via GPRS data communication channel) provided by using the
system of the invention guarantees a 10-100 times faster and cheaper service as
compared to todays services such as SMS.

The data communication channel is configurated to transmit fast and universal


parallel information (PI). The data communication channel is minimally adapted to the
type of the object. The data communication channel guarantees the physical and logical
methods for the data exchange concerning an object, i.e. a thing or phenomenon, having
a functional and a data part. In order to exchange parallel information, world wide
systems can be used: web (ASP), satellite communication, synchronisation programs of
computers, etc. Through the parallel information channel, the initialisation of the object
takes place: the installation, the description of the events, the transmission of static data,
etc.

The economical data communication takes place through the event-oriented


(EO) data communication channel.

The TCP/IP state of the art data communication protocol is complemented by


the invention-based data exchange system DooRtm and different applications: EMStm
the application for the exchange of events and messages, NiCETM the observation
system of moving objects (the transfer of geographical coordinates by using DooRTM
method), ToDoTM the application of projects, meetings, and responses to questions.
The aforementioned applications communicate with the server on the basis of a timer,
event, or command.

The communication of the objects initialised beforehand with a special DooR


TM server takes place through special data exchange protocol I. The SOI channel is
configurated for the economical data communication where the objects are maximally
aware of what is going on (the fat client). The communication takes place through
the DooR TM server where communication with several clients is reduced to the level
of the communication between the client and the server. The system of the invention
enables communication with several clients who repeatedly change their IP addresses in
the course of a session (the dynamic IP addressing). The DooR TM server with the data
exchange protocol (SOI) provides the data exchange system in the SOI data
communication channel. The invention-based data exchange system is envisaged for the
transmission of events, commands, statuses, and data.

Brief description of the drawings

Drawing fig. 1 provides the ISO/OSI data exchange model.


Drawing fig. 2 provides the general layout of DooR TM data exchange system.
Drawing fig. 3 provides the block layout of the server for the realisation of two-channel
data communication.

Detailed description of the invention

Drawing fig. 1 provides the ISO/OSI data exchange model using the model of
TCP/IP network. TCP/IP comprises five layers: physical layer 1, data link layer 2,
network layer 3, transportation layer 4, and session layer including the invention-based
server 5. The TCP/IP five-layered model is a state of the art and will not be described
here in greater detail. The invention-based data exchange system uses layer 6
(presentation layer) and layer 7 (application layer).

Drawing fig. 2 provides the invention-based data exchange system built on


TCP/IP network model, which includes two channels: parallel information channel (PI)
and event-oriented (EO) channel, which is the channel of data transmission. Server 5 of
the data exchange system is configurated to be on stand-by to listen to the port allocated
to the service. The connection is launched by a client (Kp) 8. The server is configurated
to check the user name and the password and to register Kp as a client. From this
moment on, user 8 can communicate with other users 9.

Drawing fig. 3 provides the invention-based server 5. The server includes a


Small Society module 10 to register, assess, and group users. Initially, the server is on
stand-by and listens to the port allocated to the service. The connection is launched by
the client (Kp) (not shown). The user name and password are transmitted to the server.
The server is configurated to check the user name and the password and the "Small
Society" module of the server is configurated to register Kp as a user. Module 11 (Plan)
is configurated to transmit the control command after the registration and to identify the
type of the service and the need for data exchange. Modules 10 and 11 are configurated
to link the needs for data exchange of clients K1-Kn (not shown). If necessary, the data
is transmitted to the user. Module 12 (Streame) is configurated to transmit data or, if the
data is absent, then module 13 (Depot) is configurated to perform an inquiry to the layer
of services and to translate the result into a suitable format. Module 13 is configurated
according to module 11 to request data from the layer of services (through ASP or
directly from the database) and to change the received data into attributes, data
carriages. Module 11 is configurated to transmit the needed data to the client.
Relational data are presented as data carriages, attributes, which, analogously with
module 11, are configurated to be transmitted as a data train. A mobile client 14 is
connected to the server. Module 13 is configurated to communicate with module 15 of
the invention-based applications.
JAVA 2 ME Y MOVILIDAD. SOLUCIONES PRCTICAS.
R.Sanfeliz
Getronics Espaa Solutions. Grupo de movilidad. Espaa
ricardo.sanfeliz@getronics.com

Java2Me o J2Me (Java 2 Platform, Micro Edition), es una evolucin de Java enfocada a la
aplicacin de esta tecnologa en dispositivos electrnicos con capacidades computacionales y
grficas muy reducidas, tales como telfonos mviles, PDAs (Personal Device Assistant) o
electrodomsticos inteligentes, ello permite que se dote de una capacidad computacional o
"inteligencia" a este tipo de dispositivos facilitando la creacin de "procesos de negocio"
impensables hace pocos aos.

La ponencia se inicia con una reflexion acerca de Java Vs Software libre y el papel asumido
por la JCP (Java Community Process ) en la definicin de las JSR (Java Specification
Request) sobre los UJSR (Umbrella Java Specification Request ) sobre J2Me, adems de
explicar amenamente los componentes de Java y de manera especifica los de J2Me.

Pondremos ejemplos de dispositivos y aplicaciones que estn funcionando as como futuras


utilidades usando dichos dispositivos, destacando la alta productividad, descarga y
construccin de aplicativos, seguridad y portabilidad o migrabilidad hacia multitud de
dispositivos y entornos operativos.

Antes de seguir definiremos lo que entendemos por soluciones de movilidad (aqu, ahora y en
cualquier momento con un solo dispositivo) y las propiedades que deben tener soluciones que
aborden ntegramente dicho paradigma, una vez realizado esto dispondremos los
componentes existentes en J2Me que permite realizar dichas soluciones.

Veremos como ejemplo, como se definen los servicios que presta una operadora de
telecomunicaciones y un banco, por ejemplo para publicar la localizacin de oficinas
bancarias. Para ello veremos como se puede especificar utilizando OSA/Parlay (Open Service
Architecture) y MexE (Mobile Station Application Execution Environment).

Se acabara la ponencia haciendo una reflexin acerca de que deben hacer los integrantes en
este tipo de tecnologa para conseguir que sea ampliamente extendida y consiguiendo que sea
un estndar de facto de manera tal que el universo sobre el que se esta construyendo el mundo
de la movilidad sea una realidad

Palabras clave: J2Me, Movilidad, Software Libre, JCP


Da 20-12.00h

Sesin Auditorio: Seguridad y Modelos de Innovacin

Moderador Mariano J. Morano Telecom. Argentina


.
Participantes

Richard Moore Arquitecto RAS de IBM Linux Technology Center


David Evans University of Virginia.
Eduardo Tric Axetel.
Adolfo Plasencia Universidad Politcnica de Valencia
Jorge Ortiz Hewlett Packard Espaola
Eckardt Kehl Fujitsu Siemens
Jose M Vila Presidente SEDISI
La crisis econmica como punto de partida del desarrollo del software
libre en Argentina

Lic.Mariano Morano
Enero de2004, Buenos Aires, Argentina
mmorano@usa.net

Crisis econmica y software libre

Para poder comprender la relacin existente entre el crecimiento del software


libre en Argentina y la crisis econmica, se presenta a continuacin una breve resea de
lo sucedido en los ltimos aos en materia econmica.

En 1998, la Argentina ingres en lo que se convirti en una depresin de cuatro


aos, durante la cual su economa se redujo en un 28%. Tres grandes aumentos
impositivos en los aos 2000 y 2001 desalentaron el crecimiento, y la intromisin en el
sistema monetario a mediados de 2001 gener miedo a que se devale la moneda,
evaporando la confianza en las finanzas del gobierno argentino. Entre diciembre de
2001 y principios de 2002 una sucesin de gobiernos debilit los derechos de propiedad
al congelar depsitos bancarios; provocar irreflexivamente un default en la deuda
externa del gobierno; cortar el duradero vnculo del peso argentino con el dlar,
convirtiendo por la fuerza depsitos y prstamos a pesos argentinos a tasas
desfavorables.1

Algunos datos clave

La moneda argentina (el peso), que desde abril de 1991 se mantena equivalente
a US$1, se devalu en enero de 2002, deprecindose hasta casi 4 por dlar.
La inflacin, baja o negativa desde principios de los 90, fue del 41% en 2002.
El desempleo, sin contar las personas incluidas en planes de emergencia del
estado, aument del 12,4% en 1998 al 18,3% en 2001, y al 23,6% en 2002.
La tasa de pobreza creci del 25,9% en 1998 al 38,3% en 2001, y al 57,5% en
2002.
En trminos reales (es decir, con el ajuste por la inflacin), los salarios cayeron
un 23,7% en 2002.
El producto bruto interno (PBI) real cay un 28% desde 1998 hasta la crisis del
2002.
El costo laboral en cada producto industrial es un 53,9 por ciento menor que el
registrado en 1990 y un 61,7 por ciento inferior al de 1993.2

1
Fuente: Jim Saxon La crisis econmica argentina: causas y remedios , junio 2003
2
Fuente: Informe del Ministerio de Trabajo, diciembre 2003
Ahora bien, a continuacin centremos el anlisis en la evolucin del software libre
en Argentina y en algunos datos clave de la situacin actual.

En un estudio realizado a 200 empresas3, en lo que respecta al uso de software libre,


podemos observar que el punto de partida en la adopcin de este tipo de programas, se
centra en el periodo comprendido entre el 2001 y el 2002, periodo en el cual, por lo
antes expuesto, la crisis econmica se manifest de manera mas concreta. (ver grafico
Experiencia en el uso de software libre.)

Experiencia en el uso de software libre

13%
27%

27%
20%
13%
Mas de 3 aos 3 aos Entre 2 y 3 aos
Menos de 2 aos No utiliza

Motivos para el uso de software libre


10%
10%

50%
30%

Economicos Estrategicos Seguridad Otros

Por otra parte, si analizamos como esta posicionada la utilizacin del software libre
en la cultura Argentina, en base a los motivos que manifestaron aquellas empresas en
las cuales se utiliza, la principal causa para su adopcin fue el factor econmico, ligado

3
Fuente: seguritech.com.ar, enero 2004
al concepto de reduccin de costos por licencias.(ver grfico Motivos para el uso de
software libre ) Un dato a resaltar es que la totalidad de los encuestados manifiesta que
la crisis econmica es el factor predominante que favorece el crecimiento en la
utilizacin del software libre.

En los que respecta las ventajas y desventajas del software libre en comparacin al
modelo propietario, podemos ver que el tema costo sigue ntimamente relacionado a la
utilizacin de cdigo abierto.

Software libre vs. software propietario


Ventajas Desventajas
Costo 41 % No tener una cara visible (responsable) 39%
Seguridad 15% Menor funcionalidad 5%
Mayor cantidad de herramientas desarrolladas 15% Soporte tcnico 21%
Capacidad de adaptacin a los cambios 20% Dificultad de uso 15%
Independencia del proveedor 9% Compatibilidad 20%

En lo que respeta a la cultura Argentina en materia de software, no nos debe


extraar que el principal motivador sea el factor econmico, ya que como podemos ver
en la tabla anterior, continan instalados de manera concreta (aunque con menor fuerza
que en pocas anteriores) aquellos mitos por los cuales el software libre es difcil de
utilizar, no es confiable, tiene menos funcionalidad que el software propietario, etc.
Estos mitos no permiten poder apreciar la totalidad de los beneficios que se pueden
obtener con la adopcin del cdigo abierto. Esta apreciacin la vemos reflejada,
tambin, en el hecho que muchos de los profesionales, que ofrecen soluciones
informticas, prefieren inclinarse hacia soluciones propietarias, basndose por un lado
en la errnea apreciacin que el software libre no permite generar ganancias debido a
que se lo confunde con el concepto de softwaregratis y por otra parte mantiene la
creencia que un software propietario permite transferir la responsabilidad ante
cualquier inconveniente o bug a la empresa que desarrollo el mismo (lo cual demuestra
una falta de anlisis detallado de las condiciones de licenciamiento que existen en los
software propietarios)

La informacin presentada hasta el momento revela la relacin existente entre el


crecimiento del software libre en Argentina en virtud de la crisis econmica. Es
importante mencionar que este caso no representa un hecho aislado, como parte del
modelo econmico de desarrollo de software a nivel mundial4 aquellos pases en los
cuales el costo laboral es alto, la participacin del costo de una licencia en la evaluacin
total de un proyecto de informtica es relativamente menor. En aquellos pases en los
cuales el costo laboral es bajo, el costo de las licencias conforma una parte importante
del TCO del proyecto. Refirindonos al caso Argentino, son varias las industrias en las
cuales el peso del costo laboral dentro del costo de una unidad de produccin es bajo,
por lo cual los beneficios en el ahorro de licencias se hacen ms significativos.

Otra forma de apreciar la importancia que tiene el costo de la licencia en


Argentina, puede obtenerse analizando los niveles de piratera existentes en el pas5, ya
que mas del 60% del software existente no es legal (software pirata) lo cual refleja la

4
Fuente: Rishab Aiyer Ghosh, Licence fees and GDP per capita: The case for open source in developing
countries
5
Fuente: Bussiness Software Alliance, 2001
dificultad de acceder al software legal por parte de la mayora de la comunidad.
Tambin la relacin existente entre el PBI (Producto Bruto Interno) per capita y el costo
de una solucin propietaria permite llegar a una conclusin similar. En el siguiente
caso, podemos apreciar esta relacin tomando como base el PBI per capita del 2002 y
el costo de una licencia de Windows XP +Office XP (es importante destacar que
Microsoft mantuvo en Argentina los precios en dlares a pesar de la devaluacin
existente (los valores estn expresados en Dlares Estadounidenses)

Costo de la licencia6: 1015 U$S + IVA


PBI per Capita: 3000 U$S (aprox.)

De manera directa, podemos ver que el costo de esta licencia representa un


tercio del producto bruto interno per capita. Adems como lo mencionamos
anteriormente, los costos laborales en Argentina han disminuido considerablemente en
los ltimos 10 aos, esto se ve reflejado cuando se compara el costo de la mencionada
licencia con el sueldo promedio, el cual es entre 150 y 190 U$S.

Los datos reflejados hasta el momento pretende mostrar una realidad compartida
por la mayora de la comunidad productiva en Argentina, no obstante es importante
destacar que en diversos mbitos acadmicos y privados, comienzan a vislumbrarse
movimientos en post del software libre cuya principal motivacin es la libertad que
debe tener el usuario de software.

Como conclusin de esta primer parte del informe, se puede observar que existe
una relacin simbitica en Argentina entre la crisis econmica y el software libre. Por
una parte, la crisis esta favoreciendo el uso del cdigo abierto en ciertos mbitos
estatales o privados dando el empuje inicial que muchas empresas necesitan para
volcarse hacia estas soluciones.

Por otro lado, la utilizacin de software libre permite que muchas organizaciones
(sobre todo las PyMES) no queden marginadas en lo que a tecnologa informtica se
refiere. Este hecho sumado a las posibilidades de generacin de nuevos empleos, propio
de la libre competencia que puede generarse al estar el cdigo abierto a la comunidad,
puede convertirse en un factor de reactivacin para la crisis existente.

El estado Argentino y el software libre


Al analizar el avance de la informtica en la administracin publica, podemos
observar a grandes rasgos que el mismo se origina debido a los grandes volmenes, la
criticidad y confidencialidad de la informacin que deben administrar.

Generalmente, cuando nos referimos a las garantas que el estado debe brindar al
manipular la informacin de los ciudadanos, los principios que podemos destacar son
los siguientes:

Control de gastos, costos e inversiones


Igualdad de oportunidades
Seguridad y Confidencialidad

6
Costo de licencia en caja de Office XP + Windows XP
Almacenamiento a largo plazo

Para complementar esta enumeracin, podramos sumarle las libertades que deben
tener los usuarios de software7:

La libertad de correr el programa, con cualquier propsito y sin ninguna restriccin


La libertad de estudiar como funciona el programa y adaptarlo a sus necesidades
La libertad de distribuir copias de manera que se pueda ayudar a los dems
La libertad de mejorar el programa y liberar las mejoras al publico

Por otra parte, si analizamos las caractersticas propias del software libre, los
principales puntos que a menudo se destacan son:

Disponibilidad del cdigo fuente


Independencia del proveedor
Interoperabilidad
Seguridad
Privacidad
Escalabilidad
Uso de estndares abiertos

Por lo expuesto hasta ahora, rpidamente podemos ver que los beneficios propios
del software libre cumplen de manera adecuada los requerimientos que un estado debe
tener para administrar su informacin y que los derechos que deben tener los usuarios
estn ampliamente cubiertos por la licencia que protege al software libre.

PeroCul de estas caractersticas est empujando el uso del software libre en el


estado Argentino?

No de manera casual, cuando mencionbamos las garantas que tiene que cumplir el
estado, vimos en primer lugar al control de gastos, ya que la situacin del estado no
escapa a la realidad econmica del pas. Por este motivo, en la prctica, una de las
principales razones para la adopcin del software libre en Argentina est originada por
la necesidad de ahorro del sector publico y la crisis econmica que afect al pas a fines
del 2001.

Es importante destacar que cuando nos referimos a factores econmicos, no hay que
centrar el anlisis solamente en el costo de las licencias del software, existen otros tipos
de ahorros originados, por ejemplo, en el principio de la Independencia del Proveedor
que brinda la utilizacin del software libre, es decir disponiendo del cdigo fuente,
cualquier programador puede dar soporte y realizar actualizaciones al sistema, lo cual
favorece la libre competencia y por consiguiente una reduccin en los montos de
contratacin de servicios.

A lo mencionado en el prrafo anterior, podemos agregar que en una economa en la


cual, los costos de los insumos y del hardware se tornan crticos, poder reutilizar
hardware que se consideraba obsoleto para las soluciones propietarias, se torna un factor
clave al momento de realizar el anlisis de factibilidad econmica de un proyecto
informtico.

7
Fuente: www.gnu.org
Finalmente el uso de software libre va de la mano del uso de standards aceptados
mundialmente, este hecho garantiza que el esfuerzo/costo en la interoperabilidad de
sistemas o en migraciones sea menor al requerido en la mayora de las
implementaciones con software propietario.

En lo que respecta al uso de software libre en el estado, podemos mencionar la


existencia de una cantidad apreciable de iniciativas:

Entes gubernamentales que actualmente utilizan software libre (en muchos casos
todava en conjunto con soluciones propietarias)
o Ministerio de Economa (www.mecon.gov.ar)
o Ministerio de Justicia (www.jus.gov.ar)
o Web de la Presidencia de la Nacin (www.presidencia.gov.ar)
o Prefectura naval Argentina (www.prefecturanaval.gov.ar)

mbito de software libre en el estado (A.S.L.E.) un espacio en el cual el estado,


junto con empresas y universidades organizan jornadas de debate en torno a las
ventajas y desventajas del software libre. (www.softwarelibre.gov.ar)

El sistema de gestin Penal del poder judicial de Formosa funciona actualmente con
Linux. (SUAJ : Sistema nico de Antecedentes Judiciales) (www.pjud-
formosa.com.ar)

El otro eje de desarrollo del software libre en Argentina, son las Universidades que
estn descubriendo el uso del software libre tanto para tareas administrativas como
acadmicas, no solo impulsadas por los factores econmicos sino tambin porque
permite tratar a la informtica bajo el rigor de un mtodo cientfico, y la nica manera
de poder generar hiptesis, tesis, etc. de un teorema es conocindolo y en este caso el
software libre es el nico que nos permite conocer el cdigo fuente (enunciado) de los
programas (teoremas).

A modo de ejemplo, en lo que respecta a la educacin, podemos destacar los siguientes


casos:

A comienzos del 2000 En la Universidad Nacional de Cordoba se comenz a gestar


un plan estratgico de informatizacin de todas las unidades acadmicas. Este plan
tenia como objetivos lograr la informatizacin de todo el sistema de gestin
contable, de personal y de bibliotecas. En sus comienzos contemplaba la migracin
del 50% de los equipos informticos a software libre. Actualmente casi todos los
servidores de la universidad corren bajo linux y en la facultad de psicologa la
mayora de los alumnos y profesores lo usa en su desktop. (www.unc.edu.ar)

En la Universidad Nacional de Salta, se desarrolla uno de los movimientos mas


importantes de software libre, el cual, entre otros logros gener el Ututo, la primer
distribucin de Linux Argentina (www.unsa.edu.ar)

Proyecto Reporte: A partir de mayo 2003 empez un proceso de migracin de


software de comunicaciones existente en las escuelas que ya estaban conectadas a
Internet, y luego en aquellas que estaban esperando el enlace. De esta manera, las
escuelas de la Ciudad de Buenos Aires pasaron de tener un servidor funcionando
bajo Novell a Linux, y en particular a UtutoR que es un enrutador, versin
especializada de Ututo, basado en GNU/LINUX.>

Adems de los casos mencionados anteriormente, en Argentina son varias las


Universidades que esta adoptando gradualmente el software libre con diversos grados
de avance: Universidad del Litoral, Mendoza, La Plata, La Rioja, etc.

En lo que respeta a materia legislativa, existen dos proyectos de ley que buscan
impulsar la adopcin del software libre en el estado argentino. Estos proyectos
actualmente estn siendo unificados en la Comisin de Informtica y Comunicaciones.
A modo de ejemplo, se pueden citar las siguientes iniciativas8:

Proyecto de Ley 5613-D-00 (Dragan)


Proyecto de Ley 904-D-02 (Dragan, Becerra & Bertone)
Ciudad de Buenos Aires: Proyecto de ley 1416-D-02 (Caram)
Ciudad de Buenos Aires: Proyecto de ley 1499-D-03 (Maiorkevich)
Provincia de Buenos Aires: Declaracin F-210/02-03 (Conde)
Provincia de Buenos Aires: Proyecto de ley E-135/02-03 (Conde)
Provincia de Jujuy: Proyecto de ley 207-D-2002 (Fernandes)
Ciudad de la Plata: Proyecto de ordenanza 37202 (Frangul, Aricci & Vies)

En muchos casos, tanto en materia educativa como de administracin publica, uno


de los aspectos que frena el desarrollo del software libre en mbitos educativos, son
ciertas organizaciones estatales que exigen la presentacin de informes, trabajos,
proyectos o tareas administrativas en formatos propietarios como el Microsoft Word o
mediante aplicaciones que funcionan solamente con Microsoft Internet Explorer

En la actualidad en la Argentina esta instalado un debate en torno a s el estado


debe impulsar o no el uso del software libre. En una vereda se encuentran muchas de las
cmaras que agrupan a la industria de la tecnologa quienes afirman que cualquier
legislacin que avale el uso de software libre puede ser discriminatoria o limitativa y
destacan que estn fundadas en una falsa promesa de ahorro de costos En la otra
vereda, las organizaciones de software libre en Argentina9 plantean que el estado al
administrar informacin que es de los ciudadanos debe legislar en el tema y garantizar
la transparencia y supervivencia de esa informacin, garantas que podran darse
solamente con el uso de software libre.

8
Fuente: www.proposicion.org.ar
9
Ver listado de organizaciones en el presente informe
Conclusiones
La crisis de la economa en la Argentina es la propulsora de la adopcin del
software libre tanto en el estado como en mbito privados. Si bien es una situacin que
es conveniente aprovechar (tenemos que ver el vaso medio lleno y no medio vaco),
esta debe ser solamente la punta del iceberg que permita arribar a un cambio cultural
profundo. Un hecho a destacar es que, a diferencia de otro tipo de industrias
tradicionales, el desarrollo de software no necesita grandes inversiones en
infraestructura, sino que se basa, en gran medida, en la capacidad de los recursos
humanos existentes. Por ende es importante que no justifiquemos solamente el concepto
del software libre por el ahorro en los costos, es vital fortalecer la idea del software
libre como una manera de desarrollar la economa del pas mediante no solo el uso, sino
la generacin de una industria centrada en el desarrollo y servicios de este tipo de
software. Por otra parte, desde un punto de vista cultural, el estado debe impulsar el uso
del software libre ya que fomenta el trabajo cooperativo, de una manera muy similar al
modelo cientfico mediante el cual se han obtenido la mayora de los avances en el
mundo.

Este modelo permite el enriquecimiento tecnolgico del pas y no solo


refirindonos a temas informticos. Las caractersticas del software libre permiten que
el desarrollo industrial y comercial se adapte mas rpidamente a las necesidades del
mercado, ya que el usuario puede realizar las modificaciones necesarias para apoyar sus
procesos de negocios, sin depender de la voluntad de un nico proveedor. Basta solo
agregar, que la posibilidad de conocer en detalle el cdigo fuente, poder modificarlo y
redistribuirlo sin estar violando ningn principio legal, posibilita el enriquecimiento de
los profesionales existentes en el pas, logrando de esta manera disminuir la
dependencia tecnolgica existente con otros pases.

Anexo I Desarrollos en Argentina


En la presente seccin, se enumeran algunos de los desarrollos ms significativos en
Argentina

Ututo

Ututo es la primer distribucin Linux ntegramente Argentina. Los objetivos


principales de este proyecto son la educacin y la difusin de Linux en Argentina
Esta distribucin naci en Argentina en la Universidad Nacional de Salta10. Fue creada
por los Ingenieros Diego Saravia y Luis Saravia en base a las distribuciones SuSe y
Debian. Ututo versin 0.1.25, se distribuye gratuitamente en 1 CD-ROM booteable.

UtutoR - Ututo Router versin 0.72.2


Este sistema espera ser un router/servidor/firewall/sistema para la prueba y
administracin de redes capaz de proveer una solucin de software libre a Internet a
travz de adsl, cablemodem, telfono, wireless11. Fue elaborado en conjunto con

10
UNSA, Universidad Nacional de Salta, www.unsa.edu.ar
11
http://softlibre.salta.org.ar/ututor
GNU/Linux Ututo y est basado en el proyecto RePorTE (Red Portea Telemtica de
Escuelas - RED LIBRE) para el Gobierno de la Ciudad de Buenos Aires.12
Por otra parte, tambien se esta utilizando en cyber-cafes ya que en muchos lugares
donde la legislacin exige control de menores, Ututor cuenta con un sistema para cortar
o dar internet, o dar Internet restringida a cada una de las PCs.

Tcpstatflow

Es una herramienta desarrollada con el fin de intentar detectar trafico que no es


HTTP/HTTPS/FTP/SMTP/POP3, a travs de los puertos habilitados en el Firewall.
Para ello, se basa en que estos protocolos generan un pequeo trafico en un sentido de la
conexin TCP, y reciben un gran trafico en el otro sentido. Ejemplos de esto es el
protocolo HTTP, donde el browser tpicamente enva en un sentido simplemente el
comando GET (y los TCP ACK de la conexin), y como respuesta recibe el objeto a
bajar. Para el caso de SMTP, hay una mayor carga de trafico hacia el servidor que hacia
el cliente, mientras que en el caso de POP3/IMAP hay una mayor carga hacia el cliente
que hacia el servidor. En ambos casos, un flujo de la conexin TCP es muy grande,
mientras que el otro no.

PyMO Servidor para Pequeas y Medianas Organizaciones


La Fundacin Va Libre est trabajando para Pequeas y
Medianas Organizaciones desde hace ms de dos aos con el objetivo de
proveer de independencia tecnolgica, a este grupo compuesto por
escuelas , PyMEs, ONGs, etc. y aportar al desarrollo sustentable en
nuestra comunidad.
El Servidor PyMO es una seleccin de programas agrupados para optimizar el
manejo de archivos, autenticacin, correo electrnico e Internet en una organizacin. Ha
sido desarrollado por el equipo de la Fundacin Va Libre en el marco de su Proyecto de
Apoyo a Pequeas y Medianas Organizaciones.
Esta herramienta esta basada en la distribucin Debian GNU/Linux (Woody)13

JFFNMS - sistema de monitoreo de redes


JFFNMS es un sistema de monitoreo de redes, escrito en PHP, preparado para
monitorear cualquier tipo de red IP. Esta basado en estndares (SNMP, MIBs, TCP,etc.)
y adems incluye mdulos especficos para equipos Cisco.
Puede ser utilizado para monitorear cualquier tipo de equipo, router, o server. Adems
se puede integrar con Syslog y Tacacs. Funciona tanto en Linux/Unix como en
Windows.14

12
http://www.buenosaires.gov.ar/red_libre/
13
http://www.vialibre.org.ar
14
http://www.jffnms.org
Anexo II: Software libre en Argentina

A continuacin se detalla un listado de organizaciones, entidades, proyectos y grupos


existentes en Argentina que estn trabajando en post del software libre15:

www.vialibre.org.ar www.proposicion.org.ar
www.ututo.org www.seguritech.com.ar
www.linux.org.ar www.softwarelibre.org.ar
www.lugcos.org.ar www.lugmen.org.ar
www.hipatia.info www.lugli.org.ar
www.lanux.linux.org.ar www.cignux.org.ar
www.biolinux.org.ar www.bahia.linux.org.ar
www.kph.linux.org.ar bolivar_linux.fwd.com.ar
www.plug.org.ar www.lugcasares.com.ar
www.cafelug.org.ar www.shutdown.org.ar
www.linuxteam.com.ar www.linuxhoy.org.ar
www.lug.org.ar www.grulic.org.ar
www.parana.linux.org.ar www.glug4.org.ar
www.puntalug.linux.org.ar www.gulbar.homelinux.org
www.lugush.org.ar http://www.lugro.org.ar/

Agradecimientos

Quiero agradecer a las siguientes personas que colaboraron en la


elaboracin del este informe y en general al desarrollo del software en
Argentina

Lic. Diego Andion ( andiond@hotmail.com )


Maria Elena Ciolli

Copyright

Copyright (c) 2004 Mariano Morano

Se garantiza el permiso para copiar, distribuir y/o modificar este documento


bajo los trminos de la Licencia de Documentacin Libre GNU, versin 1.1
(GNU Free Documentation License, Version 1.1 ) o cualquier otra versin

15
Este listado no pretende ser exhaustivo, refleja solamente la informacin recopilada por el autor.
posterior publicada por la Free Software Foundation; este documento se
presenta sin Secciones Invariables (no Invariant Sections), sin Textos de Tapa
(no Front-Cover Texts) y sin Textos de Contratapa (no Back-Cover Texts).

Una copia de la licencia est incluida en la seccin titulada "GNU Free


Documentation License".

GNU Free Documentation License:http://www.gnu.org/copyleft/fdl.html

http://www.gnu.org/copyleft/fdl.html
Finding Security Vulnerabilities Before Evil Doers Do

David Evans
evans@cs.virginia.edu
University of Virginia, Department of Computer Science
Charlottesville, Virginia USA

Abstract

Most security attacks exploit instances of well-known classes of

implementation flaws. Many of these flaws could be detected and

eliminated before software is deployed. This paper describes open source

tools that programmers can use to identify likely security vulnerabilities in

programs before they are released.

An analysis of any vulnerability database quickly reveals that most software

vulnerabilities are not the result of clever attackers discovering new classes of

software flaws. Instead, the vast preponderance of vulnerabilities stem from repeti-

tive instances of well-known problems. An analysis of entries in the Common

Vulnerabilities and Exposures database found that found that 29% of reported

vulnerabilities involved buffer overflows or string format flaws [EL02]. Wagner et.

al., found that buffer overflow vulnerabilities account for approximately 50% of

CERT advisories [WFBA00].

Even conscientious programmers can overlook security issues, especially when

security issues rely on undocumented assumptions about procedures and datatypes.

1
Tools that detect these vulnerabilities automatically will find problems that even the

most vigilant and dedicated programmers would overlook.

1. Approaches

More promising approaches for reducing the damage caused by software flaws can

be grouped into two categories mitigate the damage flaws can cause or eliminate

some of the flaws before the software is deployed. Techniques that limit the

damage software flaws may cause include modifying program binaries to insert run-

time checks or running applications in restricted environments that limit what they

may do. In addition, several projects have developed safe libraries [BST00] and

compiler modifications [CP98] specifically for addressing classes of buffer

overflow vulnerabilities. These approaches all reduce the risk of security

vulnerabilities while requiring only minimal extra work from application

developers. Damage-limitation approaches do not eliminate the flaw, but replace it

with a denial-of-service vulnerability since it is usually not possible to recover from

a detected problem without terminating the program.

Techniques for detecting and correcting software flaws include human code

reviews, testing, and static analysis. Human code reviews are time-consuming and

expensive, but can find the types of conceptual problems it would be impossible to

find automatically. They are likely to miss, however, more mundane problems that

even extraordinarily thorough people will overlook. Testing is necessary, but

typically not effective in finding security vulnerabilities.

2
Static analysis tools analyze the source code directly which enables them to make

claims about all possible executions of a program instead of just the particular

execution observed in a test case. From a security viewpoint, this is a significant

advantage. There is a wide range of static analysis techniques, offering a tradeoff

between the effort required to use them and the complexity of the analyses they are

able to perform. Standard compilers perform type checking and other simple

program analyses. At the other extreme, full program verifiers attempt to prove

complex properties about programs. They typically require a complete formal

specification and use automated theorem provers. These techniques are nearly

always too expensive and cumbersome to use on even security-critical programs.

The simplest way to detect security vulnerabilities is to produce a warning

whenever a potentially dangerous library functions is used. For example, the gets

function is always vulnerable to a buffer overflow attacks. Other library functions,

such as strcpy may be used safely, but are often the source of buffer overflow

vulnerabilities. Several tools report uses of dangerous functions including

Flawfinder [W03] and the Rough Auditing Tool for Security (RATS) [SS01].

2. Splint

Splint, the successor to LCLint, is an open source, lightweight static analysis tool

for ANSI C. that fits between traditional compilers and program verifiers. It is

designed to be as fast and easy to use as a compiler. It is able to do checking no

compiler can do, however, by exploiting annotations added to libraries and

3
programs that document assumptions and intents. Splint checks that source code is

consistent with the properties implied by annotations.

Annotations are denoted using stylized C comments identified by a @ character

following the /* comment marker. Annotations can be associated syntactically with

function parameters and results, global variables and structure fields. For example,

the annotation /*@notnull@*/ can be used in a pointer declaration syntactically like

a type qualifier. In a parameter declaration, the notnull annotation documents an

assumption that the value passed for this parameter is not NULL. Splint would report

a warning for any call site where the actual parameter might be NULL. Failure to

handle possible NULL values (especially those returned by memory allocation

procedures) can be exploited in denial of service attacks, and is often not detected in

normal testing.

Splint provides annotations for documenting many different properties including

ownership of storage, sizes of allocated storages, information hiding and aliasing.

Programmers can also design their own annotations and associated checking rules

to enforce properties. If parameters and return values are annotated with

information about the sizes of allocated objects, Splint can detect many types of

buffer overflow vulnerabilities.

There are both theoretical and practical limits on what can be analyzed statically.

Precise analysis of most interesting properties of arbitrary C programs depends on

several undecidable problems including reachability and determining possible

aliases. Since our goal is to do as much useful checking as possible, we choose to

4
allow checking that is both unsound and incomplete. This means Splint produces

both false positives and false negatives. Warnings are intended to be as useful as

possible to the programmer, but there is no guarantee that all messages indicate real

bugs or that all bugs will be found. Splint provides many options that make it

possible for users to configure checking to suppress particular messages and

weaken or strengthen checking assumptions.

Using Splint is an iterative process. Running Splint produces warnings that lead to

either changes in the code or annotations. Then, Splint is run again to check the

changes and propagate the newly documented assumptions. This process continues

until no warnings are produced. Since Splint checks approximately 1000 lines per

second, the need to re-run it is not burdensome.

Splint (and its precursor, LCLint) has been used to detect a range of problems not

specifically focused on security including data hiding [EGHT94]; memory leaks,

uses of dead storage, and null dereferences [Eva96] on programs comprising

hundreds of thousands of lines of code. We have used Splint to detect both known

and previously unknown buffer overflow vulnerabilities in wu-ftpd, a popular ftp

server, and BIND, libraries and tools that comprise the reference implementation of

DNS (see [LE01] for details), and for checking wu-ftpd for format bugs (see [EL02]

for details).

3. Conclusion

The vast majority of security attacks exploit vulnerabilities in software that are well

understood and can be eliminated. Lightweight static analysis is a promising


5
technique for detecting likely vulnerabilities so they can be fixed before software is

deployed, not patched after attackers have exploited them. Several open source

tools are available that can be used to improve the quality of programs before they

are released.

No tool will eliminate all security risks but lightweight static analysis should in-

creasingly become part of the development process for security-sensitive

applications.

References

[BST00] Arash Baratloo, Navjot Singh and Timothy Tsai. Transparent Run-Time
Defense Against Stack-Smashing Attacks. 9th USENIX Security Symposium,
August 2000.
[CP98] Crispin Cowan, Calton Pu, David Maier, Heather Hinton, Peat Bakke, Steve
Beattie, Aaron Grier, Perry Wagle and Qian Zhang. Automatic Detection and
Prevention of Buffer-Overflow Attacks. 7th USENIX Security Symposium,
January 1998.
[EGHT94] David Evans, John Guttag, Jim Horning and Yang Meng Tan. LCLint: A
Tool for Using Specifications to Check Code. SIGSOFT Symposium on the
Foundations of Software Engineering. December 1994.
[Eva96] David Evans. Static Detection of Dynamic Memory Errors. SIGPLAN
Conference on Programming Language Design and Implementation. May
1996.
[EL02] David Evans and David Larochelle. Improving Security Using Extensible
Lightweight Static Analysis. In IEEE Software, Jan/Feb 2002.
[LE01] David Larochelle and David Evans. Statically Detecting Likely Buffer
Overflow Vulnerabilities. 10th USENIX Security Symposium, August 2001.
[SS01] Secure Software Solutions. Secure Software Announces Initial Release of
RATS. http://www.securesw.com/rats/. May 2001.
[WFBA00] David Wagner, Jeffrey S. Foster, Eric A. Brewer, and Alexander Aiken.
A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities.
Network and Distributed System Security Symposium. February 2000.
[W03] David Wheeler. Flawfinder Home Page. http://www.dwheeler.com/flawfinder/.
2003.

6
EUPKI THE LIBRE SOFTWARE PUBLIC KEY INFRASTRUCTURE

Eduard Tric
Axetel, Romania
eduard.tric@axetel.com

Abstract

The objective of Eupki is to specify, implement [1] and test [2] an operational
opensource - libre software version of PKI with smartcard support. Eupki is one of the
projects currently retained by the EU in the FP5 [3] program.

Introduction

The assessment about the current situation is that today the PKI solutions are built
upon proprietary components with a really limited interoperability. All software and
hardware architectures are driven as black boxes with a blink approach on the real and
effective implemented functions. Eupki is giving a new answer, contributing with several
innovative aspects.

Innovation aspects of Eupki

The programming language is Java (j2ee). This language was the best choice for
interoperability, scalability and multiplatform. The modular design of Eupki and the
implementation in J2ee ensures an easy deployment of the PKI components: Registration
Authority, Certification Authority, Key Generation System and Key Ceremony System.

Eupki is using hardware support to enable advanced signature. The data is formatted
in a human-readable format, using Xml Encoding Rules. CXER [4] is an ASN1 [5]
equivalent for xml, assuring long-term conservation and visibility of all requests. All the
certificate requests are signed by the operator, using a hardware or software token. For
signing requests we have used the format specified in RFC3369 [6] as the SignedData content
type. The SignedData content-type is also defined as an ASN.1 structure and thus can be
XER-encoded. The two are stored separately in a structure, so that if a different signing
mechanism should be chosen the change wouldn't affect the original message format. This
signature mechanism is simple to implement and easy to encode using XER [4].

Eupki, an enabling software: We want to put up EUPKI to what will become the
Swiss knife for complementary and derived applications for secured and trusted services,
like: eDeclaration , Multimedia content security in the context of Digital Right Management
(DRM), On-line games and bets, auctions, E-Voting, Secure E-mail, Remote operations,
Remote access, Secure workflow, Corporate E-processes, E-commerce, VPN, IPV6 related
applications.

Eupki is a project approach as an opposite to product approach. Currently, the projects


where security is involved are pushed by PKI product sellers, who claim that their product
will cover the main part of the needs for the project. The vendor vision is the following: 70%
technical / 25-30% organisational / 0-5% legal. All those who already have experience in
implementing PKI projects, know that in reality it is more or less: 20-30% technical / 30-60%
organisational / 20-30% legal. We can note a significant difference between the vision of the
PKI salesman and the reality. Where does the variation come from? The PKI products go on
an economic model based on the number of sold certificates. Beyond the purely financial
aspect, we can see that in a "project" approach, the costs are affected entirely to the advance
of the project. The current tendency on the market is to sell the PKI products initially, for
then trying to adapt your information system to the product. EUPKI tries to reverse this
tendency, by the adaptation of the PKI to the existing information system.

The business implementation for Eupki takes into account a full set of requirements
asked by end users. The main user requests are: interoperability, scalability and multiplatform
use. Three business scenarios are implemented: banking, online and mobile scenario. Eupki
is specified by social and business partners from five different countries (France,
Luxembourg, Italy, Germany and Romania) and demonstrated by two Certificate Authorities
(in France and Italy).

In order to reach both free software and open source communities, the software is
released under a dual licensing scheme: LGPL [7] and Mozilla [8].

References

[1] http://www.eupki.org Development site

[2] http://www.europepki.org Demonstration site

[3] http://www.cordis.lu/ist/ka4/tesss/impl_free.htm EU action line site

[4] [X693] ITU-T Recommendation X.693 - ASN.1 Encoding Rules: XML Encoding
Rules (XER) (ISO 8825-4:2002)

[5] [X680] ITU-T Recommendation X.680 - Abstract Syntax Notation One


(ASN.1) (ISO/IEC 8825-1)

[6] [RFC3369] Cryptographic Message Syntax (CMS)

[7] http://www.gnu.org/copyleft/lesser.html Gnu Lesser General Public License

[8] http://www.mozilla.org/MPL/MPL-1.1.html Mozilla Public License


PROYECTO MITUPV EXCHANGE.
HACIA LA UNIVERSIDAD VIRTUAL IDEAL.
ARTEFACTOS QUE FUNCIONAN CON SOFTWARE LIBRE

1 Plasencia Diago, A., 2 Morgesntern, D., 1 Brusola Simn, 1 F., Seiz Ortiz, R.
1 Universidad Politcnica de Valencia (Espaa); 2 Massachusetts Institute of Technology(USA).

adolfo@mag.upv.es dmorgen@mit.edu
Hay varias caractersticas poco frecuentes en este proyecto, en relacin a otras
iniciativas de este tipo; una es la articulacin o integracin de los conocimientos de
humanidades con las disciplinas de ingeniera, ciencia y tecnologa. El grupo de alumnos del
MIT. Massachusetts Institute of Technology (USA) participantes en el proyecto que estn
cursando en su mayor parte carreras de ingenieras (de software, aeronutica, astrofsica,
en biotecnologa, etc.) participan en realidad como estudiantes de idioma y cultura
espaola, es decir como se dice en Espaa, son integrantes del proyecto en el momento en
que son alumnos de 'Letras' o 'Humanidades'. De hecho, el rea del Foreign Languages and
Literatures Department del MIT, a la que pertenece el Prof., director del Proyecto en el
MIT, esta relacionada con la Comparative Media Studies Faculty que integra disciplinas
propias de humanidades y nuevos medios. Por parte de la otra Universidad fundadora del
proyecto, la Universidad Politcnica de Valencia, en Espaa, participan alumnos de
multimedia, del Master de Aplicaciones de Internet y de diversas ingenieras de la Escuela
Tcnica Superor del Ingeniera del Diseo. ETSID y, estos ltimo cursos se han incorporado
tambin alumnos de la facultad de informtica y de otros centros de la UPV en Valencia asi
como de otras universidades como los de periodismo de la Universitat de Valncia (Espaa)
y de lengua y cultura espaola de las Universidades de Cambridge (UK) y de Austin (USA).
En la Web: http://web.mit.edu/cms/Research/transform.html podemos ver que
el proyecto esta incluido en la lista de los seleccionados por la CMS Faculty del MIT que
tratan de buscar caminos para transformar la educacin de la humanidades mediante la
tecnologa, lista en la que estn, por ejemplo, otros denominados Berliner Sehen
Cultura;Hamlet on the Ramparts; Meta-Media; Shakespeare Electronic Archive y Virtual
Screening Room.
La filosofa conceptual del proyecto va paralela a los criterios de desarrollo de la
plataforma web que da la posiblidad de interactuar entre s, en un mismo contexto virtual,
grfico, textual y audiovisual, a los ya ms de 1.300 componentes de la comunidad virtual
del MITUPV EXCHANGE entre los que hay participantes originarios de mas de 60 pases
que cursan en diversas universidades disciplinas de ingeniera, biotecnologas, direccin y
organizacin de empresas, bellas artes, literatura e idiomas, creacin de contenidos
multimedia o periodismo, entre otras.
Web MITUPV: http://mitupv.mit.edu

_________________________________________________________ 1
Diseo conceptual del proyecto
El proyecto MITUPV EXCHANGE es
una experiencia de intercambio y conocimiento
compartido que comenz desarrollndose entre
alumnos y profesores de la ETSID de la Universidad
Politcnica de Valencia (Espaa) y del MIT.
Massachusetts Institute of Technology (USA) cuya
andadura se inici en el curso 2000-2001 y al que
curso 2003-2004 se esta incorporando un grupo de
alumnos y profesores de la Univ. de Texas, en Austin
(USA).
Como objetivos inmediatos, al mismo
tiempo, el proyecto trata de que los alumnos
desarrollen procesos de conocimiento compartido
entre las dos comunidades universitarias, sobre todo
sus idiomas y culturas respectivas, y tambin el
conocimiento mutuo de las especialidades en las
respectivas carreras universitarias que estn cursando, as como las tecnologas multimedia y de
Internet (la base y herramienta principal de creacin de contenidos). Como objetivo a largo plazo
pretende el desarrollo de modelos para una Universidad Virtual Ideal diseada de abajo a
arriba, es decir pensados por los propios alumnos, para que luego dicho modelo sea considerado
por los estamentos de direccin y planificacin docentes. La Web del proyecto
(http://mitupv.mit.edu) es una acumulacin de contenidos desarrollados con formatos y
tecnologas de textos, imgenes, archivos sonoros (mp3, msica fractal), etc. y sobre todo vdeo
digital -en todas sus variantes (pelculas, imgenes navegables interactivas y panoramas de
realidad virtual, morphings, etc.) todo integrado en una robusta plataforma Web con hosting en el
MIT (con una Web equivalente, actualmente en construccin en la UPV) que es el espacio virtual
comn que deben usar cotidianamente en el proyecto.

Una plataforma construida con la filosofa del cdigo libre y el conocimiento abierto.
Conceptualmente, la interaccin virtual a travs de la Web MITUPV con
componente audiovisual en ms de un 85 por ciento tiene el planteamiento de que la plataforma
acte al modo de un middleware que se comporta como un sistema transparente entre los
usuarios, de forma que cualquier participante sin ningun conocimiento de programacin
informtica ni de herramientas de diseo de webs o html, pueda colocar pginas en la web que
incluyan sus contenidos textuales, grficos y audiovisuales de forma totalmente automtica con
un adiestremiento mnimo suplementario a los conocimientos bsicos que necesita cualquier
internauta normal. Tambin se trata de ensayar la posibilidades de manejar una sofisticada
platafoma web sacando el mximo partido con los anchos de bandas y las conexiones habituales o
cotidianas disponibles sin nungn aditamento de ancho de banda o de conexin especial. Por otro
parte tambin los participantes ensayan las interacciones tpicas de una TV digital asincrnica e
interactiva integrada en una plataforma Web. Esta previsto de forma inminente trasladar la
experiencia sincrnica de los chats el proyecto tiene disponible de modo permanente una
ventana de chat con refresco automtico- individuales y grupales en texto, hasta el modo
audivisual mediante la tecnologa iSight de Apple Computer.

MITUPV: simulacin de una universidad virtual utpica mediante Open Source


Los desarrolladores que programaron la Web del proyecto usaron ArsDigita, que es
OpenSource. ArsDigita fue fundado por uno de los profesores de la asignatura, Philip Greenspun,
(aunque ya hace algun tiempo el ya no esta involucrado en la empresa). De hecho, hace un tiempo
ya que ArsDigita fue comprado por RedHat (que ofrece Linux, entre otras aplicaciones). El MIT

_________________________________________________________ 2
esta involucrado en proyectos basados en la tecnologia desde los 1980, muchos de los cuales
fueron emprendidos e n conjunto c o n otras instituciones d e investigacion
(http://consortium.dartmouth.edu/) y que estan relacionados a otras unidades academicas
(http://web.mit.edu/cms/). La idea original del proyecto surgi de una simulacin de aula en el
MIT donde alumnos de espaol ya con un cierto conocimiento del idioma, reflexionaron sobre
cmom podria ser una "universidad utpica". Eso sumado al intento, al timpo de desarrollar una
experiencia innovadora relacionada con la educacin a distancia. De esllo sugi la idea grecias al
porf. Morgenstern que consigui articular la inicativa contando como entes fundadores al MIT y
la UPV.
El MITUPV Exchange fue planteado como experimento prctico de clase por
alumnos del MIT de pregrado que en el otoo de 2000 en el que cursaban la asignatura de
Ingeniera de Software de Servicios Innovadores Web, impartida por los profesores Hal Abelson
y Philip Greenspun (la web original de esa ocasin ya no esta accesible;
http://www.eecs.mit.edu/AY98-99/spring-cat/6916.html es la URL del semestre anterior). La
asignatura que integraba el proyecto estaba orientada al uso experimental y creativo del software
OpenSource usando, en aquella epoca, la plataforma ArsDigita (posteriormente, como hemos
dicho, adquirida por la empresa RedHat, (http://www.redhat.com/software/rhea/), como
herramienta para construir comunidades virtuales (ver: http://openacs.org/). El equipo de
desarrollo estaba integrado en la etapa incial por Kathy Lee y Aimee Lee como diseadoras, y
luego webmaster al principio del sitio, y Bryan Che como supervisor del proyecto en el que
despues ha seguido colaborando en el mantenimiento. El equipo trabaj bajo la direccin en
desarrollo de software de los profesores Abelson y Greenspun, actuando como director del
proyecto el profesor Douglas Morgenstern; todo este equipo por parte del MIT. Massachusetts of
Technology y, por parte de la UPV, Adolfo Plasencia, director de proyectos del Mster de
Aplicaciones Multimedia para Internet de la Escuela Tcnica Superior de Ingeniera del Diseo,
que es coordinador del proyecto en la Universidad Politcnica de Valencia, en Espaa.
El diseo de la plataforma web del MITUPV EXCHANGE, que integraba
sugerencias y opiniones de alumnos que pasaban por la experiencia de una clase de espaol en el
semestre que se hizo el desarrollo del software, es sobrio, pero muy robusto y funcional. Sus
objetivos estn relcionados con la modularidad de las bases de datos (Greenspun) y los factores
esenciales de usabilidad (Jacob Nielsen) para su funcionamiento eficaz, sobre todo en cuanto a
interactividad y facilidad de uso. Posee prestaciones muy sencillas en la prctica de subir y
bajar contenidos de forma continua ademas de creacin automtica de pginas concretas de
contenidos segn un esquema de diseo comprensivo y coherente. Tambin cuenta con la
posibilidade de que un administrador ejerza las capacidades de moderador para eliminar o
corregir aportaciones de texto, tanto en ingls como en espaol la web lleva una interface para
superar el problema de que los teclados en ingls que no tienen los acentos del espaol- y, por
supuesto las misma posibilidad para los grficos GIF o .jpg o el vdeo digital para el que se han
elegido los estandar .mov y .wmv.
Ciertas prestaciones adicionales deseables, como la capacidad de bsqueda, no se
pudieron incluir en la primera etapa del proyecto pero, a cambio, en cada categora de contenidos,
las subidas archivadas se presentan en ndices conolgicos inversos en forma de lista accesible
mediante el link ligado al epgrafe "View all". Conforme se incrementa el contenido cada
semestre, la arquitectura de informacin que constituye la Web MITUPV se hace mas compleja,
pero mas rica en cuanto a navegacin temtica. Los alumnos de etapas posteriores encuentran el
diseo total menos fcil que los estudiantes que programaron el sitio originalmente. Estamos en la
fase de desarrollar la mejoras en la navegacin mediante una segunda pgina web archivado,
trabajando con Kurt Fendt, investigador asociado en el MIT, que nos permita incluir etiquetas y la
habildad de buscar como parte del grupo de proyectos MetaMedia (http://metaphor.mit.edu/) que
actualmente esta usando Oracle 9 i y Enhydra (http://www.enhydra.org). Los servicios
administrativos de Computacion Acadmica y Produccin de Medios en el MIT han puesto en
marcha para el hosting un servidor (Sun Microsystems Sun Blade 100, usando una versin

_________________________________________________________ 3
anterior de Oracle) y tambien, se ocupan del mantenimiento de servidor. Estamos estudiando la
forma de trasladar los contenidos y la web del proyecto a una plataforma que no exija un
mentenimiento tan complejo.

LinuRobots e ingeniera con teatro, biotecnologa, msica fractal, semiconductores y


estructuras volantes.
Como contraparte de la labor
de los alumnos del MIT, integrados en las
clase de los profesores Douglas
Morgenstern y Jose Ramos en Boston,
podemos ver que, en la parte espaola del
proyecto (la llamamos The Valencia
S i d e ), participan los alumnos de la
Universidad Politcnica de Valencia
(Espaa). Tambin hay esa participacin
hbrida en la UPV: los alumnos del Prof. Adolfo Plasencia, (coordinador del proyecto en la UPV,
docente y director de proyectos en formacin de postgrado), que se estn especializando en
creacin de contenidos con herramientas multimedia y de la Red (del Programa Master de
Aplicaciones Multimedia para Internet), trabajan en el proyecto en equipo con otro grupo de
alumnos de ingenieras (Escuela Tcnica Superior de Ingeniera del Diseo. ETSID) de la UPV
que estn estudiando ingls y cultura anglosajona en pregrado en las clases del prof. de idioma
ingls Rafael Seiz; de ah que en la Web del Proyecto se pueden ver aportaciones creadas con
variantes muy espectaculares de la tecnologas multimedia para mostrar tambin aportaciones de
ingeniera y tecnologa avanzada, en las que lo humanstico, artstico y cultural. Estas se aaden a
las aportaciones sobre Shakespeare de equipo de la UT de Austin que dirige el prof. Vicente
Fors en UT Austin, tambin profesor de la Universitat de Valncia (denominada tambin la
universidad literaria de Valencia) y as se recombina lo literario con lo tecnolgico y lo
cientfico. Esto se puede ver en los vdeos en los que se muestra, por ejemplo, al LinuRobot, un
robot mvil autnomo de tecnologa Linux construido en la UPV que habla ingls y espaol (y
que cuando se aburre recita a quien encuentra en su camino, refranes antiguos populares del
idioma espaol; es un robot con buen humor):
[http://mitupv.mit.edu/multimedia-display.tcl?mitupv_mm_id=2625&section=university],
o tambin msica fractal creada por Juan Mochol, un artista que investiga arte a
travs de las matemticas en la UPV:
[http://mitupv.mit.edu/multimedia-display.tcl?mitupv_mm_id=2507&section=university], o
fragmentos de una 'comedia musical intergalctica representada en la Facultad de bellas Artes de
la UPV, titulada FLAVIO:
[http://mitupv.mit.edu/multimedia-display.tcl?mitupv_mm_id=1432&section=university], o los
vdeos con estructuras volantes para volar sin viento en un interior al ritmo de una msica
[http://mitupv.mit.edu/mitupv-uploads/2171.mov]. Tambin se pueden en items mas recientes ver
los trabajos de alumnos de la clase del prof. Ignacio Gil de la facultad de informtica de la UV, de
la profesora Pilar Conesa en la Escuela Tcnica Superior de Informtica Aplicada o de la clase de
Periodismo del porfesor Jos Manuel Girons de la Universitat de Valncia.
En los proximos meses tambin esta previsto incorporar alumnos de las Escuela de
Arquitectura y de la Facultad de Administracin y Direccin de Empresas de la UPV, lo que va a
aumentar considerablemente la transversalidad de la participacin de la UPV con evidente
vantajas en un proyecto como ste.
Es decir, la Web del Proyecto MITUPV es un espacio en el que los participantes
intercambian conocimientos propios de disciplinas de ciencias, tecnologa multimedia; de
creacin de contenidos en Internet, de todo tipo de ingenieras, direccin y organizacin de
Empresas y de Humanidades (literatura y drama, culturas e idioma).

_________________________________________________________ 4
Por ello, el espacio virtual de encuentro de todos ellos es una Web, en la que hay
vdeos mostrando laboratorios de semiconductores, biotecnologas, ciencias qumicas, espacios
de arquitectura, clases de arte, pintura y escultura, creacin de contenidos experimentales en
multimedia e Internet; dilogos y debates sobre forma de vida y cultura o temas de poltica y
sociedad (ver el vdeo del dilogo presencial entre Ferrn de Valencia, Espaa), Leticia de
Sonora (Mxico), y Manda, de Boston: [http://mitupv.mit.edu/mitupv-uploads/2322.mov]; y hay
deportes, diversin y ocio. Los participantes hasta el momento alcanzan ya los 1.300, acumulan
mas de 60 nacionalidades diferentes y las mas variadas culturas originarias que van desde las
asiticas del Norte y el Sur hasta las iberoamericanas o las anglosajonas o de Europa del Este. La
comunidad del MITUPV EXCHANGE es verdaderamente global.
Conceptos emergentes. Sncrnico/asincrnico. Textualizado/audiovisualizado.
El proyecto ha acumulado una experiencia ya de tres aos y lleva camino de pasar de
ser un proyecto bipolar MIT-UPV a convertirse en un Proyecto en Red.
Como conceptos emergentes ya se pueden detectar algunos de esta experiencia: la
articulacin de un fondo de escenario o de suelo comn aportado por los nuevos medios (Internet,
sus herramientas y sus estndares) y la tecnologas (multimedia como tendencia a la
audiovisualizacin); la asincrona global en las formas concretas y coptidianas de compartir el
conocimiento y la diversidad cultural, y tambin a la disolucin en la barreras de separacin entre
las Humanidades, las Ciencias y las Tecnologas. Tambin y muy importante la aparicin de un
universo cultural que, al tiempo, tiene un solo espacio comn para compartir el conocimiento
mediante los nuevos medios y permite a las diversas culturas originarias de los participantes en
las comunidad de ese micro universo cultural mantener su diversidad humana y cultural. De
todo eso se pueden percibir matices o muestras en las relaciones que, entre s, mantienen los
participantes en este proyecto.

Lenguajes comunes. Diversidad cultural. Tecnologa comn. Fuzzy Identity


El proyecto ha acumulado muchos tipos de riqueza espiritual. Dentro de l se escribe,
se habla, tanto en idioma espaol como ingls, pero tambin se comunica con imgenes, msica
(moderna, tradicional, jazz o fractal), sonidos o la voz de los robots. Pero no slo se aprende el
idioma del 'otro'; si el idioma del 'otro' es el espaol o el ingls, las culturas originarias del 'otro'
son muchas ms: hay alumnos participantes de Boston, Nueva York, California, Austin o
Valencia en Espaa, pero tambin los hay de Sudfrica, India, Chile, Corea, Japn, o de Polonia o
diversos sitios de Europa que han idos a estudiar su carrera en la UPV en el MIT o en la UT
Austin. La asociacin de estudiantes del Sur de Asia ensea a los espaoles como es su folclore o
su gastronmica mientas los valencianos de Espaa muestra a estadounidenses, coreanos o
sudafricanos cmo se cocina la paella, el mas famoso plato tpico de la gastronoma valenciana y
espaola. Unos y otros, al tiempo, que aprenden sus lenguas respectivas, utilizan herramientas
tecnolgicas comunes. Comparten un espacio comn en Internet, en el que se lo cuentan todo en
una ventana de Chat programada en lenguaje JAVA, sobre una arquitectura de navegacin de
pginas html en la que depositan sus narraciones en vdeo QuickTime, WindowsMedia, imgenes
estticas comprimidas en .jpg o en movimiento como GIF o dinmicas de realidad virtual QTVR
o de fractales.
Si sus 'linguas francas' con la misma jerarqua son el ingls/espaol, su jerga
compartida est llenas de expresiones que incluyen html, Java, .jpg, .mov, .wmv; chat; iMovie;
Windosmedia; Media Cleaner, Photsohop; www; http://; etc., todas estas expresiones tipogrficas
y sonoras son comunes en la comunidad del MIT-UPV-UT EXCHANGE.
"Envame un .jpg de esa playa en donde has estado el fin de semana" -pide Leticia,
una alumna mexicana natural de Sonora (Mxico), que estudia produccin de contenidos
multimedia en Valencia (Espaa)-, a Lodewyk, un alumno nacido en Pretoria, Sudfrica, que est
ahora estudiando en el MIT y nos muestra orgulloso el fabuloso laboratorio MIT's Microsystems
Technology Laboratories en donde esta trabajando. Lodewyk dice en su curriculum de la Web del

_________________________________________________________ 5
MITUPV Exchange: "Originariamente soy de Sudfrica -y nos deca- a veces estoy
viviendo en Londres, o Hong Kong, segn la poca. Durante el curso, estudio en Boston":
originalmente sudafricano, y , al tiempo por circunstancias de su familia, londinense y asitico,
pero bostoniano por sus estudios; y muestra en sus aportaciones una identidad espiritual y
cultural borrosa, difusa: una fuzzy identity, con valiosos elementos comunes, combinados con
poderosas muestras de la diversidad cultural de nuestro planeta, en el escenario de Internet que es
una propiedad, un territorio virtual comn de todos ellos. Tambin podemos ver en el proyecto a
los eCclopes de la gran reunin de tecnologa en red llamada Campus Party, que cada verano
rene a 4.000 jvenes de 20 pases en Valencia (Espaa) conectados a una red ATM de dos
conexiones troncales de 155 MB/seg.
[http://mitupv.mit.edu/multimedia-display.tcl?mitupv_mm_id=2906&section=university],
creados en el proyecto ARQuark y que mostraron all sus creadores: los jvenes tecnlogos
Benjamin Close and Wayne Piekarsky de la University of South Australia. No puede ser un
entorno ms variado y ms planetario.
La universidad ideal. Presencial. Virtual.
Cmo ha de ser la universidad ideal?, -se plantean los alumnos-, y cmo sera
una universidad mas eficiente?, -se preguntan los profesores en este proyecto-. Hay ahora
muchas opiniones encontradas al respecto. Ha de ser fsica, presencial? S. Ha de ser
virtual, abierta? S. Ha de servir para aprender cosas tiles para los profesionales de futuro?
Claro. Pero, sorpresa: ha de servir tambin para aprender a desaprender como hemos dicho.
Ya lo estamos viendo en el proyecto. Las herramientas que estamos utilizando ahora, los
mtodos para comunicar el conocimiento, para acumularlo no son las mismas que cuando
empezamos, son cambiantes, pero al tiempo comunes, han de ser comunes para alumnos de
ingeniera, filosofa, literatura, arte, lenguaje, arquitectura, periodismo, biotecnologa,
arquitectura, organizacin de empresas o multimedia y comunes para alumnos de varios
continentes. Alumnos de todas esas disciplinas los usan al mismo tiempo en este proyecto.
Hay alumnos siempre predispuestos a presumir de que estn participando desde
Bahamas, California, el Caribe o desde Honolulu. Esto no gusta nada a los que estn
trabajando duramente en las aulas. Porque a veces en una universidad europea, son
vacaciones mientras que en otra de EE.UU se est trabajando muy duro. Para eso esta la
seccin del calendario interactivo en la Web del proyecto y el 'Tiempo Internet.BMT' que da
el mismo horario en Internet para todo los lugares del planeta. Es ideal para programar chats
en el proyecto.
Y si esto es as de complicado con tres universidades, imagina lo que ser cuando
el incluya a ms universidades en otros continentes. "Ser complicado, s, pero mucho ms
divertido -dice Ferrn Soriano, un alumno de produccin Multimedia de la UPV- , adems,
en el futuro las universidades no sern solo fsicas, sino fsicas y virtuales al mismo tiempo, y
su parte fsica no estar en un solo pas. De eso forma podremos estudiar ingeniera, arte,
literatura o biologa en dos o tres pases al mismo tiempo. Una pasada".
-------------------------------------------
ARTICULOS PUBLICADOS SOBRE EL PROYECTO:
1. WIRED NEWS: College Kids: A Day in the Life, by Kendra Mayfield
Nov. 05, 2002
http://www.wired.com/news/school/0,1383,56082,00.html
..
2. Students as Designers and Content Creators: An Online Multimedia Exchange between the U.S. and Spain
By Douglas Morgenstern; Adolfo Plasencia; Rafael Seiz
Issue Nov. 01, 2003 PT
http://www.syllabus.com/article.asp?id=8293

_________________________________________________________ 6
Da 20-12.00h
Sala 1: Casos Prcticos en la Administracin Pblica

Moderador Jose M Rodrguez Director General. de Sistemas Informticos y


Telecomunicaciones de la Junta de Andaluca

Participantes

Pedro Prez Gonzlez-Toruo Director. Gral. de Organizacin, Inspeccin y


Calidad de los Servicios. C Justicia y admn.
Pblica
Jos Antonio Cobea Secretario General. Servicio Andaluz de Salud
Francisco Huertas Junta de Extremadura
Miguel ngel Amutio Gmez Ministerio de Administracin Pblica
Jos Ignacio del Ro Heras Ibermtica
Sergio Talens Oliag Debian
Clara Pezuela SchlumbergerSema
SOFTWARE LIBRE Y DE FUENTES ABIERTAS Y ADMINISTRACIN ELECTRNICA
Miguel A. Amutio Gmez
Ministerio de Administraciones Pblicas
miguel.amutio@map.es
Resumen: Para la Administracin, ente generador y receptor de software, el ejercicio de las libertades
de ejecucin, conocimiento, modificacin y redistribucin afecta a cuestiones tales como la defensa del
inters general, transparencia, eficacia, seguridad, acceso y conservacin de la informacin en soporte
electrnico, as como a la libertad de eleccin, proteccin de la inversin, mejor relacin
precio/rendimiento y garanta de comunicacin e interoperabilidad. En el desarrollo de la
Administracin electrnica, la extensin del software libre afecta a tres cuestiones: acceso por
ciudadanos y empresas a los servicios electrnicos de la Administracin, a los documentos puestos por
la Administracin en soporte electrnico y a los programas y aplicaciones puestos por la
Administracin a disposicin para sus fines y servicios.
1. Perspectiva de la Administracin
La licencia de un software contiene un conjunto de clusulas esencialmente orientadas a reconocer
derechos, a denegar derechos y a limitar responsabilidades del desarrollador o proveedor del software en
cuestin. Las licencias de software libre hacen hincapi en el reconocimiento de derechos de los
usuarios ms que en la denegacin de derechos. Es, en definitiva, el reconocimiento de la libertades en
las condiciones plasmadas en la licencia del software y no otro criterio lo que distingue al software libre
de otro tipo de software.
Para la Administracin, ente generador y receptor de software, el ejercicio de las cuatro libertades de
ejecucin, conocimiento, modificacin y redistribucin tiene consecuencias en las aplicaciones para el
procedimiento administrativo, que afectan a la defensa del inters general, la transparencia, la eficacia,
la independencia tecnolgica, la seguridad, el control sobre los propios programas y aplicaciones, el
acceso y conservacin de la informacin en soporte electrnico y, en concreto, a cuatro requisitos
operativos perseguidos por la Administracin a lo largo de sucesivas oleadas tecnolgicas, ya planteados
en su da en la poltica de sistemas abiertos [5], aplicables asimismo al software libre:
Libertad de eleccin. El sndrome de cliente cautivo conduce a que actualizaciones y
migraciones se hagan en condiciones de negociacin muy desfavorables para la Administracin.
Proteccin de la inversin, frente a la discontinuidad de los productos, bien por polticas
comerciales o bien por desaparicin del mercado del suministrador.
Mejor relacin precio/rendimiento. En el caso del software libre y de fuentes abiertas, los
precios no se determinan en rgimen de monopolio de oferta, pues favorece la competencia.
Garanta de comunicacin e interoperabilidad de los sistemas, especialmente si se tiene en
cuenta la necesidad de la Administracin de ofrecer el servicio pblico a los ciudadanos.
La Administracin Electrnica, persigue la mejora de los servicios pblicos, su prestacin multicanal
y el apoyo al desarrollo de las polticas pblicas. La extensin del uso del software libre le afecta en tres
cuestiones: en el acceso por ciudadanos y empresas a los servicios electrnicos de la Administracin,
en los documentos puestos por la Administracin en soporte electrnico y en los programas y
aplicaciones puestos por la Administracin a disposicin para sus fines y servicios. Esta relacin se
materializa en aspectos tales como dimensin social del software libre, interoperabilidad y
normalizacin, confianza y seguridad, acceso y conservacin de los documentos en soporte electrnico,
proteccin de las modalidades lingsticas, estabilidad, calidad y madurez del software, coste total de
propiedad y propiedad intelectual y las patentes, segn la siguiente visin panormica:
Carece de licencia o no se puede Recibe
Software de determinar
Software Adminstracin General del Estado
dominio pblico
Genera
Reconoce Se distribuye bajo
Derechos Deniega Utiliza sw para
Licencia
Responsabilidades Limita Existen Informtica instrumental

Tipos de licencias Aplicaciones para el ejercicio de potestades


No otorgan las 4 libertades Administracin electrnica
Otorgan las 4 libertades

Software Propietario Software libre y de Incluye


fuentes abiertas
Sometido a Aplicable
Tiene
Derechos de autor Sometido a Servicios electrnicos

Propiedad intelectual Documentos e lectrnicos


Cuenta con
Programas y aplicaciones puestos
a disposicin de ciudadanos y
empresas
Aspectos caractersticos Se beneficia de
Mercado Dimensin social
Oferta de productos Independencia tecnolgica Marco legal y requisitos AGE
Oferta de servicios Normalizacin e interoperabilidad Marco legal: Inters general, Eficacia y
eficiencia, Transparencia, Seguridad,
Datos de uso Disponibilidad y continuidad Conservacin, Accesibilidad, Normalizacin
Estabilidad y madurez e Interoperabilidad, Modalidades
lingsticas, Propiedad intelectual y patentes,
Seguridad Contratacin
Acceso y Conservacin de la Requisitos operativos: Libertad de eleccin,
informacin Proteccin de la inversin, Relacin
Coste total de propiedad precio/rendimiento, Interoperabilidad
Propiedad intelectual y patentes

Figura 1 Visin panormica.


2. Aspectos de inters para el desarrollo de la Administracin electrnica
Dimensin social del software libre y de fuentes abiertas: El software libre cuenta con una dimensin
social de la que se han hecho eco las Administraciones Pblicas, que deriva de sus libertades asociadas
y de sus consecuencias en trminos de transparencia y de 'democratizacin', y comparte lazos muy
estrechos y paralelismos con el desarrollo de Internet. Cabe destacar lo siguiente:
La extensin del modelo basado en el acceso libre y abierto desde los protocolos y
especificaciones al propio software ha sido prcticamente una secuencia lgica y natural. En
base a lo anterior se produce el desarrollo de una comunidad de personas que colaboran
independientemente de su localizacin geogrfica.
La dinmica de evolucin hacia la comercializacin, al igual que en Internet, se reproduce en el
software libre, a travs del desarrollo de la oferta comercial de productos y servicios.
El movimiento del software libre viene experimentando procesos de autoorganizacin para
ajustarse al entorno de una forma dinmica y flexible. Arrastra a la industria del software que,
de forma reactiva, est adaptando su oferta de productos, servicios y licencias.
Un modelo de negocio no orientado al coste de licencia facilita la distribucin de software a
travs de canales tradicionales como libros, revistas y peridicos que incluyen CDs.
La posibilidad de acceder al software que facilita la libertad de redistribucin, permite a
ciudadanos, empresas o AAPP el acceso casi inmediato a tecnologa de ltima generacin: los
ciudadanos puedan acceder con menor coste a recursos tecnolgicos necesarios para la
participacin en los serviciso de la Administracin electrnica; las empresas o entes pblicos
puedan acceder a software de ltima generacin con menor coste; a Pymes y regiones
desfavorecidas les ofrece la posibilidad de recortar distancias tecnolgicas.
Interoperabilidad y normalizacin: La trascendencia de la interoperabilidad deriva de la interrelacin
entre infraestructuras, servicios, contenidos y accesibilidad. Tiene especial importancia en el despliegue
de los servicios de Administracin electrnica y en el esfuerzo necesario para que sean visualizables,
accesibles y funcionalmente operables por parte de los ciudadanos y las empresas sin condicionarles a la
adquisicin de determinados entornos tecnolgicos concretos. La interoperabilidad tambin se
manifiesta como interrelacin horizontal, en la Administracin internamente y con otras
Administraciones y los administrados, de forma que la cautividad en protocolos, especificaciones y
formatos propietarios arrastra en cadena a unos y a otros. La utilizacin de especificaciones pblicas y
abiertas es elemento clave para lograr la siempre deseada interoperabilidad y se encuentra ligada al
desarrollo del software libre y de fuentes abiertas. El Programa Nacional de Tecnologas de Servicios
de la Sociedad de la Informacin del Plan Nacional de Investigacin Cientfica, Desarrollo e
Innovacin Tecnolgica 2004-2007 [8] incluye la promocin del software libre entre sus objetivos y su
uso, difusin y evolucin para reducir duplicidad y facilitar la interoperabilidad, con especial mencin a
la Administracin Pblica. El Programa IDA est desarrollando el Marco Europeo de Interoperabilidad
que se basar en normas abiertas y fomentar el uso de programas de fuente abierta[5]. Es
significativo que el software del W3C es software libre y compatible con la licencia GPL [12]; adems,
su poltica de patentes se orienta a que sus Recomendaciones se puedan implementar libres de royalties
y de patentes [4]. Los criterios de seguridad, normalizacin y conservacin de las aplicaciones
utilizadas para el ejercicio de potestades [2] tambin se refieren a la utilizacin de especificaciones
pblicas abiertas y a los formatos de documentos libres de royalties y de patentes.
Independencia tecnolgica: La independencia tecnolgica interesa a la propia Administracin y a los
administrados y se encuentra estrechamente ligada a la normalizacin y a la interoperabilidad. La
disponibilidad del cdigo fuente junto con el ejercicio de las cuatro libertades da lugar a un escenario
que interesa a toda entidad que desea aprovisionarse de software, bien de productos o bien de
desarrollos a medida. Por otra parte, el usuario de software libre no est tan expuesto a las tensiones que
generan las migraciones o actualizaciones forzadas no ligadas a sus propias necesidades.
Soporte tcnico y mantenimiento; disponibilidad y continuidad: La preocupacin por la continuidad
del soporte tcnico y del mantenimiento por la continuidad del producto y del soporte tcnico y por la
correspondiente cautividad se diluye desde el momento en que el usuario est en posesin de los fuentes
distribuidos en condiciones de software libre. Al seleccionar una solucin o producto de software libre
se debe tener presente que caben tres vas de soporte tcnico y mantenimiento [7] no necesariamente
excluyentes entre s: (1) realizar el mantenimiento por medios propios; (2) contratar el soporte o
mantenimiento a un tercero, en competencia; (3) explotar las listas de distribucin de correo electrnico
del producto o solucin en cuestin para la obtencin de parches y de nuevas versiones. Obviamente, si
se escoge la opcin de contratar el soporte tcnico o mantenimiento a un tercero, tiene lugar el escenario
habitual de servicios profesionalizados, estabilidad de las relaciones entre las partes y responsabilidades
claramente definidas. Con el software libre siempre queda la puerta abierta para adoptar una decisin
bien de continuidad o bien de sustituir el software (o el hardware) en cuestin por otro.
Confianza y Seguridad: El software libre tiene una proyeccin de calado en materia de seguridad pues
da lugar a un escenario de confianza por transparencia en lugar de por opacidad; el cdigo puede estar
sujeto a escrutinio para verificar que el cdigo est libre de cuestiones tales como elementos de control a
distancia, puertas traseras, transmisin clandestina de informacin a terceros, u otros posibles. Facilita
la realizacin de mejoras y de correcciones en los programas, y su redistribucin. Permite la aplicacin
del principio de mnima funcionalidad', pues facilita la eliminacin o desactivacin de funciones que no
sean de inters, innecesarias o indeseadas.
Conservacin de la informacin: El uso conjunto de especificaciones pblicas abiertas libres de
patentes y de royalties junto con software libre configura un escenario de independencia tecnolgica y
de interoperabilidad favorable tanto a la conservacin a lo largo del tiempo, como de respeto a la
pluralidad y libertad de opcin en el acceso a los documentos administrativos por parte de las
administraciones, ciudadanos y empresas, sin obligarles a adquirir una solucin propietaria determinada.
Proteccin de modalidades lingsticas: El software libre y de fuentes abiertas favorece la posibilidad
de proteccin de la diversidad lingstica: mens, opciones, rtulos, textos y mensajes de ayuda y
documentacin; correccin ortogrfica y gramatical; nuevas versiones traducidas ya.
Estabilidad, calidad y madurez: El desarrollo del software libre se produce en un marco de
transparencia sometido a reglas y criterios de actuacin (seleccin, desarrollo, mantenimiento,
liberacin, comunicacin), como demuestran diversos productos estrella, altamente fiable y estable. Se
han emprendido iniciativas destinadas a aportar confianza al software libre mediante la certificacin
para garantizar la conformidad de un software con la definicin del software de fuentes abiertas o de un
hardware con una plataforma de software libre. En relacin con la amigabilidad, la facilidad de uso es
un aspecto sometido a mejora permanente. Finalmente, es posible encontrar documentacin abundante
en internet y en libros de los productos de software libre y de fuentes abiertas ms conocidos.
Coste total de propiedad: Es un hecho habitual que las Administracines Pblicas aborden
implantaciones masivas de elementos genricos de software para sus funciones. Se encuentran
regularmente con que el coste de las alternativas tecnolgicas que van a ser utilizadas de forma masiva
basadas en licencias de software propietario tiene unas proporciones en relacin con el conjunto
difcilmente asumibles o justificables. El ahorro de estos costes o la canalizacin de los mismos hacia
ms y mejores servicios es un factor crtico que viene inclinando ya la balanza en favor de la utilizacin
del software libre y de fuentes abiertas. Finalmente, un TCO del equipamiento necesario para usar los
servicios de la Administracin electrnica reducido tambin interesa a los ciudadanos y las empresas.
Propiedad intelectual y patentes: El software libre est igualmente sometido a propiedad intelectual y a
derechos de autor, segn lo previsto en la legislacin nacional (Ley de Propiedad Intelectual) y
comunitaria (Directiva 91/250/CEE). En la contratacin de desarrollos de software a medida, la
Administracin, como prctica habitual, se reserva , con exclusividad y a todos los efectos, los derechos
de explotacin, que son los relativos a la reproduccin, distribucin, comunicacin pblica y
transformacin. Existe preocupacin por que posibles modificaciones en el marco legal en materia de
patentes puedan dar lugar a que el software quede en el mbito de lo patentable [1] [6], con
consecuencias desfavorables en el ejercicio de las cuatro libertades y perjudiciales para el desarrollo de
la sociedad de la informacin y de la Administracin electrnica, en particular.
3. Marco legal y requisitos de la Administracin
Nuestro pas cuenta con un marco legal muy completo y propicio para el desarrollo de la Administracin
electrnica y la utilizacin del software libre en este mbito:
Defensa del inters general: La Constitucin establece en su artculo 103 que La Administracin
sirve con objetividad los intereses generales y acta de acuerdo con los principios de eficacia....
Transparencia de la actuacin administrativa: La Ley 30/1992, de 26 de noviembre, de Rgimen
Jurdico y del Procedimiento Administrativo Comn se refiere a garantizar la calidad y transparencia
de la actuacin administrativa y a la tecnificacin y modernizacin de la actuacin administrativa.
Eficacia y eficiencia: La citada Ley 30/1992 en su artculo 3 Principios Generales, se refiere a la
actuacin por los criterios de eficacia y servicio a los ciudadanos.
Seguridad: El Real Decreto 263/1996, que regula la utilizacin de tcnicas electrnicas, informticas y
telemticas por la AGE, establece la obligacin de adoptar medidas que aseguren la autenticidad,
confidencialidad, integridad, disponibilidad y conservacin de la informacin.
Normalizacin e interoperabilidad: El RD 263/1996 se refiere a la conformidad con normas
nacionales e internacionales exigibles; y a la compatibilidad entre el emisor y el destinatario.
Accesibilidad: La Ley 34/2002, de 11 de julio, de Servicios de la Sociedad de la Informacin y
Comercio Electrnico, establece que las Administraciones Pblicas debern adoptar medidas para que la
informacin disponible en sus respectivas pginas de Internet pueda ser accesible a personas con
discapacidad y de edad avanzada. La regulacin de los registros y las notificaciones telemticas
establece el cumplimineto de los requerimientos establecidos por la WAI.
Proteccin de las modalidades lingsticas: La Constitucin recoge la proteccin y garanta de las
distintas modalidades lingsticas de Espaa (artculos 3 y 46) y el Real Decreto 564/1993, de 16 de
abril, la presencia de la letra y dems caracteres especficos del idioma castellano.
Propiedad intelectual: La Ley de Propiedad Intelectual (RD Legislativo 1/1996, de 12 de abril) trata
en sus artculos 95 a 104 la cuestin de los derechos de autor y los programas de ordenador.
Patentes: Segn la Ley 11/1986 de 20 de marzo por la que se aprueba la Ley de Patentes y Modelos de
Utilidad los programas de ordenador no se consideran invenciones y no estn sujetos a patentabilidad.
Contratacin: En la normativa vigente (Texto Refundido de la Ley de Contratos para las
Administraciones Pblicas y marco jurdico especfico) no se aprecian matiz favorable o desfavorable a
uno y otro tipo de software, sea propietario o software libre.
4. Conclusiones
Las Administraciones Pblicas vienen configurando polticas y decisiones operativas en relacin con el
software libre que afectan al desarrollo de la Administracin electrnica. En Unin Europea el Plan de
Accin eEurope 2005, el Programa IDA y el VI Programa Marco de I+DT recogen el papel del software
libre en el desarrollo de la Administracin electrnica, la promocin de su uso y su relacin con los
estndares abiertos y el logro de la interoperabilidad. Estas polticas contemplan la adopcin de
especificaciones pblicas abiertas y de los estndares del W3C, de forma que los contenidos puedan ser
accesibles, visualizables y funcionalmente operables desde navegadores alternativos; la disposicin de
los documentos electrnicos en varios formatos, al menos para que el ciudadano no se vea obligado a
adquirir un determinado software; recomendaciones sobre aprovisionamiento de software y hardware y
uso de licencias; directrices de migracin, como es el caso del Programa IDA [7] y de Alemania [3];
despliegue de observatorios, centros de competencia y planes de formacin. No debe sorprender que la
Administracin acte en este campo; de hecho, ya existen precedentes similares como la poltica de
sistemas abiertos que contemplaba condiciones de obligatoriedad y excepciones. Hay expectacin sobre
lo que la Administracin pueda hacer por parte de la industria de las tecnologas de la informacin y por
parte de la propia sociedad, que viene motivada por el mltiple papel de la Administracin como cliente
y usuario de tecnologas de la informacin, como desarrollador, como prestador de servicios, como
dinamizador, como referente en suma.
Referencias
[1] Comisin Europea, DG Empresa. Study into the use of Open Source Software in the Public
Sector; an IDA Study. <http://europa.eu.int/ISPO/ida/>
[2] Ministerio de Administraciones Pblicas. Criterios de seguridad, normalizacin y
conservacin, v2.1 febrero de 2003. <http://www.csi.map.es/csi/pg5c10.htm>
[3] Bundesministerium des Innern, Kbst. A guide to migrating the basic software components on
server and workstation computers, July 2003. <http://www.kbst.bund.de/>
[4] World Wide Web Consortium (W3C). W3C Patent Policy. W3C Open Source Software.
<http://www.w3.org>
[5] Ministerio de Administraciones Pblicas. Estrategia de sistemas abiertos.
<http://www.csi.map.es/csi/pg6050.htm>
[6] Upgrade CEPIS. Issue on Open Knowledge. Several European computer scientists and
engineers. Petition to the European Parliament on the Proposal for a Directive on the
Patentability of Computer-implemented Inventions. <http://www.upgrade-cepis.org/>
[7] Comisin Europea, DG Empresa. The IDA Open Source Migration Guidelines. October 2003.
<http://europa.eu.int/ISPO/ida/>
[8] Ministerio de Ciencia y Tecnologa. Plan Nacional de Investigacin Cientfica, Desarrollo e
Innovacin Tecnolgica 2004-2007; Volumen II.
Distribuciones especializadas de GNU/Linux para la Administracion
Publica
Sergio Talens-Oliag
sto@debian.org

Enero 2004

Resumen
En esta ponencia hablaremos de la generacion y mantenimiento de distribuciones especializas de
GNU/Linux para su uso en las Administraciones Publicas, justificando su existencia y explicando
como creemos que deben ser desde un punto de vista tecnico

Introduccion
En los ultimos tiempos han aparecido varias distribuciones de GNU/Linux promovidas por las
Administraciones como LinEx en Extremadura o Guadalinex en Andaluca que muy probablemente
tendran continuacion en otras Comunidades.
En esta ponencia expondremos las razones por las que consideramos que es deseable el uso del
software libre y el desarrollo de estas distribuciones especficas de GNU/Linux a partir de otras
existentes.

Conceptos previos
Comenzaremos nuestra presentacion comentando algunos de los conceptos que vamos a emplear
a lo largo de toda la ponencia.

Que es el Software Libre?


El concepto de software libre se refiere al derecho de ejecutar, copiar, distribuir, estudiar, cambiar
y mejorar el software sin restricciones y comprende las siguientes libertades:
Libertad de usar el programa con cualquier proposito sin ningun tipo de restriccion.
Libertad de estudiar como funciona el programa y adaptarlo a las necesidades propias.
Libertad de redistribuir copias del programa y de ese modo ayudar a otros.
La libertad de mejorar el programa y liberar esas mejoras al publico.
Cuando hablemos del software libre en la Administracion comentaremos cuales son sus ventajas
y las razones por las que pensamos que vale la pena emplearlo en este tipo de entornos.

Distribucion de software: paquetes y sistemas de gestion de paquetes


Desde los inicios del movimiento del software libre el metodo tradicional para distribuir los
programas ha sido en forma de codigo fuente, generalmente empaquetado en un archivo tar com-
primido que contiene todos los ficheros necesarios para compilar e instalar el programa.
Para instalar un programa es necesario descargar el fichero con el codigo, desempaquetarlo,
compilarlo y copiar los ficheros ejecutables a los directorios adecuados del sistema. Generalmen-
te la compilacion implica leer la documentacion, modificar algun fichero y en ocasiones instalar
programas o bibliotecas adicionales.
El problema de este sistema es que es largo y tedioso, en el proceso se pueden cometer multitud
de errores y para detectarlos y corregirlos hay que tener un nivel de conocimientos tecnicos del que
no disponen todos los potenciales usuarios del programa.

1
Para solventar estos problemas algunos programas comenzaron a distribuirse precompilados
dentro de un fichero tar con la estructura de directorios adecuada para instalarlos en nuestro
sistema.
Aunque este ultimo sistema es muy simple, todava tiene varios problemas:
No hay un metodo claro para saber que programas hay instalados en el sistema,
No es posible detectar los conflictos o incompatibilidades con programas o bibliotecas ya
instaladas cuando instalamos un nuevo programa o biblioteca.
Cuando un programa depende de otros programas o bibliotecas debemos verificar manual-
mente las dependencias, lo que puede ser tedioso en algunos casos.
Para resolver estos problemas se introdujo el concepto de paquete y el de sistema de gestion de
paquetes.
Basicamente un paquete es un archivo que contiene binarios precompilados y meta-datos que
describen su contenido (version del programa, autor, origen, etc.), su relacion con otros paquetes
(dependencias, conflictos, etc.) e incluso las operaciones a realizar al instalar, configurar o borrar
el paquete.
A lo largo del tiempo han aparecido varios formatos de paquete distintos, los mas extendidos
hoy en da son el del RedHat Package Manager (rpm) y el formato de archivo de Debian (deb).
Se puede consultar una comparativa de diversos formatos en Comparing Linux/UNIX Binary
Package Formats [Pkg-comp]
Un sistema de gestion de paquetes es un sistema que que mantiene informacion sobre los paquetes
instalados e instalables e incluye herramientas para instalar, actualizar y eliminar esos mismos
paquetes de un equipo concreto.
Las herramientas de gestion de paquetes de bajo nivel para los formatos rpm y deb son el rpm
y el dpkg respectivamente, aunque sobre ellas se han implementado multitud de herramientas de
mas alto nivel, llegando hoy da a una situacion en la que es posible emplear el mismo sistema de
alto nivel (apt) con formatos de paquete distintos (actualmente deb y rpm).

Las distribuciones de GNU/Linux


Despues de las descripciones anteriores, diremos que una distribucion de GNU/Linux es un
conjunto de paquetes preparados para instalar un sistema operativo completo en un disco duro. El
nucleo empleado sera Linux y gran parte de las bibliotecas y programas del sistema seran parte
del proyecto GNU (glibc, gcc, bash, ...); de ah el nombre de GNU/Linux.
Las caractersticas mas importantes de una distribucion seran:
El sistema de gestion de paquetes y el formato de paquete empleado.
El sistema de instalacion inicial.
La cantidad, calidad y grado de actualizacion de los paquetes que incluye. En este aspecto es
muy importante saber si la distribucion dispone de algun sistema de control de calidad.
El tipo de licencias de los programas empaquetados y distribuidos; todos se pueden redistri-
buir libremente?, si no es as, es facil distinguir los que si de los que no?
El soporte que de a sus usuarios, tanto en lo relativo al seguimiento de errores y problemas
de seguridad como en el uso diario del sistema (documentacion existente, foros de discusion
en los que encontrar ayuda, existencia de soporte de pago, etc.).
La frecuencia con la que aparecen actualizaciones de la distribucion oficial y la relacion de
esto ultimo con el soporte de las distintas versiones de la distribucion.
Compatibilidad con el LSB o Linux Standard Base ([LSB]).
Existen gran cantidad de distribuciones de GNU/Linux, las mas populares actualmente son:
Debian GNU/Linux (http://www.debian.org/), desarrollada por mas de 1200 voluntarios
de todo el mundo, emplea el formato de paquete deb y los paquetes oficiales son totalmente
redistribuibles. Funciona en 11 arquitecturas diferentes.

[Pkg-comp] http://www.kitenet.net/joey/pkg-comp/
[LSB] http://www.linuxbase.org/

2
Gentoo (http://www.gentoo.org/), al igual que debian, desarrollada por voluntarios, emplea
un sistema de paquetes basado en codigo fuente que son compilados antes de instalar. Funciona
en 6 arquitecturas diferentes.
Fedora (http://fedora.redhat.com/), proyecto lanzado por la compana Red Hat en susti-
tucion de la distribucion denominada Red Hat Linux. Es un proyecto publico (aunque sigue
estando controlado por la empresa), emplea el formato de paquete rpm y los paquetes son
redistribuibles libremente.
Red Hat Enterprise Linux (http://www.redhat.com/), distribucion comercial basada en
Fedora.
SuSE Linux (http://www.suse.com/), distribucion comercial adquirida recientemente por
Novell, emplea el formato rpm.
Mandrake (http://www.mandrakelinux.com/), distribucion comercial, emplea el formato
rpm.

Los Live CD
Ademas de las distribuciones instalables ultimamente se han puesto muy de moda los Live CD;
aunque en la mayora de publicaciones y webs se suelen considerar distribuciones, en realidad se
trata de imagenes de un sistema de ficheros que pueden arrancar directamente desde el CD.
Este tipo de sistemas son utiles para hacer demostraciones o probar una distribucion sin ne-
cesidad de instalarla (aunque con limitaciones, ya que en el sistema de archivos live no se puede
escribir) e incluso se pueden emplear para hacer instalaciones por clonacion (formateando el disco,
copiando los contenidos del sistema de archivos que hay en el CD y modificando un poco el sistema
para que arranque correctamente desde el disco duro).
En muchas ocasiones las distribuciones adaptadas son simplemente un Live CD que contiene
una instalacion de una distribucion estandar con paquetes adicionales, como por ejemplo tenemos
Knoopix ([Knoppix]), que es un LiveCD derivado de la distribucion inestable de Debian y Me-
tadistros ([Metadistros]), que es un proyecto que tiene como objeto facilitar la creacion de los Live
CD a partir de cualquier instalacion de Linux.

Adaptacion y especializacion de distribuciones


A partir de las distribuciones mas populares han aparecido multitud de adaptaciones y espe-
cializaciones; en general lo que se suele hacer es seleccionar un subconjunto de los paquetes de la
distribucion base, se anaden unos pocos (que a veces son simplemente paquetes de la distribucion
original modificados) y se incluye un sistema de instalacion modificado o incluso completamente
reescrito.
Las razones por las que se generan estas distribuciones son multiples y variadas; en algunos casos
se trata de generar distribuciones comerciales a partir de otras totalmente libres (p. ej. Libranet,
Lindows o Xandros a partir de Debian), generalmente simplificando la instalacion, reduciendo
el numero de paquetes y vendiendo soporte a usuarios finales. En otros se trata de adaptarlas
para usos concretos, simplificando la instalacion y el mantenimiento; as tenemos distribuciones
orientadas a la educacion (Skolelinux), distribuciones que hacen especial hincapie en la seguridad
(Adamantix, NSA Security Enhanced Linux, etc.), que sirven para transformar un PC en un
router (como el Linux Router Project).

GNU/Linux en las Administraciones Publicas


Por que usar Software Libre en la Administracion Publica?
Motivos eticos
El software libre puede ser usado, modificado y distribuido sin restricciones, lo que
promueve la participacion y difusion del conocimiento entre sus usuarios, evita que se
realicen copias ilegales (ya que en nuestro caso se puede hacer libremente) y a la hora

[Knoppix] http://www.knopper.net/knoppix/
[Metadistros] http://metadistros.hispalinux.es/

3
de trabajar con o para la Administracion en temas relacionados con la informatica no
favorece a ninguna empresa o individuo, ya que en principio toda persona que tenga
acceso a un PC puede utilizar y conocer el software libre en las mismas condiciones.
Motivos tecnicos
En general el codigo fuente del software libre mas empleado suele ser robusto y fiable ya
que al estar disponible suele ser revisado por mucha gente, tanto para ampliar o alterar
su funcionamiento como para corregir los errores que puedan ir apareciendo.
Aunque en general esto no sea importante para el usuario domestico, en una Admi-
nistracion es una gran ventaja, ya que le da independencia tecnologica; al disponer o
poder disponer de personal capaz de leer y escribir el codigo de los programas es posible
modificarlos para anadir funcionalidades o corregir errores siempre que sea necesario en
lugar de depender de entidades externas, que con frecuencia son empresas extranjeras.
Motivos economicos
La gran mayora del software libre es gratuito, lo que reduce los costes generados por el
pago de licencias. Ademas, las modificaciones o adaptaciones de programas pueden ser
realizadas por personal propio o contratado a empresas de la industria local del software,
de modo que el dinero invertido en el trabajo no acabe en otros pases.

Tipos de distribucion y servicios relacionados


En una organizacion publica puede ser interesante disponer de distintos tipos de distribuciones
segun el publico al que vayan dirigidas:
Administradores de sistemas,
Personal interno de la organizacion,
Ciudadanos.
y la funcion que vayan a cumplir:
Sistemas servidores de proposito general,
Sistemas servidores especializados,
Sistemas de usuario final o de escritorio.
Una vez identificado el tipo de publico al que va dirigida una distribucion y la funcion que va
a desempenar, se puede optar por emplear una distribucion ya existente tal cual esta o adaptarla
para generar una version propia.
En principio, para implantar y utilizar una distribucion, la Administracion tendra que disponer
de infraestructura para proporcionar servicios relacionados con ella.
Estos servicios seran, a grandes rasgos:
Formacion para usuarios y administradores,
Servicio de soporte ante problemas para el personal propio,
Mantenimiento de los equipos y la distribucion, incluyendo servicios de administracion y
actualizacion remota de equipos de escritorio y servidores especializados,

Motivos para generar una distribucion propia


Vistos los servicios relacionados con la distribucion o distribuciones que se deben dar, se ve
rapidamente que adoptar como propia una distribucion de GNU/Linux tiene algunos problemas:
Numero de programas: empleando una distribucion generalista los usuarios tienen demasiadas
opciones para escoger en casi cualquier aspecto del sistema (varios sistemas de ventanas, varios
paquetes ofimaticos, etc.), por lo que se hace muy difcil poder formarlos en el uso de todos
ellos y, lo que es mas importante, se complica mucho el soporte y el mantenimiento, al tener
que conocer un numero demasiado elevado de programas.
Programas no incluidos en la distribucion original: si dentro de la Administracion es necesario
emplear software que no esta en la distribucion original habra que disponer de una infraes-
tructura paralela para mantenerlos y gestionarlos, salvo que trabajemos con una distribucion
gestionada por voluntarios que nos permitan incluirlos.

4
Control de las versiones y correccion de errores: si se emplea una distribucion comercial es la
empresa la que tiene la ultima palabra a la hora de publicar las correcciones y a la de cambiar
de version.
Modificaciones y traduccion de programas: muchas Comunidades Autonomas Espanolas son
bilingues, por lo que sera necesario traducir algunas de las aplicaciones existentes a los idiomas
locales. Aunque a la larga las traducciones deberan acabar incluidas en las versiones originales
de los programas, en principio se pueden generar paquetes especiales con las traducciones de
algunos programas mientras se van incluyendo en las versiones originales.
Preconfiguracion de los programas: para muchas aplicaciones puede ser interesante disponer
de una configuracion distinta de la estandar a la hora de instalarlas, ya que eso simplifica
mucho el soporte. Como ejemplo de esto podramos tener preconfigurados los servidores de
nombres, de correo, etc. para las instalaciones internas de la Administracion o la seleccion de
idiomas en una version para el publico en general.
Por estas y otras razones, parece que lo mas adecuado para una Administracion es montar un
equipo dentro de su organizacion para que se encargue de generar y mantener una version adaptada
de una distribucion de proposito general cuyas tareas seran:
decidir que tipos de distribuciones son necesarias,
seleccionar los paquetes que se deben incluir en cada una,
preparar el sistema de instalacion para que sea lo mas automatico posible,
preparar las preconfiguraciones que parezcan mas adecuadas,
preparar el sistema para que funcione con el idioma o los idiomas empleados en la Comunidad
Autonoma, incluyendo traducciones propias si es necesario,
crear una infraestructura para que pueda existir una comunidad local de usuarios y desarro-
lladores,
montar un sistema de gestion de errores para los usuarios locales, que funcione en el idioma
o los idiomas propios,
establecer canales para relacionar la distribucion propia con la original, fundamentalmente
se tratara de que algunos de los integrantes del equipo participen en el desarrollo y las
comunidades relacionadas con la distribucion original y hagan de puente (y de filtro) entre el
sistema de gestion de errores local y el de la distribucion base.
generar y mantener las sucesivas versiones de la distribucion y crear versiones en forma de
LiveCD para permitir que sea probada sin necesidad de instalarla.

Eleccion de Debian como distribucion base


Suponiendo que se acepte nuestra idea inicial de que es adecuado el generar una distribucion
adaptada, proponemos emplear Debian GNU/Linux como distribucion base.
Puede que Debian sea uno de los mayores proyectos de software libre del mundo si lo medimos
por el numero de desarrolladores (mas de 1000), numero de paquetes (mas de 12500 en la version
oficial) o el numero de informes de error procesados (mas de 200.000 en 10 anos).
Entre otras nos proporciona las siguientes ventajas:
Es gestionada por una comunidad de desarrolladores voluntarios de todo el mundo organizados
de forma democratica y que se comprometen a respetar el Contrato Social de Debian, que
garantiza que:
1. La distribucion sera y se mantendra libre al 100 %,
2. Los integrantes del proyecto devolveran a la comunidad del software libre; los nuevos
desarrollos tendran licencias libres y se colaborara en todo lo posible con los autores
originales de los programas empaquetados para Debian.
3. No se esconderan los problemas; se empleara un sistema de gestion de errores publico.
4. Las prioridades son los usuarios y el software libre.
Dispone de gran cantidad de paquetes de gran calidad tecnica, gracias al uso de un sistema de
seguimiento de errores publico y a la definicion dentro de la organizacion del Debian Policy
Manual que describe la poltica de requisitos de la distribucion, que incluye la estructura
y contenidos del archivo de Debian, algunos aspectos del diseno del sistema operativo y el
conjunto de requisitos tecnicos que los paquetes deben cumplir para poder ser incluidos en la
distribucion oficial.

5
Se revisan las licencias de todos los programas que se quieren incluir en la seccion principal de
la distribucion para verificar que cumplen con las Debian Free Software Guidelines, lo que nos
garantiza entre otras cosas que no vamos a incumplir ninguna ley al redistribuir los paquetes
de esta seccion.
La distribucion define varios estandares propios que facilitan enormemente el trabajo de un
adaptador, como por ejemplo el uso de un sistema denominado DebConf para gestionar las
configuraciones de los paquetes de modo automatico o el uso del Debian Menu System, que
permite localizar facilmente las aplicaciones desde cualquier gestor de ventanas.
Es una distribucion multiplataforma (soporte de once arquitecturas) y con soporte multilingue.
Los cambios de la version estable son poco frecuentes (quizas demasiado poco frecuentes);
entre versiones solo se realizan actualizaciones por motivos de seguridad.
Para cada cambio de version se suelen establecer una serie de objetivos y una vez conseguidos
se sigue un proceso de validacion riguroso basado en el sistema de gestion de errores.
Tal y como hemos mencionado antes, no es recomendable emplear Debian directamente por
varias razones:
Excesivo numero de paquetes.
No permite personalizacion ni preconfiguracion de paquetes.
Herramientas de gestion de errores y comunicacion con desarrolladores en ingles.
Lentitud a la hora de incorporar traducciones.
En la actualidad existen varios proyectos en marcha para simplificar la generacion de distribu-
ciones basadas en Debian, una de las tendencias mas interesantes es la descrita en la pagina de las
Custom Debian Distributions ([CDD]). Un buen ejemplo de este tipo de proyectos es Skolelinux
([Skolelinux]), que es un intento de crear una version de Debian orientada al sistema educativo.
Una de las ventajas de este tipo de aproximaciones es que las versiones adaptadas se integran
casi totalmente con el proyecto original y por tanto no se duplican esfuerzos y las aportaciones de
unos y otros pueden ser aprovechadas inmediatamente por todos.
Ademas, con este modelo, la distribucion especializada es un subconjunto de la de proposito
general, por lo que pasar de la primera a la ultima es practicamente inmediato: basta con actualizar
la lista de paquetes a partir del almacen original e instalar.

Conclusiones y trabajos futuros


El uso del software libre dentro de las Administraciones Publicas esta justificado por multiples
motivos eticos, tecnicos y economicos.
Por las caractersticas de este tipo de organizaciones es necesario proporcionar servicios de
formacion, soporte y mantenimiento del software.
Esto lleva a que sea recomendable para los organismos publicos crear una version propia de una
distribucion de GNU/Linux, siempre y cuando se haga partiendo de proyectos ya existentes y se
intente evitar la duplicacion de esfuerzos.
Por ultimo, decir que a nuestro modo de ver, la lnea a seguir es la del proyecto Debian, creando
las distribuciones propias a partir de su distribucion de GNU/Linux y tratando de seguir la lnea
de las Custom Debian Distributions.
Para proximos trabajos nos planteamos el desarrollo de un documento mas tecnico sobre como
generar una Custom Debian Distrbution en el que se presente la infraestructura necesaria para
hacerlo y defina mecanismos para enlazar lo que se haga en esas distribuciones con el proyecto
Debian original.

[CDD] http://wiki.debian.net/index.cgi?CustomDebian
[Skolelinux] http://developer.skolelinux.no/

6
B-MAN:
MONITORING FOR CROSS-ORGANIZATIONAL
E-GOVERNMENT PROCESSES

C.Pezuela, A.Pasic
Atos Origin, Spain
clara.pezuela@atosorigin.com
aljosa.pasic@atosorigin.com

A cross-organizational governmental process can consist of many actors (people, organizations,


systems) performing many tasks. In order to accomplish the overall task, the actors must
complete specified sub-tasks in a coordinated manner. One of the consequences of this is the
need to interact with other governmental departments, and subsequently sharing information and
business processes with them. This interaction among governmental organizations requires
certain degree of monitoring over the process execution in a practice and useful manner.

B-MAN (Business Mobile Agent Networks, [1]) is a project whose main objective is solving
this problematic interaction between the organizations processes and the integration with the
legacy systems already existing in them, resting on distributed workflow and agent technology,
under an open source license.

In this paper we show how B-MAN results can be applied on e-Government paradigm. In
concrete, how the implemented open source solution in B-MAN for monitoring can be useful to
supervise and control a governmental process execution.

Keywords: e-Government, distributed workflow, process monitoring, digital contracts

References

[1] B-MAN web site, B-MAN Consortium, January 2003, http://www.b-man.org


[2] World Bank, http://www1.worldbank.org/publicsector/egov/definition.htm
[3] IMPULSE consortium: Improving public services requirements, April 2001
[4] Aljosa Pasic, Sara Diez, Jose Antonio Espinosa, IMPULSE: Interworkflow Model for e-
Government, A Electronic Government: First International Conference, EGOV 2002, Aix-en-
Provence, France, September 2-5, 2002. Proceedings Publisher: Springer-Verlag, Pages: 472
479
[5] Jose Antonio Espinosa, Antonio Sanz Pulido: IB-a workflow based integration approach,
September 2001.
[6] XML web site, http://www.w3.org/XML
Introduction

Generally speaking, e-Government architecture frameworks describe three different modeling


strategies that can be employed: process-oriented, resource-oriented, and data-oriented. In the
rest of this paper we focus on process-oriented strategy, which has its core component in the
workflow of an organization.

A cross-organizational governmental process can consist of many actors (people, organizations,


systems) performing many tasks. In order to accomplish the overall task, the actors must
complete specified sub-tasks in a coordinated manner. Sometimes, these sub-tasks can be
performed in parallel while other times they are sequential. Some processes require repetition of
sub-tasks. Most processes have decision points where process flow can branch depending on
either the condition of the system or the particular process execution. In cooperative processes
actors must pass information. This information transfer can be the trigger for an actor to begin a
sub-task, but other triggers are also possible.

The synthesis of agent technology and workflow concepts, such as the Open Source solution
developed in B-MAN project, promises to deliver a new paradigm in designing, deploying and
managing open distributed workflow systems. This paradigm will enable developers to
downsize workflow applications and distribute functionality according to the logical allocation
of responsibility and control.

Workflow technology

Workflow Management Systems (WFMS) provide mechanisms to define businesses processes


and to automate their execution in a way that isolates the business logic and the integration of
different systems. In the past, WFMS have focused on homogeneous and centralised
environment within the boundary of a single organisation. However, in newly created Internet
paradigms such as B2B e-Commerce or e-Government, WFMS should support collaboration
between different organisations.

The challenge is therefore, to create new models for interaction of heterogeneous systems where
internal workflow process details are abstract for other organisations and where enactment of
different workflows is performed in a co-ordinated way. Therefore, we will use inter-process
definition to describe a mechanism that takes care of coordination and monitoring of each
individual process among different organisations.

e-Government: transactions across different systems

The term e-Government, according to definition of World Bank [2] refers to the use by
government agencies of information technologies (such as Wide Area Networks, the Internet,
and mobile computing) that have the ability to transform relations with citizens, businesses, and
other arms of government.

Any transactional e-Government service is mapped into processes that can be spread over
various information systems; moreover they can be spread over various workflow systems. This
type of services, which have been described in different user scenarios [3, 4, 5] as complex
services, usually include several already available simple processes, which reside on the local
(single agency managed) systems.
Thus the definition of a process in a governmental organization can imply the execution of a
sub-process in a remote governmental organization. Then, the execution of this process will
imply the crossing of the boundaries of the organization, with the required security and
trustworthiness that this implies.

Monitoring of e-Government processes

One of the common requirements for e-Government applications is the need to supervise the
process execution and the need for messaging of the case instance status. One key concept in the
B-MAN architecture is the agreed level of monitoring. All transaction between organizations are
therefore monitored and controlled by B-MAN via the use of digital contracts.

Each organizational unit is responsible for modelling and designing its own workflow processes.
This includes modelling the organizational structure (human and other resources), the process
triggering events (process enactment) and the process control (flow control and business
functions). In addition to these elements, the organizational unit must also define and record all
aspects required for the successful collaboration with its organizational partners. This means
negotiate, specify and register its digital contracts. Each such contract specification includes the
certificate of the organizational partner (authentication), triggering conditions of the workflow
process (enactment), data syntax and semantics for the initial activity (process data input), data
syntax and semantics for of the expected result (process data output), monitoring privileges and
finally any additional terms or conditions required for validating the contract (for example, only
one thousand requests of scholarships will be accepted). It is this information that is filled in
when a contract is signed and exchanged amongst collaborating partners.

It is important to note that all collaborating partner may monitor the status of each others
process instances. This is however privileged information that depends on the organizational
model, negotiated terms of the transaction and legal relationship established amongst
organizational partners. In such a setting, an organizational unit may opt to return a simple status
message, return the status of a simplified or altered version of it own workflow process or even a
complete snapshot of its current workflow process. An organizational partner may also decide to
provide this information only to the business partner with which it is transacting or it may elect
to show this information to any third party.

The following XML document shows the structure of the digital contracts use in B-MAN:

<contract>
<contractID>42</contractID>
<originatedBy>City Court</originatedBy>
<originNameOfService>Traffic citation</originNameOfService>
<responseNameOfService>Traffic penalty</responseNameOfService>
<originatorName>PortalOriginator</originatorName>
<destinationName>PortalDestination</destinationName>
<contactInfo>
<originPortal ipAddress = "125.34.34.1" cryptoKey = "345365236"/>
<responsePortal ipAddress = "123.43.4.3" cryptoKey = "520980987"/>
</contactInfo>
<signed>2003-06-17T09:30:47</signed>
<template>
<rangeParameter label = "costPenaltyRange" min = "30" max = "100"/>
<enumParameter label = "sanctionTypes">
<enumItem cost = "30">slight</enumItem>
<enumItem cost = "50">severe</enumItem>
<enumItem cost = "100">very severe</enumItem>
</enumParameter>
<primitiveParam label = "voluntary">
<boolParam>false</boolParam>
</primitiveParam>
</template>
<contractCurrency>EURO</contractCurrency>
<ct>
<absolute_max></absolute_max>
<absolute_min></absolute_min>
<contract_valid_from>2003-07-01T09:30:47</contract_valid_from>
<contract_valid_until>2003-12-25T09:30:47</contract_valid_until>
</ct>
<rules>
<rule name = "maxPaymentPeriod">
<param name="days" value = "30"/>
</rule>
</rules>
<allowsMonitoring>true</allowsMonitoring>
<thirdPartyMonitoring>true</thirdPartyMonitoring>
<monitoringType>Normal</monitoringType>
</contract>

The example lets to distinguish the main parts of a contract:


- Some generic data: IP addresses, versions, description, certificates.
- The contract template, where the offered service by an organizational unit and its
features are settled.
- Terms and conditions, where the validation rules of the contract are defined. These
describe further allowances and constraints that, respectively, can or must characterise
the interactions arising during the performance of a requested task.

There are three specific attributes included in all contracts for monitoring:
- allowsMonitoring, that indicates whether or not the agreed contract permits monitoring
at all.
- monitoringType provides details of the exact monitoring agreement if allowsMonitoring
is true: the specifics of monitoring are established on a per-contract basis.
- thirdPartyMonitoring, which denotes whether or not the contractor extends the same
monitoring rights afforded the task-originator to any party contracting the task-
originator. This, in effect, allows a chain of monitoring to be established in supply-
chain scenarios, where there is a hierarchic dependency and, arguably, a need for
hierarchic transparency in the context of task performance. The monitoringType
attribute may be further used to convey any nuances surrounding the transfer of
monitoring rights to higher-level entities.

The instantiated contract template is expressed using the Extensible Markup Language [6], and
using the available technology such as Castor and Java for XML binding (JAX), it is possible to
generate parsing modules that allow candidate instances of this schema to be read and checked
for compliance by a Java application. Once these instances have been validated, their attributes
can be accessed and interpreted by the Java process. A semantic analysis can then take place.

B-MAN application in e-Government scenarios


B-MAN network organizes its nodes in Portals and Gateways. Each Portal represents an
organization or enterprise that is managed under a single legal domain (Holding, Anonymous
Society, Group, privately owned company, or a Ministry). It is the organizations contact point
through which any other organizational unit, in the virtual organization, will first establish a
link. In its essence it is much like todays Web Portals that provide the essential contact
information to an entity. Each Portal is connected to a set of Gateways, each of which in its turn
is then linked to a self-sustained and independent organizational unit (departments or
headquarters in a private company or the different organizational units inside a Ministry).

For example: a process definition may involve two Ministries (Portal Nodes) and each Ministry
may have several departments or agencies (Gateway Nodes). The execution of part of this
process in the department or agency of a Ministry (local Gateway Node) can imply the execution
of a sub-process in a remote department or agency (remote Gateway Node). A relationship of
trustworthiness has to be established between two Gateways, through the Portals, before to
initiate the exchange of information involved in the execution of the sub-process. The role of the
respective Portal Nodes in this latter context is to provide a mechanism for the establishment of
a secure data channel between the two Gateway Nodes.

Once settled these concepts, and bear in mind the above example, there are several potential
scenarios of B-MAN application in the e-Government context:
- Status updates sent from the Gateway Node to the Portal Node, reflecting changes in service
availability and workload (task completion data). This means, for example, that a
governmental agency (a Gateway Node) informs to the Ministry (a Portal Node) to which
belongs to about its availability or workload.
- Organization status updates sent from the Portal Node to the Gateway Node, reflecting
changes in the organisation (such as availability and functionality of peer Gateway Nodes).
- Contract request data sent from the Gateway Node to the Portal Node that, on passing basic
security checks by the originating organizations Portal Node would be sent to the Portal
Node of another organization.
- Contract request data sent from the local Portal Node to the Gateway node, which represents
an incoming contract request from another B-MAN organizations Gateway Node (by way
of its own Portal Node).
- Control information sent to or requested by a Portal Node or a GUI Controller on a Gateway
Node. Portal Nodes can be used as aggregators that gather status and distribute commands to
the organization network of B-MAN Nodes.

Conclusions

From a functional point of view, the supervising process status contain sufficient information
necessary to establish, enact and control a public administration process executed elsewhere in
an exchange relationship.

B-MAN is able to provide an open source solution for definition, enactment and monitoring of
the each time more complex e-Governmental processes. The citizens (both individual persons
and business companies) will be at the end the main beneficiaries of these results.

However, further research on ontology in public administrations and work on distributed


knowledge representation is needed in order to design more effectively these complex cross-
agency services.
The authors wish to acknowledge their gratitude and appreciation to all the B-MAN project
partners for their contribution during the development of various ideas and concepts presented in
this paper.
Da 20-12.00h
Sala 2: Software Libre para el Desarrollo y la Mejora de la Accesibilidad

Moderador Ana Pea Directora General. de Desarrollo Tecnolgico e


Incentivos. Junta de Andaluca

Participantes

Rishab Ghosh Institute of Infonomics- Maastricht


Janina Sajka American Foundation for the Blind
Ana Conde Sadiel
Niranjan Rajan One World Finland
Juan Pablo Snchez Beltrn Telecomunicaciones Solidarias
Javier Sim Ingenieros Sin Fronteras
Manuel Jaffrin Representante de Canton de Ginebra
Free Standards Group (FSG) Accessibility
http://www.a11y.org

Organizing for Inclusion

Far too often people with disabilities are excluded from participation in the
benefits that technology provides in society today. Though it may be
unintentional, this exclusion remains far too common because the needs of users
with disabilities are rarely considered appropriately (if at all) in the design
process. Consequently, many of today's technology products and services remain
inaccessible to, or only marginally usable by persons with disabilities.
However, it has also been widely demonstrated that technology can profoundly
enhance the lives of persons with disabilities. A properly designed technology
tool is often a disabled person's best choice for active participation in
society--whether at home, at work or at play.

Adherence to some simple criteria in software design, such as provision of


keyboard navigation and adherence to user-specified system appearance settings
can reduce or eliminate these barriers for many users, including users who may
not identify themselves as 'disabled'. It is furthermore well known that
properly designed assistive technologies (AT) are capable of delivering
unparalleled benefits to users with more severe disabilities who usually have
no other viable alternative for performing many common tasks.

Assistive technologies can:

* provide the means for individuals, who do not have the use of their arms and
* hands, to write and correspond. Often user interfaces
programmatically prevent these users from performing important tasks simply by
not providing mouse and keyboard alternatives.

* enable individuals who are blind or visually impaired to read online text.
* Often user interfaces programmatically prevent or severely encumber the
users ability to read and traverse the screen by only supporting graphical,
mouse driven user interfaces.

* support participation by individuals who can't speak or hear on today's


* telephony interfaces and tomorrow's multimodal computer interfaces.

There are many needless barriers that could be readily removed by


systematically providing appropriate contextual information to both
applications and system services through well-defined standards of practice
(and adherence to those standards).

In addition, standards can facilitate the creation and distribution of


assistive technologies and user agents appropriate to a range of end-user
abilities and ensure that applications and operating system services operate in
cooperation, rather than in conflict, with such technologies.

In 2003 the accessibility workgroup was formed within the Free Standards Group
(FSG) to provide the standards and the best practices guidance for the
implementation of consistent and robust user support for individuals with
disabilities across any and all platforms that implement free and open
standards.

Currently, free and open source platforms have many graphical user interface
(GUI) applications that are inaccessible to users who are blind, have severely
impaired vision, or live with mobility impairments that prevent them from using
their arms and hands. Only a very few, rudimentary assistive technologies exist
for the GUI desktop environment. Application developers may not have the
expertise needed to write accessible applications that meet the requirements of
users with disabilities. At present there is not a standard toolkit for meeting
these requirements.

Assistive technology developers are expected to have the expertise needed to


meet these user requirements. However, the developers must have standard API
level support that provides the information required for assistive technologies
to run properly on all applications.

The heterogeneous nature of toolkits, component inter process communication


models, libraries, and applications can make the development of robust and
effective assistive technologies difficult, at best. Without standards and
binary interface components:
* Users with various disabilities can not effectively use the system. systems
* do not meet legal requirements (which hampers marketing of free standards
* based systems). developers cannot consistently write accessible
* applications. comprehensive and consistent platform services that support
* accessibility do not exist. assistive technology developers cannot create
* assistive technologies for free standards platforms. the lack of
* standardization prevents leveraging the existing work, sharing of expertise,
* and reduces the value of individual contributions.

People with disabilities generally seek to perform the same tasks as any other
technology users. In addition, many disabled users rely on assistive
technologies to provide access to the GUI desktop environment. We believe it is
prudent, expedient, and economical to support the accommodations that users
with disabilities require through standards that developers can adopt and
implement across their product portfolios.

The principle beneficiaries of FSG Accessibility Standards will, of course, be


persons with disabilities worldwide. They are the reason for these standards.
However, the wider world of developers and marketers of technologies based on
free standards will also benefit.

Users with disabilities will:

* Find compatible free as well as commercial software more useful and usable.

* Enjoy consistent, integrated accessibility from boot-up to shutdown in both


* console and desktop environments--wherever they might need it.

* Find personal and public devices and systems, such as telephones, personal
* data assistants (PDA), entertainment systems, public kiosks, banking
and voting machines, useful and usable.

The world of free standards based technology will:

* Extend its coverage to support any and all users regardless of disability,
* physical, or sensory condition.

* Increase participation in future software development.

* Become yet more robust, innovative, and generally attractive to all users by
* integrating multiple ways by which users can access information and
perform tasks.

* Meet, and even exceed, social and legal mandates requiring inclusion of
* persons with disabilities in electronic and information technologies.

* Expand into new market segments and provide business' the ability to compete
* effectively in markets where accessibility is a selection criterion.
It is important to note that these benefits will be available world-wide in
developing and developed nations alike because cost will never be a barrier to
anyone's participation, either as an end user or as a technical contributor.

Currently Identified Projects

1.) AT-SPI (Year One)

The Assistive Technology Service Provider Interface (AT-SPI) was developed for
the GNOME2 desktop and its approach to providing accessibility is in the
process of being adopted by KDE. AT-SPI is toolkit-neutral. It is already
compatible with and supported by GTK+2, Java/Swing, the Mozilla suite, and
StarOffice/OpenOffice. Support via reuse of the related ATK interface in
version 4 of the Qt toolkit (on which KDE is based) has been announced by
TrollTech. AT-SPI enables assistive technology tools, e.g. screen readers,
magnifiers, and even scripting interfaces to query and interact with graphical
user interface (GUI) controls." As such it facilitates access for individuals
who cannot use the standard GUI. It enables developers (or a third party) to
build applications that are, or can be made accessible. The AT-SPI enables
developers and distributions to meet the accessibility requirements of many
individual and corporate customers. AT-SPI is an existing mature API that we
propose to adopt.

2.) AT Device Shared I/O (Year One)

AT device shared I/O would make it possible for devices that are commonly used
by persons with disabilities to operate smoothly with several client
applications simultaneously. In some circumstances it is necessary to support
simultaneous access for different client applications. For example, allowing a
software-based speech synthesizer to speak while a multi-media stream is
playing, rather than queueing its messages to play after the stream concludes.
In addition, it may also be necessary to have messages queue or supress until a
particular window or console has focus. We will support/coordinate the
development of libraries that allow client applications to share these I/O
devices. Shared access to accessibility related devices, such as Braille
displays, reduces the cost of ownership and improves the user experience.
These libraries should offer a generic high-level abstraction of the underlying
device to allow client applications, to use those libraries independent of the
actual hardware in use. This simplifies the development of accessibility
related software by sharing commonly used code such as low-level driver
implementations in these libraries. Two representative candidate
libraries/APIs providing this service for braille devices, libbrl and brltty,
are already available on the Linux platform.

3.) Keyboard Accessibility (Year One)

Persons unable to use a keyboard and mouse sometimes use alternative devices.
However, many users can be accomodated programatically through software that
causes a standard keyboard to behave differently. Many of these features and
behaviors have long been available in the XKB specification available at
http://ftp.x.org/pub/R6.4/xc/doc/specs/XKB/XKBlib/allchaps.ps. "Sticky Keys"
is one keyboard accessibility feature provided in the XKB specification. It
supports users who cannot press key combinations. For example, the user is
unable to press the Ctrl-Alt-TAB keys simultaneously, Sticky keys allows them
to achieve the same result by pressing the keys sequentially. Individuals with
mobility impairments will benefit by having such features built-in and
available through standard activation strategies, such as tapping the Shift key
five times to activate Sticky Keys. The routines provided by the API will also
benefit assistive technologies such as on screen keyboard and screen reader
applications. We propose to identify and adopt a subset of the XKB
specification in order to provide standard keyboard features and behaviors
required by persons with mobility impairments.

4.) Text-only accessible booting (Year Two)

It should be possible for any user who is a person with a disability to access
any user supported interface during the boot process, including the selection
of the kernel to boot, rescue modes, interactive device loading, etc. We will
support/coordinate the development of best practices and coordinate with kernel
and boot loader development teams to facilitate the interfacing of assistive
technologies at any point during the boot process where user access is
supported. This will particularly benefit those users with disabilities who
are technology professionals and need, or desire, to participate in development
and testing of system products and features.

5.) Accessible Feature Configuration (Year Two)

Users who are persons with disabilities should have accessible applications and
tools to assist them with configuring their system user interfaces to best
advantage. Quite often the user is left trying to configure their own system,
because technical support staff does not have sufficient knowledge about the
available configuration options. However, most of the information these users
need can be documented and exposed in a systematic manner. We will
support/coordinate the development of scripted wizards and best practices
documentation to facilitate the end user by providing easy to use tools and
clear, non-technical documentation for creating appropriate configurations on
individual workstations. For users whose needs may vary from day to day, we
will support/coordinate the development of scripted mechanisms to allow users
to select an alternative configuration easily, as their needs change during
system use.

6.) Magnification (Year Two)

Service API support for magnification should make it possible to provide


sophisticated magnification of one or more portions of the video display screen
for users who require, a larger or different font, and alternate foreground or
background color. In addition, magnification of icons and text should be able
to achieve a wide range of magnification ratios. Many users with visual
disabilities need 3X, 4x, etc. magnification, while other users can benefit
from ratios as small as 1.2X magnification. Currently it is not possible to
achieve required magnification functionality on X platforms without requiring
high-end video hardware with multiple frame buffering. This should not be a
requirement. Also, the user should be able to maintain magnification while
applications are writing to the screen. Historically the networked nature of
the X technology has not made it possible (nor desirable) for AT to replace
device drivers or write directly to video hardware. We will support/coordinate
the development of enhanced windowing technologies capable of supporting
magnification technologies more robustly and appropriately. Creating this
standard will require significant cooperation with X, GNOME, and KDE
developers. There are currently projects under development, among some vendors,
that can provide reference implementations.

7.) Text To Speech (Year Two)

Interfaces based on synthesized text to speech (TTS) technology have proven a


successful and powerful accomodation for users with various disabilities,
including persons who are blind or who have learning disabilities. A standard
mechanism supporting numerous voices in numumerous languages, yet providing a
single, consistant interface to applications is preferred. We will
support/coordinate the development of a standard API for TTS services capable
of supporting numerous languages and including the ability to smoothly and
quickly switch among different languages and/or voices. This project will adopt
or develop standardized mark up for spoken dialog, and provide an API for TTS
services, such as JSAPI. People with disabilities benefit by a larger
availibility of languages choices, many that may not be supported by assistive
technologies today. Providing a robust, reliable TTS interface supporting
multiple voices will make it possible to facilitate the vast populations around
the globe who otherwise, might not soon participate in a tecnology based
economy.

8.) Alternative Interface Access Protocol (Year Three)

The Alternative Interface Access Protocol (AIAP) is being developed by a


technical committee of the InterNational Committee for Information Technology
Standards (INCITS) (see www.v2access.org). The AIAP provides for a Universal
Remote Console (URC) "that allows users to control a mass-market device/service
(target). The URC may be a dedicated device or a feature running on a computer,
a cell phone, an Assistive Technology, or other device. The key to this
approach is that the target projects a presentation-independent version of its
user interface (UI) which is rendered as a concrete user interface by the URC.
The concrete UI may be visual, speech-based, braille-based, or in some other
form. If desired, the manufacturer may also provide customized concrete UIs to
optimize aesthetics and usability for certain classes of users or devices. The
structure of a V2 user interface definition is intended to facilitate the use
of intelligent software agents to control services and devices in the future."
The objective of the standard is to allow two devices to negotiate, in a
transport independent manner, the interface that is appropriate to a particular
user. This standard will be especially important for use in public access
systems to provide user appropriate interfaces rather than only a single user
interface as is the case today. It will also be useful for providing a defined
mechanism whereby a user's PDA (or similar device) can serve as an alternate
interface to a public access system and to the full range of consumer devices
such as thermostats, kitchen appliances, laundry facilities, and home security
and entertainment systems. Without this (or a similar) universal remote
console (URC)technology public access and consumer technologies are likely to
become even less accessible to an ever wider range of users than they are
today. Users with disabilities are often unable to use public kiosks such as
ATMs, airline boarding pass systems, etc., because they cannot use the default
user interfaces provided by such systems. The INCITS V2 specs are designed to
provide these interfaces directly or to negotiate, over a secure wireless
transport-independent channel with the user's personal device to provide
service. The V2Committee expects to have a candidate 1.0 specification
available for ANSI certification early in 2004. We propose to adopt relevant
portions of their specifications.

9.) Guidelines for System Administration (Year Three)

System Administrators who have disabilities should be able to continue in their


profession as new system administration tools are developed. In addition, all
System Administrators and technical support staff should have accessible
applications and tools to assist users, to define user interface and alternate
configurations appropriate to the user's needs (including any assistive
technology that the user may rely on). Linux and Unix environments arguably
have the most accessible documentation of any operating system today. The
console environment is arguably the most accessible environment for many
computer professionals with disabilities today. We wish to ensure that free and
open operating environments remain the most accessible and inclusive platforms
available even as the tools used by system administrators (and other computer
professionals) become more sophisticated. Professional system and application
administrators are responsible for the installation, configuration, and
management of a system's operating system, applications, and system management
tools. An example is a system running the Apache HTTP server using a "Web-based
Distributed Authoring and Versioning" (WebDAV) tool. Administrators use
commands, tools, and documentation that are not normally useful to
nonadministrative users. We will support/coordinate the use and adoption of FSG
accessibility standards and best practices for all applications, including
operating system and application administration resources. We will
support/coordinate the development of best practices and tools documentation to
facilitate assistance to end users with disabilities by technical support staff
who may not themselves be familiar with accessibility solutions.

10.) Installation (Year Three)

It should be possible for persons with disabilities to install and configure a


full system or individual application package. The same considerations that
make the operational user interface accessible can be applied to the
installation process. We will support/coordinate the development of scripted
wizzards and best practices documentation to support accessible installation.
Servicios Avanzados a la Comunidad Educativa ( 1 / 1 )

Servicios Avanzados a la Comunidad Educativa


Conde Gmez, Ana Mara
Camacho Martn, Miguel
SADIEL S.A.
Avda. Isaac Newton, Pabelln SADIEL, Isla de la Cartuja, Sevilla 41092.
Tfn. +34 955043600. Fax +34 955043601. Email aconde@sadiel.es, mcamacho@sadiel.es
Febrero, 2004

Introduccin

PAPS, PArtnership of PArents and Schools, es un proyecto cofinanciado por la Comisin


Europea, a travs de su programa eTEN. La finalidad de PAPS es hacer posible que los
ciudadanos y ciudadanas se comuniquen individualmente con la Administracin Educativa,
para permitirles un seguimiento educativo completo de sus hijos de manera ubicua, interactiva
y multilinge.

El proyecto ha sido concebido como un elemento clave para la implementacin de un Modelo


de Gestin Avanzada de Servicios Educativos en Red, que se compone de un conjunto de
sistemas integrados cuyo objetivo es conseguir la optimizacin de la gestin, almacenamiento y
actualizacin de todo tipo de informacin relacionada con la gestin de la red educativa. Una
Red Educativa es un sistema complejo que involucra a una gran cantidad de Agentes. Los
principales usuarios de este entramado son, adems del Personal Docente y de la
Administracin Educativa, los Alumnos y alumnas, as como sus Padres y Madres. Dado que
un porcentaje significativo de la poblacin forma parte de alguno de estos grupos, los Servicios
Educativos tienen un impacto muy notable en nuestra Sociedad. El carcter integrado del
Modelo Avanzado de Gestin es la clave para asegurar la homogeneidad y la fiabilidad de los
servicios prestados, que redundar en el establecimiento y la consolidacin del marco de
confianza entre los ciudadanos y ciudadanas y la Administracin.

Antecedentes

Antes de iniciar el despliegue de este modelo deben entenderse las necesidades de la


Administracin Educativa y los pasos necesarios para llevar a cabo la implementacin de
Servicios Educativos Avanzados en Red.

La gestin de los Centros Educativos y el conocimiento detallado de su situacin constituyen


una de las principales preocupaciones de la Administracin Educativa, ya que de este
conocimiento depende, en gran medida, su capacidad de planificacin. Los sistemas de gestin
tradicionales estn basados en una infraestructura distribuida, segn la cual, la gestin

2004 SADIEL - Prohibida su Reproduccin


Servicios Avanzados a la Comunidad Educativa ( 2 / 2 )

acadmica se realiza de forma local en cada centro, mediante aplicaciones como SENU en
Andaluca, o los programas IES2000 (Educacin Secundaria) y Escuela (Educacin Primaria),
homologados y mantenidos por el Ministerio de Educacin, Cultura y Deportes.

Este entorno heterogneo de gestin hace que algunos centros necesiten utilizar varios
sistemas, con interfaces diferentes, y que el grado de implantacin de los mismos vare en
funcin de las infraestructuras disponibles y de la madurez tecnolgica alcanzada. Las
aplicaciones informticas locales plantean, adems, problemas derivados de la distribucin y
actualizacin del Software y la consolidacin de la informacin.

Por otra parte, el hecho de que los datos relativos a la gestin acadmica estn dispersos, las
fuentes de informacin no estn sincronizadas y la transmisin de informacin entre los
Centros Educativos y la Administracin Educativa se realice mediante disquete y papel, hace
muy costoso el tratamiento agregado de los datos, y la obtencin de estadsticas e indicadores
de la Educacin. De hecho, casi todos los Centros se resienten de la sobrecarga de trabajo que
suponen las continuas peticiones de informacin.

El despliegue de las Tecnologas de la Sociedad de la Informacin ha favorecido la evolucin


desde la situacin descrita hacia un nuevo paradigma de Gestin Avanzada de Servicios
Educativos, en el que es posible contar con Sistemas Integrados, que evitan problemas de
actualizacin, distribucin y consolidacin de la informacin, con el consiguiente aumento de
calidad de la misma, que redundar en un mejor conocimiento de la audiencia y de sus
necesidades.

El primer paso hacia esta nueva situacin ha sido la dotacin de infraestructuras, material y
software a los centros de enseanza, con el fin de difundir la utilizacin de Internet y las nuevas
tecnologas. En este sentido, ha sido esencial el equipamiento de todos los centros educativos
con aulas de informtica conectadas a Internet y puestos de acceso.

El segundo paso se ha centrado en la mejora de la gestin interna, mediante la agilizacin y


la racionalizacin de los circuitos administrativos y de la gestin de expedientes relacionados
con la gestin administrativa, econmica y acadmica de los centros.

Por ltimo, los sistemas de Back-Office centralizados constituyen un plataforma de base muy
adecuada sobre la que apoyar las aplicaciones diseadas por la Administracin Educativa en
su empeo por desarrollar un nuevo modelo de provisin de Servicios Abiertos a la Comunidad
Educativa

Este Modelo de Gestin de Avanzada de Servicios Educativos en Red se complementa con las
herramientas necesarias para el soporte a los usuarios y para su formacin y tutorizacin en el
uso del ordenador y de los diferentes sistemas en uso, y mediante una plataforma e-learning.

Tareas de Gestin del Cambio se han demostrado como esenciales para una correcta
implantacin del nuevo modelo.

2004 SADIEL - Prohibida su Reproduccin


Servicios Avanzados a la Comunidad Educativa ( 3 / 3 )

El proyecto e-learning se basa en una plataforma abierta, apoyada en contenidos digitales de


alta calidad, y fcilmente integrable en los entornos corporativos de la Administracin. Su
metodologa de base ha sido probada tanto para la Administracin como para los Ciudadanos,
y permite la participacin de todos los agentes. Entre sus prestaciones se puede destacar el
servicio de tutora a travs de la red, prestado por tutores expertos en nuevas tecnologas
aplicadas a la formacin a distancia, el correo electrnico, los foros de discusin, chats,
videoconferencias y dems herramientas que favorecen un entorno colaborativo.

2004 SADIEL - Prohibida su Reproduccin


Servicios Avanzados a la Comunidad Educativa ( 4 / 4 )

El Ejemplo Espaol: SENECA y PASEN

En 1999, la Junta de Andaluca (Espaa) decidi sentar las bases para la creacin de una
nueva red para el ciudadano que facilitara la comunicacin entre todos los actores
involucrados en la educacin en Andaluca (alrededor de 2 millones de personas). Como
resultado de esta iniciativa naci el proyecto SNECA.

SNECA es el sistema para la gestin de los Centros Educativos dependientes de la


Consejera de Educacin. El sistema permite la gestin administrativa y acadmica centralizada
de todos los Centros, a la vez que permite que los centros mantengan su propia autonoma. Se
trata de una aplicacin web que posibilita la comunicacin on-line entre los empleados/as de la
Consejera de Educacin, lo que incluye a aproximadamente 80.000 profesores y profesoras
que trabajan en Centros Pblicos, y contiene todo tipo de informacin sobre los estudiantes y
los centros educativos. SENECA ha sido desarrollado por SADIEL y actualmente lo estn
usando los profesionales de la Educacin Pblica en Andaluca.

Partiendo de la experiencia acumulada durante el desarrollo e implantacin de SENECA,


SADIEL puso en marcha en el ao 2000 un proyecto de investigacin con el fin de construir
una aplicacin front-office diseada especialmente para permitir que los padres y madres se
comuniquen con los centros escolares y con los Servicios Administrativos. El sistema
resultante, llamado PASEN, les permite participar de modo activo en la educacin de sus hijos
e hijas.

Gobierno Comunidad Autnoma

GATEWAY

FRONT-OFFICE BACK-OFFICE

PASEN SNECA

INTERNET ATENCIN A USUARIOS/AS


Intranet

Asociaciones Centros
de Madres
y Padres

Padres, Madres, Tutores/as


(casa / trabajo ...) Cargos
Profesorado
Directivos

PASEN es una herramienta altamente interactiva, que proporciona un canal de respuesta


rpido y eficaz a todas las consultas y necesidades que normalmente surgen en la relacin

2004 SADIEL - Prohibida su Reproduccin


Servicios Avanzados a la Comunidad Educativa ( 5 / 5 )

entre administracin y la ciudadana en el campo de la educacin. PASEN est actualmente


implantado en Andaluca, donde dar soporte a ms de 1.200.000 estudiantes, a sus padres,
madres, profesores y profesoras.

Pantalla de Acceso a PASEN

PAPS, la Internacionalizacin de una Solucin

Como resultado del estudio espaol, realizado en el marco del proyecto PASEN, que revel
una falta de soluciones de este tipo en el mercado, PAPS internacionaliza el sistema para
satisfacer las necesidades de diferentes entornos educativos europeos. Para alcanzar este
objetivo, PAPS presenta una plataforma base, que est siendo validada a diferentes niveles
administrativos y en diferentes pases.

El consorcio del proyecto PAPS est formado por cuatro organizaciones de tres pases
Europeos. En la parte Tcnica participan SADIEL, S.A. (Espaa), Oy Media Tampere Ltd
(Finlandia) y TSD Projects Srl (Italia). Como representantes del Sector Pblico Educativo, el
proyecto cuenta con la Consejera de Educacin de la Junta de Comunidades de Castilla-La
Mancha (Espaa), con la Ciudad de Tampere (Finlandia) y con el Istituto Professionale Statale,
de Lombarda (Italia).

PAPS ha sido diseado como un punto de entrada nico a la Administracin, mediante un


interfaz personalizado y accesible a todos y todas, que aprovechar todos los mecanismos
actualmente disponibles gracias a Internet y las nuevas Tecnologas de la Informacin y de
Telecomunicaciones, y que coexiste con los mecanismos tradicionales de relacin de los
ciudadanos y ciudadanas con la Administracin.

PAPS permite a los padres y madres tener un conocimiento actualizado de la situacin


acadmica de sus hijos y realizar la peticin de cualquier servicio desde su casa o desde

2004 SADIEL - Prohibida su Reproduccin


Servicios Avanzados a la Comunidad Educativa ( 6 / 6 )

cualquier otra ubicacin, gracias a Internet y a dispositivos mviles como la telefona. Los
padres y madres pueden realizar tambin peticiones de servicios como preinscripciones,
matriculacin, becas o comedores, desde sus casas. Adems, se les abre la posibilidad de
obtener de forma inmediata certificados, documentos o informes a travs de Internet, as como
informacin sobre su situacin acadmica o cualquier otra que les sea de inters, como ofertas
de estudio disponibles, listados de admitidos o peticiones de becas, tanto de su centro como de
otros centros.

Gracias a la variedad de servicios que ofrece (Teletramitacin, seguimiento educativo, servicios


socioeducativos complementarios), PAPS permite a la Administracin Pblica jugar un papel
fundamental en la promocin de la Sociedad de la Informacin, mejorando y ampliando su
comunicacin con los ciudadanos a nivel local y regional.

La flexibilidad de la plataforma permite su adaptacin a los requisitos de colegios individuales, y


de asociaciones de colegios o de academias privadas. Tanto los centros pblicos como los
concertados y los privados, se adaptan al perfil de proveedores de servicios de valor aadido a
travs de PAPS. Adems de dar respuesta a sus necesidades de comunicacin y de gestin
administrativa, la amplia gama de servicios que se pueden proveer a travs de PAPS, supone
una ventaja competitiva de estas organizaciones frente a otras que no dispongan de una oferta
de servicios avanzados semejante.

El proyecto cuenta con una pgina web en la que se publica informacin de inters sobre el
mismo.

http://www.sadiel.es/Europa/papas

Servicios ofrecidos por la Plataforma PAPS

Entre las muchas posibilidades que ofrece PAPS a los diferentes perfiles de acceso al
sistema (Alumnado, Padre/Madre, Profesorado, Administradores / as, Sanitarios, AMPA, etc...),
se encuentran:

2004 SADIEL - Prohibida su Reproduccin


Servicios Avanzados a la Comunidad Educativa ( 7 / 7 )

Perfil Alumno/a

8 comunicarse con el Tutor/a o con cualquier profesor/a


8 ver las fechas de sus exmenes
8 ver las notas de la ltima evaluacin
8 ver las tareas y trabajos pendientes
8 anotar una cita en la Agenda

Perfil Padre/Madre

8 solicitar servicios administrativos (admisin, becas, comedores, ...) a travs de PAPS


8 consultar y justificar las faltas de asistencia de un hijo/a
8 comunicar con anterioridad una falta de asistencia
8 ver e imprimir el horario de clases de un hijo/a
8 ver las notas del curso anterior
8 ver las notas de la ltima evaluacin
8 gestionar su Agenda personal a travs del sistema, anotando en ella las citas que
considere oportuno
8 comunicarse con el Tutor/a o con cualquier profesor/a de sus hijos/as
8 suscribirse para recibir mensajes en el mvil o en el correo electrnico
8 solicitar la publicacin de una noticia en el tabln de anuncios

Perfil Profesor/a

8 asignar trabajos o tareas


8 hacer el seguimiento de los trabajos asignados
8 registrar las faltas de asistencia de los alumnos/as de una unidad
8 anular una falta de asistencia
8 comunicarse con los padres y madres y con los propios alumnos/as

Perfil Administrador/a

8 dar de alta a un usuario/a


8 publicar una noticia
8 crear un nuevo aviso
8 enviar un aviso no automtico
8 modificar los datos del Centro, la Delegacin o la Consejera

Perfil AMPA

8 dar de alta a un socio o socia del AMPA


8 publicar una noticia
8 crear un nuevo aviso
8 modificar los datos del AMPA
8 publicar los estatutos, los objetivos y las funcionalidades del AMPA

2004 SADIEL - Prohibida su Reproduccin


Servicios Avanzados a la Comunidad Educativa ( 8 / 8 )

Perfil Sanitario/a

8 comunicacin con el resto de usuarios/as


8 publicar una noticia
8 crear avisos de inters sanitario
8 enviar informes mdicos a los padres y madres

Arquitectura y Software Libre

Especial mencin merece el efecto que la utilizacin de software libre ha tenido y est teniendo
en el desarrollo y produccin de los nuevos sistemas, como PAPS, ya que la arquitectura de
los mismos permite apoyar el mismo aplicativo tanto en plataformas propietarias como de libre
distribucin:

Sistemas Operativos Solaris Linux


Bases de Datos ORACLE PostgreSQL, MySQL
Servidores de Aplicaciones IAS Tomcat
Navegadores Iexplorer, Netscape Mozilla

2004 SADIEL - Prohibida su Reproduccin


SOFTWARE LIBRE EN ONG's: UNA ELECCIN TCNICA O UNA
CUESTIN MORAL?

J.P. Snchez Beltrn


TeSo, Telecomunicaciones Solidarias
Valencia-Espaa
juanpablo@mundofree.com

Las palabras clave: ONG, software libre, TIC, valores

Las personas se organizan para la consecucin de fines mediante la movilizacin de recursos


humanos (trabajo), recursos materiales (capital) e intangibles (capital humano, innovacin).

Dependiendo de quien promueva la creacin de las organizaciones y del fin de las mismas stas se
pueden clasificar en tres grandes grupos: Sector Pblico, Sector Privado y Tercer Sector.

En las organizaciones del Tercer Sector, conocidas tambin como Organizaciones No


Gubernamentales (ONG's), se plantea con frecuencia la necesidad o no de profesionalizar su
funcionamiento, y aproximarlo al del mundo empresarial en todos los aspectos, con el fin de obtener
mayor eficiencia en su accin. Sin embargo cada una de las organizaciones existentes nacen con unos
objetivos propios que deben estar siempre presente en todas sus decisiones, a corto y a largo plazo.

Cuando se pretende informatizar una ONG hay que valorar el aspecto tcnico, el aspecto econmico
y el aspecto tico y moral. Sobre los aspectos econmicos y tcnicos existen gran cantidad de
informacin por ello el objeto de este estudio se centra en los valores como base del anlisis tico y
moral de la decisin.

Algunos valores que deben considerarse en el proceso de decisin sobre la forma de informatizarse
una ONG son los siguientes: que la inversin ayude al mantenimiento del libre mercado y del
comercio justo, que se base en los principios de la sostenibilidad o ecologa y del consumo
responsable. Pero adems debe valorar que en el desarrollo de las soluciones se hayan valorado el
altruismo, el trabajo en grupo o cooperativismo, la libertad de uso, la igualdad, solidaridad o
fraternidad, la transparencia, la participacin.

En la actualidad ya existen soluciones tcnicamente equivalentes tanto en software libre como en


software propietario.

Las ONG's deben maximizar su rentabilidad social, para lo cual deben reducir sus costes de
administracin y gestin. En este punto, el software libre es una opcin que se encuentra al mismo
nivel que el software propietario donado, y por supuesto es mucho ms ventajosa que el software
propietario adquirido.

Las ONG's son adems una referencia para la sociedad, en lo referente a formas de ser y de actuar,
son creadoras, galantes y difusoras de valores sociales. El software libre es un producto nacido de la
conjuncin de un gran nmero de ellos y por ello es el mejor ejemplo de todos estos valores.
SOFTWARE LIBRE EN ONG's: UNA ELECCIN TCNICA O UNA
CUESTION MORAL?

Snchez Beltrn, Juan Pablo


TeSo, Telecomunicaciones Solidarias
Valencia- Espaa
juanpablo@mundofree.com

Introduccin

Las personas se organizan para la consecucin de fines mediante la movilizacin de


recursos humanos (trabajo) y recursos materiales (capital) e intangibles (conocimiento, innovacin,
etc.).

Dependiendo de quien lo promueva y del fin que se pretende las organizaciones pueden
clasificarse en tres grandes grupos:
n El sector pblico: que est compuesto por las organizaciones promovidas por los poderes
pblicos, y su fin es garantizar los derechos de sus ciudadanos ( educacin, salud,
defensa, etc.) e intervenir en la asignacin de recursos. Se admite que sus gastos deben ser
socialmente asumibles, pero no necesariamente rentables.
n El sector privado: lo forman las organizaciones promovidas por los poderes econmicos
que aportan capital (sociedades) o trabajo (cooperativas), y su fin es la maximizacin de
beneficios de forma continuada. Estas entidades se les conoce con el nombre de empresas.
n El tercer sector o sociedad civil: est formado por las entidades que promueven los
particulares y su fin no es el lucro sino el bien comn, para un grupo o el conjunto de la
sociedad que no alcanzan a proporcionar el sector pblico y el privado. Estas entidades se
denominan asociaciones y es un derecho que se incluye en el artculo 20 de la
"Declaracin Universal de los derechos Humanos"1 .

Dentro del Tercer Sector hay muchos tipos de asociaciones, desde aquellas que defienden los
derechos de un colectivo, hasta aquellas que promocionan una determinada actividad. En todas ellas,
si bien su capacidad les viene dada por el voluntariado y el altruismo, nada les impide contratar
personal y realizar compra-venta de bienes y servicios, como cualquier otro tipo de actividad.

A las entidades del tercer sector se les llama Organizaciones No Gubernamentales (ONG's),
para diferenciarlas de las entidades del sector pblico que tampoco buscan el lucro, lo cual no quiere
decir que no puedan tener beneficios.

La verdadera diferencia entre una empresa y una ONG es que mientras que las empresas
buscan la maximizacin de los beneficios econmicos, las ONG's buscan la maximizacin de los
beneficios sociales, en otras palabras, las primeras buscan la rentabilidad econmica y las segundas la
rentabilidad social.

Las ONG's transfieren recursos de donde son abundantes a donde se carece de ellos. Estos
recursos los obtienen las ONG's gracias al altruismo de personas y entidades, y que es movilizado
mediante su sensibilizacin. Para que una personas sea sensible o consciente de los problemas es
necesario que est formada sobre la problemtica y sus posibles soluciones e informada sobre la
situacin. Por ltimo siempre son posibles soluciones urgentes y temporales basadas en el gasto, y
otras duraderas y sostenibles basadas en la inversin, siendo estas ltimas las preferibles.

1http://www.un.org/spanish/aboutun/hrights.htm
Pensar en una ONG como si fuera una empresa, es el principio de su fin.

Las Tecnologas de la Informacin y Comunicacin en las ONG

Las Tecnologas de la Informacin y Comunicacin (TIC) son una herramienta fundamental


para el funcionamiento de las ONG's y para unas pocas son su fin, como es el caso de los Grupos de
Usuarios de Linux (LUG's) o de asociaciones para la divulgacin de las TIC como TeSo2 o MAHITI3

Las TIC permiten no solamente mejorar la eficiencia de los recursos disponibles reduciendo
los costes de las tareas administrativas tradicionales (contabilidad, planificacin de tareas,
comunicacin, etc.), sino que adems permiten otras funciones hasta ste momento inimaginables y
adems a un coste muy bajo, como es la posibilidad de poder publicar de forma inmediata cualquier
documento multimedia (texto, sonido, imagen, etc.) y poder acceder de la misma forma a centenares
de millones de documentos multimedia disponibles en Internet.

Dado que en general, las TIC son nicamente una herramienta muy importantes en una ONG,
debe buscar ser independientes de las mismas y que su coste sea el menor posible4. Los recursos de
una ONG deben dedicarse principalmente a su fin principal. Si bien en una empresa en estos casos se
hablara de subcontratar, en una ONG se debe pensar en la comparticin de infraestructuras TIC y en
la externalizacin de sus costes.

Es decir, si una ONG necesita conectarse a Internet debe tener como objetivo que el acceso le
sea facilitado de forma gratuito por el estado o por un operador, y en caso contrario debe compartir
dichos coste con otras ONG's mediante redes inalmbricas u otras tecnologas.

Software Libre

El Software Libre5 hoy, tcnicamente es comparable al Software Propietario, tanto a nivel de


ordenadores personales como para servidores. Adems permite la independencia tecnolgica tanto en
hardware como en software. Hay sistemas operativos como LINUX que funciona sobre muchos
modelos de Intel, PowerPC, Sun, etc. y programas como Open Office que trabaja sobre varios
sistemas operativos como LINUX, Windows o Mac, siendo adems un software muy estable y
robusto.

Por otra parte, el desarrollo y distribucin del Software Libre, tiene unas estructuras de costes
completamente distintos al Software Propietario, lo que lleva implicita la creacin de un mercado
competitivo de facto y por ello su coste se aproxima a cero, siendo su copia legal y su distribucin,
adaptacin, traduccin, mejora, etc. completamente libres.

Despus de los aspectos tcnicos y econmicos del Software Libre hay que considerar una
serie de valores no cuantificables del que es un buen ejemplo:
n El altruismo: el software libre es desarrollado por empresas, organizaciones no lucrativas
y voluntarios individuales que donan su trabajo al conjunto de la sociedad sin ninguna
limitacin.
n El cooperativismo: el software libre se desarrolla de forma cooperativa, siendo Internet el
modo natural de comunicacin y coordinacin de los desarrolladores6.
n La libertad: el Software Libre puede usarse por parte de cualquier ciudano del mundo,
para cualquier fin y en cualquier momento.

2 TeSo http://www.renuevate.com/teso/
3 MAHITI http://mahiti.org/
4 TechSoup http://www.techsoup.org/
5 Free Software http://www.fsf.org
6 SoureceForge http://sourceforge.net/
n La igualdad: todo el mundo puede utilizarlo con independencia de su condicin
econmica, nacionalidad, etc.
n La solidaridad: la publicacin del cdigo fuente hace que los conocimientos que contiene
el software libre puedan ser estudiados y aprovechados por otras personas, en la
actualidad y en el futuro.
n El libre mercado: no existen barreras de entrada ni de salida, existe informacin perfecta,
por lo que se crean las condiciones para la existencia de mercados competitivos de
software frente al mercado monopolista actual. Realmente es el mercado quien decide que
producto quiere, cmo lo quiere y cuando lo quiere.
n La transparencia: el cdigo es abierto7, cualquiera puede desarrollar y probar el software.
n La participacin: es posible informar de fallos, hacer sugerencias, comunicarse con los
desarrolladores.
n La ecologa: los nuevos desarrollos pueden reaprovechar todo lo hecho hasta el momento.

Slo software libre?

No, una ONG debe pensar en la moralidad de todos sus actos, pues sera incoherente que su
accin crear desigualdades e injusticias que deban ser reparadas por otras ONG's. Es decir, mientras
que en una empresa el criterio principal de compra son los precios, que no aportan informacin sobre
cmo se produjo el bien o el servicio, una ONG debe investigar en la medida de sus posibilidades
informacin adicional8, sin ca