Guies
Per al desenvolupament
de la societat del
coneixement




  El programari lliure a les administracions locals
Guies
  Per al desenvolupament
  de la societat del
  coneixement




El programari lliure a les administracions locals
El programari
                                                           lliure a les
                                                        administracions
                                                              locals




                                                         Edita: LOCALRET
                                            Disseny i maquetació: PQR, Comunicació
                                                 Impressió: Gramagraf, S.C.C.R.L
                                                     D. Legal: B.46571-2009
                                                       Desembre de 2009
Aquesta és una obra col·lectiva en la que han participat, de diverses formes i directa o indirectament, diverses personalitats i institucions.
A totes elles volem agrair la seva col·laboració i, en especial, les aportacions realitzades per: Malcolm Bain, Francisco de Assis Costa Silva,
                                        Eduard Elias i Vila, Essi Projects, S.A. i Genos Open Source, S.L.
Índex de continguts

 ÍNDEX

Presentació                                           4   PART III. PL en el desenvolupament                   57

Contingut de la publicació                            5   6. PL i desenvolupament de programes o aplicacions   58
                                                            6.1. Quin paper pot fer el PL
Conceptes claus                                       6          en el desenvolupament?                        58
                                                            6.2. Els IDE PL com a eines de base
                                                                 per al desenvolupament                        61
PART I. Conceptes i estratègia                        7     6.3. Frameworks i llibreries, components lliures
                                                                 en el desenvolupament                         64
1. Al voltant del programari                          8     6.4. L’alliberament de programes i aplicacions     67
  1.1. Nocions sobre el programari                    8
  1.2. Origen i evolució del programari               9   7. Recursos per desenvolupar en PL                   70
  1.3. Classificació del programari                   11     7.1. Eines de desenvolupament                      70
                                                            7.2. Funcionament de les comunitats
2. Programari Lliure (PL)                            16          de desenvolupadors                            82
  2.1.   Què és el Programari Lliure?                16
  2.2.   Llicències lliures                          22
  2.3.   El desenvolupament del PL                   27   PART IV. Recursos PL                                 85
  2.4.   Models de negoci amb PL                     29
                                                          8. Recursos lliures disponibles                      86
3. Situació actual del PL                            32     8.1. Arquitectura general dels Sistemes
  3.1. El PL a les empreses                          32          Informàtics municipals.
  3.2. El PL a l’educació                            34          Serveis Interns                               86
  3.3. El PL a les administracions públiques         36     8.2. Programari disponible                         90

4. Estratègia en relació amb el PL                   38
  4.1. Com decidir sobre el PL                       38
  4.2. Criteris relatius a la funcionalitat
       de l’aplicació                                40
  4.3. Criteris relatius als costos                  42


PART II. Migració a PL                               43

5. Migració d’aplicacions a PL                       44
  5.1.   Per què migrar?                             44
  5.2.   Migrar o no migrar. Aquesta és la qüestió   45
  5.3.   Planificació de la migració                  46
  5.4.   L’ús de grups pilot                         53
  5.5.   Eines d’ajuda a la migració                 56
Presentació

                         Les eines que proporciona el Programari Lliure (PL) cada vegada són més
                         utilitzades entre els ciutadans, les empreses i les administracions. L’extensió del
                         seu ús i de les seves aplicacions estan reconegudes de manera explícita a la Llei
                         11/2007, d’accés electrònic dels ciutadans als serveis públics, recollint com a
                         dret dels ciutadans “escollir les aplicacions o sistemes per relacionar-se amb les
                         Administracions Públiques sempre i quan utilitzin estàndards oberts”, aspecte el
                         qual garanteix el Programari Lliure.

                         Les administracions locals, com la resta de les administracions públiques, han
                         de ser un model a seguir en l’estricte compliment de la legalitat i, per tant, han
                         d’adequar els seus sistemes de relació electrònica per adaptar-los a les necessitats
                         i drets dels seus ciutadans.

                         L’interès dels municipis al voltant de l’ús i possibilitats del Programari Lliure va
                         portar a Localret a col·laborar estretament amb el Col·legi Oficial d’Enginyeria
                         en Informàtica de Catalunya. Fruit d’aquest treball, fet amb molts ajuntaments
                         i consells comarcals, hem cregut oportú reflectir en aquesta Guia una sèrie
                         d’informacions, recomanacions i consells pràctics que poden ser d’utilitat tant als
                         càrrecs electes com als tècnics al servei de les administracions locals.

                         Amb aquesta Guia no pretenem ser prescriptors de cap opció, ni lliure ni privativa,
                         però sí que posem al vostre abast els diferents elements per valorar avantatges i
                         desavantatges de cada decisió. Practiquem una “neutralitat efectiva”, és a dir que
                         per decidir sobre l’elecció d’un programari, aquesta s’ha de fonamentar en criteris
                         tecnològics, econòmics o de funcionalitat, bandejant els criteris ideològics o,
                         simplement, d’inèrcia o temor davant d’allò que ens sembla més desconegut.
                         També comprovarem que “lliure” no vol dir “de franc” i que davant de qualsevol
                         tria de programari s’ha de tenir una estratègia, una planificació, uns recursos i un
                         desenvolupament.

                         Estem convençuts que trobareu en aquesta publicació informació i consells que
                         us seran de molta utilitat perquè la informació rigorosa és un bon antídot per
                         combatre estereotips que, sovint, no responen a la realitat.




4
    Guies
    per al
    desenvolupament de
    la societat del
    coneixement
Contingut
de la publicació
Aquesta publicació s’estructura en quatre parts. La primera, orientada als càrrecs electes i gerencials,
dedica els dos primers capítols a aclarir les nocions necessàries que faciliten la correcta comprensió
de la resta del document. El tercer capítol parla de la situació del PL, mirant d’identificar les tendències
previsibles, i el quart ajuda a establir criteris de caràcter estratègic sobre l’ús del programari lliure a les
administracions locals catalanes.

La segona part, més orientada als càrrecs tècnics d’ajuntaments i consells comarcals de qualsevol
dimensió, entra en els detalls tècnics de l’estratègia TIC, al capítol 5, i dóna pautes, basades en casos
d’èxit, per elaborar correctament projectes de migració a programari lliure, al 6.

La tercera part va destinada als càrrecs tècnics d’ajuntaments, consells comarcals i diputacions amb
capacitat per emprendre projectes de desenvolupament de programari d’una certa envergadura. El
capítol 7 analitza el paper que pot jugar el PL en el desenvolupament de programes o aplicacions i el 8
enumera recursos lliures disponibles per a aquesta activitat.

La guia conté una darrera part, el capítol 9, que ofereix una llista de programes i plataformes disponibles
en programari lliure i preparats per a l’adopció o adaptació en les administracions locals catalanes.
L’enumeració que es fa en aquesta guia és complementària d’altres guies d’aparició recent, de Localret
o d’altres organismes, segons s’indica en cada cas.




                                                                                                                                    5
                                                                                                                        Guies
                                                                                                                           per al
                                                                                                            desenvolupament de
                                                                                                                  la societat del
                                                                                                                   coneixement
Conceptes claus

    El principal objectiu de la present guia és que el lector, d’acord amb les seves necessitats i la seva
    experiència prèvia, pugui trobar respostes als dubtes més habituals sobre l’ús del programari lliure a les
    administracions locals de Catalunya. Les idees clau a destacar són les següents:



    Conceptes clau                                                    On trobar-los?

    Sobre el programari lliure:

    · És un model de negoci al voltant del programari,                · L’apartat 1.3 clarifica les categories de programari.
      diferent del privatiu o altres.                                 · El capítol 2 se centra en el PL i el seu model de negoci.

    · No és cap moda passatgera, ans al contrari: Les dades           · El capítol 3 exposa la situació del PL.
      demostren que és cada vegada més present i en més
      àmbits.



    Què suposa el programari lliure per a les administracions locals:

    · Ofereix una sèrie d’avantatges als organismes públics           · El punt 2.1.2 enumera les propietats del PL que el
      que ha portat a què la Llei 11/2007 l’assenyali com a             fan especialment atractiu per a les administracions
      preferible a les administracions públiques de tot l’Estat.        públiques.

    · A mig termini, i en ocasions fins i tot a curt, garanteix una   · Al punt 2.1.2 s’esmenta aquesta característica del PL.
      retallada de costos que suposa un salt qualitatiu i arriba      · L’apartat 2.3 permet entendre per què es dóna.
      a permetre projectes o serveis que, amb altres models
      de negoci, serien inabordables pressupostàriament.

    · Com tot projecte informàtic, l’adopció o migració               · El capítol 4 dóna orientacions per a l’àmbit gerencial.
      a PL requereix una planificació acurada que prengui             · La part II les estén i detalla per a càrrecs tècnics.
      en consideració totes les implicacions del canvi. La            · La part IV enumera recursos disponibles.
      militància o l’idealisme no poden suplir la manca
      d’una bona planificació.

    · Usar PL en la construcció de nous programes o                   · La part III dóna pautes per a càrrecs tècnics i enumera
      aplicacions evita haver de partir de zero i ofereix molts         eines lliures disponibles.
      avantatges, des de recursos fins a eines i procediments
      per treballar de manera més eficaç i eficient.


6
    Guies
    per al
    desenvolupament de
    la societat del
    coneixement
PART I
Conceptes
i estratègia
1         Al voltant
                         del programari

                         1.1. - Nocions sobre el programari
                         1.1.1. - Què és el programari?
                         Un ordinador és un aparell capaç d’obeir ordres i si no n’hi donem cap, no fa res.
                         Una agrupació organitzada d’aquestes ordres és el que anomenem programa i el
                         conjunt de tots els programes es coneix per programari (en anglès, software). Per
                         tant, sense programari, un ordinador no fa res. Seria com un televisor sense cap
                         canal sintonitzat. Totalment inútil.


                            Sabies que...?
                            Fa uns vint anys que l’Institut d’Estudis Catalans, a través del TERMCAT,
                            organisme encarregat de normalitzar la terminologia científica,
                            artística i tècnica, va aprovar les traduccions per als termes hardware
                            (literalment, ferralla) i software (neologisme creat per similitud a
                            l’anterior). Respectivament: maquinari i programari.
                            Hi havia qui proposava usar els termes ferralla i pensalla.

                         1.1.2. - Programes de base i d’aplicació
                         Programari de base: el componen les eines necessàries per poder usar
                         l’ordinador. El més important és el sistema operatiu, encarregat de coordinar tots
                         els components del computador: memòria, teclat, ratolí, pantalla, impressora,
                         discos durs, CD-ROM, DVD, etc. Per fer ús d’aquests recursos, la resta de programes
                         recorren al sistema operatiu.

                         Exemples de sistemes operatius són: Windows (en les seves diferents versions),
                         Linux (en les seves diferents distribucions), Unix, Leopard, etc.

                         Programari d’aplicació: el componen els programes que fan servir els usuaris,
                         anomenats també aplicacions. Per exemple: editors de textos, programes de
                         comptabilitat, etc.

                         Exemples d’aplicacions són: editors de textos (com el Word de l’MS Office o el
                         Writer de l’OpenOffice), gestors de correu (com l’Outlook de Microsoft o el Firebird),
                         programes de comptabilitat (com el ContaPlus del Grup SP, ara Sage, el BulmaGes
                         o altres), etc.

8
    Guies
    per al
    desenvolupament de
    la societat del
    coneixement
La figura 1 il·lustra aquesta diferència.


                                                                             PROGRAMARI DE BASE   APLICACIONS

                                                                                                    N˜mines

                                                                                                  Correu electr.
                                                                                 SISTEMA
                                                                                 OPERATIU
                                                                                                   Editor text

                                                                                                   Naveg. web




               Figura 1. Diferècia entre aplicacions i programari de base.


1.1.3. - Com es fan els programes?
La figura 2 mostra el procés d’elaboració d’un programa. En aquest procés hi apareixen alguns conceptes
que convé tenir clars per entendre què és el programari lliure.

Codi font: És el programa, expressat en allò que s’anomena un llenguatge de programació o d’alt nivell,
comprensible per als programadors, però no per a l’ordinador.

Executable (o també codi màquina): És el programa traduït de forma automàtica al llenguatge intern de
l’ordinador a partir del codi font. Resulta totalment críptic i incomprensible per als humans. És aquell que
es pot posar en marxa a l’ordinador i usar.


Per posar en marxa el programa en un ordinador cal l’executable, però per modificar-lo fa falta el
codi font, ja que l’executable és incomprensible per als humans.



1.2. - Origen i evolució del programari
Fins als anys 70 del segle passat, la major part dels programadors estava en entorns científics universitaris,
on el treball es basa en la col·laboració. Així, era habitual que quan un programador usava un programa,
si li calia, en podia obtenir el codi font, modificar-lo segons les seves necessitats i posar aquest programa
millorat a disposició de qui el necessités.

                                                                                                                                           9
                                                                                                                               Guies
                                                                                                                                  per al
                                                                                                                   desenvolupament de
                                                                                                                         la societat del
                                                                                                                          coneixement
El programari lliure a les administracions locals
     1. Al voltant del programari

     A partir dels 80, l’aparició de l’ordinador personal va popularitzar la informàtica i el programari es va convertir en
     una indústria. Inicialment, aquesta indústria va optar per un model de negoci basat en la privatització del codi
     font, recolzant-se en la legislació sobre propietat intel·lectual, pensada per a altres entorns com la composició
     musical o la literatura. Aleshores les empreses van començar a fer signar acords de secret industrial (non disclosure
     agreements) als seus treballadors i el codi font dels programes es va convertir en un secret industrial. Un ordinador
     és un aparell capaç d’obeir ordres i si no n’hi donem cap, no fa res. Una agrupació organitzada d’aquestes ordres és
     el que anomenem programa i el conjunt de tots els programes es coneix per programari (en anglès, software). Per
     tant, sense programari, un ordinador no fa res. Seria com un televisor sense cap canal sintonitzat. Totalment inútil.

                                             Necessitat
                                             (problema a resoldre)

                Comprensible
                                                 Sumar dues
                 per a usuaris                   quantitats                       entŽn

                                                                                                                  Analista informˆtic
                                                                                                                  (funci— dÕun enginyer
                                                                                                                  en informˆtica)

                                             Documentaci— tcnica
                                             (planificaci— del programa)
                                                                                  escriu
                                               Obtenir nombres,
                                               sumar-los i
                                               donar el resultat

                                                                                interpreta


                                                                                                                  Cap de projecte
                                             Codi font (el programa                                               (coordina els
                                             escrit pel programadors en                                           programadors)
                Comprensible
                                             un llenguatge de programaci—)
                 per a tcnics
                                               Mòdul Captura
                                               preguntar A;                                                       Programadors
                                               comprovar que és nombre;
                                               preguntar B;                                                       (funci— de cicles
                                               comprovar que és nombre;         escriuren                         formatius
                                               enviar A i B al mòdul Suma                                         dÕinform‡tica)
                                               Mòdul Suma
                                               rebre A i B;
                                               calcular R=A+B
                                               enviar R al mòdul Resultat
                                               Mòdul Resultat                   compila
                                               rebre R;
                                               mostrar R


                                                                                             preguntar A   0110
                                                                                                           1010
                                                                                                                  Compilador
                                             Codi executable (el programa                     comprovar    1011
                                                                                                                  (programa que
                                                                                                           0010
                                             que es pot posar en marxa a                                   1010   tradueix
                                             lÕordinador escrit en llenguatge                                     automˆticament)
                                             mˆquina)
                                             101011000 0110101011000
                                             100010100110011010010
                                             0101010000 011010101110
               Comprensible                  101011000 0110101011000             genera
                                             100010100110011010010
             per a ordinadors                0101010000 011010101110
                                             101011000 0110101011000
                                             100010100110011010010
                                             0101010000 011010101110
                                             101011000 0110101011000
                                             100010100110011010010
                                             0101010000 011010101110
                                             101011000 0110101011000
                                             100010100110011010010
                                             0101010000 011010101110



     Figura 2. Procés de construcció d’un programa d’ordinador.


10
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                                                             1. Al voltant del programari

Això va limitar les possibilitats de cooperació i d’acció dels programadors i va fer que el programari es limités a les
necessitats de la majoria, sense possibilitat d’estudiar-lo ni adaptar-lo.

D’altra banda, aquest moviment de la indústria també va generar un moviment en contra: el moviment del
programari lliure, que qüestiona la privatització de la propietat intel·lectual del programari, reclama les llibertats dels
usuaris i dels programadors i proposa models de negoci alternatius al privatiu, dominant fins a l’actualitat.

El fundador d’aquest moviment va ser Richard Stallman, aleshores programador del Laboratori d’Intel·ligència
Artificial, del MIT, i després fundador de la Free Software Foundation (FSF1). Ell va ser qui va enunciar per primer cop
les quatre llibertats que defineixen el programari lliure, com veurem al capítol 2.

Basant-se en les mateixes lleis sobre propietat intel·lectual que les empreses estaven usant per privatitzar els codis
font dels programes, Stallman va definir la llicència GPL, que aconsegueix garantir tot el contrari: que el codi font dels
programes lliures no es pugui privatitzar.

Com a resultat d’aquest procés, en l’actualitat s’està consolidant un ampli teixit empresarial amb models de negoci
més variats i no exclusivament basats en la privatització del codi font, com veurem també al capítol 2.


                                                Sabies que...?
                                                La primera programadora de la història va ser una dona. Es deia Ada Lovelace,
                                                filla del poeta anglès Lord Byron i esposa del Comte de Lovelace.
                                                Charles Babbage, amic de la família, va projectar el primer computador
                                                programable, completament mecànic, que no es va arribar a construir mai. Ada
                                                Lovelace, destacada matemàtica, va escriure diversos programes per a aquest
                                                ordinador.
                                                De fet, els programes d’ordinador s’anomenen així perquè, quan els va ensenyar
                                                al seu marit, va dir que li recordaven els programes d’actes de la festa major del
                                                seu poble.



1.3. - Classificació del programari
El programari es pot classificar segons criteris molt diferents. El problema és que el nom que es dóna a algunes de les
categories porta a algunes confusions quan, en realitat, les coses són força més simples que no sembla.
1.3.1. - Classificació segons el cost
De cost zero: Se l’anomena també programari gratuït. És el programari que no cal pagar per utilitzar-lo.

De cost no zero: També se l’anomena programari comercial o de pagament. És el programari fet per un organisme
(normalment una empresa) que pretén treure’n un benefici.


1
    Es pot trobar més informació sobre aquesta organització al web(:) http://www.fsf.org/ (en anglès)
    o al web de la seva homòloga europea, http://fsfe.org/ (en català si el navegador està configurat en aquesta llengua).
                                                                                                                                                                                      11
                                                                                                                                                                          Guies
                                                                                                                                                                             per al
                                                                                                                                                              desenvolupament de
                                                                                                                                                                    la societat del
                                                                                                                                                                     coneixement
El programari lliure a les administracions locals
     1. Al voltant del programari

     Primera confusió: en català, i en general en les llengües llatines, no tenim aquest problema, però en anglès la paraula
     lliure (free) també significa gratuït. Per això, en anglès es pot confondre el programari lliure amb programari gratuït,
     quan veurem que per ser lliure cal que reuneixi una sèrie de condicions que no tenen res a veure amb la gratuïtat.


            Sabies que...?
            Per evitar la confusió entre els dos significats del mot free en anglès han sorgit denominacions alternatives
            com FLOSS, de Free/Libre/Open Source Software, o FOSS, de Free/Open Source Software.
            El Cenatic, en castellà, utilitza habitualment l’expressió «software de fuentes abiertas».
            A Catalunya s’ha fet més habitual l’expressió programari lliure, que no presenta cap ambigüitat.


     1.3.2. - Segons la seva legalitat
     Legal: Qualsevol programa aconseguit i usat sense contravenir cap norma. Per exemple, un programa instal·lat amb
     la seva llicència original corresponent o bé un programa lliure.

     Il·legal: Qualsevol programa obtingut i usat violant alguna norma (a Europa, la Llei de propietat intel·lectual). Per exemple,
     un programa adquirit amb una llicència que n’autoritza l’ús en un sol ordinador i està instal·lat en més d’un (la primera còpia
     seria legal, la resta, il·legals), o bé un programa al qual se li han suprimit els codis de seguretat per poder-lo instal·lar i usar sense
     llicència o que s’ha instal·lat amb un número de llicència no oficial (el que s’anomena popularment programes piratejats).


            Sabies que...?
            La BSA2, associació d’empreses que agrupa els fabricants de programari més grans del món, publica
            periòdicament estadístiques sobre l’ús de còpies no autoritzades, que es coneix popularment com
            pirateria.
            Segons aquestes estadístiques, l’any 2008 aquest fenomen va arribar al 42% a l’Estat Espanyol, set punts
            per sobre la mitjana europea, que és del 35%.
            Val a dir que una mesura contra l’ús de còpies no autoritzades és l’ús de programari lliure, ja que és l’únic
            tipus de programari que no desautoritza mai ningú a usar-lo.


     1.3.3. - Segons la disponibilitat del codi font
     De codi tancat: Anomenat també programari tancat. És el programari del qual, ni tan sols pagant, no es pot obtenir
     el codi font. El propietari dels drets d’autor, emparant-se en les normes corresponents, se’l vol reservar i impedir que
     hi pugui accedir ningú.

     De codi font consultable: Programari que, d’alguna forma o altra, es pot accedir al seu codi font. Sovint, aquesta
     possibilitat no està oberta a tothom, sinó únicament a grans clients. També és habitual que l’accés sigui només per
     a alguna funció molt concreta, com comprovar que el programa no conté codi maliciós que pugui perjudicar els
     interessos d’aquest gran client, o bé que calgui pagar una forta suma de diners per accedir-hi. La proposta Shared
     Code Initiative, de Microsoft, seria un exemple d’aquesta categoria.
     2
         Més informació a http://www.bsa.org/country.aspx?sc_lang=es-ES (en castellà).

12
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                                                              1. Al voltant del programari

        Sabies que...?
        L’any 2001, Microsoft va posar en marxa el programa Shared Code Initiative3, que va permetre a alguns
        estats accedir al codi dels seus sistemes operatius i d’algunes aplicacions com l’Office.
        Davant el suggeriment d’alguns col·lectius sobre la possibilitat que alguns programes de Microsoft
        realitzessin amb les dades operacions que l’usuari no ha sol·licitat o que poguessin resultar insegures
        (veure nota «Sabies que...?» de la pàgina 12), el gegant nord-americà va permetre que alguns governs
        inspeccionessin el seu codi, sense donar-los permís per introduir-hi cap modificació o per divulgar o
        reaprofitar el codi en cap altre projecte.

De codi obert: Anomenat també open source. Com veurem al punt 1.3.5, és una variant de programari lliure, que
exigeix unes condicions pràcticament equivalents a les del programari lliure, sense exigir, necessàriament, la condició
de copyleft (veure apartat 1.3.5).

Segona confusió: El moviment open source va sorgir com una escissió del moviment del programari lliure, procurant
evitar la suposada imatge antiempresarial que tindria aquest moviment i, sobretot, la confusió en anglès del terme
free. En un abús de llenguatge, algunes empreses que han accedit a mostrar el codi d’algun dels seus programes a
grans clients l’anomenen «de codi obert», tot i no complir les condicions del moviment open source, situació que
provoca una altra vegada la confusió amb el nou terme.

1.3.4. - Segons si està protegit per drets d’autor o no
De domini públic: Programari sobre el qual ningú pot reclamar drets d’autor i, per tant, no requereix cap tipus de
llicència d’ús. És de lliure disposició per a tothom. Això succeeix quan els drets d’autor expiren (als 70 anys de la mort
de l’autor) o bé quan l’autor hi renuncia de forma explícita (a Europa, aquesta renúncia no és vàlida, ja que els drets
morals sobre l’obra són irrenunciables).

Protegit per drets d’autor: És aquell programari del qual l’autor conserva els drets i que es distribueix amb una
llicència que en cedeix alguns a l’usuari, com a mínim el d’usar l’aplicació. Segons aquesta llicència es poden distingir
subapartats.

Tercera confusió: Quan es paguen uns diners a canvi d’un programa, se sol usar l’expressió «comprar el programa»,
quan, en realitat, en la major part dels casos, l’únic que s’està comprant és el dret a usar-lo i, sovint, amb força limitacions.

1.3.5. - Classificació dins dels programes protegits per drets d’autor
El ventall de limitacions que pot imposar una llicència d’ús és molt ampli. Se solen distingir les categories següents:

Privatiu: Anomenat també propietari (traducció incorrecta del terme anglès proprietary, que significa patentat), amb
copyright o, erròniament, comercial (altres tipus de programari també són comercials). La llicència indica clarament
que tots els drets són del propietari dels drets d’autor i l’usuari només ha adquirit el dret a usar-lo. En aquest ús, són
habituals restriccions com el nombre de llocs de treball, la finalitat de l’ús o altres.
3
    Actualment aquest programa es diu Shared Source Initiative i se’n pot trobar més informació a http://www.microsoft.com/resources/sharedsource/default.mspx (en anglès).

                                                                                                                                                                                             13
                                                                                                                                                                                 Guies
                                                                                                                                                                                    per al
                                                                                                                                                                     desenvolupament de
                                                                                                                                                                           la societat del
                                                                                                                                                                            coneixement
El programari lliure a les administracions locals
     1. Al voltant del programari

             Sabies que...?
             Algunes llicències d’usuari final de programari privatiu (en anglès EULA, per End User License Agreement)
             contenen clàusules tan curioses com4:
               · Les EULA’s de l’MS XML i l’SQL Server contenen clàusules que prohibeixen publicar estadístiques de
                 rendiment (benchmark tests) d’aquests programes sense permís de Microsoft.
               · L’acord de servei d’iTunes, de la casa Apple, es reserva el dret a canviar l’acord, considerant que
                 continuar usant el servei suposa una acceptació.
               · L’EULA de Pinnacle Studio 9 Movie-making adverteix l’usuari que el sistema pot enviar informació al
                 fabricant i, fins i tot, instal·lar ampliacions del programa sense necessitat d’avisar l’usuari.
               · L’EULA del sistema operatiu Windows XP conté clàusules en què es diu que, fins i tot en cas que el
                 sistema provoqui l’avaria del computador, el fabricant en declina tota responsabilitat.


     Shareware, models gratuïts, de baix cost o amb costos diferenciats segons l’ús: Són programes que,
     habitualment, es distribueixen per Internet i permeten la instal·lació i execució per un període limitat de temps, amb
     funcionalitats suprimides, només per a uns usos, per exemple privats i no comercials, empresarials o militars, o bé
     demanen un pagament voluntari a l’autor per contribuir a la millora del programa.

     Lliure o open source: Programari que dóna a l’usuari tots els drets, com veurem en major detall al capítol 2. Hi ha
     dues definicions acceptades internacionalment: la que dóna la Free Software Foundation, que defineix programari
     lliure o, en anglès, free software, i la que dóna l’organització empresarial americana Open Source Iniciative, que
     defineix l’expressió Open Source.

     Lliure amb copyleft: És el programari que, a més a més de ser lliure, la seva llicència exigeix que si, fent ús d’aquesta
     llibertat, l’usuari agafa tot o una part del codi i ho integra dins d’una altra aplicació més àmplia, tot el conjunt també
     ha de ser lliure. Per aquesta característica de «contagiar» la seva llibertat als altres programes amb què s’integra,
     també s’anomena «viral».


             Sabies que...?
             La paraula copyleft és un joc de paraules en anglès que per remarcar l’oposició al terme copyright, que seria
             «dret de còpia», substitueix right, que significa tant dret (terme jurídic) com dreta (d’orientació espacial), per
             left, que significa esquerre, però també permès.
             Per tant, es podria traduir per «esquerre de còpia» o també per «còpia permesa».




     4
         Es pot trobar una relació d’exemples de clàusules abusives a l’article http://www.tomshardware.co.uk/rtf-eula,review-17917.html (en anglès).

14
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
2         Programari Lliure (PL)

                          2.1. - Què és el Programari Lliure?
                          El programari lliure és una categoria de programari quan es classifica en funció
                          dels drets que atorga la seva llicència.

                          Segons la definició de la Free Software Foundation (FSF5), perquè un programa
                          sigui lliure ha de garantir als seus usuaris les quatre llibertats següents:


                                  0: Llibertat d’usar el programa per a qualsevol finalitat.
                                  1: Llibertat d’estudiar com funciona el programa i de canviar-lo per a què
                                     faci el que vulguis.
                                  2: Llibertat de redistribuir còpies, de manera que puguis ajudar els teus veïns.
                                  3: Llibertat per millorar el programa i distribuir les teves millores (i versions
                                     modificades en general) al públic, de forma que tothom se’n pugui
                                     beneficiar.
                                  Per poder exercir les llibertats 1 i 3 és necessari que el codi font del programa
                                  estigui disponible.


                          2.1.1. - Conseqüències de l’aplicació de les quatre llibertats del PL
                          Aquestes llibertats s’atorguen a l’usuari a través de la llicència d’ús, que es
                          tracta amb més detall a l’apartat 2.2. La seva aplicació, però, té una sèrie de
                          conseqüències que convé considerar.

                          La primera és que condiciona el model de desenvolupament i de negoci, fins al
                          punt que ha suposat l’aparició de models propis, força innovadors, com veurem
                          als apartats 2.3 i 2.4.

                          La segona és que en deixar obert el codi ja no té sentit tancar els formats
                          dels fitxers en què se salva la informació tractada pel programa. Així, quan un
                          programa lliure tracta dades d’un determinat tipus (música, text, bases de dades,
                          etc.), si existeix un estàndard internacional, és a dir, aprovat per l’Organització
                          Internacional d’Estàndards, coneguda per les inicials en anglès ISO, sempre l’usa
                          de forma preferent, si no exclusiva.

                          5
                              http://www.fsf.org/

16
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
2.1.2. - Característiques del PL rellevants per a les administracions públiques
Les quatre llibertats i les conseqüències de la seva aplicació comporten que el programari lliure tingui
una sèrie de característiques que resulten especialment rellevants per a les administracions públiques
i, en particular, les locals.

a) Programari legal
Les clàusules tan restrictives que inclouen moltes llicències privatives i que, malauradament, la majoria
d’usuaris no llegeixen, fan que sigui molt fàcil incomplir algunes de les condicions imposades, fins i tot
per pur desconeixement, sense cap mala intenció.


       Sabies que...?
       Quan l’empresa americana PC Pitstop va voler presumir d’acompanyar els seus programes,
       divulgats gratuïtament, amb una llicència que no contenia clàusules abusives, va incloure al final
       de la mateixa un paràgraf que oferia una recompensa a qui enviés un missatge a una adreça de
       correu electrònic.
       Van passar quatre mesos des de la publicació i més de 3.000 persones van descarregar l’aplicació
       abans l’empresa no va rebre la primera comunicació a l’adreça esmentada6. El seu remitent va
       rebre 1.000 dòlars.
       És només una mesura, però, si s’extrapola, voldria dir que només una de cada més de 3.000
       persones llegeix les llicències.


b) Compliment de la Llei 11/2007
La Llei d’accés electrònic dels ciutadans als serveis públics assenyala, en el seu article 4, que «les
Administracions Públiques utilitzaran estàndards oberts» i en el seu art. 6 estableix el dret dels ciutadans
a «escollir les aplicacions o sistemes per relacionar-se amb les Administracions Públiques, sempre i quan
utilitzin estàndards oberts».

El programari lliure sempre utilitza els estàndards oberts i, per tant, és l’únic que sempre pot garantir el
total compliment d’aquests preceptes legals.




6
    http://navegante2.elmundo.es/navegante/2005/02/25/weblog/1109297833.html (en castellà).

                                                                                                                                    17
                                                                                                                        Guies
                                                                                                                           per al
                                                                                                            desenvolupament de
                                                                                                                  la societat del
                                                                                                                   coneixement
El programari lliure a les administracions locals
     2. Programari Lliure (PL)

     c) Seguretat i fiabilitat
     La possibilitat d’auditar el codi i la forma de millorar-lo permanentment que mostren les comunitats de
     desenvolupament del PL (veure apartat 2.3.1) garanteixen una major qualitat del codi resultant.

     Com a conseqüència, el PL sol estar més present en sistemes en què són crucials l’estabilitat i resistència a
     circumstàncies adverses (en informàtica això s’anomena robustesa) o perdre poc temps en caigudes de sistema
     (alta disponibilitat). Per exemple, els sistemes més exposats a vulnerabilitats, els servidors d’Internet, són un dels
     entorns on més presència té el PL.


          Sabies que...?
          La combinació GNU/Linux-Apache ha arribat a representar quasi el 70% dels servidors d’Internet.
          També en l’entorn de supercomputació, el GNU/Linux és usat en quasi el 80% dels primers 500 ordinadors
          més potents del món. Entre ells el Mare Nostrum, ubicat a la UPC i dedicat a activitats de recerca.


     d) Accés perpetu a la informació
     Són moltes les administracions que estan tenint greus problemes per accedir a informació i documents que van
     elaborar fa anys amb editors que han desaparegut del mercat i ja no es poden ni instal·lar sobre els actuals sistemes
     operatius.

     El fet d’usar estàndards oberts assegura que la definició de l’estàndard és pública i, per tant, sempre hi haurà programes
     capaços d’obrir fitxers que segueixen aquest estàndard o, si més no, sempre es podrà interpretar el seu contingut i
     transvasar-lo a un altre format.


          Sabies que...?
          Només entre les diferents administracions, les universitats i les empreses amb més de 20 anys d’antiguitat,
          es calcula que els documents generats amb editors de text que ara han quedat obsolets i ja no es poden
          obrir suposen milions de pàgines que ja no es podran recuperar mai més.


     e) Treball de col·laboració
     En el cas d’administracions amb capacitat per abordar projectes de desenvolupament de programari propi, el model
     de desenvolupament del PL facilita la col·laboració, tant entre diferents administracions que poden emprendre el
     projecte conjuntament com entre administracions i empreses que poden estar treballant en un mateix projecte, fins
     i tot sense necessitat que hi hagi contractació i compensacions econòmiques.




18
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                         2. Programari Lliure (PL)

f) Absència de codi maliciós
En algunes ocasions, han causat un cert ressò mediàtic els abusos d’algunes companyies de programari privatiu que
han inclòs en els seus programes instruccions per poder accedir a informació de l’usuari, com per exemple quins
altres programes té instal·lats.

El programari lliure, per la publicitat del codi, garanteix l’absència d’instruccions d’aquesta mena, conegudes com
codi maliciós.

g) Possibilitat de contractació local
Els models de negoci del PL fan possible que una petita empresa, amb talent, pugui competir en règim d’igualtat
amb una gran multinacional. En aquests models de negoci, les dimensions de l’empresa no són rellevants.

El PL permet contractar empreses locals, molt properes a l’ajuntament i de dimensions similars. En un país
com Catalunya, on el 90% de les empreses són petites, això suposa convertir la pròpia capacitat de compra de
l’administració en una eina més al servei de la promoció econòmica i el desenvolupament local.

h) Independència del proveïdor
Moltes aplicacions privatives forcen l’usuari a contractar qualsevol servei que necessiti al voltant d’aquella
aplicació, al mateix fabricant o a empreses associades (en anglès partners) que, habitualment, es veuen obligades
a pagar el fabricant per adquirir aquesta condició.

Amb programari lliure, això és impossible. Les quatre llibertats requerides per tal que un programa sigui lliure garanteixen
que l’usuari sempre tingui llibertat per escollir el proveïdor que més li convingui i per canviar-lo quan vulgui.

i) Costos més baixos
La lliure competència esmentada a l’apartat anterior comporta un avantatge addicional: habitualment, els costos
dels serveis al voltant de programes lliures són més baixos, ja que el client no és captiu.

Alguns ajuntaments assenyalen que els estalvis que han pogut fer gràcies al PL no suposen només una reducció
de pressupost, un salt quantitatiu, sinó la possibilitat d’abordar projectes que en programari privatiu quedarien
totalment fora de l’abast del pressupost de l’ajuntament. Un veritable salt qualitatiu.

2.1.3. - Precaucions que cal tenir en compte
Hi ha, però, algunes qüestions que cal tenir en compte abans d’emprendre projectes de migració massiva a PL.
Lluny d’idealismes i militàncies, les coses s’han de fer bé. D’aquesta manera s’obtenen tots els beneficis, sense
entrebancar-se amb cap inconvenient.




                                                                                                                                              19
                                                                                                                                  Guies
                                                                                                                                     per al
                                                                                                                      desenvolupament de
                                                                                                                            la societat del
                                                                                                                             coneixement
El programari lliure a les administracions locals
     2. Programari Lliure (PL)

     a) Incompatibilitat entre estàndards de jure i de facto
     Malgrat estar definits per organismes internacionals, com la ISO, International Standards Organization, no sempre els
     estàndards oberts són els més estesos. Algunes empreses privades tenen força suficient com per imposar els seus
     formats tancats.

     Això passa, per exemple, en el món de l’ofimàtica (editors de textos, fulls de càlcul, presentacions, etc.). L’únic
     format estàndard aprovat per la ISO és l’Open Document Format, natiu en el paquet d’ofimàtica lliure OpenOffice.
     Però els formats d’ofimàtica més estesos són els de Microsoft (el del Word, l’Excel i el PowerPoint), fins al punt que
     moltes persones no parlen d’un full de càlcul, sinó d’un «Excel», per exemple.

     Per resoldre això, l’OpenOffice mateix és capaç d’obrir i salvar també en els formats de l’Office. És a dir, que
     un ajuntament podria treballar amb OpenOffice i intercanviar documents amb particulars, empreses i altres
     administracions que tinguessin Office sense que ni se n’adonessin.

     De totes formes, com que el format de l’Office és tancat, algunes de les seves opcions no són visibles per a
     l’OpenOffice i això provoca que en alguns casos aquesta compatibilitat no funcioni.

     En cas d’haver d’interactuar sovint amb alguna administració o empresa que utilitzi habitualment aquestes
     opcions, caldrà tenir-ho en compte. O bé caldrà fer algun acord amb aquesta administració o empresa, o bé caldrà
     conservar alguna instal·lació amb Office per mantenir aquesta interacció.

     b) Costos de migració
     Si bé migrar a PL sol comportar una reducció de costos, el procés de migració s’ha de planificar bé i sol tenir també
     algun cost, ja sigui en formació, en haver d’adaptar la imatge gràfica d’algunes plantilles o en similars.

     Expressat gràficament, el cost pot mostrar un comportament com el de la figura 3.


                          Cost




                                                         Migraci—


                                                                                                      Temps
                           Figura 3. Evolució habitual dels costos davant d’una migració.




20
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                   2. Programari Lliure (PL)

c) Gestió del canvi
Una altra qüestió que cal tenir present a l’hora de plantejar-se una migració a PL és la que es coneix com gestió del
canvi. Sota aquest nom, s’engloba la gestió de totes les resistències davant la novetat, pors a allò que no es coneix
i altres elements que poden fer que el personal que ha d’usar el nou sistema l’acabi rebutjant.

Especialment quan es migra des d’una aplicació que s’usa des de fa molts anys, cal prendre en consideració les
reaccions que pot tenir el personal usuari. En particular, quan aquest personal no sigui tècnic en informàtica sinó
que pertanyi a altres àrees de coneixement i usi la informàtica només com una eina de treball.

S’haurien de planificar acuradament:

· La conscienciació: Quan els motius de la migració siguin econòmics o per complir amb un estàndard o una
  norma, és convenient explicar-ho al personal; que entenguin que no es tracta d’un caprici o una moda.
· La formació: Una de les activitats de preparació de la migració, que es pot iniciar fins i tot abans de començar
  a canviar els programes, és la formació del personal que els haurà d’usar. Conèixer ja la nova aplicació els donarà
  seguretat i confiança davant del canvi.
· L’assistència en la migració: És important preveure que sorgeixin dubtes, especialment al principi. Abans que
  aquests dubtes apareguin, el personal ha de tenir clar a qui pot acudir per resoldre’ls.

Una estratègia habitual i que dóna molt bons resultats és identificar, a cada departament o àrea de treball, les
persones que tenen un major domini de la informàtica, els «usuaris/àries avançats/des». Aleshores, se’ls forma
primer i la migració es fa abans en els seus llocs de treball, perquè ja vagin resolent els seus dubtes.
Quan s’aplica la migració a tota la resta, aquests «usuaris/àries avançats/des» estan en condicions de resoldre els
dubtes dels seus companys/es, cosa que els dóna, un cop més, seguretat.




                                                                                                                                         21
                                                                                                                             Guies
                                                                                                                                per al
                                                                                                                 desenvolupament de
                                                                                                                       la societat del
                                                                                                                        coneixement
El programari lliure a les administracions locals
     2. Programari Lliure (PL)

     2.2. - Llicències lliures

     La llicència que acompanya un programa d’ordinador és un contracte entre el titular del programa i l’usuari. En
     aquest contracte, el titular autoritza l’usuari i li cedeix els drets necessaris per a aquest ús.

     Compleix una doble funció: per una banda concedeix els drets d’ús a l’usuari i, per l’altra, reserva i protegeix
     els drets del titular amb condicions i obligacions per a l’usuari. Per tant, la llicència estableix determinats drets i
     obligacions entre les parts.

     Les llicències lliures i les no lliures es diferencien en funció d’aquests drets i obligacions. Aquestes diferències
     permeten classificar el programari segons el diagrama següent.




                                            Programari lliure

                                                                                                      Programari no-lliure
                                                    Domini Pœblic                                         o ÒprivatiuÓ

                                               Llicncies Permissives                                      Programari sota
                                                                                                        llicncia tradicional
                                             Llicncies amb copyleft

                                                           GPL                                              Freeware /
                                                                                                            Shareware
                                               Programari de Fonts
                                                    Obertes
                                                                                            Descˆrrega gratu•ta


                              Figura 4. Classificació del programari segons la llicència.




     Les llicències de programari no lliure concedeixen, de forma general i restrictiva, uns drets d’ús mínims i solen
     limitar o imposar condicions, a vegades força dràstiques. Com hem vist, solen atorgar pocs drets més enllà de
     la instal·lació del programari a l’ordinador de l’usuari i la seva execució, d’acord amb determinades condicions i
     restriccions.




22
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                     2. Programari Lliure (PL)

2.2.1. - Llicències de programari lliure
Les llicències lliures, en contrast, concedeixen amplis drets a l’usuari (inclosos els de modificar el programari
i tornar a distribuir-lo). Per ser qualificat de «programari lliure», la llicència ha de garantir a l’usuari les quatre
llibertats esmentades a l’apartat 2.1 i/o complir les 10 directrius de la Open Source Initiative. Des de la perspectiva
jurídica, aquestes llibertats permeten la «reproducció», «transformació», «comunicació pública» i «distribució»
del programa original. Per això, el titular de la llicència ha de tenir accés al codi font. D’aquesta manera, les
llicències de programari lliure permeten als usuaris utilitzar un programa d’ordinador lliurement i disminueixen
substancialment la captivitat respecte el proveïdor.


   Què es pot fer amb un programari sota llicència lliure? Les llicències lliures permeten, entre altres coses:
   - Descarregar, instal·lar i executar el programari sense limitacions (en un o més ordinadors o en una xarxa).
   - Fer còpies de seguretat del programari.
   - Descarregar el codi font i estudiar-lo.
   - Analitzar les interfícies per fer un programari interoperable.
   - Modificar el programari per adaptar-lo a les pròpies necessitats, recompilar i executar-lo.
   - Utilitzar part del codi per a altre programari.
   - Ampliar el programari original amb extensions, plug-ins i noves funcionalitats.
   - Integrar-lo en altre programari lliure per millorar les seves funcionalitats.
   - Redistribuir el programari original en una pàgina web, un CD, una clau USB o en xarxes P2P.




                                                                                                                                           23
                                                                                                                               Guies
                                                                                                                                  per al
                                                                                                                   desenvolupament de
                                                                                                                         la societat del
                                                                                                                          coneixement
El programari lliure a les administracions locals
     2. Programari Lliure (PL)

     2.2.2. - Tipus de llicència lliure – el copyleft
     Les llicències de PL contenen disposicions que varien de forma significativa d’unes a altres. És important tenir en
     compte aquest fet sempre que utilitzem PL i, sobretot, a l’hora d’integrar i redistribuir a tercers aquest tipus de
     programari. La major diferència pel que fa al grau de copyleft radica en les condicions aplicables a la redistribució.

     Les llicències de PL amb copyleft van més enllà de garantir merament les quatre llibertats bàsiques del programari.
     Una llicència que concedeix els esmentats drets sense imposar condicions permetrà al titular de la llicència inicial
     incloure el programari en un altre de nou i redistribuir-lo sota llicència restrictiva o no lliure: «tancar-lo». Els usuaris
     del nou programa no tindran les llibertats originalment cedides. Amb l’objectiu d’assegurar que qualsevol usuari
     del programari pugui gaudir d’aquestes llibertats en tot moment, les llicències amb copyleft obliguen els usuaris
     a utilitzar la mateixa llicència lliure tant per a la redistribució del programari original com per a qualsevol
     modificació que es realitzi del mateix, així com a proporcionar o oferir accés al codi font als usuaris. A més, no
     permeten afegir a aquesta redistribució cap restricció addicional a les de la llicència original. Aquesta condició,
     que es coneix com copyleft, elimina qualsevol possibilitat de privatitzar el programari, és a dir, de distribuir-lo sota
     llicència no lliure.


          Sabies que...?
          La GNU General Public License (GPL) és la llicència lliure amb copyleft fort més coneguda.
          Redactada i promoguda per la FSF, és la llicència usada per aproximadament el 75% dels projectes
          disponibles a Sourceforge.
          Avui dia, té dues versions actives: la Versió 2 (de 1991) i la nova Versió 3 (de 2007). Té una versió que aplica el
          copyleft a la provisió d’accés als serveis de programari via xarxes (Software As a Service): la llicència Affero GPL.




24
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                          2. Programari Lliure (PL)

La gran difusió que té la GNU General Public License, o GPL, ha dut molts a pensar que el programari lliure és
programari amb copyleft (i, dut a l’extrem, programari distribuït sota la GPL, per ser aquesta la llicència amb
copyleft més habitual). Però això no és correcte: les llicències de PL amb copyleft només són un subconjunt
particular de les llicències de PL.

Com a conseqüència del copyleft, s’impedeix la distribució del programari en aplicacions privatives, però això no
significa que no es puguin crear i vendre aplicacions comercials amb programari copyleft: Per exemple, Red Hat o
Novell i les seves distribucions de GNU/Linux. No obstant això, serà una violació de la llicència redistribuir aquest
programari sota una altra llicència diferent que requereixi, per exemple, el pagament de regalies i/o que impedeixi
la modificació del programari per part del seu destinatari.

En funció del grau de copyleft que puguin tenir les llicències, es poden classificar en permissives, amb copyleft
fort i amb copyleft suau:

· Llicències permissives o acadèmiques: Aquestes llicències no imposen cap condició particular a la redistribució
  del programari, excepte la de mantenir els avisos de titularitat i les limitacions de garanties i responsabilitats. Per
  això és possible integrar i redistribuir programari sota llicències permissives en aplicacions sota qualsevol altre
  tipus de llicència, ja siguin lliures o no. Les més conegudes són les llicencies Berkeley Software Distribution (BSD,
  distribució de programari de la Universitat de Califòrnia a Berkeley) i Apache Software License (ASL, llicència de
  programari de l’Apache, servidor web), així com la llicència MIT.

· Llicències amb copyleft fort: Les llicències amb copyleft fort (a les quals de vegades algunes persones es
  refereixen negativament com «víriques» o «virals»), com la GPL, són les que exigeixen l’ús de la mateixa llicència
  per a qualsevol redistribució del programa i de les modificacions que es realitzin del mateix, així com a programes
  que l’utilitzin o incorporin (en forma de llibreries, etc.). El titular de la llicència ha de donar a l’usuari una còpia del
  codi font o oferir-li un mitjà per obtenir-lo (un repositori en línia, per exemple).

· Llicències amb copyleft suau: Aquestes llicències inclouen clàusules de copyleft només per al codi original,
  sense que això afecti a altres programes que l’integrin (amb o sense modificacions) o l’utilitzin com a llibreria.
  Exemples d’aquest tipus de llicència són la Lesser GPL (o LGPL) o la llicència Mozilla Public License (MPL), que
  s’utilitza per a la distribució dels productes de la Fundació Mozilla (Firefox, Thunderbird, etc.). En ambdós casos
  està permès agregar i/o vincular un nou programa al codi original i distribuir el conjunt sota una nova llicència
  (privativa o lliure).

Un cas particular és la European Union Public License (Llicència Pública de la Unió Europea - EUPL): és una nova
llicència lliure amb copyleft suau, redactada d’acord amb el marc general del dret europeu i expressament per a
l’alliberament de programari de l’administració pública europea i les dels països membres de la UE.




                                                                                                                                                25
                                                                                                                                    Guies
                                                                                                                                       per al
                                                                                                                        desenvolupament de
                                                                                                                              la societat del
                                                                                                                               coneixement
El programari lliure a les administracions locals
     2. Programari Lliure (PL)

     2.2.3. - Garanties i responsabilitats
     Una pregunta molt freqüent sobre el PL és si té garanties. Més enllà de la pregunta de si el programari no lliure
     n’ofereix més, el dret espanyol estableix unes mínimes garanties legals a favor de qui adquireix béns i serveis.
     Aquestes garanties varien en cada cas, però, bàsicament, són la conformitat del producte (el bon funcionament
     del programari) i l’obligació de resoldre defectes ocults.

     No obstant això, les nostres lleis permeten regular, en cert grau i depenent de la relació entre les parts –sobretot
     entre professionals–, el dret de reclamació de l’usuari (comprador) en cas de no conformitat. En el cas de
     les llicències lliures, s’intenta excloure qualsevol garantia amb la formula «AS IS» («tal qual») i proporcionar el
     programari «sense cap garantia». Això podria justificar-se legalment sobre la base que el programari lliure es
     llicencia de forma gratuïta, tot i que un tribunal podria considerar que aquestes limitacions són abusives per a un
     usuari final consumidor.

     De manera similar a les garanties, un proveïdor de béns i serveis ha de respondre dels danys causats pels
     seus productes, per exemple, a causa d’un error en el programa lliurat o en el servei prestat. En determinades
     circumstàncies, es permet limitar aquestes responsabilitats, cosa que fan totes les llicències lliures sobre el mateix
     principi que les garanties. Davant la possible invalidesa d’aquestes clàusules de descàrrega (disclaimers) segons
     cada marc legal, se sol restringir la limitació «en la mesura permesa per dret aplicable». Això significa que la
     llicència no exclourà les responsabilitats imposades pel nostre dret imperatiu.

     Al marge d’això, és possible que un proveïdor de solucions basades en PL hagi de donar garanties del seu producte
     i/o servei i assumir més responsabilitats; el client/usuari final és comprador de serveis de programació i instal·lació
     i es beneficiarà de les garanties contractades en relació a aquests serveis.




26
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                                                2. Programari Lliure (PL)

2.3. - El desenvolupament del PL
2.3.1. - Models de desenvolupament d’aplicacions lliures
La figura 5 il·lustra un exemple típic de com es construeix un gran programa lliure i com es va formant al seu
voltant allò que se sol anomenar comunitat de desenvolupadors o, simplement, la comunitat.


                                                                                M˜duls lliures
                                                                                 disponibles a
                                                                                     la xarxa
                                                  Utilitza
                              Contracte      (i millora)
                             (garanties)

               Client 1                    Empresa 1                      Programa v1.0
                                                              fa
                              Paga ÛÛÛ

                                  rep les
               Client 1           millores

                         Contracte         Empresa 1                      Programa v2.0
                                                          amplia
               Client 2                                  i millora
                                  Paga ÛÛ



                Client
                                                                                                                          Contracte

           Client                          Empresa 1                      Programa v3.0                    Empresa 2                      Client
                                                         amplia                                   amplia
                                                        i millora                                i millora                  Paga Û
                Client                                                                         (contribueix)




                                                             COMUNITAT DE DESENVOLUPADORS
                                       Client                                                                    Client
                                                                                Empresa 2

                                  Client                            Empresa 1                                    Client

                                                                    coordina             Empresa 3
                                       Client                                                                    Client

                                                                          contribueixen


                                                                         Programa vN.M


      Figura 5. Procés de formació d’una gran aplicació lliure i la seva comunitat de desenvolupadors.

                                                                                                                                                                      27
                                                                                                                                                          Guies
                                                                                                                                                             per al
                                                                                                                                              desenvolupament de
                                                                                                                                                    la societat del
                                                                                                                                                     coneixement
El programari lliure a les administracions locals
     2. Programari Lliure (PL)

     En aquest exemple, a partir d’un encàrrec inicial, una primera empresa ha desenvolupat una primera versió. No
     parteix de zero, perquè a Internet hi ha disponibles molts mòduls amb llicències lliures, que es poden usar per a la
     construcció d’aplicacions com la de l’exemple. Els encàrrecs de nous clients, a la mateixa empresa o a d’altres, van
     ampliant i millorant el programa, fins arribar a constituir una gran comunitat de desenvolupadors. Llavors, es pot
     dir que el projecte i la seva comunitat s’han consolidat.

     La pràctica totalitat dels projectes lliures consolidats en l’actualitat, i els que estan en procés de consolidar-se, s’ha
     construït seguint aquest model o variants sobre el mateix. Podem posar alguns exemples de variants:

     · Alguns projectes compten amb voluntaris en el si de la seva comunitat. Per exemple, la traducció i adaptació
       del paquet d’ofimàtica OpenOffice al català s’ha fet amb voluntaris coordinats per l’organització sense ànim de
       lucre Softcatalà.

     · Altres projectes han partit de l’alliberament d’un programa que havia estat privatiu. Per exemple, el mateix
       OpenOffice va néixer a partir del programa StarOffice, alliberat per la multinacional americana Sun MicroSystems.

     · Altres segueixen models mixtos lliure-privatiu, deixant lliures unes parts del programa i mantenint-ne d’altres
       com a privatives. Per exemple, la pràctica totalitat del programa Zimbra és lliure, però l’empresa que el va fer
       manté la titularitat privativa d’alguns mòduls d’ampliació d’algunes funcions, que el client pot comprar de forma
       opcional, si les necessita.

     En qualsevol cas, al final, si el projecte es consolida, sempre es pot parlar d’una comunitat de desenvolupadors
     que col·laboren en l’ampliació i manteniment del programa, sota la coordinació d’un líder escollit per la pròpia
     comunitat, habitualment la pròpia empresa que va iniciar el projecte.


          Sabies que...?
          Les comunitats de desenvolupadors d’alguns projectes emblemàtics, com Mozilla, OpenOffice o algunes
          distribucions de Linux, compten amb milers de col·laboradors, particulars i empreses, repartits per tot el món.


     Depenent de la gènesi i posterior evolució del projecte, aquesta comunitat tindrà més o menys membres i un
     funcionament regit per unes normes més o menys rígides i establertes o bé més flexibles i informals.

     2.3.2. - Maduresa d’un projecte PL
     El model de desenvolupament exposat a l’apartat anterior té com a conseqüències algunes característiques que
     diferencien el PL del programari desenvolupat sota altres models. Podem esmentar:

     · Cicle de desenvolupament llarg. En programari privatiu, per exemple, si és d’interès per una empresa amb prou
       capacitat financera, aquesta pot fer una inversió en contractació de molt personal i enllestir un gran projecte en
       un temps força reduït. En programari lliure, la forma de construcció incremental a partir de les aportacions dels
       membres de la comunitat sol donar uns temps de desenvolupament més llargs.

28
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                                                                      2. Programari Lliure (PL)

· Construcció a la vista. El treball de construcció d’una aplicació privativa és intern a l’empresa que el fa. Sol ser, fins i
  tot, protegit amb gran secret. En el PL, des del primer alliberament tot el procés de construcció és públic a la xarxa.

· No sotmès a pressions comercials. En ocasions, una empresa privativa treu al mercat una nova versió d’un
  programa que quasi no afegeix res a les anteriors només perquè la seva competidora més directa ha tret també
  una nova versió del seu producte. En el món del programari lliure això mai no es dóna. El funcionament de les
  comunitats sol ser força democràtic i les decisions es prenen amb criteris, principalment, tècnics i no comercials.

Són conseqüència de les dues primeres característiques el risc de descarregar-se d’Internet un programa PL i
començar a usar-lo quan encara no està prou ben acabat o que, per falta d’incorporacions a la comunitat de
desenvolupadors i algunes baixes, per exemple, per dissolució d’empreses, el projecte quedi discontinuat.

Així com en el món privatiu un criteri important a l’hora de triar una aplicació és la solidesa de l’empresa que l’ha
produït i el manté, en el món del PL és important considerar la maduresa dels projectes.

Per això han sorgit models d’avaluació de la maduresa dels projectes lliures, com l’OSMM7 (de les inicials angleses
Open Source Maturity Model), el QSOS8 (Qualification and Selection of Open Source), o l’OpenBRR9 (Open Business
Readiness Rating). La major part d’aquests models prenen en consideració criteris com:

- Escalabilitat de l’aplicació: Facilitat per a adaptar-la a entorns de dimensions diferents.
- Usabilitat: Facilitat d’ús.
- Suport: Facilitat d’obtenir suport, que inclou avaluar la solidesa i les dimensions de la comunitat corresponent.


2.4. - Models de negoci amb PL

Entre aquells que han accedit a la informàtica exclusivament a través de programari privatiu i no tenen gaire
coneixement sobre el PL, és habitual que es plantegi la pregunta: «Llavors, si es pot copiar i normalment no té
cost o és molt baix, les empreses de PL de què viuen?» Un altre dubte habitual és: «I si m’instal·lo PL, a mi qui em
dóna garanties?»

En primer lloc, a l’apartat 2.3.1 ja hem vist, amb un exemple il·lustrat, que el programari lliure sol respondre a
encàrrecs, executats sota les clàusules i garanties d’un contracte i convenientment remunerats. Així, aquestes
preguntes ja quedarien respostes.

El negoci al voltant del PL és molt ric i variat. Alguns dels models que poden adoptar les empreses inclouen:

a) Oferir serveis sobre producte propi o de tercers

És un argument habitual considerar que ningú no et podrà oferir serveis sobre un determinat producte de
programari millor que qui l’ha fet. Malgrat això, el PL permet que qualsevol empresa de la comunitat de
desenvolupadors o, fins i tot, de fora d’aquesta ho pugui fer i arribar a assolir un nivell de qualitat comparable.

7
    Desenvolupat per l’empresa Navica, està disponible sota la llicència Acadèmic Free License v.2.1: http://www.navicasoft.com/pages/osmm.htm (en anglès)
8
    Desenvolupat per Atos Origin, està disponible sota la llicència GNU Free Documentation License http://www.qsos.org/ (en anglès)
9
    Desenvolupat inicialment per SpikeSource, el Center for Open Source Investigation at Carnegie Mellon West i Intel Corporation, s’està proposant com un estàndard.
    Més informació a http://www.openbrr.org/ (en anglès)
                                                                                                                                                                                                29
                                                                                                                                                                                    Guies
                                                                                                                                                                                       per al
                                                                                                                                                                        desenvolupament de
                                                                                                                                                                              la societat del
                                                                                                                                                                               coneixement
El programari lliure a les administracions locals
     2. Programari Lliure (PL)

     Entre els serveis que es poden prestar hi ha:

     - Consultoria10 : Previ a tots els anteriors, el primer servei que es pot contractar a una empresa és que assisteixi el
       client a decidir què es pot substituir per PL, com, quan i en quin ordre.
     - Formació11 : Un dels serveis més sol·licitats a les empreses de PL és la formació dels usuaris del client en l’ús d’una
       aplicació lliure.
     - Implantació i migració: Una altra necessitat que es pot cobrir mitjançant la contractació d’una empresa de PL és
       la implantació d’una aplicació d’una certa complexitat i la migració de dades i procediments, des de l’aplicació
       que s’usava abans.
     - Adaptació: També es poden contractar serveis que van des de la simple generació de plantilles i exemples
       personalitzats per al client fins a la modificació del programa per adaptar-lo a necessitats específiques.
     - Integració: Hi ha aplicacions, normalment d’una certa complexitat, que requereixen tot un procés d’integració a
       l’entorn productiu del client i a tots els seus processos de negoci. El cas més habitual són els grans sistemes de
       gestió empresarial integrada, coneguts com ERP.

     b) Programari Lliure com a reclam

     Crear, mantenir i oferir al públic una aplicació lliure pot ser una activitat no lucrativa per a una empresa que tregui
     el seu lucre d’una altra activitat. Un exemple d’aquest model de negoci pot ser el cas de Google, que ofereix
     aplicacions lliures i serveis sense cost per a l’usuari com a reclam per a atreure molts visitants a una pàgina web
     que es manté gràcies a la publicitat.

     Un cas similar serien les aplicacions lliures per a entrenament de mecànics que alguns fabricants d’automòbils
     ofereixen als tallers de reparació. El seu objectiu és que molts tallers disposin de bons professionals capaços de
     reparar els seus vehicles i això sigui un argument a favor de la seva adquisició, per davant dels seus competidors.

     També hi ha molt programari promocional que es distribueix de forma lliure. Per exemple, jocs d’ordinador que
     fan publicitat de productes d’un fabricant que paga per la construcció del joc.




     10
        Localret ofereix dos serveis d’aquest tipus per a les administracions locals catalanes: el Servei d’Avaluació Prèvia – Ofimàtica lliure, que ajuda a valorar l’oportunitat d’una migració a
        OpenOffice, i el Servei d’Elaboració del Full de Ruta de PL, mitjançant el qual Localret ajuda a inventariar tots els usos d’informàtica que es fan en un ajuntament i a valorar les millors
        oportunitats de migració a PL.
     11
        Quan alguna administració ha trobat dificultats per resoldre les seves necessitats formatives, Localret l’ha ajudat a superar-les, arribant a dissenyar els continguts i a trobar i seleccionar proveïdors.


30
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
3         Situació actual del PL

                          3.1. - El PL a les empreses
                          La variabilitat del sector informàtic fa que hi hagi molts estudis que pretenen preveure
                          tendències. Per a moltes consultores, fins i tot grans, publicar un estudi és una forma
                          de donar-se a conèixer. Molts d’aquests estudis tenen una solvència contrastada i
                          una alta fiabilitat. L’únic que cal vigilar, a vegades, és que quedi clar quina empresa o
                          entitat és l’autora de l’estudi, per estar segurs que no sigui tendenciós.

                          En aquest estat de coses, creiem que no té sentit presentar en aquesta guia una
                          llarga llista de percentatges d’ús que poden tenir una vigència bastant limitada.
                          Considerem una informació més útil per a les administracions locals seleccionar-ne
                          uns pocs i veure quines tendències apunten a mig i llarg termini.

                          Així, per exemple, entre els dos informes Ándago12, publicats els anys 2002 i 2004,
                          es pot observar el següent:

                          - Ja des de l’any 2002, el PL és molt conegut. En aquest aspecte sembla haver
                            assolit un sostre, proper al 90%, ja que les dades de coneixement dels dos
                            estudis són molt similars.
                          - La introducció del PL és lenta i gradual, però implacable. Les dades sobre ús del
                            PL o, en cas de no usar-lo, la intenció de fer-ho, són les següents:


                                               Empreses                          No lÕusen, pero tenen                      No lÕusen, ni tenen
                                               que usen PL                       intenci— de fer-ho                         previst fer-ho


                          2002                    25%                       20%                                       55%


                          2004                          35%                                     35%                             30%

                          Figura 6. Ús i intenció d’ús de PL a les empreses.


                          Queda clar que la variable de l’ús del PL, l’any 2004, encara estava en plena evolució.



                          12
                               Es poden obtenir, per exemple, de la web del Cenatic:
                               el primer http://observatorio.cenatic.es/index.php?option=com_content&view=article&id=12
32                             i el segon http://observatorio.cenatic.es/index.php?option=com_content&view=article&id=16


     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
Amb dades més recents, un estudi de la consultora americana IDC13, estimava que l’any 2008, en ple
inici de la crisi, el mercat del sistema operatiu Linux havia crescut un 23’4% i li pronosticava mantenir
creixements superiors al 16% fins al 2013.

La Comunitat Europea ha publicat un informe, liderat per la Universitat de Maastricht14, en què conclou
que el negoci del programari lliure a Europa representa ja un 1% del PIB i suposa un 20% de la inversió
en programari, tant a Europa com als EUA. L’informe pronostica arribar a l’1’4% del PIB a finals de 2010,
quan podria arribar a representar el 32% del volum de negoci en serveis en tecnologies de la informació.

A més a més, els camps d’aplicació del PL no paren d’ampliar-se. Recentment, ha entrat en el món de la
telefonia mòbil amb la irrupció al mercat dels primers mòbils amb sistemes operatius lliures, basats en
Linux: LiMo15i Android16 .

La conclusió és clara: Amb la variabilitat que presenta el sector informàtic, el creixement imparable que
ha mostrat el PL durant més d’una dècada no deixa lloc a dubtes. El programari lliure no és una moda
passatgera o un fenomen puntual.


      El PL és una tendència que es consolida i que arribarà a representar un percentatge determinant
      del sector informàtic, comportarà una reforma important d’aquest sector i una redistribució en
      les dimensions de les empreses.

Les empreses privades usuàries d’informàtica ja porten temps preveient i adaptant-se a aquesta realitat.
L’Associació Catalana d’Empreses pel PL, coneguda com CatPL17 , assegura que més del 90% dels clients de
les seves empreses associades són privats, incloent les empreses més grans del país.

És una paradoxa curiosa: Fa un temps era habitual dir, i encara hi ha qui ho segueix repetint, que el PL és
un model de negoci especialment orientat a empreses petites, per la reducció de costos que suposa, i
a administracions, per motius ideològics. La realitat, a Catalunya, contradiu totalment aquesta afirmació.

Els primers consumidors de serveis PL i que en treuen el millor rendiment són les multinacionals i les
empreses més grans. Després vénen les empreses mitjanes i, a continuació, les petites. Possiblement, les que
van més endarrerides en l’aprofitament dels avantatges que els pot aportar el PL són les administracions.




13
   http://idc.com/getdoc.jsp?containerId=prUS21982209
14
   Es pot trobar un resum a http://flossimpact.eu/ (en anglès) i l’estudi complet a http://ec.europa.eu/enterprise/sectors/ict/files/2006-11-20-flossimpact_en.pdf (en anglès).
15

16
   http://www.limofoundation.org/ (en anglès)
   http://www.android.com/ (en anglès)
                                                                                                                                                                                                   33
17
   http://www.catpl.org/
                                                                                                                                                                                       Guies
                                                                                                                                                                                          per al
                                                                                                                                                                           desenvolupament de
                                                                                                                                                                                 la societat del
                                                                                                                                                                                  coneixement
El programari lliure a les administracions locals
     3. Situació actual del PL

     3.2. - El PL a l’educació
     S’han vist força casos en què la introducció del PL s’ha fet començant per l’educació. Hi ha destacats casos d’èxit;
     entre els més coneguts, els d’Extremadura18 i Andalusia19 , així com la distribució de GNU/Linux del Departament
     d’Educació de la Generalitat de Catalunya, anomenada Linkat20.

     Malgrat això, cal assenyalar que, en relació al coneixement del PL, l’aposta per l’educació és a llarg termini. Els nois i
     noies que ara estan a les aules tardaran molts anys a arribar al mercat laboral. Però en l’elecció del PL per a l’educació
     hi intervenen altres factors i altres objectius.

     En primer lloc, l’accés al codi font facilita l’adaptació a les diversitats culturals o característiques particulars dels
     centres, del professorat o dels alumnes. Per exemple, la gran majoria de programari privatiu no ofereix versions en
     català, mentre que per a les aplicacions lliures sí que existeix.

     Val la pena observar una important diferència en l’evolució dels preus en informàtica. Des de la seva aparició, el
     maquinari ha anat baixant de preu de forma sostinguda i sempre oferint potències cada vegada més altes. En canvi,
     el programari s’ha mantingut o, fins i tot, s’ha apujat i, sovint, ha ofert noves versions de programes que, pràcticament,
     fan el mateix que les anteriors.




     18
          http://www.linex.org/ (en castellà)
     19
          http://www.guadalinex.org/ (en castellà)
     20
          http://linkat.xtec.net/portal/index.php

34
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                              3. Situació actual del PL

Això fa que moltes escoles optin per mantenir versions obsoletes i, sovint, diferents en ordinadors d’una mateixa
aula. I això fent un esforç pressupostari. En canvi, l’ús de programari lliure retalla dràsticament la despesa tecnològica
i allibera recursos que es poden destinar a altres iniciatives pedagògiques.

A més, la llibertat de redistribució del PL fa que sigui possible, i legal, instal·lar les mateixes versions a tots els ordinadors
i, fins i tot, oferir-les als alumnes per a què les instal·lin a casa seva. D’aquesta manera, escola, professorat i alumnes,
fins i tot a casa seva, poden usar els mateixos programes i les mateixes versions.

A part, el programari lliure sol ser menys exigent en relació als requisits tecnològics del maquinari sobre el qual ha
de funcionar. Això permet que l’escola mantingui maquinari més antic o que vegi més espaiada la seva necessitat de
renovar el material informàtic, un cop més, alliberant recursos que pot destinar a altres finalitats.

Però hi ha una qüestió més profunda, que arriba a afectar la missió mateixa de l’educació. Si l’escola decideix usar
programari privatiu, això crea diferències entre aquelles famílies que es poden permetre adquirir, per usar a casa, les
mateixes aplicacions que l’escola i aquelles que no. És més, hi ha el risc que els alumnes intentin aconseguir còpies
no autoritzades, sense percebre el caràcter il·legal d’aquesta acció.


    Sabies que...?
    El Departament d’Educació de la Generalitat de Catalunya va ser l’iniciador i segueix sent el principal impulsor
    i coordinador d’un dels projectes lliures per a ensenyament, especialment primari, amb més èxit del món.
    El JClic és una eina que facilita la creació d’activitats pedagògiques per a l’educació.
    Va començar l’any 1992 i en l’actualitat hi ha grups de desenvolupament d’activitats JClic per tot el món.


Malgrat la inèrcia, les naturals resistències al canvi i desconfiances respecte allò que és menys conegut, els arguments
a favor d’usar PL a l’educació van molt més enllà de l’estalvi econòmic i la tendència en aquest sentit és clara. La
introducció del PL a l’educació està resultant lenta i gradual, però sostinguda i imparable.




                                                                                                                                                  35
                                                                                                                                      Guies
                                                                                                                                         per al
                                                                                                                          desenvolupament de
                                                                                                                                la societat del
                                                                                                                                 coneixement
El programari lliure a les administracions locals
     3. Situació actual del PL

     3.3. - El PL a les administracions públiques
     Igual com passa amb la situació de l’ús del PL a les empreses, el dinamisme amb què està avançant a l’administració
     deixaria ràpidament obsolet qualsevol llistat de casos d’èxit.

     En conseqüència, hem considerat més útil fer una classificació de les accions que administracions d’arreu han portat
     a terme, mirant d’extreure els beneficis que pot comportar per a una administració local catalana adoptar mesures
     del mateix tipus.

     Aquesta classificació21 hauria de permetre que cada administració que s’estigués plantejant la possibilitat d’emprendre
     algun tipus d’acció al voltant del PL pogués ubicar el seu projecte en una de les categories i mirar d’identificar millor
     quin tipus de beneficis en pot aconseguir.




     a) Suport, promoció i divulgació

     Moltes administracions han fet accions d’aquest tipus: des de les simples declaracions públiques a favor fins a fer i
     repartir distribucions de Linux o repertoris de programari lliure a ciutadans, comerços i empreses, passant pel suport
     a projectes, actes o jornades sobre la matèria.

     Accions d’aquesta mena poden facilitar l’accés de persones, organitzacions i empreses als beneficis del PL, però,
     per a la pròpia infraestructura informàtica de l’administració, no se’n treu cap profit o és tan indirecte que, fins i tot
     considerat a llarg termini, és de dubtosa utilitat.

     Per tant, les actuacions d’aquest apartat han de ser considerades com accions de contingut exclusivament polític.


      Grans analistes del sector TIC, com Gartner (http://www.gartner.com/) o IDC (http://www.idc.com/), han creat models similars per analitzar el progrés de les organitzacions en l’adopció
     21

     del PL i els seus models de creació de programari. Aquí n’hem fet una adaptació al cas concret de les administracions locals catalanes, basant-nos en l’experiència acumulada a Localret i en
36   nombroses referències internacionals.


     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                                                                             3. Situació actual del PL

b) Adopció i ús

També són quantioses les administracions que han començat a usar PL en la seva pròpia gestió. La majoria
comencen per migrar serveis interns (back office). Cada vegada més, però, es veuen més administracions que arriben
a emprendre projectes de migració d’aplicacions d’ús habitual per part de tots els funcionaris de l’organisme. Se sol
començar per l’ofimàtica i el darrer pas sol ser el sistema operatiu.

En aquest estadi es comencen a fer patents els avantatges del PL, especialment els estalvis econòmics. Cal assenyalar
que no es tracta d’una retallada quantitativa dels costos, sinó un veritable salt qualitatiu que arriba a fer possibles
projectes que serien econòmicament inabastables o permetre gaudir de serveis que, en programari privatiu,
quedarien totalment fora de les possibilitats de l’administració en qüestió22.

c) Participació en projectes de tercers

En un principi, hi va haver qui qüestionava la viabilitat, tant tècnica com jurídica, de la participació de les administracions
públiques en projectes de programari lliure, però això està superat.

Hi ha nombroses administracions que documenten errors, són actives en fòrums de consultes o, fins i tot, aporten
línies de codi. Sol passar en projectes de gran interès per a l’administració afectada i, normalment, suposa un veritable
punt d’inflexió en l’obtenció de beneficis per part seva.

La implicació directa a la comunitat facilita l’accés a uns coneixements i unes possibilitats que permeten assegurar
que el programa s’adapti al màxim a les necessitats de l’administració, per un cost, material i humà, molt inferior al
que podria suposar el manteniment d’un programa propi.

 d) Impuls de projectes col·laboratius

El darrer graó, molt proper a l’anterior, és quan l’administració, en plantejar-se la construcció d’un programari nou, ho
fa ja buscant altres administracions interessades en el mateix projecte i el planteja de forma col·laborativa, aprofitant
els costums i formes de treballar de les comunitats PL.

En aquest punt és on les administracions obtenen el màxim rendiment possible del PL. Les administracions que han
accedit a aquest nivell ja no són tan nombroses. A Catalunya, encara està poc estès el costum de col·laborar entre
administracions en el desenvolupament de programari. Tot i això, hi ha exemples notables, com les comunitats que
estan sorgint al voltant dels projectes del Guarà o algunes iniciatives puntuals d’altres administracions. A l’estranger
hi ha alguns països on és força més habitual.




22
     Cal no oblidar, però, que Localret també treballa amb les empreses del sector per reduir els costos vinculats a l’adquisició i la utilització de llicéncies d’us generalitzat per part de les
     administracions locals.
                                                                                                                                                                                                      37
                                                                                                                                                                                          Guies
                                                                                                                                                                                             per al
                                                                                                                                                                              desenvolupament de
                                                                                                                                                                                    la societat del
                                                                                                                                                                                     coneixement
4         Estratègia en relació
                          amb el PL

                          4.1. - Com decidir sobre el PL
                          Als inicis de l’impuls del PL es van veure casos d’adopció de programes lliures, per
                          motius ideològics, sense massa planificació. Lògicament, molts d’aquests projectes
                          no van donar els resultats esperats. Ha d’estar clar que la tria de programari és una
                          decisió amb un elevat component tècnic i que, per tant, els criteris tècnics han de
                          prevaldre a l’hora de prendre-la.

                          Es pot dir que hi ha dos grans grups de criteris a l’hora de decidir l’adopció o la
                          migració a una aplicació, lliure o no:

                          - Criteris de funcionalitat: si l’aplicació fa allò que es necessita que faci.
                          - Criteris de costos: si tots els costos que genera l’ús de l’aplicació són
                            proporcionats i entren en el pressupost disponible.

                          És difícil establir una metodologia genèrica per avaluar cadascun d’aquests apartats,
                          ja que depèn molt de quin sigui el problema que es vulgui resoldre mitjançant l’ús
                          d’una eina informàtica.

                          Si el problema es redueix al pur tractament d’una informació, segurament el criteri
                          principal serà només la funcionalitat de l’aplicació. En canvi, si allò que cal resoldre
                          és la introducció de dades, per exemple, de recollida d’escombraries, l’encaix del
                          programa amb dispositius mòbils pot ser el factor determinant que faci escollir una
                          aplicació i descartar-ne una altra.

                          Per tant, una metodologia correcta per decidir l’adopció d’un determinat programa
                          hauria de contemplar els passos següents:

                          - Determinació del problema: Tenir clar quin és el problema que es vol resoldre
                            mitjançant l’adopció d’aquesta eina.
                          - Prospecció d’alternatives: Buscar quines eines, enteses, si cal, com a combinació
                            de maquinari i programari, poden resoldre el problema plantejat.
                          - Selecció dels criteris més rellevants per al cas i valoració de les alternatives.
                          - Tria de la solució.




38
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
La diferència entre considerar el PL o no està en el punt 2. Un plantejament de militància radical pro PL
només acceptaria alternatives lliures en aquest pas. Per contra, una actitud negativa respecte el PL les
rebutjaria, acceptant només aplicacions privatives.

L’actitud més pragmàtica, i que recomanem, seria acceptar, en el pas 2, totes les alternatives, siguin lliures
o no. En el pas 3 és on han de prevaldre els criteris tècnics esmentats, valorant tots els avantatges que pot
suposar l’ús de PL en la seva justa mesura.

Amb tots els criteris seleccionats, s’hauria de fer una taula com la de l’exemple, en què s’avalués cada criteri
(per exemple, files) per a cada aplicació (columnes). Al final, atorgant un pes a cadascuna de les columnes
s’hauria de poder aconseguir un valor conjunt, que permetrà fer la tria.


                                              Prog. 1     Prog. 2    Prog. 3
                                 Criteri 1       1           3           2
                                 Criteri 2       2           3           1
                                 Criteri 3       1           1           3
                                 Valoraci—       +          ++         +++

                                 Per exemple, si l’ajuntament considera
                                 més important el criteri 3, l’eina
                                 seleccionada podria no ser la que
                                 obtingui un millor promig.

Com a exemples típics de criteris «vistosos» que solen conduir a decisions poc encertades, podríem citar:

- Capacitat o potència màxima: Si el volum de dades a tractar o la potència requerida és moderada,
  basar-se en aquest criteri pot conduir a «matar mosques a canonades».
- Màximes funcionalitats: Una mala avaluació de les funcionalitats que realment fan falta sol acabar
  portant a pagar un elevat cost per una eina de la que només se n’usa un petit percentatge.
- El preu més alt: En informàtica, entre molts altres àmbits, és clar que les estratègies del mercat fan
  que no sempre allò més car sigui millor. I encara cal tenir en compte que «millor en general», sempre
  discutible, no té per què coincidir amb «millor per a les nostres necessitats».


                                                                                                                                     39
                                                                                                                         Guies
                                                                                                                            per al
                                                                                                             desenvolupament de
                                                                                                                   la societat del
                                                                                                                    coneixement
El programari lliure a les administracions locals
     4. Estratègia en relació amb el PL

     4.2. - Criteris relatius a la funcionalitat de l’aplicació
     Entre els criteris que, en cada cas, s’hauran de destacar respecte la resta o bé descartar, segons convingui, podem
     esmentar, sense cap ànim exhaustiu, els següents:

     - Funcionalitat: Permet les operacions necessàries. Convé fer un llistat de les operacions que caldrà fer amb
       el programa buscat i classificar-les en imprescindibles, importants i addicionals. Per exemple, per a una
       comptabilitat municipal, que permeti generar i quadrar apunts comptables lligats a les partides del pressupost
       és imprescindible, que generi balanços partida per partida pot ser important i que es pugui configurar l’aspecte
       gràfic dels llistats pot ser una funcionalitat addicional.

     - Interoperabilitat interna: Permet la interacció amb la resta de sistemes de l’ajuntament. Aquest criteri pot ser
       especialment rellevant per aplicacions que requereixen creuar dades amb altres aplicacions del municipi. Per
       exemple, la gestió de tributs sol requerir dades del padró i del cadastre.




40
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                          4. Estratègia en relació amb el PL

- Interoperabilitat externa: Permet la interacció amb altres administracions. Per triar una aplicació, cal tenir
  present quin grau d’interacció amb altres administracions tenen les dades que tracta aquesta aplicació i la
  compatibilitat de l’aplicació amb els sistemes que usen aquestes administracions. Per exemple, una aplicació
  de gestió del registre de gossos perillosos, que no necessiti interacció amb altres administracions, no suposarà
  grans requisits en aquest apartat. En canvi, una aplicació del cadastre, que ha d’intercanviar dades amb la
  Direcció General del Cadastre, entre d’altres, pot tenir més condicionants en aquest criteri.

- Requisits tècnics: Hi ha programes que són molt eficients en l’ús dels recursos i d’altres que no. Aquest factor
  s’ha de considerar d’acord amb l’ús que se’n farà, no d’acord amb la capacitat màxima de l’aplicació.

- Força renovació: Relacionat amb el criteri anterior, s’ha de considerar si l’adopció del programa forçarà una renovació
  de maquinari que podria esperar encara un temps o, per contra, pot funcionar sobre el maquinari disponible.

- Llicència d’ús: En el cas dels programes privatius, cal comprovar que la llicència no comporti alguna limitació
  que faci desaconsellable l’ús de l’aplicació.

- Ús d’estàndards oberts: Que l’aplicació usi estàndards oberts permetrà el correcte compliment de la Llei
  11/2007, garantirà l’accés perpetu a la informació i facilitarà la interoperabilitat, així com el traspàs de dades en
  cas de futures migracions.

- Grau de dependència: Tant del proveïdor com de la pròpia aplicació. Hi ha aplicacions que forcen que, per a
  altres funcions, sigui necessari usar altres aplicacions del mateix fabricant o bé que, mitjançant l’ús de formats
  tancats, dificulten qualsevol possible migració futura. Cal tenir-ho en compte com un punt negatiu.

- Escalabilitat: Cal preveure que l’aplicació pugui respondre a les necessitats actuals però també a les futures,
  previsibles dins d’un horitzó temporal raonable.

- Usabilitat: També s’ha de tenir en compte la facilitat d’ús per part dels usuaris/àries que hauran de servir-se
  d’aquesta aplicació i la similitud amb aplicacions que ja hagin usat. Aquest criteri pot tenir repercussions en
  l’apartat de costos, si es detecta que cal una formació específica.

- Gestió del canvi: Força relacionat amb el criteri anterior, s’ha de considerar també la dificultat de vèncer les
  possibles reticències del personal que ha d’usar el programa.

- Suport: S’ha de considerar la facilitat d’obtenir suport, tant sobre el funcionament de l’eina, com de la possibilitat
  de modificar-la i adaptar-la quan es detecti alguna disfunció que suposi un problema important per al seu ús en
  el municipi en qüestió. Un subapartat a destacar en aquest criteri és la possibilitat de contractació local, és a dir,
  la disponibilitat d’empreses locals que puguin prestar aquests serveis.




                                                                                                                                            41
                                                                                                                                Guies
                                                                                                                                   per al
                                                                                                                    desenvolupament de
                                                                                                                          la societat del
                                                                                                                           coneixement
El programari lliure a les administracions locals
     4. Estratègia en relació amb el PL

     4.3. - Criteris relatius als costos
     L’eina ja sòlidament establerta per avaluar el cost d’una aplicació és aquella que es coneix amb les inicials angleses
     TCO, de Total Cost of Ownership (en anglès, cost total de propietat).

     Només com a revisió ràpida i no exhaustiva, enumerem els costos directes i indirectes que caldria tenir en compte,
     per tal de poder comparar correctament els costos d’aplicacions. Tots els costos s’han de comptar per al període
     previst d’ús del programa, que hauria de ser entre tres i cinc anys.

     · Costos directes:
       - Preu d’adquisició (o llicències d’ús) del programari.
       - Preu d’adquisició del maquinari, si cal.
       - Preu de les actualitzacions previsibles durant el període de temps establert.
       - Costos de suport: Poden ser fixos per contracte o puntuals; també s’hi poden comptar llibres, cursos per al
         personal tècnic o similars.
       - Costos d’administració: El cost del projecte d’implantació, migració, gestió del canvi, formació, etc.
       - Altres costos: Compra d’eines complementàries necessàries, etc.

     · Costos indirectes (sovint són difícils de quantificar):
       - Costos derivats de la interrupció del servei: Quin cost suposa per a l’ajuntament que l’aplicació quedi
         inservible durant un temps, multiplicat pel temps que s’estimi que pugui quedar en aquesta situació, a partir
         d’estadístiques disponibles (molts fabricants les tenen, però no sempre les faciliten).
       - Futz Factor: Nom amb què es coneix el temps perdut per ús de la nova tecnologia implantada en benefici
         propi de l’empleat corresponent que l’ha d’usar (per exemple, el correu electrònic o la Internet).
       - Autoformació dels usuaris: El temps que perden en consultes entre companys.

     Es poden trobar molts documents a Internet amb exemples concrets que poden servir de base per adaptar les dades
     al cas que convingui.




42
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
PART II
Migració a PL
5         Migració
                          d’aplicacions a PL

                          5.1. - Per què migrar?
                          Entendrem per migrar el fet de canviar una aplicació o sistema que està operatiu
                          per un altre. La part més important d’aquesta afirmació és que l’aplicació està
                          operativa, és a dir, que està prestant un servei que la migració pot afectar. Aquí
                          radica la principal dificultat de qualsevol migració, sigui a PL o no.

                          Per tant, una decisió així no es pot prendre a la lleugera. Cal tenir clar el motiu
                          de la migració: per què cal abandonar el sistema que està funcionant i anar a un
                          altre. Entre els motius habituals, s’hi poden trobar els següents:

                          - Obsolescència funcional de l’aplicació actual: Les possibilitats que ofereix
                            la tecnologia han anat augmentant en les darreres dècades. Això fa que tant
                            els usuaris interns com la ciutadania deixin d’acceptar com a vàlides solucions
                            que fa uns anys eren fins i tot innovadores. Sovint, també la legislació s’ha anat
                            tornant més exigent amb les administracions locals i ha pres com a norma les
                            noves capacitats tecnològiques.

                           Això fa que els requeriments sobre les aplicacions municipals vagin evolucionant.
                           A vegades, algunes aplicacions no s’adapten a aquests canvis, o no amb prou
                           agilitat, i això força a canviar-les.

                          - Cost inferior al de manteniment/actualització: Mentre han tingut situació
                            de monopoli, algunes aplicacions han mantingut uns costos de manteniment
                            o actualitzacions periòdiques bastant elevats. Tan bon punt alguna aplicació
                            lliure arriba a cobrir les mateixes funcionalitats, és fàcil que la migració sigui
                            econòmicament molt més aconsellable que seguir acceptant uns costos que,
                            sovint, no estan prou clarament justificats.

                          - Avantatges del PL: Un altre motiu per decidir una migració pot ser la major
                            seguretat o fiabilitat, regularitzar llicències o aprofitar qualsevol dels avantatges
                            descrits a l’apartat 2.1.2.

                          Aquests motius, d’altres de similars o combinacions de tots ells poden servir per
                          argumentar la presa de la decisió de migrar. Si la migració pot comprometre
                          el bon funcionament de l’administració o bé ha d’afectar a un volum impor-
                          tant dels treballadors/es de la casa, seria una imprudència emprendre-la sense

44
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
l’aprovació del nivell polític i, si cal, fins i tot del ple. Aleshores, cal argumentar bé la decisió i aquestes
pautes poden ser d’utilitat.

En qualsevol cas, es desaconsella la migració per motius purament ideològics. La sensibilitat pel PL pot
portar a plantejar la possibilitat de migrar, però el desencadenant hauria de ser sempre el fet d’observar
que la migració comportarà alguna millora o avantatge.


5.2. - Migrar o no migrar. Aquesta és la qüestió
Si el primer pas per prendre la decisió de migrar a programari lliure és tenir clar el motiu de la migració,
el següent és mirar si aquesta migració és possible i recomanable. De la mateixa manera que hi ha
arguments que poden aconsellar aquesta decisió, enumerats a l’apartat precedent, també n’hi ha que
la poden desaconsellar:

- Disponibilitat de programari: L’objectiu de la informàtica d’una administració no és ser lliure o no
  lliure, sinó complir unes determinades funcions. Si en programari lliure no hi ha una aplicació que
  cobreixi la funcionalitat requerida o no s’hi adapta prou bé, potser caldrà descartar aquesta opció.

- Maduresa del programari: Hi ha models per avaluar de manera objectiva el grau de maduresa d’una
  aplicació lliure (enumerats a l’apartat 2.3.2). Per la forma de desenvolupament del PL, aquesta dada pot
  ser crítica. Si l’aplicació que millor s’adapta a les necessitats de l’ajuntament no està prou avançada,
  potser caldrà aplaçar la decisió d’adoptar-la. En aquest cas, serà important ser curós amb no prendre
  decisions que puguin hipotecar la futura migració previsible.

 Una altra possibilitat, si l’ajuntament s’ho pot permetre o té accés a ajuts per fer-ho, és incorporar-se a
 la comunitat que està desenvolupant aquella aplicació per fer-la avançar més ràpid i en la direcció que
 més li convingui. A l’apartat 3.2, concretament a la lletra c, s’exposen els avantatges d’aquesta opció.

- Espera per unificació de criteris o estandardització interna: En alguns casos, les administracions
  s’han anat digitalitzant progressivament a base d’anar resolent problemes, sense seguir una línia
  estratègica. Parar, qüestionar la direcció adequada i acordar una línia més definida pot fer aconsellable
  ajornar per un temps una migració per estar segurs que coincideix amb la nova línia escollida.

- Espera per unificació de criteris o estandardització externa: La mateixa tasca d’estandardització pot
  venir donada per una administració supramunicipal que presti serveis als ajuntaments. Si és previsible que
  sigui així, també serà recomanable esperar per estar segurs d’anar en una direcció coherent amb la resta.

                                                                                                                                     45
                                                                                                                         Guies
                                                                                                                            per al
                                                                                                             desenvolupament de
                                                                                                                   la societat del
                                                                                                                    coneixement
El programari lliure a les administracions locals
     5. Migració d’aplicacions a PL

     - Problemes d’interoperabilitat: Migrar a un estàndard obert quan la resta d’administracions amb qui cal
       interactuar no ho ha fet encara pot comportar problemes en l’intercanvi de dades. Pot ser recomanable fer una
       migració parcial, mantenint algunes instal·lacions de l’aplicació antiga, que permeti mantenir la interoperabilitat.

     - El cost de la migració en sí: Una migració a programari lliure sol reduir significativament l’estructura de costos,
       però la migració en sí comporta un sobre cost puntual que pot ser prohibitiu. En aquest cas, caldrà esperar
       alguna convocatòria d’ajuts o bé buscar la manera de distribuir aquest cost en el temps, escalant la migració al
       llarg de diversos exercicis.



     5.3. - Planificació de la migració
     Un cop vistos els motius per a la migració i comprovat que no hi hagi impediments per emprendre-la, convé
     planificar-la acuradament i amb responsabilitat.

     En aquest apartat, traçarem les línies mestres del pla per a una migració d’una certa envergadura i dimensions. Quan
     calgui emprendre una migració més senzilla, alguns dels passos potser es podran obviar, simplificar o adaptar.

     5.3.1. - El pla de migració
     En migracions de gran transcendència és imprescindible planificar acuradament i posar per escrit el pla de la
     migració, que haurà de comptar amb el vist-i-plau del màxim nivell de responsabilitat de l’administració afectada.

     Un pla de migració complet hauria de contemplar apartats que cobrissin, com a mínim, les qüestions següents:

     - Motius i objectius de la migració: Com s’ha vist, el motiu de la migració és important. Per tant, aquest s’hauria
       d’explicitar en el pla, així com els objectius que persegueix la migració i l’encaix del projecte en les línies mestres
       de tot el sistema informàtic de l’ajuntament.

     - Inventari: Definició del maquinari i/o el programari que es donaran de baixa per substitució, indicant els usos
       que se’n fan actualment, per part de quines persones i quins són els seus coneixements.

     - Definició del nou entorn: Concretar el nou maquinari i/o les noves aplicacions que es pretenen implantar.

     - Correspondència d’usos i funcions: Establir com es porten a terme els usos i funcions antics, descrits a l’apartat
       d’inventari, sobre el nou entorn a implantar.

     - Canvis físics deguts a la migració: Si és el cas, explicitar també els canvis d’espais i ubicacions que tindran lloc
       com a conseqüència de la migració.

     - Canvis organitzatius i funcionals que comporta la migració: Sovint, s’aprofita el procés de replantejament
       tecnològic que suposa una migració per replantejar també canvis estructurals, organitzatius i funcionals dins de
       l’administració. Convé explicitar-los.


46
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                            5. Migració d’aplicacions a PL

- Etapes de la migració: Un pla poc acurat es redueix a aquest apartat, ja que és aquell que contempla la
  planificació de la migració tecnològica pròpiament dita. Hauria de contemplar:
  - Establiment d’eines o entorns pont.
  - Pla pilot.
  - Avaluació del pilot i replanificació.
  - Etapes en què es preveu desglossar la generalització del pilot.

- Gestió del canvi: Fer constar les accions que es portaran a terme per evitar el rebuig del nou entorn per part
  del personal que l’hagi d’usar, contemplant des d’accions d’explicació del què i el per què de la migració fins al
  més important: l’atenció a l’usuari i resolució dels seus dubtes.

- Pla de formació: Va molt relacionat amb l’apartat anterior, però val la pena dedicar-n’hi un d’específic en què
  s’entri en el detall de com es portarà a terme tota la formació necessària.

- Pla de recursos materials: Sovint, la duplicació d’entorns que suposen les eines pont o els pilots comporta un
  augment transitori dels recursos necessaris. S’ha de preveure aquesta situació per evitar problemes.
- Pla de recursos humans: Tant en el departament d’informàtica com en els departaments usuaris, la migració
  pot suposar una sobrecàrrega transitòria que també cal planificar. S’ha de preveure si cal la contractació externa
  en alguna fase del procés.

- Planificació econòmica de tot el procés: El recurs més important, i sovint també el més escàs, són els diners.
  Pràcticament tots els apartats precedents s’haurien de veure reflectits en la planificació econòmica del projecte.




                                                                                                                                         47
                                                                                                                             Guies
                                                                                                                                per al
                                                                                                                 desenvolupament de
                                                                                                                       la societat del
                                                                                                                        coneixement
El programari lliure a les administracions locals
     5. Migració d’aplicacions a PL

     5.3.2. - Posats a qüestionar...
     L’inici i plantejament d’una migració és el moment idoni per aprofitar per posar en pràctica tots els procediments i
     actuacions reglades en la gestió de les TI (Tecnologies de la Informació) de l’ajuntament o consell comarcal que l’aborda. O
     per millorar-los, si cal. Els canvis que hauran de tenir lloc en els procediments afectats per la migració són una oportunitat
     per incloure en el projecte l’ordenació i estandardització dels processos de requeriments i peticions al departament
     d’informàtica, per exemple, o per assegurar usos i costums que, sovint, costa que arrelin en les organitzacions.

     Una de les metodologies més esteses en la gestió de les TI, com a mínim en el món privat, és la coneguda per
     les seves inicials en anglès: ITIL1, Information Technology Infrastructure Library, biblioteca d’infraestructura en
     tecnologies de la informació. Es tracta d’un ampli recull de bones pràctiques sobre la matèria, associat a una
     estructura de certificació dels coneixements assolits. N’hi ha d’altres, com BPM, EFQM o normes d’ISO.

     5.3.3. - Inventari
     Disposar d’un inventari que reflecteixi fidelment el maquinari i el programari implicats en la migració és
     indispensable per poder planificar bé la migració. En cas de no disposar-ne, aquesta hauria de ser la primera etapa
     de la planificació i condicionaria tota la resta del pla.

     Les millors pràctiques en aquest apartat recomanen basar-se en tres fonts: inventaris previs disponibles, inventari
     automàtic i auditoria2 i una revisió a fons dels dos anteriors que incorpori tot allò que hagin obviat, tractat de
     forma diferent o duplicat.

     El més important, però, no és aquest inventari, que podríem anomenar físic, sinó un d’analític que reculli els
     processos i usos que es donen als sistemes descrits al primer. L’element més necessari en una bona planificació de
     la migració és disposar del llistat de tots els processos que se’n veuran afectats. Cal comprovar que tots tinguin la
     possibilitat de portar-se a terme sobre el nou entorn a implantar i que, si no tots, com a mínim la majoria millori
     amb el canvi. Si no fos així, la migració seria molt difícil de justificar.

     5.3.4. - Correspondència d’usos i funcions
     Si bé la metodologia de casos d’ús és força usada com una etapa del procés de desenvolupament de noves
     aplicacions, no ho és tant per analitzar-les. L’única forma d’estar completament segurs que les aplicacions
     disponibles en el nou entorn al qual es pretén migrar cobriran totes les necessitats que l’ajuntament requereix als
     seus sistemes informàtics és:

          · Inventariar tots els usos actuals del sistema informàtic que es vol abandonar. Aquí és on es pot usar la metodologia
            de casos d’ús3 o, si el volum ho aconsella, una simplificació, però cal estar segurs d’haver recollit totes les operacions
            que s’han de poder realitzar.

          · Comprovar que en el nou sistema al qual es vol migrar es poden fer totes les operacions.

     1
         http://www.itil-officialsite.com/home/home.asp (en anglès). A http://ca.wikipedia.org/wiki/ITIL es pot trobar una breu descripció en català, però el gruix de la documentació de la
         metodologia ITIL és d’origen britànic i està en anglès.
     2
         Hi ha nombroses eines de suport i automatització d’aquestes tasques. Per exemple, Open Audit (http://www.open-audit.org) o OCSinventory (http://www.ocsinventory-ng.org), entre altres
     3
         Una descripció breu, pràctica i pedagògica sobre el mètode d’especificació amb casos d’ús es pot trobar en els apunts de metodologia del Professor Josep Ibarz, de la Facultat d’Informàtica
         de Barcelona (UPC), a http://www.lsi.upc.edu/~ibarz/metodologia.pdf. El Professor Ibarz també és el cap de l’Oficina de Planificació de Sistemes d’Informació de la Diputació de Barcelona..
48
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                  5. Migració d’aplicacions a PL

En aquesta correspondència entre els procediments antics i els nous, es poden introduir millores d’eficiència. Pot
ser que sigui un dels principals motius de la migració, però totes les operacions importants en el sistema antic han
de tenir una correspondència en el nou. Si no, la migració no és viable.

A aquest inventari, però, se li pot treure més partit: serveix també per vertebrar la formació, especialment la pràctica.

5.3.5. - Entorns i aplicacions pont
Per facilitar la transició entre els dos escenaris, el previ a la migració i el posterior, poden ser d’utilitat els entorns o
aplicacions pont entre els diferents estats del procés. Habitualment es tracta d’aplicacions que es veuran afectades
per la migració, però que es poden utilitzar ja sobre l’entorn inicial.

Per exemple, en cas de decidir migrar els sistemes operatius dels llocs de treball de Windows a Linux, es poden
començar a usar sobre l’entorn Windows les aplicacions que s’usaran a l’altre. Navegadors com el Firefox, paquets
d’ofimàtica com l’OpenOffice i moltes altres aplicacions permeten aquesta possibilitat.

5.3.6. - La participació de tercers
La bona planificació, ja important per ella mateixa, es converteix en fonamental quan es detecta que serà necessari
contractar personal extern en algun punt del procés. Per evitar problemes entre l’administració client i l’empresa
proveïdora, han d’estar definides amb la màxima precisió possible quines tasques s’assignen i les responsabilitats a delegar.

La transparència també figura entre les millors pràctiques. Totes les administracions, i en particular les locals,
tracten habitualment amb dades molt sensibles davant la LOPD, la Llei de protecció de dades personals. És
comprensible, per tant, una especial prudència a l’hora de permetre que personal extern tingui accés a segons
quines instal·lacions o a segons quina informació. De totes maneres, que l’empresa contractada comprengui
l’abast de tota la migració, quina part se li assigna i com encaixa en el conjunt del projecte és important per a la
bona marxa de la seva execució.

La participació d’agents o empreses especialitzades que puguin prestar serveis d’assessoria, consultoria o
participar en la pròpia migració pot aportar un valor afegit al projecte mitjançant recursos i experiència que no es
trobin a la pròpia organització.




                                                                                                                                               49
                                                                                                                                   Guies
                                                                                                                                      per al
                                                                                                                       desenvolupament de
                                                                                                                             la societat del
                                                                                                                              coneixement
El programari lliure a les administracions locals
     5. Migració d’aplicacions a PL

     5.3.7. - Gestionar el canvi = generar confiança i interès
     És important involucrar el personal propi que s’hagi de veure afectat per la migració. Aquesta mena de projectes
     solen ser planificats per personal tècnic per al qual aquests aspectes, més psicològics, tenen poca visibilitat. El
     resultat és que la gestió del canvi sol ser un dels capítols oblidats en els plans de migració o es redueix a alguns
     comentaris imprecisos i de poca o nul·la repercussió.

     Diverses guies de migració assenyalen que l’evolució de l’actitud dels usuaris davant d’un canvi de programari
     segueix una corba que comença amb la insatisfacció per la notícia d’haver de canviar i arriba a la satisfacció en
     constatar l’augment de productivitat que suposa la nova aplicació. Però entremig el personal no tècnic sol passar
     pel rebuig i l’oposició. En aquest punt més baix és on el risc de ruptura és màxim: la no acceptació del canvi. Si
     s’aconsegueix superar aquest punt, l’usuari comença a explorar les noves eines i acaba arribant a usar-les bé i a
     aconseguir les millores que es perseguien amb tot el projecte de canvi.




                                                                                                                    Satisfacci— /
                              SÕanuncia                                                                            productivitat
                                el canvi                 Insatisfacci—
                                                                                                    Exploraci— /
                                                           Rebuig                                 descobriment
                                                                 Oposici—

                                                                                                          Risc: no acceptaci— / fracˆs

                             Figura 7. Evolució habitual de les reaccions dels usuaris davant dels canvis en TI.




     L’experiència demostra que allò que genera reaccions adverses en els usuaris i usuàries en el fons són la resistència
     al canvi, per pura inèrcia acomodatícia, i la por d’allò que no es coneix. Per tant, les accions útils que poden fer
     que la corba mostrada en el gràfic sigui menys profunda i el risc de ruptura menor són totes aquelles que generin
     confiança i interès per les noves eines. Se’n poden establir des del principi, sobre la marxa i un cop feta la migració.

     a) Accions a priori

     En administracions catalanes mateix, hi ha exemples que demostren que pot ser molt útil explicar al personal el
     perquè de la migració i les millores que s’espera obtenir-ne per al mateix usuari i per a l’administració. També és
     important evitar la sensació que se’ls amaga informació o que no se’ls tindrà en compte i se’ls imposaran les novetats,
     tant si els van bé com si no, tant si agraden com si no agraden. En resum: no es tracta de vèncer, sinó de convèncer.
     Una altra estratègia que ha funcionat força bé en diferents ocasions és referir-se, en tot moment, a les eines a substituir



50
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                5. Migració d’aplicacions a PL

com «programari obsolet» i a les noves com «programari nou». En el cas de l’administració d’Extremadura, aquesta
estratègia va arribar a aconseguir tant interès per les noves aplicacions que, davant d’una migració per etapes, les
persones a qui encara no havien canviat les aplicacions es queixaven, demanant que els posessin ja les noves.

A l’apartat següent es parla de formació, que, evidentment, és un element fonamental per generar confiança i
seguretat i que també s’ha de fer abans de procedir a la migració.

b) Accions sobre la marxa

Mantenir el personal informat sobre el calendari dels canvis i evitar sorpreses, en resum, ser transparents són altres
elements clau per mantenir la confiança generada des del principi.

També s’ha demostrat útil obrir algun canal de comunicació específic per a problemes relacionats amb el projecte
de migració. Fins i tot encara que no l’usin, saber que si es troben amb alguna dificultat seran escoltats tranquil·litza.
Allò que genera desconfiança és la sensació que si la migració li impedeix fer la seva feina o fer-la bé el problema
serà únicament del treballador.

Si no existeix en l’organització i les dimensions ho justifiquen, pot ser un bon moment per implantar una eina
de gestió d’incidències i tramitació de peticions. Per anar bé, s’hauria de posar en marxa abans de procedir a
la migració i, per a què tingui l’efecte de generar confiança, com a mínim les primeres peticions han d’obtenir
resposta més ràpid que pels canals alternatius.

c) Accions a posteriori

Un cop s’ha produït el canvi de tecnologia i l’usuari ha de començar a usar el nou entorn és important, i s’ha
d’haver previst a priori, tenir ben establert un canal per resoldre de forma àgil i eficaç qualsevol dubte que se li
pugui plantejar. I encara més important: l’usuari ha de saber que existeix aquest canal i com accedir-hi.

A l’apartat dedicat al pilot s’exposa una de les tècniques més eficaces en aquesta qüestió: la resolució de dubtes
a través de companys/es més ben disposats.

A part de les reticències al canvi i les possibles dificultats d’ús de les noves eines, també s’han de preveure, tot i
que és difícil fer-ho a priori, les conseqüències d’alguns canvis sobre qüestions operatives no directament lligades
a la feina quotidiana. Per exemple, migrar els ordinadors de sobretaula de Windows a Linux pot suposar que el
personal tingui la sensació de tenir menys control sobre el seu ordinador, ja que potser no es podrà instal·lar
aplicacions quan abans sí que podia o no podrà decidir elements de la configuració que havia après a canviar
per sí sol. Efectes col·laterals d’aquesta mena podrien generar reaccions adverses imprevistes o, fins i tot, que els
usuaris no s’atreveixin a «confessar». Això pot portar l’equip responsable de la migració a haver de lluitar contra
«adversaris» que no es manifesten, i aquest és un problema de molt difícil solució.




                                                                                                                                             51
                                                                                                                                 Guies
                                                                                                                                    per al
                                                                                                                     desenvolupament de
                                                                                                                           la societat del
                                                                                                                            coneixement
El programari lliure a les administracions locals
     5. Migració d’aplicacions a PL

     5.3.8. - Planificar la formació
     Ben portada, la formació ha de conduir als usuaris i usuàries a conèixer les eines noves abans que se les trobin al
     lloc de treball. És molt positiu que puguin fer pràctiques amb les noves aplicacions i, de manera ideal, que puguin
     provar de resoldre situacions habituals a la seva tasca diària en el nou entorn. Els dos efectes principals de la
     formació i que cal buscar especialment en planificar-ne els continguts són:

       · Efecte directe: Escurçar el temps que els usuaris necessitaran per arribar a ser plenament operatius en el nou
         entorn i aconseguir l’augment de la productivitat esperat.
       · Efecte indirecte: Eliminar el factor de la por d’allò desconegut i la inseguretat que provoca.

     A l’hora de planificar l’organització de la formació cal prendre en consideració, a part de qualsevol circumstància
     particular de l’administració en qüestió, com a mínim els factors següents:

       · El nivell de partida de cada alumne. Cal fer-ne una avaluació prèvia i agrupar-los per nivells, per fer més eficaç la
         formació.
       · La durada recomanable de la formació, en funció dels continguts i de cada nivell.
       · La capacitat de les aules equipades de què disposi l’administració, ja que limita la mida dels grups i, per tant, el
         nombre de grups que caldran. Si cal, es pot recórrer a aules de formació externes.
       · La dificultat que pugui suposar tenir moltes persones d’un mateix departament formant-se alhora, ja que el pot
         deixar inoperatiu i pot ser que això no sigui possible. Una altra alternativa és la possibilitat de fer formació fora de
         l’horari d’oficina, incentivant-la d’alguna manera.

     A Catalunya mateix hi ha casos on s’han aplicat amb èxit plans de formació voluntària incentivada. Si les
     circumstàncies ho permeten, es poden preveure formes força creatives de fomentar l’increment de coneixements
     del personal no informàtic.




52
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                               5. Migració d’aplicacions a PL

5.4. - L’ús de grups pilot
La millor manera d’assegurar l’èxit és provar les coses primer en un entorn més petit i, per tant, més controlable.
Els casos d’èxit que corroboren que la pràctica de provar la migració primer amb un pilot és un bon consell són
molt nombrosos, però hi ha formes diferents de fer-ho i convé pensar-hi per triar la més convenient en cada cas.

5.4.1. - Principals formes de seleccionar el pilot
Les diferències més importants entre les diverses formes de portar a terme un pilot se centren en la selecció de
les persones i les instal·lacions que han de formar part del grup pilot. Bàsicament, les dues grans estratègies són:

a) Selecció per nivell

Si no es coneix a priori, es fa una prova de nivell a tot el personal i s’escullen persones amb un nivell similar de
coneixements sobre les eines a migrar. Habitualment es busca que n’hi hagi de tots els departaments o àrees que
es veuran afectats per la migració, per tal que la mostra del pilot sigui representativa de tot el ventall de problemes
que apareixeran després, durant la generalització de la migració.

Hi ha dues possibilitats dins d’aquesta estratègia:

 · Escollir les persones amb més dificultats.
   És recomanable en el cas d’una migració en què es puguin preveure moltes dificultats. Escollir les persones amb
   menys coneixements i actituds poc inclinades als canvis proposats suposa anar a buscar d’entrada els casos més
   difícils. D’aquesta manera, quan es generalitzi la migració i el volum pugui magnificar els problemes, el personal
   tècnic ja tindrà l’experiència d’haver superat els majors obstacles.

 · Escollir els usuaris/àries avançats/des, persones amb una actitud oberta als canvis i uns coneixements lleugerament
   millors que els de la resta.

En aquest cas, se sol buscar especialment que la mostra sigui representativa de totes les àrees o departaments, ja
que l’objectiu, a part de provar el bon funcionament del nou entorn, és disposar a cada àmbit de treball de per-
sones que puguin resoldre els dubtes dels seus companys/es quan es generalitzi la migració. Per això se’ls forma
primer i, fins i tot, és habitual formar-los més. A part de provar la migració en un conjunt més reduït (funció d’un
pilot), es busca disposar d’un o diversos aliats a cada departament.

D’aquesta segona tècnica, la més habitual, hi ha casos d’èxit notables que corroboren que, a més de funcionar
bé com a pilot, és també una acció excel·lent de cara a la gestió del canvi. Per treure’n el màxim rendiment és
important que tota la resta del personal sàpiga que hi ha aquest grup pilot i conegui els usuaris/àries avançats/des
que té a prop. Això genera la doble confiança de saber que tenen a la vora algú que els pot resoldre els dubtes i
que, a més, és algú que fa les mateixes tasques que ells i, per tant, es troba amb els mateixos problemes i dificultats.

En alguns casos, la participació en aquests pilots s’ha incentivat mitjançant la dotació d’aquests usuaris/àries
avançats/des de màquines més potents, donant prioritat a l’hora de triar vacances o el lloc de treball, o bé
directament amb un sobresou per la tasca de suport que hagin prestat.

                                                                                                                                           53
                                                                                                                               Guies
                                                                                                                                  per al
                                                                                                                   desenvolupament de
                                                                                                                         la societat del
                                                                                                                          coneixement
El programari lliure a les administracions locals
     5. Migració d’aplicacions a PL

      b) Selecció per àrea

     L’estratègia alternativa és triar un departament i fer que migri sencer. En aquest cas, cal afinar molt bé la tria del
     departament pilot, prenent en consideració:

       · Les interdependències i intercanvis d’informació o serveis, és a dir, la interoperabilitat entre departaments que
         encara vagin amb l’entorn antic i el pilot, que ja anirà amb el nou.
       · El volum del departament. Se’n sol escollir algun que no sigui especialment gran, però sí significatiu.
       · El nivell mitjà del personal del departament pel que fa a coneixements d’informàtica i actitud davant dels canvis.
       · Que el departament sigui representatiu de les dificultats que poden sorgir a la resta de departaments.

     Habitualment se solen prendre més en consideració el volum del departament i les interdependències, però si la
     darrera característica (que sigui representatiu) no es dóna, més que un veritable pilot el que s’estarà fent és una
     migració gradual, per etapes. Això no té per què ser negatiu, però no és pròpiament un pilot.

     5.4.2. - Altres consideracions sobre la selecció del grup pilot
     També hi ha casos en què s’han aplicat metodologies combinades: migrar un departament començant pels seus
     usuaris més avançats i després anar migrant departament per departament, organitzant visites o períodes de
     formació dels seus usuaris més avançats en els departaments ja migrats, o combinacions similars.

     Hi ha una altra alternativa, però l’experiència demostra que no sempre dóna bons resultats: la selecció per nivells
     jeràrquics. És a dir, migrar primer els i les caps dels departaments perquè siguin més proactius/ves davant la
     migració o, al contrari, deixar-los per al final. Aquest mètode depèn massa de l’actitud d’aquestes persones i
     mostra tant casos d’èxit com de fracàs.

     Una altra cosa és mirar de convèncer els i les caps de departament, de forma especial i en primer lloc, com
     una acció de gestió del canvi. És evident que, si elles i ells acaben rebutjant el nou entorn, la seva capacitat de
     generar problemes en el procés de la migració serà molt superior a la de la resta del personal. Però no és el mateix
     convèncer-los/les primer que migrar-los/les primer.

     5.4.3. - El «pilot virtual»
     Si les dimensions de l’administració que planteja la migració no permeten establir proves pilot en departaments
     o àrees, es pot crear un «departament virtual» que recreï els principals aspectes i factors de la dinàmica de la casa
     i fer la prova en aquesta instal·lació, en realitat fictícia.

     Aquesta pot ser una etapa prèvia a un pilot real amb tot un departament o un grup seleccionat per nivell o, fins
     i tot, una forma d’avaluar el programari nou per assegurar que realment cobreix tota la funcionalitat requerida.




54
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                              5. Migració d’aplicacions a PL

5.4.4. - L’avaluació de la fase pilot i la replanificació
Allò que a vegades s’obvia, i això desvirtua els avantatges d’aquesta metodologia, és preveure en la planificació
que la darrera etapa d’un pilot no és executar la migració en el grup escollit. Després d’aquesta fase, cal recordar-
se de la veritable raó de ser d’aquesta prova inicial reduïda: avaluar l’experiència obtinguda amb el pilot i, si cal,
replanificar la resta del projecte de migració.

Els objectius d’una fase pilot completa i eficaç, sigui real o virtual, inclouen, com a mínim:

 · Sobre la funcionalitat del nou entorn:
    - Verificar que permet totes les operacions necessàries.
    - Comprovar els temps de resposta i la usabilitat del nou entorn.

 · Sobre la reacció dels usuaris/àries:
    - Detectar, abans que passin a tota l’organització, els problemes que es puguin produir.
    - Comprovar la qualitat de la formació impartida.

 · Sobre la planificació de la migració:
    - Comprovar el bon dimensionat dels recursos humans que calen en la formació, la migració pròpiament dita i la
      resolució de dubtes, problemes i dificultats.
    - Comprovar el bon dimensionat del maquinari i el programari previst.
    - Assegurar-se que la resta de la planificació, tant de les etapes previstes com de la planificació econòmica,
      és realista i no patirà greus desviacions.




                                                                                                                                           55
                                                                                                                               Guies
                                                                                                                                  per al
                                                                                                                   desenvolupament de
                                                                                                                         la societat del
                                                                                                                          coneixement
El programari lliure a les administracions locals
     5. Migració d’aplicacions a PL

     5.5. - Eines d’ajuda a la migració
     Hi ha nombroses guies i recursos d’ajuda a la migració a PL. Els principals fabricants, agents tecnològics i fins i
     tot administracions tenen editades guies i documents de molta ajuda per orientar aquesta mena de projectes. A
     continuació enumerem alguns exemples que hem considerat significatius:

     · Guia IBM de migració de Windows a Linux:
       [en anglès] http://www.redbooks.ibm.com/abstracts/sg246380.html

     · Guia RedHat de migració de Windows a Linux:
       [en anglès] http://www.redhat.com/f/pdf/rhel4/UpgradeGuidelines.pdf

     · Guia del Govern del Brasil de migració de programari propietari a lliure:
       [versions en portuguès i castellà] http://www.governoeletronico.gov.br/acoes-e-projectos/guia-livre

     · Guia UNESCO sobre PL, amb el capítol 5 titulat «Cómo migrar a software libre?»:
       [en castellà] http://portal.unesco.org/ci/en/ev.php-URL_ID=26399&URL_DO=DO_TOPIC&URL_SECTION=201.html




56
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
PART III
PL en el
desenvolupament
6         PL i desenvolupament de
                          programes o aplicacions

                          6.1. - Quin paper pot fer el PL en el desenvolupament?
                          La comunitat del programari lliure ha experimentat un important creixement els
                          darrers anys, tant en la seva acceptació i implantació real en diferents entorns
                          com en el nombre de comunitats, desenvolupadors i projectes que hi participen.

                          Focalitzant el món del desenvolupament d’aplicacions, siguin del tipus que
                          siguin, s’aprecia que la comunitat de programari lliure ofereix una quantitat
                          considerable de recursos que permeten agilitzar aquests desenvolupaments.

                          A grans trets, es poden englobar aquests recursos en:

                          -   Llenguatges lliures: Java, PHP, Ruby, C, C++ o Python, entre d’altres.
                          -   Entorns integrats de desenvolupament (IDEs): Netbeans o Eclipse.
                          -   Eines de suport al desenvolupament.
                          -   Eines per a la construcció d’aplicacions: Make, Ant o Maven.
                          -   Eines de comprovació automatitzada de codi: Junit o Jsfunit.
                          -   Sistemes de control de versions: CVS, Subversion o GIT.
                          -   Eines d’integració contínua: Hudson, Continuum o Cruisecontrol.
                          -   Control de bugs.
                          -   Marcs de treball: frameworks.
                          -   Llibreries de programari.
                          -   Repositoris de codi font i d’aplicacions: com SourceForge o LaFarga.cat.

                          Des del punt de vista del programador, el principal avantatge que proporciona
                          un model de programació basat en eines de programari lliure és l’accés al codi
                          font del mateix, així com la capacitat de modificació i adaptació per ajustar-lo als
                          requeriments desitjats.

                          En el moment d’afrontar la creació d’una nova aplicació per tal de resoldre unes
                          determinades necessitats, si s’opta per la utilització de programari lliure s’hauria de
                          seguir el següent guió de decisions abans d’iniciar el desenvolupament del projecte.




58
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
· Presa de requeriments:
Abans d’abordar el projecte, des del punt de vista tècnic, cal establir, parlant amb el/s departament/s
que haurà/an d’usar l’aplicació, quines necessitats ha de cobrir l’aplicació a desenvolupar.


· Estudi de viabilitat:
En aquesta fase s’ha de plantejar si realment es disposa dels recursos necessaris per afrontar el
desenvolupament de l’aplicació, que es poden englobar en:

 · Recursos humans: De quants desenvolupadors es disposa per realitzar el projecte i quins
   coneixements tenen sobre el llenguatge, eines i llibreries que tenim previst utilitzar.

 · Recursos tècnics: De quin maquinari es disposa per dur a terme el projecte, tant a la fase de
   desenvolupament com al pas a producció.

 · Recursos temporals: Quin és el marge temporal de què es disposa per realitzar el projecte i quina és
   la dedicació que es pot assignar a cada membre de l’equip de treball.


· Recerca de programari lliure:
 · Cal fer la cerca d’alguna aplicació de programari lliure que compleixi alguna o, a ser possible, totes
   les funcionalitats requerides amb l’objectiu d’agilitzar el desenvolupament de l’aplicació.

 · En cas de trobar alguna o algunes aplicacions, cal fer una anàlisi del model de llicenciament de les
   mateixes per tal de conèixer si es permet fer-hi adaptacions i si aquestes han de ser obligatòriament
   retornades a la comunitat.

 · De la mateixa manera, cal fer un estudi de la capacitat d’adaptació i d’integració d’aquestes
   aplicacions a l’arquitectura prevista del projecte, si així s’ha previst a l’aplicació.

     - Adaptació del programari: Es refereix a la capacitat d’afegir noves funcionalitats o adaptar les
       existents, com canvis estètics o idiomàtics, entre d’altres.

     - Inclusió del programari candidat: En aquest cas, s’opta per fer les mínimes adaptacions per tal
       d’incloure aquesta peça de programari com un mòdul funcional a l’arquitectura prevista.


                                                                                                                              59
                                                                                                                  Guies
                                                                                                                     per al
                                                                                                      desenvolupament de
                                                                                                            la societat del
                                                                                                             coneixement
El programari lliure a les administracions locals
     6. PL i desenvolupament de programes o aplicacions

     · Eines de programació de PL:
       · En cas de no trobar cap aplicació de programari lliure que pugui ser útil, caldrà afrontar el desenvolupament
         partint de zero.

       · En aquest punt, sovint és de molta utilitat cercar algun framework, o en el seu defecte llibreria de programari
         lliure, que permeti agilitzar el desenvolupament de certes funcionalitats de l’aplicació.

       · Cal tenir en compte que la utilització i/o inclusió de frameworks i llibreries de PL està vinculada al model de
         llicenciament que porten incloses i, per tant, s’ha de vigilar si el programari a incloure introdueix limitacions i/o
         restriccions al desenvolupament del projecte o a la seva explotació.

       · És important realitzar aquesta anàlisi abans de dissenyar l’arquitectura final del projecte, ja que la utilització de
         determinats frameworks pot condicionar-la.

     El diagrama següent és una representació gràfica d’aquest guió d’actuacions:



                                                                            Estudi
                                                                         de viabilitat




           Presa de                        Anˆlisi                       Recerca de         Disseny       Desenvolupament
         Requeriments                   Requeriments                  Programari Lliure   Arquitectura




                                                                          Eines de
                                                                     programaci— de PL                         Proves




                                                                                                             Producci—
     Figura 8: Etapes del procés de desenvolupament, tenint en compte el PL.




     · Recursos:
       · Taula comparativa de llicències de programari lliure:
         [en anglès] http://en.wikipedia.org/wiki/Comparison_of_free_software_licenses

       · Taula comparativa de repositoris de programari lliure:
         [en anglès] http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities



60
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                6. PL i desenvolupament de programes o aplicacions

6.2. - Els IDE PL com a eines de base per al desenvolupament
Quan es plantegen les característiques que ha de complir un entorn de treball adequat per a desenvolupadors, cal
tenir present que el programari lliure proporciona una gran quantitat de recursos per a aquesta finalitat.

La peça clau en tot entorn de treball és l’IDE (Integrated Development Environment - Entorn de Desenvolupament
Integrat) i la comunitat de programari lliure proveeix alguns IDE PL d’àmplia acceptació com poden ser Netbeans
o Eclipse.

El valor de la comunitat

   Un factor determinant sobre quin IDE PL utilitzar a l’entorn de treball ha de ser la maduresa de la seva
   comunitat d’usuaris, que pot proporcionar nombrosa informació sobre la utilització del propi IDE, així com
   de totes les tecnologies i eines que porta incloses. A més a més, els usuaris d’aquestes comunitats alimenten
   contínuament el grup, participant en fòrums de resolució de problemes, publicant articles, aportant opinions
   o informant d’errades al programari.

Multillenguatge i multiplataforma

   Una característica desitjable dels IDE PL és el seu suport a la generació de projectes amb diferents llenguatges
   de programació lliures (com Java, C++, C, PHP 5/4, Ruby, Python o Perl), així com el fet de ser multiplataforma.
   El fet diferenciador per l’elecció d’un IDE PL pot ser el conjunt d’eines que proporciona per ajudar a fer més àgil
   el treball quotidià dels desenvolupadors (assistents de codi, validadors, correctors automàtics, autocompleció
   de codi, ajuda contextual o suport de frameworks).

Extensibilitat

   Una característica molt important de la majoria dels IDE PL que han tingut més acceptació és la seva
   extensibilitat, entesa com la possibilitat de crear mòduls per donar suport a noves funcionalitats (anomenats
   plug-ins, extensions o mòduls, en funció de l’IDE).

   Gràcies a aquesta possibilitat, les comunitats d’aquests IDE PL han creat al seu voltant un ampli catàleg
   d’extensions, moltes d’elles realitzades pels seus mateixos usuaris de forma desinteressada.

Suport a SCM (Software Configuration Management, control de canvis)

   En situacions en què l’equip de desenvolupadors està composat per diversos membres, cal establir alguna
   política per centralitzar i controlar l’accés al codi font de les aplicacions. En aquest punt, el suport dels IDE PL
   per interactuar amb sistemes de control de versions, com pot ser CVS, Subversion o GIT, és un valor afegit molt
   important i facilita enormement el treball concurrent de diferents programadors.




                                                                                                                                          61
                                                                                                                              Guies
                                                                                                                                 per al
                                                                                                                  desenvolupament de
                                                                                                                        la societat del
                                                                                                                         coneixement
El programari lliure a les administracions locals
     6. PL i desenvolupament de programes o aplicacions

     Suport a la construcció

          Durant el desenvolupament d’aplicacions és molt habitual disposar d’algun sistema de construcció
          d’aplicacions per tal de transformar el codi font de les versions executables i/o desplegables de les mateixes.
          Sovint no es tenen en gaire consideració aquestes eines, però habitualment és una tasca realitzada de forma
          reiterativa. Per tant, és molt interessant que l’IDE PL escollit doni suport a aquest tipus d’eines i, en particular, a
          la generació automatitzada d’aquests processos de construcció per les eines més arrelades a la comunitat PL,
          com són Jakarta Ant, Apache Maven o Git.

     Suport a proves unitàries

          La tendència actual en projectes de desenvolupament és la utilització de metodologies TDD (Test Driven
          Development - Programació orientada a comprovació). El PL ofereix nombroses eines tant per a la construcció
          de comprovacions com per a la seva execució i gestió de resultats.

     Suport a sistemes d’integració contínua

          En un entorn de treball amb un cert volum de desenvolupadors que treballen conjuntament i de forma
          modular en una aplicació, és interessant la inclusió d’una eina d’integració contínua. Aquesta eina té com a
          funció principal validar la interoperabilitat dels diferents mòduls desenvolupats pels diferents membres de
          l’equip de treball, de forma que genera informes sobre el grau de compliment dels contractes entre mòduls.

          Tot i que el suport d’aquestes eines encara està molt limitat a la majoria d’IDE (tant lliures com privatius), comencen
          a aparèixer els primers plug-ins/mòduls per afegir aquest suport, aprofitant l’extensibilitat pròpia dels IDE.

     Suport a noves metodologies de desenvolupament

          La comunitat de programari lliure es troba en constant innovació i, en particular, de forma molt intensa al món de
          la programació: nous API, llibreries, frameworks, eines, aplicacions i metodologies apareixen de forma continuada.

          Aquest fet es deu en gran mesura a què la pròpia activitat dins de les comunitats de projectes lliures genera
          noves maneres d’interactuar i nous models d’organització sobre com abordar, dissenyar i desenvolupar projectes.

          Així doncs, es pot dir que la comunitat de programari lliure és pionera en innovació i tendències tecnològiques,
          i ofereix nombroses eines per afrontar els paradigmes de programació més avantguardistes, com les
          metodologies XP (Extreme Programing – Programació Extrema), Scrum o BDD (Behavior Driven Development
          – Desenvolupament Conduït pel Comportament).

     Suport a la programació col·laborativa

          A causa, en gran part, de la deslocalització dels equips de treballs, cada cop es posa més èmfasi en models
          de programació col·laborativa i, per tant, s’està dotant els membres d’aquests equips d’eines de comunicació
          integrades als propis IDE.

62
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                6. PL i desenvolupament de programes o aplicacions

Així doncs, es pot veure que els IDE PL són una part fonamental de l’entorn de treball d’un desenvolupador. Serà
responsabilitat del desenvolupador aprofitar totes les funcionalitats i ajudes que li poden oferir, tant el propi IDE
com la seva comunitat, per agilitzar i millorar les tasques de desenvolupament i manteniment d’aplicacions.

De la mateixa manera que la gran majoria d’aplicacions interaccionen amb sistemes externs al codi (sistemes de
fitxers, base de dades o servidors de noms), els IDE s’han de considerar l’eina central de desenvolupament, però
que pot i ha d’interaccionar amb molts altres sistemes i eines auxiliars.

Els IDE no són una peça monolítica de programari, sinó que estan dissenyats per ser el nexe d’unió de diferents
eines i tecnologies, treballant conjuntament per aconseguir un objectiu: simplificar i agilitzar les tasques de
desenvolupament d’aplicacions.

El programari lliure també ofereix eines per a la publicació i gestió de projectes, que permeten compartir projectes
propis a la comunitat, de forma que s’estableix una retroalimentació entre l’administració que ha impulsat el
projecte i les comunitats de programari lliure.


Recursos:

 · Taula comparativa d’IDE:
   [en anglès] http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments

 · Llista de programari per a construcció automàtica:
   [en anglès] http://en.wikipedia.org/wiki/List_of_build_automation_software

 · Taula comparativa de programari de control de versions:
   [en anglès] http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

 · Llista de sistemes d’integració contínua:
   [en anglès] http://en.wikipedia.org/wiki/Continuous_Integration#Software

 · Taula comparativa de sistemes d’integració contínua:
   [en anglès] http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software

 · Llista de frameworks per a proves unitàries:
   [en anglès] http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks




                                                                                                                                         63
                                                                                                                             Guies
                                                                                                                                per al
                                                                                                                 desenvolupament de
                                                                                                                       la societat del
                                                                                                                        coneixement
El programari lliure a les administracions locals
     6. PL i desenvolupament de programes o aplicacions

     6.3. - Frameworks i llibreries, components lliures en el desenvolupament
     Per definició, un framework és un conjunt d’eines, llibreries, API i patrons de disseny orientats a facilitar als
     desenvolupadors la implementació de certes funcionalitats de les seves aplicacions.

     Proporcionen una estructura i una metodologia de treball que s’ha d’integrar a l’arquitectura de les aplicacions que
     vulguin utilitzar-les. Per aquest motiu, és molt recomanable decidir la utilització o no d’un determinat framework
     en les primeres fases d’elaboració del projecte, abans d’iniciar la programació del mateix. De no ser així, si es
     decideix incloure un framework sobre un desenvolupament actiu és molt probable que impliqui la reescriptura
     de part del codi de l’aplicació per tal d’adaptar el seu funcionament a les necessitats del framework.

     La majoria de frameworks estan orientats a ser utilitzats en un determinat llenguatge de programació i en
     determinades arquitectures d’aplicacions. Per tant, la forma més natural de classificar-los és pel llenguatge i pel
     seu àmbit d’aplicació:

          · Hi ha frameworks per a Java/JEE, PHP, C++ o Ruby, entre molts altres.
          · Hi ha frameworks per a construcció d’aplicacions d’escriptori, d’aplicacions client-servidor, d’aplicacions web
            o de serveis web (WebServices).

     Per posar un exemple, els frameworks més utilitzats al món Java/JEE per a construcció d’aplicacions Web/JEE són:

          ·   Spring Framework.
          ·   Seam Framework.
          ·   JBoss Developer Studio.
          ·   Apache Struts.
          ·   Google Web Toolkit (GWT).

     La comunitat de programari lliure posa a disposició dels desenvolupadors un ampli ventall de frameworks (capítol
     8.1) que, a grans trets, ofereixen:

          · Implementació de certes funcionalitats a les aplicacions: D’aquesta manera s’evita que els programadors
            hagin de fer-les per sí mateixos i això els permet obtenir aplicacions més flexibles i modulars.

          · Aplicació de bones pràctiques: Molts frameworks actuals orienten els programadors a fer-ne un ús adequat,
            els proporciona guies i, alhora, els ajuda a assolir bones pràctiques de programació.

          · Optimitzacions: Molts frameworks han assolit un grau tal d’experiència que, internament, fan ús de les
            tècniques més avançades d’optimització dels recursos de què disposen (memòria, disc o throughput de
            xarxa). Per tant, de manera col·lateral les aplicacions que utilitzen aquest framework s’aprofiten d’aquestes
            optimitzacions.




64
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                  6. PL i desenvolupament de programes o aplicacions

Els frameworks més utilitzats o que tenen la rellevància suficient dins de la comunitat de programari lliure solen
estar inclosos dintre dels propis IDE PL, permetent als desenvolupadors el seu ús de forma ràpida i natural.

Alguns IDE ofereixen assistents de codi (wizards) específics per ajudar els programadors a utilitzar un determinat
framework, com per exemple Hibernate tools, i evitar així que hagin de realitzar tasques repetitives que es poden
automatitzar.

Com a contrapartida, els desenvolupadors que no tenen experiència en un determinat framework han d’assolir
els coneixements suficients per saber utilitzar-lo. En aquest punt, són les mateixes comunitats dels frameworks les
que aporten un valor afegit en proporcionar informació de consulta, guies, tutorials d’ús o fòrums de discussió.

Un altre punt a tenir en compte és que, en tractar-se d’una peça de programari, també està subjecte a tenir errors
i comportaments no desitjats. Per tant, els programadors han d’estar constantment informats sobre els errors que
es detecten en els frameworks i les correccions que s’han d’aplicar. També hauran de considerar si és necessari o
no aplicar aquestes correccions a les aplicacions que utilitzen el framework.

Llibreries PL:

Una llibreria té un àmbit d’aplicació més concret que un framework ja que, per definició, es tracta d’una peça de
programari dissenyada per ser utilitzada i inclosa en una aplicació per tal d’implementar certs serveis.

El codi de les llibreries passa a formar part del codi d’execució de les aplicacions que les utilitzen. Com a característica
més rellevant, les llibreries permeten la modularitat de les aplicacions, englobant el seu codi en blocs funcionals.

La comunitat de programari lliure posa a disposició dels desenvolupadors una gran varietat de llibreries lliures,
per a multitud de llenguatges i que permeten incloure a les aplicacions una multitud de funcionalitats ja
implementades per altres membres de la comunitat.

Per posar una llista limitada d’exemples, es poden trobar, a la comunitat, llibreries per accedir a diferents motors
de base de dades, per accedir a serveis de noms, implementacions de memòria cau distribuïdes o llibreries de
components AJAX.

De la mateixa manera que els IDE inclouen els frameworks més utilitzats en el desenvolupament d’aplicacions actuals,
també porten incorporats un conjunt considerable de llibreries lliures a utilitzar per les aplicacions. Els IDE també
suporten la inclusió de llibreries externes que els desenvolupadors considerin oportunes per les seves aplicacions.

S’ha de comentar que tots els IDE donen suport a la creació de llibreries pròpies, que poden ser reutilitzades per
una o més de les pròpies aplicacions.

Com a contrapunt als avantatges que implica aprofitar codi ja realitzat, la inclusió o utilització de llibreries de
tercers a les aplicacions implica que els desenvolupadors hauran d’estar informats de qualsevol funcionament
incorrecte detectat en aquestes llibreries i actuar en conseqüència.


                                                                                                                                              65
                                                                                                                                  Guies
                                                                                                                                     per al
                                                                                                                      desenvolupament de
                                                                                                                            la societat del
                                                                                                                             coneixement
El programari lliure a les administracions locals
     6. PL i desenvolupament de programes o aplicacions

      Recursos:

       · Taula comparativa de frameworks de construcció d’aplicacions web:
         [en anglès] http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks

       · Frameworks PHP:
         [en anglès] http://www.phpframeworks.com/

       · Llistat de frameworks per a serveis web:
         [en anglès] http://en.wikipedia.org/wiki/List_of_Web_service_Frameworks

       · Taula comparativa de frameworks de JavaScript:
         [en anglès] http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

       · Comparació de frameworks de construcció amb components JSF:
         [en anglès] http://en.wikipedia.org/wiki/JavaServer_Faces#Comparison_to_other_Web- GUI_Frameworks

       ·   [en anglès] http:/www.springsource.org/
       ·   [en anglès] http://www.seamframework.org/Home
       ·   [en anglès] http://www.jboss.com/products/seam/
       ·   [en anglès] http://code.google.com/intl/es-ES/webtoolkit/
       ·   [en anglès] http://struts.apache.org/




66
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                    6. PL i desenvolupament de programes o aplicacions

6.4. - L’alliberament de programes i aplicacions
L’alliberament de codi i de documentació és una de les activitats més importants per gaudir dels beneficis de les
llibertats ofertes pel PL i per fomentar la reutilització de recursos de les administracions públiques. Pot suposar
un notable avantatge tècnic i econòmic davant l’evolució de les aplicacions públiques, que poden no només
compartir recursos entre elles, sinó també rebre les millores d’altres usuaris dins i fora de les administracions
públiques, és a dir, de la comunitat. A més a més, la reutilització de programari entre entitats públiques és
explícitament reconeguda per la Llei 11/2007 (Cap. 3 del Títol IV).


     Beneficis de la reutilització i alliberament de programari:
        · Compartir costos i eliminar redundàncies d’adquisició o desenvolupament d’aplicacions per a les
          administracions públiques.
        · Compartir coneixement.
        · Afavorir el marc d’interoperabilitat entre administracions i els efectes de xarxa.
        · Compliment amb el marc legal de la LAECSP.
        · Més participació dels usuaris en el manteniment de les aplicacions i nivells de seguretat interoperabilitat.
        · Promoure/desenvolupar l’entorn i la capacitat econòmica local (ecosistema TIC local).
        · Permetre la localització de programari.
        · Augmentar la competència.


Les condicions necessàries per a l’alliberament de recursos inclouen:

 ·   Considerar l’alliberament o reutilització com part integral dels projectes de l’administració.
 ·   Establir les bases legals per garantir la titularitat per part de l’administració dels recursos desenvolupats per ella.
 ·   Assegurar la compatibilitat legal dels components inclosos en aplicacions.
 ·   Definir una arquitectura tècnica del programari adient per al seu alliberament.
 ·   Documentar tots el components integrats en els recursos de l’administració.
 ·   Tenir clara la visió global a mig termini de l’evolució del producte (full de ruta).

Es recomana establir una estratègia i metodologia per realitzar alliberaments de programari, en particular:

· Identificar les diferents estratègies d’alliberament possibles segons el tipus de programari, la seva utilitat,
  el tipus de servei i models de col·laboració amb la comunitat. Algunes estratègies possibles inclouen:

     · encarregar desenvolupaments per alliberar (per exemple: el projecte GONG, del Cenatic, o gVSIG, de la
       Comunitat Valenciana),
     · desenvolupar un producte amb continuïtat dins de l’administració en particular o les administracions
       públiques en general,
     · establir un projecte patrocinat amb un soci comercial,
     · iniciar un projecte de col·laboració amb altres administracions públiques o
     · alliberar documentació.


                                                                                                                                               67
                                                                                                                                   Guies
                                                                                                                                      per al
                                                                                                                       desenvolupament de
                                                                                                                             la societat del
                                                                                                                              coneixement
El programari lliure a les administracions locals
     6. PL i desenvolupament de programes o aplicacions

     · Determinar criteris per a la selecció de projectes i documents a alliberar. Per exemple:

          · el seu interès per a les altres administracions,
          · la idoneïtat de la seva plataforma i arquitectura tecnològica (maquinari, programari, xarxa) i model de
            desenvolupament,
          · les seves característiques fonamentals: qualitat, usabilitat, escalabilitat, estabilitat, mantenibilitat, portabilitat,
            suport, l’aptitud per obtenir suport a llarg termini de la comunitat, etc.

       Aquests criteris ajudaran a orientar les decisions dels responsables en el moment d’alliberar un programari i,
       juntament amb un estudi de viabilitat (cost-benefici, riscs, evolució a futur), aquesta reflexió orientarà el disseny
       del projecte d’alliberament i millorarà el seu èxit.

     · Definir una metodologia i processos per a alliberaments: Per garantir el compliment de drets de tercers i
       les condicions de les llicències lliures sobre components i minimitzar el risc d’accions legals per infraccions de
       drets de tercers; assegurar la idoneïtat tècnica per a la reutilització de programari i la seva integració en el marc
       nacional i europeu d’interoperabilitat; afavorir la continuïtat de l’evolució del programari alliberat; i promoure la
       lliure difusió de documents i know-how relacionats amb els productes de les administracions públiques.




68
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
7         Recursos per
                          desenvolupar en PL

                          7.1. - Eines de desenvolupament
                          La comunitat de programari lliure ofereix una gran quantitat de recursos per al
                          desenvolupament en PL. Aquí es presenten els llenguatges, frameworks, IDE i
                          eines de construcció més comuns i rellevants.

                          Llenguatges
                          C és un dels llenguatges de programació més populars. Té una gran difusió i està
                          sent usat per múltiples plataformes (hi ha poques arquitectures per a les quals
                          no existeixi compilador de C).

                          C++ és un llenguatge de nivell mitjà, ja que ofereix característiques de llenguatges
                          d’alt i baix nivell. És àmpliament utilitzat per la indústria del programari i es manté
                          com un dels llenguatges de programació més popular de tots els temps. Ha estat
                          utilitzat per a la programació de sistemes operatius, aplicacions, controladors,
                          servidors d’aplicacions i clients d’alt rendiment o programari d’entreteniment,
                          com els videojocs.

                          Java és un llenguatge de programació que es presenta com a nucli de la
                          plataforma Java de Sun Microsystems. Les aplicacions Java permeten la seva
                          execució en qualsevol Màquina Virtual Java (JVM), fent-la independent de
                          l’arquitectura de l’equip. Sun Microsystems ofereix la majoria de la seva tecnologia
                          Java com a programari lliure sota llicència GPL.

                          JavaScript és un llenguatge script usat per permetre accés de programació a
                          objectes d’altres aplicacions. Gràcies a la seva compatibilitat amb la majoria de
                          navegadors actuals, és el llenguatge de programació client-side més utilitzat en
                          l’actualitat.

                          Perl és un llenguatge de programació interpretat, dinàmic i d’alt nivell. Perl és
                          conegut com «la navalla Suïssa dels llenguatges de programació» per la seva
                          flexibilitat i adaptabilitat.

                          PHP és un llenguatge de programació interpretat i utilitzat per generar pàgines
                          web dinàmiques, tot i que també pot ser utilitzat per programar aplicacions. És
                          programari lliure distribuït sota llicència PHP.


70
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
RUBY és un llenguatge de guions totalment orientat a objectes i pensat per al tractament de fitxers i per
al manteniment del sistema. És simple, extensible i portable.

PYTHON és un llenguatge de programació d’alt nivell, orientat a objectes, interpretat i interactiu que
combina una potència remarcable amb una sintaxi molt entenedora. També disposa d’una gran varietat
de llibreries que segueixen aquesta mateixa filosofia. Té drets reservats (copyright), però és lliure per
usar, distribuir o fins i tot comercialitzar.

Frameworks
El concepte de framework i les característiques principals que ofereix ja s’han vist (apartat 6.3). En
aquest punt es presenten els frameworks més significatius dins del programari lliure per als diferents
llenguatges de programació enumerats anteriorment.

Frameworks i llibreries per a C/C++
GNU Common C++: Framework per al desenvolupament d’aplicacions C++ amb threads, optimitzat i
portable a múltiples plataformes.
Llicència: GPLv3
([en anglès] http://www.gnu.org/software/commoncpp/)

Whisper2: Framework d’aplicacions C++ per a Mac i Windows. A diferència de la majoria de frameworks,
treu profit de la utilització de llibreries estàndards, de la metodologia de disseny per contracte (design
by contract) i de les característiques més innovadores del món de C++, com són els tipus genèrics i la
utilització de patrons de disseny i plantilles (templates).
Llicència: zlib/libpgn
([en anglès] http://sourceforge.net/projects/whisper2/)

Hestia: Framework per a verificació que proporciona eines i utilitats per a millorar els processos de
desenvolupament del programari. Auto Build Checker (ABC) analitza els resultats i genera informes en HTML.
Llicència: LGPL
([en anglès] http://sourceforge.net/projects/hestia/)




                                                                                                                               71
                                                                                                                   Guies
                                                                                                                      per al
                                                                                                       desenvolupament de
                                                                                                             la societat del
                                                                                                              coneixement
El programari lliure a les administracions locals
     7. Recursos per desenvolupar en PL

     Frameworks per a Java
     Spring: És un framework PL per al desenvolupament d’aplicacions Java/JEE multicapa, basat en la publicació
     realitzada per Rod Jonhson, Expert One-on-One Java EE Design and Development (Wrox Press, octubre 2002).
     Llicència: Apache License, 2.0
     ([en anglès] http://www.springframework.org)

     Google Web Toolkit: Framework creat per Google per al desenvolupament Java/JEE per a aplicacions web
     basades en AJAX, com Google Maps o Gmail. La seva principal característica és que permet amagar la complexitat
     de diversos aspectes de la tecnologia AJAX. Les aplicacions desenvolupades i compilades en aquest entorn
     esdevenen compatibles amb tots els navegadors.
     Llicència: Apache License, 2.0
     ([en anglès] http://code.google.com/intl/es-ES/webtoolkit/)

     JBoss Developer Studio (JBDS): Entorn de desenvolupament PL certificat, creat i desenvolupat per JBoss (divisió de
     Red Hat) i Exadel Inc., que integra i certifica components runtime i eines combinant Eclipse, Eclipse Tooling i la JBoss
     Enterprise Application Platform (Plataforma d’Aplicacions Empresarials JBoss). La solució proporciona un entorn de
     desenvolupament robust per a aplicacions web, aplicacions empresarials de missió crítica i serveis d’integració.
     Llicència: GPL
     ([en anglès] http://www.jboss.com/)
     ([en anglès] http://www.jboss.org/)

     Seam: Igual que Spring, és un framework per al desenvolupament d’aplicacions J2EE, multicapa, però més
     enfocada a la simplicitat d’ús. La característica diferenciadora d’altres frameworks per JEE és que proporciona un
     context unificat i simple per a tots els components de les diferents capes d’una aplicació multicapa, permetent
     per exemple l’ús d’EJB directament des de la lògica de la capa de presentació (AJAX, JSF). A més, proporciona un
     marc de treball orientat a les aplicacions multiconversacionals (conversation context), així com a la integració amb
     motors de workflow (Jboss BPM) i de regles (Jboss Rules).
     Llicència: LGPL
     ([en anglès] http://www.seamframework.org)

     Apache Struts: Framework per al desenvolupament JEE d’aplicacions web sota el patró MVC (Model/View/
     Controller – Model/Vista/Controlador). Inicialment formava part del projecte Jakarta de l’Apache Software
     Foundation, però actualment és un projecte independent conegut com Apache Struts.
     Llicència: Apache License 2.0
     ([en anglès] http://struts.apache.org)




72
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                    7. Recursos per desenvolupar en PL

JUnit: Framework de verificació per a Java. JUnit ha estat important pel mètode de desenvolupament guiat per
proves (test-driven development) i ofereix una família de frameworks de verificació coneguda com “xUnit”. JUnit
s’ha exportat a altres llenguatges com PHP (PHPUnit), Python (PyUnit), C++ (CppUnit) o JavaScript (JSUnit).
Llicència: CPL
([en anglès] http://junit.sourceforge.net/)

Frameworks per a JavaScript
RichFaces: Framework de codi obert que afegeix capacitat Ajax dintre d’aplicacions JSF existents sense recórrer a
JavaScript. RichFaces inclou cicle de vida, validacions, convertidors i gestió de recursos estàtics i dinàmics.
Llicència: LGPL
([en anglès] http://www.jboss.org/richfaces)

JQuery: Framework de JavaScript que permet simplificar la manera d’interactuar amb els documents HTML,
manipular l’arbre DOM, manegar esdeveniments, desenvolupar animacions i afegir interacció amb la tecnologia
AJAX en pàgines web.
Llicència: GPL i MIT
([en anglès] http://jquery.com/)

ICEfaces: Framework de codi obert que permet desenvolupar aplicacions web amb AJAX tipus RIA. Permet aïllar
completament de l’AJAX el desenvolupador.
Llicència: MPL
([en anglès] http://www.icefaces.org/products/icefaces.html)
([en anglès] http://www.icesoft.com/products/icefaces.html)




                                                                                                                                      73
                                                                                                                          Guies
                                                                                                                             per al
                                                                                                              desenvolupament de
                                                                                                                    la societat del
                                                                                                                     coneixement
El programari lliure a les administracions locals
     7. Recursos per desenvolupar en PL

     Frameworks per a Perl
     Catalyst: Framework Perl per a aplicacions web que suporta arquitectura MVC (Model/View/Controller – Model/
     Vista/Controlador). Està inspirat en Ruby on Rails, Maypole i Spring.
     Llicència: GPL
     ([en anglès] http://www.catalystframework.org/)

     Maypole: Framework Perl per a aplicacions web orientat a arquitectura MVC (Model/View/Controller – Model/
     Vista/Controlador). La seva concepció va dirigida a oferir simplicitat en el desenvolupament de webs amb petites
     bases de dades, permetent així mateix abordar grans projectes amb aplicacions web empresarials.

     Llicència: GPL
     ([en anglès] http://maypole.perl.org/)

     Cyclone 3: Framework PL molt flexible, dissenyat per desenvolupar sistemes de gestió de continguts i aplicacions
     a mida amb objectius comercials.
     Llicència: GPL
     ([en anglès] http://www.cyclone3.org/)

     Frameworks per a PHP
     KumbiaPHP: Framework per a aplicacions web escrit en PHP5. Basat en pràctiques de desenvolupament com
     DRY (Don’t Repeat Yourself – No et repeteixis) i el principi KISS (Keep it Symple – Mantingui-ho senzill) per a
     programari comercial i educatiu. Fomenta la velocitat i eficiència en la creació i manteniment d’aplicacions web.
     Llicència: GPL
     ([en anglès] http://www.kumbiaphp.com)

     PHP4e: Framework PHP que proporciona un entorn de desenvolupament actualitzat i flexible, fixant les bases en
     bones pràctiques de programació, metodologies i tecnologies disponibles a la indústria.
     Llicència: MPL 1.1
     ([en anglès] http://php4e.codeman.cl)

     Symfony: Framework PHP que proporciona arquitectura, eines i components, permetent que de forma ràpida i
     àgil es puguin desenvolupar aplicacions web complexes.
     Llicència: MIT
     ([en anglès] http://www.symfony-project.org)




74
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                    7. Recursos per desenvolupar en PL

Frameworks per a Ruby
Ruby on Rails: Entorn de desenvolupament web de programari lliure optimitzat, és a dir, l’us de valors per defecte
oferts pel propi Framework, per a la satisfacció dels programadors i de la productivitat. Permet escriure un bon
codi afavorint la convenció, abans que la configuració és a dir, que l’usuari ho hagi de configurar tot abans de
poder començar..
Llicència: MIT
([en anglès] http://www.rubyonrails.org.es)

Frameworks per a Python
Web2py: Framework PL escrit en Python per a un àgil desenvolupament d’aplicacions web, dotant-les de
velocitat, escalabilitat, seguretat i portabilitat.
Llicència: GPL
([en anglès] http://web2py.com)

Zope 3: Framework PL molt popular i potent que permet al programador desenvolupar aplicacions web, fent
possible aplicar a les dades conceptes com persistència, integritat i control d’accés.
Llicència: ZPL
([en anglès] http://www.zope.org/)
([en anglès] http://www.zope.org/Resources/License / )

Django: Framework de desenvolupament web escrit en Python. Se centra en automatitzar tot allò que sigui
possible i es basa en el principi DRY (Don’t Repeat Yourself – No et repeteixis).
Llicència: BSD
([en anglès] http://www.djangoproject.com)




                                                                                                                                       75
                                                                                                                           Guies
                                                                                                                              per al
                                                                                                               desenvolupament de
                                                                                                                     la societat del
                                                                                                                      coneixement
El programari lliure a les administracions locals
     7. Recursos per desenvolupar en PL

     Taula recull dels framewoks segons llenguatge


       C/C++                            Descripció                     Llic.         Enllaç

                    GNU                 Entorn optimitzat i portable   GPLv3         http://www.gnu.org/software/commoncpp/
                    Common              per al desenvolupament
                    C++                 d’aplicacions C++ amb
                                        threats.

                    Whisper2            Framework d’aplicacions        zlib/libpgn   http://sourceforge.net/projects/whisper2/
                                        C++ per a Mac i Windows.

                    Hestia              Framework per a verificació    LGPL          http://sourceforge.net/projects/hestia
                                        que proporciona eines
                                        i utilitats per millorar
                                        els processos de
                                        desenvolupament del
                                        programari.




76
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                      7. Recursos per desenvolupar en PL



Java               Descripció                      Llic.          Enllaç

       Spring      Framework PL per al             Apache         http://www.springframework.org
                   desenvolupament                 License, 2.0
                   d’aplicacions Java/JEE
                   multicapa.

       Google      Framework creat                 Apache         http://code.google.com/intl/es-ES/webtoolkit
       Web         per Google per al               License, 2.0
       Toolkit     desenvolupament Java/
                   JEE per a aplicacions web
                   basades en AJAX.

       JBoss       Framework robust                GPL            http://www.jboss.com
       Developer   per a aplicacions web,                         http://www.jboss.org
       Studio      aplicacions empresarials
                   de missió crítica i serveis
                   d’integració.

       Seam        Framework per al                LGPL           http://www.seamframework.org
                   desenvolupament
                   d’aplicacions J2EE,
                   multicapa i enfocada a la
                   simplicitat d’ús.

       Apache      Framework per al                Apache         http://struts.apache.org
       Struts      desenvolupament JEE             License 2.0
                   d’aplicacions web sota el
                   patró MVC.

       JUnit       Framework de verificació        CPL            http://junit.sourceforge.net
                   per a Java, exportat a altres
                   llenguatges com PHP
                   (PHPUnit), Python (PyUnit),
                   C++ (CppUnit) o JavaScript
                   (JSUnit).




                                                                                                                                           77
                                                                                                                               Guies
                                                                                                                                  per al
                                                                                                                   desenvolupament de
                                                                                                                         la societat del
                                                                                                                          coneixement
El programari lliure a les administracions locals
     7. Recursos per desenvolupar en PL

       JavaScript                       Descripció                     Llic.       Enllaç

                    RichFaces           Framework que afegeix          LGPL        http://www.jboss.org/richfaces
                                        capacitat Ajax dintre
                                        d’aplicacions JSF existents
                                        sense recórrer a JavaScript.

                    JQuery              Framework que permet           GPL i MIT   http://jquery.com
                                        simplificar la manera
                                        d’interactuar amb els
                                        documents HTML,
                                        manipular l’arbre DOM,
                                        manegar esdeveniments,
                                        desenvolupar animacions
                                        i afegir interacció amb
                                        la tecnologia AJAX amb
                                        pàgines web.

                    ICEfaces            Framework que permet           MPL         http://www.icesoft.com/products/icefaces.html
                                        desenvolupar aplicacions
                                        web amb AJAX tipus RIA
                                        (Rich Internet Application)



       Perl                             Descripció                     Llic.       Enllaç

                    Catalyst            Framework per a                GPL         http://www.catalystframework.org/
                                        aplicacions web que
                                        suporta arquitectura MVC.
                                        Inspirat en Ruby on Rails,
                                        Maypole i Spring.

                    Maypole             Framework Perl per a           GPL         http://maypole.perl.org/
                                        aplicacions web orientat
                                        a arquitectura MVC.
                                        Concebut per oferir
                                        simplicitat i potència.

                    Cyclone 3           Framework PL molt flexible,    GPL         http://www.cyclone3.org
                                        dissenyat per desenvolupar
                                        sistemes de gestió de
                                        continguts i aplicacions
                                        a mida amb objectius
                                        comercials.




78
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                               7. Recursos per desenvolupar en PL

PHP                Descripció                     Llic.     Enllaç

       KumbiaPHP   Framework per a                GPL       http://www.kumbiaphp.com
                   aplicacions web escrit en
                   PHP5. Basat en pràctiques
                   de desenvolupament com
                   DRY i el principi KISS per
                   a programari comercial i
                   educatiu.

       PHP4e       Framework PHP que              MPL 1.1   http://php4e.codeman.cl
                   orienta a bones pràctiques
                   de programació,
                   metodologies i tecnologies
                   disponibles a la indústria.

       Symfony     Framework PHP que              MIT       http://www.symfony-project.org
                   proporciona arquitectura,
                   eines i components,
                   permetent que de forma
                   ràpida i àgil es puguin
                   desenvolupar aplicacions
                   web complexes.



Ruby               Descripció                     Llic.     Enllaç

       Ruby on     Entorn de                      MIT       http://www.rubyonrails.org.es
       Rails       desenvolupament web de
                   programari lliure optimitzat
                   per a la satisfacció dels
                   programadors i de la
                   productivitat. Permet
                   escriure un bon codi
                   afavorint la convenció
                   abans que la configuració.




                                                                                                                                   79
                                                                                                                       Guies
                                                                                                                          per al
                                                                                                           desenvolupament de
                                                                                                                 la societat del
                                                                                                                  coneixement
El programari lliure a les administracions locals
     7. Recursos per desenvolupar en PL

       Python                           Descripció                      Llic.   Enllaç

                    Web2py              Framework per a un              GPL     http://web2py.com
                                        àgil desenvolupament
                                        d’aplicacions web,
                                        dotant-les de velocitat,
                                        escalabilitat, seguretat i
                                        portabilitat.

                    Zope 3              Framework PL molt               ZPL     http://www.zope.org
                                        popular i potent que
                                        permet al programador
                                        desenvolupar aplicacions
                                        web, fent possible aplicar a
                                        les dades conceptes com
                                        persistència, integritat o
                                        control d’accés.
                    Django              Framework que se centra         BSD     http://www.djangoproject.com
                                        en automatitzar tot el que
                                        sigui possible. Es basa en el
                                        principi DRY.


     IDE, framework multillenguatge
     L’IDE (Integrated Development Environment - Entorn de Desenvolupament Integrat) és un entorn de
     desenvolupament multillenguatge orientat a facilitar tasques quotidianes dels programadors.

     Els més significatius són NetBeans i Eclipse, els quals han suposat una base per a la posterior aparició de nombrosos
     IDE arreu del món.

     Eclipse: És un «Entorn de Desenvolupament Integrat» de programari lliure multiplataforma per desenvolupar
     «Aplicacions de Client Enriquit», oposades a les «Aplicacions de Client Lleuger» basades en navegadors. Amb
     aquesta plataforma s’han desenvolupat aplicacions client tan conegudes com BitTorrent o Azureus. Així mateix, ha
     servit com a base per a la creació de nous IDE com el Java Development Toolkit (JDT), IDE de Java, o el compilador
     (ECJ), que s’entrega com a part d’Eclipse (i que s’utilitza també per desenvolupar el propi Eclipse).

     Eclipse va ser desenvolupat originàriament per IBM com a successor de la seva família d’eines per a VisualAge.
     Actualment, s’encarrega del seu desenvolupament la Fundació Eclipse, una organització independent sense ànim
     de lucre que fomenta una comunitat de programari lliure.

     Eclipse és també una comunitat d’usuaris que amplia constantment les àrees d’aplicació d’aquest IDE.
     Llicència: Llicència Pública d’Eclipse
     ([en anglès] http://www.eclipse.org)
     ([en castellà] http://es.wikipedia.org)

80
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                        7. Recursos per desenvolupar en PL

NetBeans: És un «Entorn de Desenvolupament Integrat», de programari lliure, multiplataforma i escrit en Java, per
desenvolupar aplicacions d’escriptori en qualsevol llenguatge de programació. És una eina per a programadors
pensada per escriure, compilar, depurar i executar programes. Aquesta plataforma permet que les aplicacions
siguin desenvolupades a partir de components de programari anomenats mòduls. Un mòdul és un arxiu Java
que conté classes de Java escrites per interactuar amb les API (Application Programming Interface - interfície de
programació de l’aplicació) de NetBeans. Les aplicacions construïdes a partir de mòduls es poden ampliar afegint
nous mòduls. Gràcies a aquests mòduls, les aplicacions basades en aquesta plataforma poden ser desenvolupades
de forma independent, permetent que siguin fàcilment ampliades per altres desenvolupadors.

Sun MicroSystems va fundar el projecte de programari lliure l’any 2000 i és el patrocinador principal dels seus
projectes. Amb reconeixement mundial, NetBeans compta amb una gran base d’usuaris, una comunitat en
creixement constant i gairebé 100 socis de tot el món.
Llicència: CDDL
([en anglès] http://www.netbeans.org)
([en castellà] http://es.wikipedia.org)

 Eclipse 3.2.1                                               NetBeans 6.1
 Llenguatge          Línies de codi       %                  Llenguatge          Línies de codi               %
 Java                1.911.693            99,66%             Java                1.974.732                   99,19%
 C                   133.263              6,46%              C++                 1.761                       0,09%
 C++                 10.082               0,49%              sh                  1.080                       0,05%
 sh                  2.066                0,10%              Perl                350                         0,02%
 Perl                1.468                0,07%              C                   20                          0,00%
 PHP                 896                  0,04%


Eines de construcció
Altres eines de construcció utilitzades en el desenvolupament de projectes són:

Make és una eina de generació o automatització de codi, molt usada en sistemes operatius Unix/Linux, que
serveix per a la creació de fitxers executables o programes i per a la seva instal·lació o neteja dels arxius temporals,
entre d’altres, seguint uns paràmetres inicials definits en el fitxer anomenat makefile.

Ant és una eina que ajuda en el procés de compilació de programes Java, generant el javadoc, netejant temporals
o guardant els fitxers .jar al seu lloc per a la seva execució.

Hudson és una eina d’integració contínua de programari lliure que s’encarrega de monitorar l’execució de tasques
repetides, com la creació de projectes o l’execució de tasques en un cron.



                                                                                                                                              81
                                                                                                                                  Guies
                                                                                                                                     per al
                                                                                                                      desenvolupament de
                                                                                                                            la societat del
                                                                                                                             coneixement
El programari lliure a les administracions locals
     7. Recursos per desenvolupar en PL

     7.2. - Funcionament de les comunitats de desenvolupadors
     Els projectes de programari lliure neixen, en la seva majoria, de les aportacions de desenvolupadors que en una
     primera instància dirigeixen el curs del projecte.

     De forma genèrica, s’enumeren els passos que segueix un projecte PL:

       · Arrancada d’un nou projecte PL.
       · En un temps i forma determinats per cada grup de desenvolupadors es genera un snapshot (fotografia) del
         projecte, donant lloc a una versió que en general és denominada beta.
       · El grup de provadors realitza comprovacions per avaluar l’estabilitat i funcionalitats d’aquesta versió. Un cop
         superades aquestes proves, es genera un paquet estable per a aquesta versió.
       · L’usuari final, que des de la perspectiva d’aquest document són les administracions locals, fa ús d’aquestes
         versions estables.
       · El grup de desenvolupadors amplia i millora l’aplicació traient noves versions a partir de les indicacions dels
         usuaris. És habitual acordar i fer públic un full de ruta, on es fan constar les millores que el grup es planteja en
         un horitzó a curt i a mitjà termini.

     Els desenvolupadors de codi utilitzen un model de treball paral·lel. En el desenvolupament d’un projecte cal
     manipular una gran quantitat d’arxius de text, que representen el codi font del projecte en qüestió.

     Atès que la coordinació manual dels canvis que es realitzen en aquests arxius és força complicada, ja que els
     generen múltiples desenvolupadors (en alguns casos milers), s’utilitzen eines que faciliten el treball en grup.
     Aquestes eines, en major o menor mesura, permeten la gestió de canvis i versions de cadascun dels arxius per a
     la totalitat de desenvolupadors. També organitzen els arxius en repositoris, on els desenvolupadors es connecten
     per actualitzar els arxius (tant els seus com els de la resta de l’equip de treball). Les eines PL més habituals per a la
     gestió de canvis són CVS, SVN i GIT. Els repositoris poden ser públics o privats, essent els repositoris públics més
     comuns SourceForge, FreshMeat i, darrerament, GoogleCode.

     Tant les versions beta com les finals dels projectes PL es distribueixen normalment en els anomenats tarball, que
     és el nom col·loquial per als arxius generats amb la comanda tar. Aquests arxius solen estar, tanmateix, comprimits
     usualment amb les comandes gzip i bzip2 perquè els projectes ocupin menys espai. Normalment s’utilitzen
     repositoris de tipus ftp o http per facilitar la descàrrega. En general, cada projecte utilitza el seu propi repositori,
     però també hi ha repositoris públics com Tucows i Download.com.

     Quan un projecte té èxit suficient, es creen al seu darrera una o diverses empreses. Aquestes es dediquen a millorar
     o certificar la qualitat del producte i a donar suport als usuaris que les contractin. En moltes ocasions, aquestes
     empreses tenen una gran influència en la forma que va assolint el projecte, amb aportacions directes o indirectes
     al desenvolupament. Un avantatge addicional d’aquest model és que en l’etapa de suport es poden detectar i
     solucionar problemes (bugs). Els canvis en el codi s’aprofiten per a la generació de la nova versió del projecte.




82
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                     7. Recursos per desenvolupar en PL

A la figura següent es mostra el diagrama complet dels rols dels diferents equips de treball que participen en un
projecte PL:


                                                          EMPRESA DE SERVEIS PL

                                              Snapshot                       Prova                  Certificaci—
                                                                                       Versi—                              Versi—
                                                                     Beta               Final                            Suportada
                                             Problemes
              Desenvolupament
                                                                                                              Suport


                                                                                                          Patches (pedaos)
                                                                      COMUNITAT

   Figura 9: Diagrama dels rols de participació en un projecte PL.


Distribucions
Les distribucions GNU/Linux són un cas particular del model descrit fins ara. En aquest cas, la funció dels usuaris
de la comunitat, a l’etapa de desenvolupament, és agrupar els projectes o aplicacions que vulguin incorporar a la
distribució, generar binaris dels projectes per a les arquitectures previstes i provar el seu funcionament conjunt.
Els projectes solen integrar-se en paquets (amb diferents formats segons la distribució), els quals incorporen
mecanismes d’interdependència. Les distribucions empresarials incorporen el pas següent de certificació i suport.
En la següent figura es presenta el model de les distribucions:


                                                          EMPRESA DE SERVEIS PL

                                              Snapshot                       Prova                  Certificaci—
                                                                                       Versi—                              Versi—
                                                                     Beta               Final                            Suportada
                                             Problemes
                   PROJECTE
                  PROJECTE
                 PROJECTE                                                                                     Suport


                                                                                                          Patches (pedaos)
                                                                      COMUNITAT

   Figura 10: Diagrama dels rols de participació en una distribució Linux.




                                                                                                                                                       83
                                                                                                                                           Guies
                                                                                                                                              per al
                                                                                                                               desenvolupament de
                                                                                                                                     la societat del
                                                                                                                                      coneixement
El programari lliure a les administracions locals
     7. Recursos per desenvolupar en PL

     Les distribucions utilitzen un tipus especial d’arxiu per a la gestió de paquets de programari, el qual conté tot
     allò necessari per a l’ús d’aquest paquet, informació del propi paquet, programes que ajuden en la instal·lació
     i desinstal·lació i informació addicional que pugui necessitar el gestor de paquets. Els gestors de paquets més
     comuns són rpm i apt. Normalment cada distribució té el seu repositori per a descàrrega de paquets, que poden
     ser del tipus ftp, http o, en alguns casos, poden utilitzar altres protocols més específics i que depenen de la
     distribució, com yum.

     Les distribucions normalment permeten la descàrrega completa dels mitjans d’instal·lació, els quals contenen
     un programa instal·lador i els paquets de programari. Els arxius més utilitzats són del tipus iso, que representen
     imatges de CD o DVD que, un cop descarregades, cal gravar en el medi corresponent.

     Els repositoris més comuns per a aquests arxius solen ser del tipus http o ftp de la mateixa distribució, tot i que
     també es poden utilitzar mètodes de descàrrega p2p com Torrent o eDonkey.

     El procés de descàrrega des dels repositoris pot ser llarg i costós si no es disposa d’una bona connexió a Internet.
     Per facilitar la descàrrega hi ha uns repositoris distribuïts geogràficament per tot el món, anomenats mirrors
     (miralls), que reflecteixen el contingut dels repositoris originals. L’avantatge d’ús dels mirrors és que s’allibera el
     repositori original i que, si s’escull un repositori més proper a l’usuari que l’original, en general s’assoleixen velocitats
     superiors de descàrrega. Els mirrors solen estar en Universitats o institucions similars, essent les més conegudes
     RedIRIS o Unizar. Existeix un últim tipus de repositori, el qual podria ser considerat com un metarepositori, utilitzat
     per a la recerca de paquets o arxius. Els més significatius són RPMFind i RPMSeek.




84
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
PART IV
Recursos PL
8         Recursos lliures
                          disponibles

                          8.1. - Arquitectura general dels Sistemes Informàtics
                                 municipals. Serveis Interns
                          Són moltes les publicacions que presenten requisits i necessitats informàtiques
                          actuals i que ofereixen llistats i descripcions de les solucions de programari lliure
                          més convenients. Entre altres exemples, volem fer esment a la guia de PL que
                          Localret va publicar l’any 2006.

                                                                   Serveis d’aplicacions corporatives

                           Eines col·laboratives         Navegador               Ofimàtica              Client correu
                                                                                                                                 Desenv.
                              Gestió        Seguretat            BBDD        Servidor        Servidor de      Gestor de       d’aplicacions
                             d’usuaris                                         web             Correu        Continguts

                                                                          Sistema Operatiu

                                                                            Virtualització

                          Figura 11: Esquema funcional presentat a la guia de PL publicada per Localret l’any 2006.


                          El CENATIC ha fet un pas més, enfocant el tema des de la perspectiva de la
                          LAECSP, Llei 11/2007, i presentant una descripció de les principals funcionalitats
                          i característiques dels diferents elements que composen l’estructura de
                          l’administració electrònica, així com un inventari de solucions PL i la seva valoració.
                          (http://www.cenatic.es/laecsp)

                              Usuaris               Altres AP             Ciutadans                Empreses             Treballadors públics

                              Canals                Telèfon                  Web                   Presencial              Altres: TDT, ...

                                                       Seu                Gestor de               Identificació             Notificació
                            Front office
                                                   electrònica            formularis               electrònica              electrònica

                                                                                  Registre electrònic

                                                                               Passarel·la de pagament

                            Back office                                          Gestor d’expedients

                                                                                    Arxiu electrònic

                                                                            Plataforma d'interoperabilitat

                          Figura12: Model d’administració electrònica presentat a la guia del CENATIC sobre la LAECSP.

86
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
Aquesta publicació fa un seguiment dels serveis d’aplicacions corporatives de l’administració local
que no es veuen afectades, en la seva majoria, per la LAECSP, complementant d’aquesta manera el
document del CENATIC i entregues anteriors realitzades per Localret.

                                                    Guia CENATIC – LAESCP          Present guia Localret

                                                          Seu electrònica

                                                       Gestor de formularis
          Front office
                                                     Identificació electrònica

                                                      Notificació electrònica
                                                                                    Serveis d’aplicacions
                                                        Registre electrònic
                                                                                        corporatives
                                                     Passarel·la de pagament

          Back office                                  Gestor d’expedients

                                                          Arxiu electrònic

                                                  Plataforma d'interoperabilitat

Figura 13: Front office i Back office de l’administració electrònica.




                                                                                                                                    87
                                                                                                                        Guies
                                                                                                                           per al
                                                                                                            desenvolupament de
                                                                                                                  la societat del
                                                                                                                   coneixement
El programari lliure a les administracions locals
     8. Recursos lliures disponibles

     Per a aquesta publicació hem cregut oportú classificar les aplicacions corporatives que poden ser útils a una
     administració local segons el llistat que mostrem a continuació. Al costat de cada categoria indiquem el punt
     concret de l’apartat 8.2 on s’enumeren aplicacions lliures disponibles.

          1. Comptabilitat, gestió del pressupost, tresoreria i tributs        8.2.2

          2. Perfil del contractant i factura electrònica                      8.2.3

          3. Gestió del patrimoni i inventari de béns                          8.2.4

          4. Padró d’habitants i cens electoral                                8.2.5

          5. Atenció ciutadana                                                 8.2.6

          6. Gestió de serveis diversos                                        8.2.7

               a)  Gestió de la via pública
               b)  Gestió d’obres
               c)  Cementiris
               d)  Espais i recursos de l’ajuntament a disposició dels ciutadans
                   (sales, projectors i pantalles, poliesportius, etc.)
               e) Recollida d’escombraries
               f ) Altres serveis

          7. Registres diversos                                                8.2.8

               a)   Registre Civil
               b)   Policia local
               c)   Bombers i emergències
               d)   Gossos perillosos

          8. Altres                                                            8.2.9


     Hi hauria d’haver un altre apartat dedicat al planejament del territori i eines GIS, però no l’hem inclòs aquí perquè
     hem considerat que hauria de ser objecte d’una guia més específica.

     És recomanable, també, repassar l’annex de la guia Adaptació a la LAECSP, de Localret, per veure les aplicacions de
     l’AOC i el CATCert disponibles per a les administracions locals.




88
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                             8. Recursos lliures disponibles

També hi ha nombrosos repositoris PL que ofereixen eines per abordar aquests serveis de forma telemàtica. Cal
destacar el repositori europeu OSOR:

         http://www.osor.eu/

OSOR permet l’accessibilitat a nombrosos repositoris disgregats dels diferents països de la Unió Europea, entre els
que destaquem els d’algunes comunitats autònomes:

       http://www.lafarga.cat
       http://forja.guadalinex.org/repositorio/
       https://forxa.mancomun.org/softwaremap/

No són objecte d’aquesta guia les solucions ofertes a través de serveis web que presenten algunes empreses.

Les solucions aquí enumerades són accessibles a través de diferents repositoris (veure els enllaços de cada
solució), oferint una descàrrega directa o, en alguns casos, requerint d’una inscripció per sol·licitar el programa.

Algunes de les aplicacions, obtingudes de forges internacionals, poden no estar en català ni en castellà. Hem
cregut interessant incloure-les de totes formes, perquè, si la funcionalitat s’adapta molt bé a les necessitats d’un
ajuntament, pot ser menys costós traduir l’aplicació que desenvolupar-la a partir d’altres projectes de funcionalitat
més allunyada o a partir de zero.




                                                                                                                                         89
                                                                                                                             Guies
                                                                                                                                per al
                                                                                                                 desenvolupament de
                                                                                                                       la societat del
                                                                                                                        coneixement
El programari lliure a les administracions locals
     8. Recursos lliures disponibles

     8.2. - Programari disponible
     8.2.1. - Eines integrals per a l’administració local
     @Mairie
     Aplicació per a la gestió integral dels serveis d’un ajuntament composta pels següents mòduls:
     - Comptabilitat
     - Planificació i facturació
     - Gestió de recursos (sales i materials)

     Programació: PHP
     Plataforma: Multiplataforma
     Llicència: CeCiLL V2
     (http://adullact.net/projects/amairie/)

     ERP5 Serveis Tècnics
     Eina per a la gestió integral dels serveis d’un ajuntament formada pels mòduls següents:
     - Gestió del patrimoni
     - Relació amb el ciutadà
     - Compres i existències
     - Intervencions
     - Gestió dels recursos humans

     Programació: JavaScript, Pyton, Zope
     Plataforma: Multiplataforma
     Llicència: GPL
     (http://adullact.net/projects/erp5-st/)




90
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                    8. Recursos lliures disponibles

Openlocal: sistema PL de gestió municipal
Aplicació centralitzada de gestió municipal de programari lliure integrada pels següents mòduls:
- Comptabilitat
- Padró municipal d’habitants
- Gestió d’ingressos i recaptació
- Nòmina i Seguretat Social
- Registre d’entrada i sortida
- Gestió de secretaria
- Gestió de via pública
- Inventari i patrimoni

Impulsor: Diputació Provincial de Jaén
Programació: Java
Base de Dades: PostgreSQL, Oracle, MySQL, SQL Server, Ingres, MS Access
Plataforma: Multiplataforma
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=208)

gisEIEL
gisEIEL és una eina SIG, desenvolupada sobre gvSIG i adaptada per administrar equipaments i infraestructures
municipals. Està en constant evolució amb nous mòduls que permeten la planificació del territori, el pagament
d’impostos o l’inventari municipal.

Programació: Java
Base de Dades: PostgreSQL
Plataforma: GNU/Linux, Windows
Llicència: GPL
(http://www.osor.eu/projects/giseiel)

SAGA
Sistema per a l’administració pública.

Impulsor: OMII-UK
Programació: PHP
Base de Dades: MySQL, PostgreSQL
Plataforma: GNU/Linux
Llicència: GPL
(http://saga.sourceforge.net )
(http://saga.cct.lsu.edu)




                                                                                                                                                91
                                                                                                                                    Guies
                                                                                                                                       per al
                                                                                                                        desenvolupament de
                                                                                                                              la societat del
                                                                                                                               coneixement
El programari lliure a les administracions locals
     8. Recursos lliures disponibles

     8.2.2. - Comptabilitat, gestió del pressupost, tresoreria i tributs
     Openlocal: Sistema PL de gestió municipal (descripció a la pàgina 91)

     @Mairie: Aplicació integral de gestió municipal (descripció a la pàgina 90)

     Gabel@. Sistema de gestió d’expedients tributaris
     Sistema de gestió d’expedients que ofereix als contribuents la consulta de la seva informació via Internet. Així
     mateix, integra la signatura electrònica en la totalitat dels documents produïts pel sistema o utilitzats mitjançant
     digitalització i compulsa electrònica.

     Impulsor: Ajuntament de Sevilla
     Programació: JavaScript, HTML, JSP i Java amb motor TREW@
     Llicència: EUPL
     (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=148)

     Sistema integrat d’informació tributària i recaptació (ALBA)
     Sistema de gestió tributària i de recaptació que inclou totes les eines d’administració electrònica necessàries.

     Impulsor: Ajuntament de Sevilla
     Programació: Java
     Base de Dades: -
     Plataforma: Multiplataforma
     Llicència: EUPL
     (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=147)

     Sistema d’Hisenda Local per a Ajuntaments
     Sistema de gestió censal d’impostos, taxes i preus públics municipals amb les següents funcionalitats: Sistema
     multientitat, administració del sistema, gestió de tercers o contribuents, gestió d’objectes tributaris, de tarifes
     i fets tributaris, cens i empadronament, enviament a recaptació de padrons de cobrament periòdic, gestió de
     liquidació de taxes i impostos no periòdics.

     Impulsor: Diputació Provincial d’Almeria
     Programació: JavaScript, HTML, JSP, XML
     Base de Dades: PostgreSQL, Oracle
     Plataforma: Multiplataforma
     Llicència: EUPL
     (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=46)




92
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                     8. Recursos lliures disponibles

Opencataloge
Aplicació per a la gestió pressupostària.

Programació: JavaScript, PHP
Base de Dades: -
Plataforma: Multiplataforma
Llicència: GPL
(http://adullact.net/projects/opencatalogue/)

G8-SIEF: Gestió del Pressupost
Aplicació per al Servei del Pressupost de la Junta d’Andalusia que té com a finalitat facilitar als centres gestors del
pressupost la informació sobre els crèdits assignats i les seves modificacions, així com millorar la comunicació
entre la Sotsdirecció de Pressupostos i els centres.

Impulsor: Servei Andalús de la Salut
Programació: PL/SQL
Base de Dades: Oracle
Plataforma: Windows
(http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=541)

Matteo Collectivités
Eina de comptabilitat per a gestió de pressupostos, ingressos, despeses i relacions amb les administracions fiscals
i reglamentàries.

Impulsor: -
Programació: C++, JavaScript, PHP
Base de Dades: -
Plataforma: GNU/Linux, Windows, MacOS
Llicència: CeCILL
(http://adullact.net/projects/matteo)

OpenCadastre
Eina per a l’administració de fitxers del cadastre i d’impostos locals mitjançant scripts parametritzables per
l’administració local.

Programació: JavaScript, PHP
Plataforma: Multiplataforma
Llicència: GPL
(http://adullact.net/projects/opencadastre/)




                                                                                                                                                 93
                                                                                                                                     Guies
                                                                                                                                        per al
                                                                                                                         desenvolupament de
                                                                                                                               la societat del
                                                                                                                                coneixement
El programari lliure a les administracions locals
     8. Recursos lliures disponibles

     Sistema Unificat de Recursos (SUR):
     El Sistema Unificat de Recursos (SUR) s’encarrega de la gestió, liquidació i recaptació dels impostos propis o cedits
     de la Comunitat Autònoma d’Andalusia.

     Impulsor: Conselleria d’Economia i Hisenda de la Junta d’Andalusia
     Programació: PL/SQL
     Base de Dades: Oracle
     Plataforma: Solaris
     (http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=16)

     Gestió conjunta de secretaria i intervenció de petits municipis
     Aplicació de gestió interna per a la realització de tasques de secretaria i intervenció d’entitats locals, de forma
     electrònica, permetent compartir aquests treballs entre diferents entitats.

     Impulsor: Ajuntament de Castaño del Robledo (Huelva)
     Programació: PHP
     Base de Dades: MySQL
     Llicència: EUPL
     (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=178)

     GnuCash
     GnuCash és una solució PL per a la gestió financera de petites empreses adaptable a les administracions locals,
     sota llicència GPL i disponible en GNU/Linux, BSD, Solaris, Mac OS X i Microsoft Windows.

     Impulsor: GnuCash
     Programació: C
     Base de Dades: PostgreSQL
     Plataforma: Multiplataforma
     Llicència: GPL
     (http://www.gnucash.org/es)

     Open ERP
     Open ERP és un complet sistema de gestió empresarial (ERP) que cobreix les necessitats de les àrees de
     comptabilitat, vendes, compres, magatzem i inventariat o factura electrònica.

     Impulsor: Tiny, Sprl
     Programació: Python, XML
     Base de Dades: PostgreSQL
     Plataforma: GNU/Linux i Windows
     Llicència: GPL i OPL
     (http://www.openerp.com )




94
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                     8. Recursos lliures disponibles

Openbravo ERP
Openbravo ERP és un sistema ERP PL ideal per a la gestió de petites i mitjanes empreses. Alguns municipis han
adaptat i utilitzat el programa per a la gestió municipal.

Impulsor: Openbravo S.L
Programació: Java, JavaScript, SQL, PL/SQL, XML, HTML
Base de Dades: PostgreSQL, Oracle
Plataforma: Multiplataforma
Llicència: OBPL
(http://www.openbravo.com)


8.2.3. - Perfil del contractant i factura electrònica
Openlocal: sistema PL de gestió municipal (descripció a la pàgina 91)

Plataforma de Pagament
Plataforma de pagament de la Junta d’Andalusia.

Impulsor: Conselleria d’Economia i Hisenda de la Junta d’Andalusia
Programació: Java
Base de Dades: Oracle
Plataforma: Solaris
(http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=488)

G3 – Plataforma de Contractació de la Junta d’Andalusia
La Plataforma de Contractació es configura com un punt d’entrada únic a la informació de contractació de la
Junta d’Andalusia.

Impulsor: Conselleria d’Economia i Hisenda de la Junta d’Andalusia
Programació: Java
Llicència: EUPL
(http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=680)

G3 – Plataforma de Licitació de la Junta d’Andalusia
La Plataforma de Licitació de la Junta d’Andalusia permet tràmits electrònics per a la licitació electrònica, oferint
els cabals telemàtics necessaris per realitzar la facturació electrònica o la publicació de documents.

Impulsor: Conselleria d’Economia i Hisenda de la Junta d’Andalusia
Programació: Java
Base de Dades: Oracle
Llicència: EUPL
(http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=717)



                                                                                                                                                 95
                                                                                                                                     Guies
                                                                                                                                        per al
                                                                                                                         desenvolupament de
                                                                                                                               la societat del
                                                                                                                                coneixement
El programari lliure a les administracions locals
     8. Recursos lliures disponibles

     G3 – Gestió d’Expedients de despesa
     Aplicació per a la gestió global de la despesa de la Junta d’Andalusia. Té els mòduls següents: Gestió de publicacions,
     Gestió d’expedients de despesa, Gestió de taules de contractació, Gestió de fons europeus, Licitació electrònica i
     Seguiment de la despesa (DSS).

     Impulsor: Conselleria d’Economia i Hisenda de la Junta d’Andalusia
     Programació: Java
     Base de Dades: Oracle
     Llicència: EUPL
     (http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=666)

     Plataforma LocalTIC
     Plataforma per a la gestió d’ajuntaments, oferint serveis d’administració electrònica.

     Impulsor: Telefónica Soluciones
     Programació: Java
     Plataforma: Multiplataforma
     Llicència: GPL
     (http://forge.morfeo-project.org/projects/localtic/)

     e-factura
     Components per a la generació de certificats fiscals digitals per a la legislació mexicana.

     Programació: XML
     Plataforma: GNU/Linux
     Llicència: LGPL
     (http://sourceforge.net/projects/e-factura)

     PISTAlocal+
     Plataforma de governament electrònic per a municipis petits i mitjans, amb integració de DNI electrònic i signatura
     electrònica, que ofereix serveis de teletramitació i d’administració electrònica a ciutadans i empreses.

     Impulsor: PistaLocal+
     Programació: PHP
     Llicència: GPL
     (http://pistalocalplus.sourceforge.net <http://pistalocalplus.sourceforge.net/> )




96
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                    8. Recursos lliures disponibles

Plataforma de Licitació Electrònica
Plataforma que possibilita a l’ajuntament la configuració de concursos i tota la seva tramitació fins a l’adjudicació final.

Impulsor: Ajuntament de Las Gavias (Granada)
Programació: Java
Base de Dades: MySQL
Plataforma: GNU/Linux
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=66)

Gestió d’Expedients de Contractacions en el Sector Públic
Solució adaptada a la Llei 30/2007 de CSP que permet la gestió completa de tot tipus d’expedients (subministraments,
serveis i obres) i modalitats (concurs, subhasta, negociat, proveïdor únic o menors), tractament d’incidències
associades a contractes (pròrrogues i cessions, modificacions i resolucions) i gestió del perfil del contractant.

Impulsor: Mancomunitat de Municipis de la Badia de Cadis
Programació: Java
Base de Dades: PostgreSQL
Plataforma: Multiplataforma
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=61)

Gestió de contractacions i compres
Sistema d’informació per a la gestió i control dels procediments existents en la contractació pública.

Impulsor: Diputació Provincial de Màlaga
Programació: J2EE (JEE)
Plataforma: Multiplataforma
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=190)




                                                                                                                                                97
                                                                                                                                    Guies
                                                                                                                                       per al
                                                                                                                        desenvolupament de
                                                                                                                              la societat del
                                                                                                                               coneixement
El programari lliure a les administracions locals
     8. Recursos lliures disponibles

     8.2.4. - Gestió del patrimoni i inventari de béns
     Openlocal: Sistema PL de gestió municipal (descripció a la pàgina 91)

     ERP5 Serveis Tècnics: Gestió integral dels serveis d’un ajuntament (descripció a la pàgina 90)

     Inventari de béns municipals
     Plataforma composta per diversos sistemes que gestionen el patrimoni municipal i el patrimoni històric, oferint
     un servei integral de tot el patrimoni d’un ajuntament.

     Impulsor: Ajuntament d’Úbeda (Jaén)
     Programació: JavaScript, Java, JFS
     Base de Dades: PostgreSQL
     Plataforma: GNU/Linux
     Llicència: EUPL
     (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=211)

     Sistema d’Inventari de béns i drets municipals
     Aplicació que realitza la gestió dels béns de les entitats locals.

     Impulsor: Diverses agrupacions
     Programació: Ruby
     Base de Dades: PostgreSQL
     Plataforma: Multiplataforma
     Llicència: EUPL
     (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=112)


     8.2.5. - Padró d’habitants i cens electoral
     Openlocal: Sistema PL de gestió municipal (descripció a la pàgina 91)

     Sistema d’Hisenda Local per a Ajuntaments (descripció a la pàgina 92)

     CIVTAT
     Aplicació per gestionar el padró municipal, amb una arquitectura web d’alt rendiment i basada exclusivament
     en estàndards. Es troba en una primera fase que permet la consulta de dades bàsiques dels habitants d’un padró
     municipal.

     Impulsor: Ajuntament de Manresa
     Programació: Python i XML
     (http://civtat.lafarga.cpl.upc.edu/)




98
     Guies
     per al
     desenvolupament de
     la societat del
     coneixement
El programari lliure a les administracions locals
                                                                                    8. Recursos lliures disponibles

8.2.6. - Atenció Ciutadana
ERP5 Serveis Tècnics: Gestió integral dels serveis d’un ajuntament (descripció a la pàgina 90)

e-Ajuntament
Portal per a la informació i la relació amb els ciutadans, format per un conjunt d’aplicacions adaptades per als
ajuntaments.

Programació: Java, PHP, Zope
Plataforma: Multiplataforma
Llicència: GPL
(http://adullact.net/projects/emaire/)

Portal d’Atenció Ciutadana Telemàtica
Conjunt de serveis en línia per a la realització de procediments administratius del ciutadà.

Impulsor: Ajuntament de Berja (Almeria)
Programació: JavaScript, XML, HTML
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=119)

Ypok GRC
Eina per al seguiment i el tractament de les interaccions entre el ciutadà i l’administració local.

Programació: Java, JavaScript
Plataforma: GNU/Linux, Windows
Llicència: GPL
(http://adullact.net/projects/ypok-grc/)

Tràmits On-Line
Sistema web que permet la tramitació electrònica entre el ciutadà i l’administració local.

Impulsor: Ajuntament de Ronda (Màlaga)
Programació: JavaScript, Java, JFS
Base de Dades: PostgreSQL
Plataforma: GNU/Linux
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=202)




                                                                                                                                                99
                                                                                                                                    Guies
                                                                                                                                       per al
                                                                                                                        desenvolupament de
                                                                                                                              la societat del
                                                                                                                               coneixement
El programari lliure a les administracions locals
      8. Recursos lliures disponibles

      Allô Mairie
      Eina per a la gestió de trucades dels ciutadans per informar d’anomalies detectades (neteja, servei de vies i obres,
      espais verds o enllumenat), les assistències (avis o infants), les gestions administratives i els esdeveniments de la ciutat.

      Impulsor: Ajuntament de Marsella (França)
      Programació: Java, JavaScript, PL/SQL
      Plataforma: Windows NT/2000
      Llicència: CeCiLL V2
      (http://adullact.net/projects/allomairie/)

      SIBYLLE
      Aplicació per a la gestió d’enquestes: redacció de les qüestions, administració, gestió d’ús i parametrització de
      resultats.

      Programació: PHP
      Plataforma: Windows
      Llicència: GNU
      (http://adullact.net/projects/sibylle/)

      Portal i finestreta municipal
      Portal web amb serveis públics municipals a ciutadans i Portal del Treballador Públic, gestionats mitjançant una
      plataforma tecnològica integral ubicada a la intranet de la entitat.

      Impulsor: Ajuntament de Roquetas de Mar (Almeria)
      Programació: JSP, Java
      Base de Dades: PostgreSQL, Oracle
      Plataforma: Multiplataforma
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=40)




100
      Guies
      per al
      desenvolupament de
      la societat del
      coneixement
El programari lliure a les administracions locals
                                                                                    8. Recursos lliures disponibles

8.2.7. - Gestió de serveis diversos
Openlocal: Sistema PL de gestió municipal (descripció a la pàgina 91)

@Mairie: Aplicació integral de gestió municipal (descripció a la pàgina 90)

phpScheduleIt
phpScheduleIt és una aplicació web per gestionar i administrar l’ús de recursos comuns. Proporciona un calendari
per reservar el recursos segons un sistema de permisos, així com eines per administrar les reserves. Aplicacions
típiques són sales de conferència, equipament o horaris de treball.

Impulsor: Universitat de Chicago
Programació: PHP
Base de Dades: MySQL (recomanat), PostgreSQL, Oracle i SQLite.
Plataforma: Multiplataforma
Llicència: GPL
(http://www.php.brickhost.com/faq.php)

Plataforma de gestió interna de recursos municipals i patrimoni
Solucions de via pública, instal·lacions esportives, cementiris i patrimoni, tant per als ciutadans com per als
empleats públics, integrades amb els sistemes bàsics ja implantats.

Impulsor: Diputació Provincial de Jaén
Programació: Java
Base de Dades: Oracle, SQL Server, DB2, mySQL, postgreSQL, Ingres i Sybase.
Plataforma: Multiplataforma
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=77)

Central de reserva de serveis municipals
Eina per a la reserva de recursos municipals enfocada a optimitzar el seu ús des de la perspectiva del ciutadà,
aportant una sèrie d’avantatges d’explotació per a una millor racionalització en l’oferta, així com l’ús unificat de
plataformes com la d’acreditació, notificacions o pagaments TPV.

Impulsor: Ajuntament de Còrdova
Programació: JavaScript, Java, HTML, XML
Base de Dades: PostgreSQL, Oracle
Plataforma: GNU/Linux
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=80)




                                                                                                                                                101
                                                                                                                                    Guies
                                                                                                                                       per al
                                                                                                                        desenvolupament de
                                                                                                                              la societat del
                                                                                                                               coneixement
El programari lliure a les administracions locals
      8. Recursos lliures disponibles

      Sistema de tramitació electrònica per a la gestió, reserva i pagament de recursos municipals
      Sistema que permet l’administració interna de tots els recursos municipals (teatre, cine, cursos i jornades,
      activitats, equipaments o pistes esportives) de diferents localitats d’un mateix municipi, centralitzant-los en una
      única aplicació via web.

      Impulsor: Ajuntament de Vélez-Málaga (Màlaga)
      Programació: PHP, Perl
      Base de Dades: MySQL
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=187)



      a) Gestió de la via pública

      Gestió d’incidències i d’inventari a la via pública
      Eina per a la gestió d’incidències a la via pública i per a la intercomunicació entre els diferents actors en la resolució
      i documentació del mobiliari i infraestructures municipals.

      Impulsor: Ajuntament de La Rinconada (Sevilla)
      Programació: PHP, Java
      Base de Dades: MySQL
      Plataforma: -
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=141)

      Sistema de gestió d’avisos i reclamacions a la via pública
      Aplicació multicanal per gestionar peticions de serveis, avisos, incidències i reclamacions dels ciutadans (i dels
      funcionaris, a través de la intranet municipal), permetent realitzar el seu seguiment i recepció de la resposta.

      Impulsor: Ajuntament d’Antequera (Màlaga)
      Programació: Java
      Base de Dades: PostgreSQL
      Plataforma: Multiplataforma
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=173)




102
      Guies
      per al
      desenvolupament de
      la societat del
      coneixement
El programari lliure a les administracions locals
                                                                                    8. Recursos lliures disponibles

Gestió d’incidències a la via pública
Funcionalitat nova al portal del ciutadà i a l’oficina d’atenció ciutadana que permet als habitants del municipi
posar en coneixement dels serveis municipals elements malmesos, tant del mobiliari com de la via pública.

Impulsor: Ajuntament d’Alcalà de Guadaíra (Sevilla)
Programació: Java
Base de Dades: PostgreSQL
Plataforma: GNU/Linux
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=168)



b) Gestió d’obres

Gestió d’expedients d’urbanisme
Gestió completa d’expedients de llicències d’obra menor, obra major (nova planta, ampliació o reforma), instal·lació
de grues, enderrocs, primera ocupació i finalització d’obra.

Impulsor: Ajuntament de Puerto Real (Cadis)
Programació: Java
Base de Dades: PostgreSQL
Plataforma: Multiplataforma
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=185)

Openfoncier
Sistema per a la gestió integral d’expedients i llicències d’obra (construcció, enderroc, reforma o certificats, entre
altres exemples).

Programació: JavaScript, PHP
Plataforma: Multiplataforma
Llicència: GPL
(http://adullact.net/projects/openfoncier/)

Sistema de gestió d’expedients d’obra
Sistema per a la gestió del cicle complet de la tramitació d’expedients d’obres.

Impulsor: Ajuntament d’Antequera (Màlaga)
Programació: Java, XML amb component W@nda
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=172)




                                                                                                                                                103
                                                                                                                                    Guies
                                                                                                                                       per al
                                                                                                                        desenvolupament de
                                                                                                                              la societat del
                                                                                                                               coneixement
El programari lliure a les administracions locals
      8. Recursos lliures disponibles

      Gestor d’expedients per a llicències d’obres
      Sistema web de gestió d’expedients de llicència per tramitar tot tipus de llicència urbanística que arrenqui un
      procediment administratiu.

      Impulsor: Ajuntament d’Úbeda (Jaén)
      Programació: JavaScript, JFS
      Base de Dades: PostgreSQL
      Plataforma: GNU/Linux
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=31)

      Planificació y contractació d’obres. Contractació electrònica
      Sistema de gestió per a la planificació, contractació i seguiment de l’execució d’obres sol·licitades prèviament per
      les diferents entitats locals.

      Impulsor: Diputació Provincial de Còrdova
      Programació: PHP i Java
      Base de Dades: MySQL
      Plataforma: Multiplataforma
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=162)



      c) Gestió de cementiris

      openCementerio
      Eina per a l’administració de cementiris.

      Programació: JavaScript, PHP
      Plataforma: Multiplataforma
      Llicència: GPL
      (http://adullact.net/projects/opencementerio/)

      Gestió de cementiris
      Aplicació per a la gestió organitzativa, administrativa i comunicació de dades de cementiris.

      Impulsor: Diputació Provincial de Còrdova
      Programació: Java
      Base de Dades: Oracle, MySQL.
      Plataforma: Multiplataforma
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=160)



104
      Guies
      per al
      desenvolupament de
      la societat del
      coneixement
El programari lliure a les administracions locals
                                                                                    8. Recursos lliures disponibles

d) Espais i recursos de l’ajuntament a disposició dels ciutadans (sales, projectors i pantalles, poliesportius, etc)

Gestió d’instal·lacions esportives
Sistema per a la gestió automatitzada de les tasques pròpies de les instal·lacions esportives.

Impulsor: Ajuntament de San Juan de Aznalfarache (Sevilla)
Programació: JSP i Java
Base de Dades: PostgreSQL, Oracle
Plataforma: Multiplataforma
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=43)

GRR: Gestió i reserva de recursos
Sistema per a la gestió i reserva de recursos que permet una administració depurada dels entorns de què es
disposa i dels recursos que conté cadascun d’aquests entorns.

Programació: PHP
Base de Dades: MySQL
Plataforma: GNU/Linux, Windows
Llicència: GPL
(http://adullact.net/projects/grr/)
(http://grr.mutualibre.org)

Gestió Integral de centres esportius municipals
Eina que ofereix un suport homogeni i integral de la gestió dels centres esportius municipals, amb la possibilitat
d’accedir als serveis mitjançant Internet.

Impulsor: Ajuntament de Mijas (Màlaga)
Programació: JSP i Java
Base de Dades: PostgreSQL
Plataforma: Multiplataforma
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=184)

Gestió de fires i mercats
Eina per a la gestió de fires i mercats. Entre altres solucions, permet el seguiment dels comerciants que hi participen,
les reserves realitzades i la col·locació sobre l’espai de la fira.

Programació: PHP
Plataforma: GNU/Linux, Windows
Llicència: CeCiLL V2
(http://adullact.net/projects/foiresmarches/)



                                                                                                                                                105
                                                                                                                                    Guies
                                                                                                                                       per al
                                                                                                                        desenvolupament de
                                                                                                                              la societat del
                                                                                                                               coneixement
El programari lliure a les administracions locals
      8. Recursos lliures disponibles

      e) Recollida d’escombraries

      phpScheduleIt (descripció a la pàgina 101)


      f) Altres serveis

      Gestió de residències per a la tercera edat
      Eina per a la gestió i el control del flux d’entrada, sortida i llistes d’espera de residències per a la tercera edat.

      Programació: PHP
      Base de Dades: MySQL
      Plataforma: Multiplataforma
      Llicència: CeCiLL V2
      (http://adullact.net/projects/fluxmdr/)

      openAdmin
      Eina per a la gestió d’escoles.

      Programació: Perl, HTML
      Base de Dades: PostgreSQL, MySQL
      Plataforma: GNU/Linux, Windows
      Llicència: GPL
      (http://richtech.ca/openadmin)

      openAdmin
      Eina per a la gestió d’habitatge social protegit.

      Programació: JavaScript, PHP
      Plataforma: GNU/Linux, Windows
      Llicència: GPL
      (http://adullact.net/projects/openlogement/)

      BicingMobile
      Programari pensat per fer servir en un telèfon mòbil amb suport J2ME i connexió a Internet, que permet consultar,
      en temps real, la disponibilitat de bicicletes del servei municipal Bicing.

      Programació: Java
      Plataforma: Multiplataforma
      Llicència: GPL
      (http://projectes.lafarga.cat/projects/bicingmobile)




106
      Guies
      per al
      desenvolupament de
      la societat del
      coneixement
El programari lliure a les administracions locals
                                                                                     8. Recursos lliures disponibles

8.2.8. - Registres diversos
a) Registre Civil

Registre Civil telemàtic
Sistema de gestió integral del Registre Civil, permetent tots els tràmits.

Impulsor: Ajuntament de Dos Torres (Córdova)
Programació: HTML, PHP, XML
Base de Dades: Oracle, MySQL
Plataforma: GNU/Linux
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=83)

Biscoto
Aplicació per al cens de ciutadans.

Programació: PHP
Plataforma: Multiplataforma
Llicència: GPL
(http://adullact.net/projects/biscoto/)


b) Policia Local

Gestió Policia Local
Eina usada pels agents que contempla, entre altres, les funcionalitats següents: gestió de la plantilla de la policia,
gestió d’atestats i informes o altres (carrers tallats o control d’alcoholèmia).

Impulsor: Mancomunitat de Municipis del Baix Guadalquivir (Sevilla)
Programació: JSP i Java
Base de Dades: PostgreSQL
Plataforma: Multiplataforma
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=98)

REGPOL Registre de Policies Locals i Vigilants Municipals
Es tracta d’una aplicació de tres capes desenvolupada en Oracle Developer que proporciona una interface web
per al Registre de Policies Locals i Vigilants Municipals.

Impulsor: Conselleria de Governació de la Junta d’Andalusia
Programació: PL/SQL
Base de Dades: Oracle
Plataforma: Windows
(http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=417)




                                                                                                                                                 107
                                                                                                                                     Guies
                                                                                                                                        per al
                                                                                                                         desenvolupament de
                                                                                                                               la societat del
                                                                                                                                coneixement
El programari lliure a les administracions locals
      8. Recursos lliures disponibles

      Gestió de Policia Local i Multes
      Solució integral a la gestió de la Policia Local.

      Impulsor: Diputació Provincial de Màlaga
      Programació: J2EE (JEE)
      Plataforma: Multiplataforma
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=188)

      Intranet administrativa per a la Policia Local
      Plataforma homogènia de gestió administrativa per a les prefectures de la Policia Local. Està formada per diversos
      mòduls que permeten, entre altres, la gestió d’expedients, agents o llicències.

      Impulsor: Mancomunitat de Municipis Badia de Cadis (Cadis)
      Programació: Java
      Base de Dades: PostgreSQL
      Plataforma: Multiplataforma
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=209)


      c) Bombers i emergències

      Eina per a la gestió diària d’un parc de bombers
      Eina de back office per a la gestió diària d’un parc de bombers, per digitalitzar la gestió administrativa.

      Impulsor: Ajuntament de Motril (Granada)
      Programació: Java
      Base de Dades: MySQL, PostgreSQL
      Plataforma: Multiplataforma
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=151)

      Sistema Integral de Mobilització per a Emergències
      Projecte d’infraestructura (programari i maquinari) per a la mobilització del coneixement existent en un servei
      d’emergències (bombers). El projecte és extensible a qualsevol servei que necessiti establir un canal bidireccional
      de comunicació entre l’estació base i els recursos humans mòbils.

      Impulsor: Ajuntament de Baza (Granada)
      Programació: JavaScript, HTML, Ruby, Java
      Base de Dades: PostgreSQL
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=117)




108
      Guies
      per al
      desenvolupament de
      la societat del
      coneixement
El programari lliure a les administracions locals
                                                                                    8. Recursos lliures disponibles

Sistema d’enviament de SMS amb informació ciutadana
Eina que permet mantenir informat al ciutadà de forma fàcil i directa a través de l’enviament de SMS, correu o fax,
de tot allò que l’ajuntament consideri d’interès per al ciutadà o turista.

Impulsor: Mancomunitat de Municipis del baix Andarax (Almeria)
Programació: Java
Base de Dades: MySQL, Oracle
Plataforma: Multiplataforma
Llicència: EUPL
(http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=127)


d) Gossos perillosos

Openlocal: Sistema PL de gestió municipal (descripció a la pàgina 91)


8.2.9. - Altres
WebDelib
Aplicació web per a la gestió d’assemblees. Permet la preparació, gestió de sessions i deliberacions, seguint un
circuit de validacions d’iniciatives i projectes.

Programació: PHP
Base de Dades: MySQL
Plataforma: Multiplataforma
Llicència: CeCiLL V2
(http://adullact.net/projects/webdelib/)

Openelec
Aplicació per a la gestió de llistes electorals: targetes d’electors, maquetació, etiquetes de propaganda, llista
d’electors, llista anual de moviments, estadístiques o quadres de final d’any, entre altres exemples.

Programació: JavaScript, PHP
Base de Dades: PostgreSQL
Plataforma: GNU/Linux, Windows
Llicència: GPL
(http://adullact.net/projects/openelec/)

GEM-WEB
Aplicació per a la gestió energètica municipal en entorn web. L’objectiu és facilitar la gestió de la facturació
energètica i proporcionar eines d’anàlisi, simulació i supervisió.

La Farga no n’ofereix més dades.
(http://projectes.lafarga.cat/projects/gemweb)




                                                                                                                                                109
                                                                                                                                    Guies
                                                                                                                                       per al
                                                                                                                        desenvolupament de
                                                                                                                              la societat del
                                                                                                                               coneixement
El programari lliure a les administracions locals
      8. Recursos lliures disponibles

      Portal de turisme
      Portal específic per a gestionar els municipis com a destí turístic que permet habilitar una infraestructura per a la
      integració i distribució de serveis municipals als àmbits turístics, culturals i d’oci, desenvolupat en el marc del projecte
      Ciudades Digitales.

      Impulsor: Ajuntament de Roquetas de Mar (Almeria)
      Programació: Java
      Base de Dades: MySQL
      Plataforma: GNU/Linux
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=39)

      Quid
      Aplicació per a la consulta i recerca dels funcionaris per adreça i dels càrrecs electes per grup polític. Presenta una
      fitxa per agent o càrrec electe (nom, fotografia, funció, adreça, servei, telèfon, correu electrònic, localització i altres).

      Llicència: GPL
      (http://adullact.net/projects/quid/)

      Mobilitat en els Processos de Gestió Interna
      Solució que permet l’accessibilitat en qualsevol moment i des de qualsevol lloc als treballadors municipals,
      millorant els temps de serveis oferts al ciutadà.

      Impulsor: Ajuntament de Jun (Granada)
      Programació: HTML, Java, XML
      Plataforma: Multiplataforma
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=150)

      Openpresse
      Solució que permet als serveis de comunicació de l’administració local la publicació de revistes o butlletins de
      premsa a la xarxa interna.

      Programació: JavaScript, PHP
      Plataforma: Multiplataforma
      Llicència: GPL
      (http://adullact.net/projects/openpresse/)

      Sistema de gestió de recursos materials
      Eina per a un control eficaç dels recursos materials de l’ajuntament (gestió del magatzem, vehicle i maquinària,
      compres, avisos o estadístiques).

      Impulsor: Ajuntament d’Almonte (Huelva)
      Programació: Java
      Base de Dades: PostgreSQL
      Plataforma: GNU/Linux
      Llicència: EUPL
      (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=70)

110
      Guies
      per al
      desenvolupament de
      la societat del
      coneixement
Impulsem la societat del coneixement
al servei de tots els municipis
                                            c. Llacuna 162, 3a pl. 08018 Barcelona
                                       Telèfon: +34 93 486 14 30 Fax: +34 93 486 14 13
                                                       www.localret.cat

Programari Lliure (GUIA)

  • 1.
    Guies Per al desenvolupament dela societat del coneixement El programari lliure a les administracions locals
  • 3.
    Guies Peral desenvolupament de la societat del coneixement El programari lliure a les administracions locals
  • 4.
    El programari lliure a les administracions locals Edita: LOCALRET Disseny i maquetació: PQR, Comunicació Impressió: Gramagraf, S.C.C.R.L D. Legal: B.46571-2009 Desembre de 2009 Aquesta és una obra col·lectiva en la que han participat, de diverses formes i directa o indirectament, diverses personalitats i institucions. A totes elles volem agrair la seva col·laboració i, en especial, les aportacions realitzades per: Malcolm Bain, Francisco de Assis Costa Silva, Eduard Elias i Vila, Essi Projects, S.A. i Genos Open Source, S.L.
  • 5.
    Índex de continguts ÍNDEX Presentació 4 PART III. PL en el desenvolupament 57 Contingut de la publicació 5 6. PL i desenvolupament de programes o aplicacions 58 6.1. Quin paper pot fer el PL Conceptes claus 6 en el desenvolupament? 58 6.2. Els IDE PL com a eines de base per al desenvolupament 61 PART I. Conceptes i estratègia 7 6.3. Frameworks i llibreries, components lliures en el desenvolupament 64 1. Al voltant del programari 8 6.4. L’alliberament de programes i aplicacions 67 1.1. Nocions sobre el programari 8 1.2. Origen i evolució del programari 9 7. Recursos per desenvolupar en PL 70 1.3. Classificació del programari 11 7.1. Eines de desenvolupament 70 7.2. Funcionament de les comunitats 2. Programari Lliure (PL) 16 de desenvolupadors 82 2.1. Què és el Programari Lliure? 16 2.2. Llicències lliures 22 2.3. El desenvolupament del PL 27 PART IV. Recursos PL 85 2.4. Models de negoci amb PL 29 8. Recursos lliures disponibles 86 3. Situació actual del PL 32 8.1. Arquitectura general dels Sistemes 3.1. El PL a les empreses 32 Informàtics municipals. 3.2. El PL a l’educació 34 Serveis Interns 86 3.3. El PL a les administracions públiques 36 8.2. Programari disponible 90 4. Estratègia en relació amb el PL 38 4.1. Com decidir sobre el PL 38 4.2. Criteris relatius a la funcionalitat de l’aplicació 40 4.3. Criteris relatius als costos 42 PART II. Migració a PL 43 5. Migració d’aplicacions a PL 44 5.1. Per què migrar? 44 5.2. Migrar o no migrar. Aquesta és la qüestió 45 5.3. Planificació de la migració 46 5.4. L’ús de grups pilot 53 5.5. Eines d’ajuda a la migració 56
  • 6.
    Presentació Les eines que proporciona el Programari Lliure (PL) cada vegada són més utilitzades entre els ciutadans, les empreses i les administracions. L’extensió del seu ús i de les seves aplicacions estan reconegudes de manera explícita a la Llei 11/2007, d’accés electrònic dels ciutadans als serveis públics, recollint com a dret dels ciutadans “escollir les aplicacions o sistemes per relacionar-se amb les Administracions Públiques sempre i quan utilitzin estàndards oberts”, aspecte el qual garanteix el Programari Lliure. Les administracions locals, com la resta de les administracions públiques, han de ser un model a seguir en l’estricte compliment de la legalitat i, per tant, han d’adequar els seus sistemes de relació electrònica per adaptar-los a les necessitats i drets dels seus ciutadans. L’interès dels municipis al voltant de l’ús i possibilitats del Programari Lliure va portar a Localret a col·laborar estretament amb el Col·legi Oficial d’Enginyeria en Informàtica de Catalunya. Fruit d’aquest treball, fet amb molts ajuntaments i consells comarcals, hem cregut oportú reflectir en aquesta Guia una sèrie d’informacions, recomanacions i consells pràctics que poden ser d’utilitat tant als càrrecs electes com als tècnics al servei de les administracions locals. Amb aquesta Guia no pretenem ser prescriptors de cap opció, ni lliure ni privativa, però sí que posem al vostre abast els diferents elements per valorar avantatges i desavantatges de cada decisió. Practiquem una “neutralitat efectiva”, és a dir que per decidir sobre l’elecció d’un programari, aquesta s’ha de fonamentar en criteris tecnològics, econòmics o de funcionalitat, bandejant els criteris ideològics o, simplement, d’inèrcia o temor davant d’allò que ens sembla més desconegut. També comprovarem que “lliure” no vol dir “de franc” i que davant de qualsevol tria de programari s’ha de tenir una estratègia, una planificació, uns recursos i un desenvolupament. Estem convençuts que trobareu en aquesta publicació informació i consells que us seran de molta utilitat perquè la informació rigorosa és un bon antídot per combatre estereotips que, sovint, no responen a la realitat. 4 Guies per al desenvolupament de la societat del coneixement
  • 7.
    Contingut de la publicació Aquestapublicació s’estructura en quatre parts. La primera, orientada als càrrecs electes i gerencials, dedica els dos primers capítols a aclarir les nocions necessàries que faciliten la correcta comprensió de la resta del document. El tercer capítol parla de la situació del PL, mirant d’identificar les tendències previsibles, i el quart ajuda a establir criteris de caràcter estratègic sobre l’ús del programari lliure a les administracions locals catalanes. La segona part, més orientada als càrrecs tècnics d’ajuntaments i consells comarcals de qualsevol dimensió, entra en els detalls tècnics de l’estratègia TIC, al capítol 5, i dóna pautes, basades en casos d’èxit, per elaborar correctament projectes de migració a programari lliure, al 6. La tercera part va destinada als càrrecs tècnics d’ajuntaments, consells comarcals i diputacions amb capacitat per emprendre projectes de desenvolupament de programari d’una certa envergadura. El capítol 7 analitza el paper que pot jugar el PL en el desenvolupament de programes o aplicacions i el 8 enumera recursos lliures disponibles per a aquesta activitat. La guia conté una darrera part, el capítol 9, que ofereix una llista de programes i plataformes disponibles en programari lliure i preparats per a l’adopció o adaptació en les administracions locals catalanes. L’enumeració que es fa en aquesta guia és complementària d’altres guies d’aparició recent, de Localret o d’altres organismes, segons s’indica en cada cas. 5 Guies per al desenvolupament de la societat del coneixement
  • 8.
    Conceptes claus El principal objectiu de la present guia és que el lector, d’acord amb les seves necessitats i la seva experiència prèvia, pugui trobar respostes als dubtes més habituals sobre l’ús del programari lliure a les administracions locals de Catalunya. Les idees clau a destacar són les següents: Conceptes clau On trobar-los? Sobre el programari lliure: · És un model de negoci al voltant del programari, · L’apartat 1.3 clarifica les categories de programari. diferent del privatiu o altres. · El capítol 2 se centra en el PL i el seu model de negoci. · No és cap moda passatgera, ans al contrari: Les dades · El capítol 3 exposa la situació del PL. demostren que és cada vegada més present i en més àmbits. Què suposa el programari lliure per a les administracions locals: · Ofereix una sèrie d’avantatges als organismes públics · El punt 2.1.2 enumera les propietats del PL que el que ha portat a què la Llei 11/2007 l’assenyali com a fan especialment atractiu per a les administracions preferible a les administracions públiques de tot l’Estat. públiques. · A mig termini, i en ocasions fins i tot a curt, garanteix una · Al punt 2.1.2 s’esmenta aquesta característica del PL. retallada de costos que suposa un salt qualitatiu i arriba · L’apartat 2.3 permet entendre per què es dóna. a permetre projectes o serveis que, amb altres models de negoci, serien inabordables pressupostàriament. · Com tot projecte informàtic, l’adopció o migració · El capítol 4 dóna orientacions per a l’àmbit gerencial. a PL requereix una planificació acurada que prengui · La part II les estén i detalla per a càrrecs tècnics. en consideració totes les implicacions del canvi. La · La part IV enumera recursos disponibles. militància o l’idealisme no poden suplir la manca d’una bona planificació. · Usar PL en la construcció de nous programes o · La part III dóna pautes per a càrrecs tècnics i enumera aplicacions evita haver de partir de zero i ofereix molts eines lliures disponibles. avantatges, des de recursos fins a eines i procediments per treballar de manera més eficaç i eficient. 6 Guies per al desenvolupament de la societat del coneixement
  • 9.
  • 10.
    1 Al voltant del programari 1.1. - Nocions sobre el programari 1.1.1. - Què és el programari? Un ordinador és un aparell capaç d’obeir ordres i si no n’hi donem cap, no fa res. Una agrupació organitzada d’aquestes ordres és el que anomenem programa i el conjunt de tots els programes es coneix per programari (en anglès, software). Per tant, sense programari, un ordinador no fa res. Seria com un televisor sense cap canal sintonitzat. Totalment inútil. Sabies que...? Fa uns vint anys que l’Institut d’Estudis Catalans, a través del TERMCAT, organisme encarregat de normalitzar la terminologia científica, artística i tècnica, va aprovar les traduccions per als termes hardware (literalment, ferralla) i software (neologisme creat per similitud a l’anterior). Respectivament: maquinari i programari. Hi havia qui proposava usar els termes ferralla i pensalla. 1.1.2. - Programes de base i d’aplicació Programari de base: el componen les eines necessàries per poder usar l’ordinador. El més important és el sistema operatiu, encarregat de coordinar tots els components del computador: memòria, teclat, ratolí, pantalla, impressora, discos durs, CD-ROM, DVD, etc. Per fer ús d’aquests recursos, la resta de programes recorren al sistema operatiu. Exemples de sistemes operatius són: Windows (en les seves diferents versions), Linux (en les seves diferents distribucions), Unix, Leopard, etc. Programari d’aplicació: el componen els programes que fan servir els usuaris, anomenats també aplicacions. Per exemple: editors de textos, programes de comptabilitat, etc. Exemples d’aplicacions són: editors de textos (com el Word de l’MS Office o el Writer de l’OpenOffice), gestors de correu (com l’Outlook de Microsoft o el Firebird), programes de comptabilitat (com el ContaPlus del Grup SP, ara Sage, el BulmaGes o altres), etc. 8 Guies per al desenvolupament de la societat del coneixement
  • 11.
    La figura 1il·lustra aquesta diferència. PROGRAMARI DE BASE APLICACIONS N˜mines Correu electr. SISTEMA OPERATIU Editor text Naveg. web Figura 1. Diferècia entre aplicacions i programari de base. 1.1.3. - Com es fan els programes? La figura 2 mostra el procés d’elaboració d’un programa. En aquest procés hi apareixen alguns conceptes que convé tenir clars per entendre què és el programari lliure. Codi font: És el programa, expressat en allò que s’anomena un llenguatge de programació o d’alt nivell, comprensible per als programadors, però no per a l’ordinador. Executable (o també codi màquina): És el programa traduït de forma automàtica al llenguatge intern de l’ordinador a partir del codi font. Resulta totalment críptic i incomprensible per als humans. És aquell que es pot posar en marxa a l’ordinador i usar. Per posar en marxa el programa en un ordinador cal l’executable, però per modificar-lo fa falta el codi font, ja que l’executable és incomprensible per als humans. 1.2. - Origen i evolució del programari Fins als anys 70 del segle passat, la major part dels programadors estava en entorns científics universitaris, on el treball es basa en la col·laboració. Així, era habitual que quan un programador usava un programa, si li calia, en podia obtenir el codi font, modificar-lo segons les seves necessitats i posar aquest programa millorat a disposició de qui el necessités. 9 Guies per al desenvolupament de la societat del coneixement
  • 12.
    El programari lliurea les administracions locals 1. Al voltant del programari A partir dels 80, l’aparició de l’ordinador personal va popularitzar la informàtica i el programari es va convertir en una indústria. Inicialment, aquesta indústria va optar per un model de negoci basat en la privatització del codi font, recolzant-se en la legislació sobre propietat intel·lectual, pensada per a altres entorns com la composició musical o la literatura. Aleshores les empreses van començar a fer signar acords de secret industrial (non disclosure agreements) als seus treballadors i el codi font dels programes es va convertir en un secret industrial. Un ordinador és un aparell capaç d’obeir ordres i si no n’hi donem cap, no fa res. Una agrupació organitzada d’aquestes ordres és el que anomenem programa i el conjunt de tots els programes es coneix per programari (en anglès, software). Per tant, sense programari, un ordinador no fa res. Seria com un televisor sense cap canal sintonitzat. Totalment inútil. Necessitat (problema a resoldre) Comprensible Sumar dues per a usuaris quantitats entŽn Analista informˆtic (funci— dÕun enginyer en informˆtica) Documentaci— tcnica (planificaci— del programa) escriu Obtenir nombres, sumar-los i donar el resultat interpreta Cap de projecte Codi font (el programa (coordina els escrit pel programadors en programadors) Comprensible un llenguatge de programaci—) per a tcnics Mòdul Captura preguntar A; Programadors comprovar que és nombre; preguntar B; (funci— de cicles comprovar que és nombre; escriuren formatius enviar A i B al mòdul Suma dÕinform‡tica) Mòdul Suma rebre A i B; calcular R=A+B enviar R al mòdul Resultat Mòdul Resultat compila rebre R; mostrar R preguntar A 0110 1010 Compilador Codi executable (el programa comprovar 1011 (programa que 0010 que es pot posar en marxa a 1010 tradueix lÕordinador escrit en llenguatge automˆticament) mˆquina) 101011000 0110101011000 100010100110011010010 0101010000 011010101110 Comprensible 101011000 0110101011000 genera 100010100110011010010 per a ordinadors 0101010000 011010101110 101011000 0110101011000 100010100110011010010 0101010000 011010101110 101011000 0110101011000 100010100110011010010 0101010000 011010101110 101011000 0110101011000 100010100110011010010 0101010000 011010101110 Figura 2. Procés de construcció d’un programa d’ordinador. 10 Guies per al desenvolupament de la societat del coneixement
  • 13.
    El programari lliurea les administracions locals 1. Al voltant del programari Això va limitar les possibilitats de cooperació i d’acció dels programadors i va fer que el programari es limités a les necessitats de la majoria, sense possibilitat d’estudiar-lo ni adaptar-lo. D’altra banda, aquest moviment de la indústria també va generar un moviment en contra: el moviment del programari lliure, que qüestiona la privatització de la propietat intel·lectual del programari, reclama les llibertats dels usuaris i dels programadors i proposa models de negoci alternatius al privatiu, dominant fins a l’actualitat. El fundador d’aquest moviment va ser Richard Stallman, aleshores programador del Laboratori d’Intel·ligència Artificial, del MIT, i després fundador de la Free Software Foundation (FSF1). Ell va ser qui va enunciar per primer cop les quatre llibertats que defineixen el programari lliure, com veurem al capítol 2. Basant-se en les mateixes lleis sobre propietat intel·lectual que les empreses estaven usant per privatitzar els codis font dels programes, Stallman va definir la llicència GPL, que aconsegueix garantir tot el contrari: que el codi font dels programes lliures no es pugui privatitzar. Com a resultat d’aquest procés, en l’actualitat s’està consolidant un ampli teixit empresarial amb models de negoci més variats i no exclusivament basats en la privatització del codi font, com veurem també al capítol 2. Sabies que...? La primera programadora de la història va ser una dona. Es deia Ada Lovelace, filla del poeta anglès Lord Byron i esposa del Comte de Lovelace. Charles Babbage, amic de la família, va projectar el primer computador programable, completament mecànic, que no es va arribar a construir mai. Ada Lovelace, destacada matemàtica, va escriure diversos programes per a aquest ordinador. De fet, els programes d’ordinador s’anomenen així perquè, quan els va ensenyar al seu marit, va dir que li recordaven els programes d’actes de la festa major del seu poble. 1.3. - Classificació del programari El programari es pot classificar segons criteris molt diferents. El problema és que el nom que es dóna a algunes de les categories porta a algunes confusions quan, en realitat, les coses són força més simples que no sembla. 1.3.1. - Classificació segons el cost De cost zero: Se l’anomena també programari gratuït. És el programari que no cal pagar per utilitzar-lo. De cost no zero: També se l’anomena programari comercial o de pagament. És el programari fet per un organisme (normalment una empresa) que pretén treure’n un benefici. 1 Es pot trobar més informació sobre aquesta organització al web(:) http://www.fsf.org/ (en anglès) o al web de la seva homòloga europea, http://fsfe.org/ (en català si el navegador està configurat en aquesta llengua). 11 Guies per al desenvolupament de la societat del coneixement
  • 14.
    El programari lliurea les administracions locals 1. Al voltant del programari Primera confusió: en català, i en general en les llengües llatines, no tenim aquest problema, però en anglès la paraula lliure (free) també significa gratuït. Per això, en anglès es pot confondre el programari lliure amb programari gratuït, quan veurem que per ser lliure cal que reuneixi una sèrie de condicions que no tenen res a veure amb la gratuïtat. Sabies que...? Per evitar la confusió entre els dos significats del mot free en anglès han sorgit denominacions alternatives com FLOSS, de Free/Libre/Open Source Software, o FOSS, de Free/Open Source Software. El Cenatic, en castellà, utilitza habitualment l’expressió «software de fuentes abiertas». A Catalunya s’ha fet més habitual l’expressió programari lliure, que no presenta cap ambigüitat. 1.3.2. - Segons la seva legalitat Legal: Qualsevol programa aconseguit i usat sense contravenir cap norma. Per exemple, un programa instal·lat amb la seva llicència original corresponent o bé un programa lliure. Il·legal: Qualsevol programa obtingut i usat violant alguna norma (a Europa, la Llei de propietat intel·lectual). Per exemple, un programa adquirit amb una llicència que n’autoritza l’ús en un sol ordinador i està instal·lat en més d’un (la primera còpia seria legal, la resta, il·legals), o bé un programa al qual se li han suprimit els codis de seguretat per poder-lo instal·lar i usar sense llicència o que s’ha instal·lat amb un número de llicència no oficial (el que s’anomena popularment programes piratejats). Sabies que...? La BSA2, associació d’empreses que agrupa els fabricants de programari més grans del món, publica periòdicament estadístiques sobre l’ús de còpies no autoritzades, que es coneix popularment com pirateria. Segons aquestes estadístiques, l’any 2008 aquest fenomen va arribar al 42% a l’Estat Espanyol, set punts per sobre la mitjana europea, que és del 35%. Val a dir que una mesura contra l’ús de còpies no autoritzades és l’ús de programari lliure, ja que és l’únic tipus de programari que no desautoritza mai ningú a usar-lo. 1.3.3. - Segons la disponibilitat del codi font De codi tancat: Anomenat també programari tancat. És el programari del qual, ni tan sols pagant, no es pot obtenir el codi font. El propietari dels drets d’autor, emparant-se en les normes corresponents, se’l vol reservar i impedir que hi pugui accedir ningú. De codi font consultable: Programari que, d’alguna forma o altra, es pot accedir al seu codi font. Sovint, aquesta possibilitat no està oberta a tothom, sinó únicament a grans clients. També és habitual que l’accés sigui només per a alguna funció molt concreta, com comprovar que el programa no conté codi maliciós que pugui perjudicar els interessos d’aquest gran client, o bé que calgui pagar una forta suma de diners per accedir-hi. La proposta Shared Code Initiative, de Microsoft, seria un exemple d’aquesta categoria. 2 Més informació a http://www.bsa.org/country.aspx?sc_lang=es-ES (en castellà). 12 Guies per al desenvolupament de la societat del coneixement
  • 15.
    El programari lliurea les administracions locals 1. Al voltant del programari Sabies que...? L’any 2001, Microsoft va posar en marxa el programa Shared Code Initiative3, que va permetre a alguns estats accedir al codi dels seus sistemes operatius i d’algunes aplicacions com l’Office. Davant el suggeriment d’alguns col·lectius sobre la possibilitat que alguns programes de Microsoft realitzessin amb les dades operacions que l’usuari no ha sol·licitat o que poguessin resultar insegures (veure nota «Sabies que...?» de la pàgina 12), el gegant nord-americà va permetre que alguns governs inspeccionessin el seu codi, sense donar-los permís per introduir-hi cap modificació o per divulgar o reaprofitar el codi en cap altre projecte. De codi obert: Anomenat també open source. Com veurem al punt 1.3.5, és una variant de programari lliure, que exigeix unes condicions pràcticament equivalents a les del programari lliure, sense exigir, necessàriament, la condició de copyleft (veure apartat 1.3.5). Segona confusió: El moviment open source va sorgir com una escissió del moviment del programari lliure, procurant evitar la suposada imatge antiempresarial que tindria aquest moviment i, sobretot, la confusió en anglès del terme free. En un abús de llenguatge, algunes empreses que han accedit a mostrar el codi d’algun dels seus programes a grans clients l’anomenen «de codi obert», tot i no complir les condicions del moviment open source, situació que provoca una altra vegada la confusió amb el nou terme. 1.3.4. - Segons si està protegit per drets d’autor o no De domini públic: Programari sobre el qual ningú pot reclamar drets d’autor i, per tant, no requereix cap tipus de llicència d’ús. És de lliure disposició per a tothom. Això succeeix quan els drets d’autor expiren (als 70 anys de la mort de l’autor) o bé quan l’autor hi renuncia de forma explícita (a Europa, aquesta renúncia no és vàlida, ja que els drets morals sobre l’obra són irrenunciables). Protegit per drets d’autor: És aquell programari del qual l’autor conserva els drets i que es distribueix amb una llicència que en cedeix alguns a l’usuari, com a mínim el d’usar l’aplicació. Segons aquesta llicència es poden distingir subapartats. Tercera confusió: Quan es paguen uns diners a canvi d’un programa, se sol usar l’expressió «comprar el programa», quan, en realitat, en la major part dels casos, l’únic que s’està comprant és el dret a usar-lo i, sovint, amb força limitacions. 1.3.5. - Classificació dins dels programes protegits per drets d’autor El ventall de limitacions que pot imposar una llicència d’ús és molt ampli. Se solen distingir les categories següents: Privatiu: Anomenat també propietari (traducció incorrecta del terme anglès proprietary, que significa patentat), amb copyright o, erròniament, comercial (altres tipus de programari també són comercials). La llicència indica clarament que tots els drets són del propietari dels drets d’autor i l’usuari només ha adquirit el dret a usar-lo. En aquest ús, són habituals restriccions com el nombre de llocs de treball, la finalitat de l’ús o altres. 3 Actualment aquest programa es diu Shared Source Initiative i se’n pot trobar més informació a http://www.microsoft.com/resources/sharedsource/default.mspx (en anglès). 13 Guies per al desenvolupament de la societat del coneixement
  • 16.
    El programari lliurea les administracions locals 1. Al voltant del programari Sabies que...? Algunes llicències d’usuari final de programari privatiu (en anglès EULA, per End User License Agreement) contenen clàusules tan curioses com4: · Les EULA’s de l’MS XML i l’SQL Server contenen clàusules que prohibeixen publicar estadístiques de rendiment (benchmark tests) d’aquests programes sense permís de Microsoft. · L’acord de servei d’iTunes, de la casa Apple, es reserva el dret a canviar l’acord, considerant que continuar usant el servei suposa una acceptació. · L’EULA de Pinnacle Studio 9 Movie-making adverteix l’usuari que el sistema pot enviar informació al fabricant i, fins i tot, instal·lar ampliacions del programa sense necessitat d’avisar l’usuari. · L’EULA del sistema operatiu Windows XP conté clàusules en què es diu que, fins i tot en cas que el sistema provoqui l’avaria del computador, el fabricant en declina tota responsabilitat. Shareware, models gratuïts, de baix cost o amb costos diferenciats segons l’ús: Són programes que, habitualment, es distribueixen per Internet i permeten la instal·lació i execució per un període limitat de temps, amb funcionalitats suprimides, només per a uns usos, per exemple privats i no comercials, empresarials o militars, o bé demanen un pagament voluntari a l’autor per contribuir a la millora del programa. Lliure o open source: Programari que dóna a l’usuari tots els drets, com veurem en major detall al capítol 2. Hi ha dues definicions acceptades internacionalment: la que dóna la Free Software Foundation, que defineix programari lliure o, en anglès, free software, i la que dóna l’organització empresarial americana Open Source Iniciative, que defineix l’expressió Open Source. Lliure amb copyleft: És el programari que, a més a més de ser lliure, la seva llicència exigeix que si, fent ús d’aquesta llibertat, l’usuari agafa tot o una part del codi i ho integra dins d’una altra aplicació més àmplia, tot el conjunt també ha de ser lliure. Per aquesta característica de «contagiar» la seva llibertat als altres programes amb què s’integra, també s’anomena «viral». Sabies que...? La paraula copyleft és un joc de paraules en anglès que per remarcar l’oposició al terme copyright, que seria «dret de còpia», substitueix right, que significa tant dret (terme jurídic) com dreta (d’orientació espacial), per left, que significa esquerre, però també permès. Per tant, es podria traduir per «esquerre de còpia» o també per «còpia permesa». 4 Es pot trobar una relació d’exemples de clàusules abusives a l’article http://www.tomshardware.co.uk/rtf-eula,review-17917.html (en anglès). 14 Guies per al desenvolupament de la societat del coneixement
  • 18.
    2 Programari Lliure (PL) 2.1. - Què és el Programari Lliure? El programari lliure és una categoria de programari quan es classifica en funció dels drets que atorga la seva llicència. Segons la definició de la Free Software Foundation (FSF5), perquè un programa sigui lliure ha de garantir als seus usuaris les quatre llibertats següents: 0: Llibertat d’usar el programa per a qualsevol finalitat. 1: Llibertat d’estudiar com funciona el programa i de canviar-lo per a què faci el que vulguis. 2: Llibertat de redistribuir còpies, de manera que puguis ajudar els teus veïns. 3: Llibertat per millorar el programa i distribuir les teves millores (i versions modificades en general) al públic, de forma que tothom se’n pugui beneficiar. Per poder exercir les llibertats 1 i 3 és necessari que el codi font del programa estigui disponible. 2.1.1. - Conseqüències de l’aplicació de les quatre llibertats del PL Aquestes llibertats s’atorguen a l’usuari a través de la llicència d’ús, que es tracta amb més detall a l’apartat 2.2. La seva aplicació, però, té una sèrie de conseqüències que convé considerar. La primera és que condiciona el model de desenvolupament i de negoci, fins al punt que ha suposat l’aparició de models propis, força innovadors, com veurem als apartats 2.3 i 2.4. La segona és que en deixar obert el codi ja no té sentit tancar els formats dels fitxers en què se salva la informació tractada pel programa. Així, quan un programa lliure tracta dades d’un determinat tipus (música, text, bases de dades, etc.), si existeix un estàndard internacional, és a dir, aprovat per l’Organització Internacional d’Estàndards, coneguda per les inicials en anglès ISO, sempre l’usa de forma preferent, si no exclusiva. 5 http://www.fsf.org/ 16 Guies per al desenvolupament de la societat del coneixement
  • 19.
    2.1.2. - Característiquesdel PL rellevants per a les administracions públiques Les quatre llibertats i les conseqüències de la seva aplicació comporten que el programari lliure tingui una sèrie de característiques que resulten especialment rellevants per a les administracions públiques i, en particular, les locals. a) Programari legal Les clàusules tan restrictives que inclouen moltes llicències privatives i que, malauradament, la majoria d’usuaris no llegeixen, fan que sigui molt fàcil incomplir algunes de les condicions imposades, fins i tot per pur desconeixement, sense cap mala intenció. Sabies que...? Quan l’empresa americana PC Pitstop va voler presumir d’acompanyar els seus programes, divulgats gratuïtament, amb una llicència que no contenia clàusules abusives, va incloure al final de la mateixa un paràgraf que oferia una recompensa a qui enviés un missatge a una adreça de correu electrònic. Van passar quatre mesos des de la publicació i més de 3.000 persones van descarregar l’aplicació abans l’empresa no va rebre la primera comunicació a l’adreça esmentada6. El seu remitent va rebre 1.000 dòlars. És només una mesura, però, si s’extrapola, voldria dir que només una de cada més de 3.000 persones llegeix les llicències. b) Compliment de la Llei 11/2007 La Llei d’accés electrònic dels ciutadans als serveis públics assenyala, en el seu article 4, que «les Administracions Públiques utilitzaran estàndards oberts» i en el seu art. 6 estableix el dret dels ciutadans a «escollir les aplicacions o sistemes per relacionar-se amb les Administracions Públiques, sempre i quan utilitzin estàndards oberts». El programari lliure sempre utilitza els estàndards oberts i, per tant, és l’únic que sempre pot garantir el total compliment d’aquests preceptes legals. 6 http://navegante2.elmundo.es/navegante/2005/02/25/weblog/1109297833.html (en castellà). 17 Guies per al desenvolupament de la societat del coneixement
  • 20.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) c) Seguretat i fiabilitat La possibilitat d’auditar el codi i la forma de millorar-lo permanentment que mostren les comunitats de desenvolupament del PL (veure apartat 2.3.1) garanteixen una major qualitat del codi resultant. Com a conseqüència, el PL sol estar més present en sistemes en què són crucials l’estabilitat i resistència a circumstàncies adverses (en informàtica això s’anomena robustesa) o perdre poc temps en caigudes de sistema (alta disponibilitat). Per exemple, els sistemes més exposats a vulnerabilitats, els servidors d’Internet, són un dels entorns on més presència té el PL. Sabies que...? La combinació GNU/Linux-Apache ha arribat a representar quasi el 70% dels servidors d’Internet. També en l’entorn de supercomputació, el GNU/Linux és usat en quasi el 80% dels primers 500 ordinadors més potents del món. Entre ells el Mare Nostrum, ubicat a la UPC i dedicat a activitats de recerca. d) Accés perpetu a la informació Són moltes les administracions que estan tenint greus problemes per accedir a informació i documents que van elaborar fa anys amb editors que han desaparegut del mercat i ja no es poden ni instal·lar sobre els actuals sistemes operatius. El fet d’usar estàndards oberts assegura que la definició de l’estàndard és pública i, per tant, sempre hi haurà programes capaços d’obrir fitxers que segueixen aquest estàndard o, si més no, sempre es podrà interpretar el seu contingut i transvasar-lo a un altre format. Sabies que...? Només entre les diferents administracions, les universitats i les empreses amb més de 20 anys d’antiguitat, es calcula que els documents generats amb editors de text que ara han quedat obsolets i ja no es poden obrir suposen milions de pàgines que ja no es podran recuperar mai més. e) Treball de col·laboració En el cas d’administracions amb capacitat per abordar projectes de desenvolupament de programari propi, el model de desenvolupament del PL facilita la col·laboració, tant entre diferents administracions que poden emprendre el projecte conjuntament com entre administracions i empreses que poden estar treballant en un mateix projecte, fins i tot sense necessitat que hi hagi contractació i compensacions econòmiques. 18 Guies per al desenvolupament de la societat del coneixement
  • 21.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) f) Absència de codi maliciós En algunes ocasions, han causat un cert ressò mediàtic els abusos d’algunes companyies de programari privatiu que han inclòs en els seus programes instruccions per poder accedir a informació de l’usuari, com per exemple quins altres programes té instal·lats. El programari lliure, per la publicitat del codi, garanteix l’absència d’instruccions d’aquesta mena, conegudes com codi maliciós. g) Possibilitat de contractació local Els models de negoci del PL fan possible que una petita empresa, amb talent, pugui competir en règim d’igualtat amb una gran multinacional. En aquests models de negoci, les dimensions de l’empresa no són rellevants. El PL permet contractar empreses locals, molt properes a l’ajuntament i de dimensions similars. En un país com Catalunya, on el 90% de les empreses són petites, això suposa convertir la pròpia capacitat de compra de l’administració en una eina més al servei de la promoció econòmica i el desenvolupament local. h) Independència del proveïdor Moltes aplicacions privatives forcen l’usuari a contractar qualsevol servei que necessiti al voltant d’aquella aplicació, al mateix fabricant o a empreses associades (en anglès partners) que, habitualment, es veuen obligades a pagar el fabricant per adquirir aquesta condició. Amb programari lliure, això és impossible. Les quatre llibertats requerides per tal que un programa sigui lliure garanteixen que l’usuari sempre tingui llibertat per escollir el proveïdor que més li convingui i per canviar-lo quan vulgui. i) Costos més baixos La lliure competència esmentada a l’apartat anterior comporta un avantatge addicional: habitualment, els costos dels serveis al voltant de programes lliures són més baixos, ja que el client no és captiu. Alguns ajuntaments assenyalen que els estalvis que han pogut fer gràcies al PL no suposen només una reducció de pressupost, un salt quantitatiu, sinó la possibilitat d’abordar projectes que en programari privatiu quedarien totalment fora de l’abast del pressupost de l’ajuntament. Un veritable salt qualitatiu. 2.1.3. - Precaucions que cal tenir en compte Hi ha, però, algunes qüestions que cal tenir en compte abans d’emprendre projectes de migració massiva a PL. Lluny d’idealismes i militàncies, les coses s’han de fer bé. D’aquesta manera s’obtenen tots els beneficis, sense entrebancar-se amb cap inconvenient. 19 Guies per al desenvolupament de la societat del coneixement
  • 22.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) a) Incompatibilitat entre estàndards de jure i de facto Malgrat estar definits per organismes internacionals, com la ISO, International Standards Organization, no sempre els estàndards oberts són els més estesos. Algunes empreses privades tenen força suficient com per imposar els seus formats tancats. Això passa, per exemple, en el món de l’ofimàtica (editors de textos, fulls de càlcul, presentacions, etc.). L’únic format estàndard aprovat per la ISO és l’Open Document Format, natiu en el paquet d’ofimàtica lliure OpenOffice. Però els formats d’ofimàtica més estesos són els de Microsoft (el del Word, l’Excel i el PowerPoint), fins al punt que moltes persones no parlen d’un full de càlcul, sinó d’un «Excel», per exemple. Per resoldre això, l’OpenOffice mateix és capaç d’obrir i salvar també en els formats de l’Office. És a dir, que un ajuntament podria treballar amb OpenOffice i intercanviar documents amb particulars, empreses i altres administracions que tinguessin Office sense que ni se n’adonessin. De totes formes, com que el format de l’Office és tancat, algunes de les seves opcions no són visibles per a l’OpenOffice i això provoca que en alguns casos aquesta compatibilitat no funcioni. En cas d’haver d’interactuar sovint amb alguna administració o empresa que utilitzi habitualment aquestes opcions, caldrà tenir-ho en compte. O bé caldrà fer algun acord amb aquesta administració o empresa, o bé caldrà conservar alguna instal·lació amb Office per mantenir aquesta interacció. b) Costos de migració Si bé migrar a PL sol comportar una reducció de costos, el procés de migració s’ha de planificar bé i sol tenir també algun cost, ja sigui en formació, en haver d’adaptar la imatge gràfica d’algunes plantilles o en similars. Expressat gràficament, el cost pot mostrar un comportament com el de la figura 3. Cost Migraci— Temps Figura 3. Evolució habitual dels costos davant d’una migració. 20 Guies per al desenvolupament de la societat del coneixement
  • 23.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) c) Gestió del canvi Una altra qüestió que cal tenir present a l’hora de plantejar-se una migració a PL és la que es coneix com gestió del canvi. Sota aquest nom, s’engloba la gestió de totes les resistències davant la novetat, pors a allò que no es coneix i altres elements que poden fer que el personal que ha d’usar el nou sistema l’acabi rebutjant. Especialment quan es migra des d’una aplicació que s’usa des de fa molts anys, cal prendre en consideració les reaccions que pot tenir el personal usuari. En particular, quan aquest personal no sigui tècnic en informàtica sinó que pertanyi a altres àrees de coneixement i usi la informàtica només com una eina de treball. S’haurien de planificar acuradament: · La conscienciació: Quan els motius de la migració siguin econòmics o per complir amb un estàndard o una norma, és convenient explicar-ho al personal; que entenguin que no es tracta d’un caprici o una moda. · La formació: Una de les activitats de preparació de la migració, que es pot iniciar fins i tot abans de començar a canviar els programes, és la formació del personal que els haurà d’usar. Conèixer ja la nova aplicació els donarà seguretat i confiança davant del canvi. · L’assistència en la migració: És important preveure que sorgeixin dubtes, especialment al principi. Abans que aquests dubtes apareguin, el personal ha de tenir clar a qui pot acudir per resoldre’ls. Una estratègia habitual i que dóna molt bons resultats és identificar, a cada departament o àrea de treball, les persones que tenen un major domini de la informàtica, els «usuaris/àries avançats/des». Aleshores, se’ls forma primer i la migració es fa abans en els seus llocs de treball, perquè ja vagin resolent els seus dubtes. Quan s’aplica la migració a tota la resta, aquests «usuaris/àries avançats/des» estan en condicions de resoldre els dubtes dels seus companys/es, cosa que els dóna, un cop més, seguretat. 21 Guies per al desenvolupament de la societat del coneixement
  • 24.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) 2.2. - Llicències lliures La llicència que acompanya un programa d’ordinador és un contracte entre el titular del programa i l’usuari. En aquest contracte, el titular autoritza l’usuari i li cedeix els drets necessaris per a aquest ús. Compleix una doble funció: per una banda concedeix els drets d’ús a l’usuari i, per l’altra, reserva i protegeix els drets del titular amb condicions i obligacions per a l’usuari. Per tant, la llicència estableix determinats drets i obligacions entre les parts. Les llicències lliures i les no lliures es diferencien en funció d’aquests drets i obligacions. Aquestes diferències permeten classificar el programari segons el diagrama següent. Programari lliure Programari no-lliure Domini Pœblic o ÒprivatiuÓ Llicncies Permissives Programari sota llicncia tradicional Llicncies amb copyleft GPL Freeware / Shareware Programari de Fonts Obertes Descˆrrega gratu•ta Figura 4. Classificació del programari segons la llicència. Les llicències de programari no lliure concedeixen, de forma general i restrictiva, uns drets d’ús mínims i solen limitar o imposar condicions, a vegades força dràstiques. Com hem vist, solen atorgar pocs drets més enllà de la instal·lació del programari a l’ordinador de l’usuari i la seva execució, d’acord amb determinades condicions i restriccions. 22 Guies per al desenvolupament de la societat del coneixement
  • 25.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) 2.2.1. - Llicències de programari lliure Les llicències lliures, en contrast, concedeixen amplis drets a l’usuari (inclosos els de modificar el programari i tornar a distribuir-lo). Per ser qualificat de «programari lliure», la llicència ha de garantir a l’usuari les quatre llibertats esmentades a l’apartat 2.1 i/o complir les 10 directrius de la Open Source Initiative. Des de la perspectiva jurídica, aquestes llibertats permeten la «reproducció», «transformació», «comunicació pública» i «distribució» del programa original. Per això, el titular de la llicència ha de tenir accés al codi font. D’aquesta manera, les llicències de programari lliure permeten als usuaris utilitzar un programa d’ordinador lliurement i disminueixen substancialment la captivitat respecte el proveïdor. Què es pot fer amb un programari sota llicència lliure? Les llicències lliures permeten, entre altres coses: - Descarregar, instal·lar i executar el programari sense limitacions (en un o més ordinadors o en una xarxa). - Fer còpies de seguretat del programari. - Descarregar el codi font i estudiar-lo. - Analitzar les interfícies per fer un programari interoperable. - Modificar el programari per adaptar-lo a les pròpies necessitats, recompilar i executar-lo. - Utilitzar part del codi per a altre programari. - Ampliar el programari original amb extensions, plug-ins i noves funcionalitats. - Integrar-lo en altre programari lliure per millorar les seves funcionalitats. - Redistribuir el programari original en una pàgina web, un CD, una clau USB o en xarxes P2P. 23 Guies per al desenvolupament de la societat del coneixement
  • 26.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) 2.2.2. - Tipus de llicència lliure – el copyleft Les llicències de PL contenen disposicions que varien de forma significativa d’unes a altres. És important tenir en compte aquest fet sempre que utilitzem PL i, sobretot, a l’hora d’integrar i redistribuir a tercers aquest tipus de programari. La major diferència pel que fa al grau de copyleft radica en les condicions aplicables a la redistribució. Les llicències de PL amb copyleft van més enllà de garantir merament les quatre llibertats bàsiques del programari. Una llicència que concedeix els esmentats drets sense imposar condicions permetrà al titular de la llicència inicial incloure el programari en un altre de nou i redistribuir-lo sota llicència restrictiva o no lliure: «tancar-lo». Els usuaris del nou programa no tindran les llibertats originalment cedides. Amb l’objectiu d’assegurar que qualsevol usuari del programari pugui gaudir d’aquestes llibertats en tot moment, les llicències amb copyleft obliguen els usuaris a utilitzar la mateixa llicència lliure tant per a la redistribució del programari original com per a qualsevol modificació que es realitzi del mateix, així com a proporcionar o oferir accés al codi font als usuaris. A més, no permeten afegir a aquesta redistribució cap restricció addicional a les de la llicència original. Aquesta condició, que es coneix com copyleft, elimina qualsevol possibilitat de privatitzar el programari, és a dir, de distribuir-lo sota llicència no lliure. Sabies que...? La GNU General Public License (GPL) és la llicència lliure amb copyleft fort més coneguda. Redactada i promoguda per la FSF, és la llicència usada per aproximadament el 75% dels projectes disponibles a Sourceforge. Avui dia, té dues versions actives: la Versió 2 (de 1991) i la nova Versió 3 (de 2007). Té una versió que aplica el copyleft a la provisió d’accés als serveis de programari via xarxes (Software As a Service): la llicència Affero GPL. 24 Guies per al desenvolupament de la societat del coneixement
  • 27.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) La gran difusió que té la GNU General Public License, o GPL, ha dut molts a pensar que el programari lliure és programari amb copyleft (i, dut a l’extrem, programari distribuït sota la GPL, per ser aquesta la llicència amb copyleft més habitual). Però això no és correcte: les llicències de PL amb copyleft només són un subconjunt particular de les llicències de PL. Com a conseqüència del copyleft, s’impedeix la distribució del programari en aplicacions privatives, però això no significa que no es puguin crear i vendre aplicacions comercials amb programari copyleft: Per exemple, Red Hat o Novell i les seves distribucions de GNU/Linux. No obstant això, serà una violació de la llicència redistribuir aquest programari sota una altra llicència diferent que requereixi, per exemple, el pagament de regalies i/o que impedeixi la modificació del programari per part del seu destinatari. En funció del grau de copyleft que puguin tenir les llicències, es poden classificar en permissives, amb copyleft fort i amb copyleft suau: · Llicències permissives o acadèmiques: Aquestes llicències no imposen cap condició particular a la redistribució del programari, excepte la de mantenir els avisos de titularitat i les limitacions de garanties i responsabilitats. Per això és possible integrar i redistribuir programari sota llicències permissives en aplicacions sota qualsevol altre tipus de llicència, ja siguin lliures o no. Les més conegudes són les llicencies Berkeley Software Distribution (BSD, distribució de programari de la Universitat de Califòrnia a Berkeley) i Apache Software License (ASL, llicència de programari de l’Apache, servidor web), així com la llicència MIT. · Llicències amb copyleft fort: Les llicències amb copyleft fort (a les quals de vegades algunes persones es refereixen negativament com «víriques» o «virals»), com la GPL, són les que exigeixen l’ús de la mateixa llicència per a qualsevol redistribució del programa i de les modificacions que es realitzin del mateix, així com a programes que l’utilitzin o incorporin (en forma de llibreries, etc.). El titular de la llicència ha de donar a l’usuari una còpia del codi font o oferir-li un mitjà per obtenir-lo (un repositori en línia, per exemple). · Llicències amb copyleft suau: Aquestes llicències inclouen clàusules de copyleft només per al codi original, sense que això afecti a altres programes que l’integrin (amb o sense modificacions) o l’utilitzin com a llibreria. Exemples d’aquest tipus de llicència són la Lesser GPL (o LGPL) o la llicència Mozilla Public License (MPL), que s’utilitza per a la distribució dels productes de la Fundació Mozilla (Firefox, Thunderbird, etc.). En ambdós casos està permès agregar i/o vincular un nou programa al codi original i distribuir el conjunt sota una nova llicència (privativa o lliure). Un cas particular és la European Union Public License (Llicència Pública de la Unió Europea - EUPL): és una nova llicència lliure amb copyleft suau, redactada d’acord amb el marc general del dret europeu i expressament per a l’alliberament de programari de l’administració pública europea i les dels països membres de la UE. 25 Guies per al desenvolupament de la societat del coneixement
  • 28.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) 2.2.3. - Garanties i responsabilitats Una pregunta molt freqüent sobre el PL és si té garanties. Més enllà de la pregunta de si el programari no lliure n’ofereix més, el dret espanyol estableix unes mínimes garanties legals a favor de qui adquireix béns i serveis. Aquestes garanties varien en cada cas, però, bàsicament, són la conformitat del producte (el bon funcionament del programari) i l’obligació de resoldre defectes ocults. No obstant això, les nostres lleis permeten regular, en cert grau i depenent de la relació entre les parts –sobretot entre professionals–, el dret de reclamació de l’usuari (comprador) en cas de no conformitat. En el cas de les llicències lliures, s’intenta excloure qualsevol garantia amb la formula «AS IS» («tal qual») i proporcionar el programari «sense cap garantia». Això podria justificar-se legalment sobre la base que el programari lliure es llicencia de forma gratuïta, tot i que un tribunal podria considerar que aquestes limitacions són abusives per a un usuari final consumidor. De manera similar a les garanties, un proveïdor de béns i serveis ha de respondre dels danys causats pels seus productes, per exemple, a causa d’un error en el programa lliurat o en el servei prestat. En determinades circumstàncies, es permet limitar aquestes responsabilitats, cosa que fan totes les llicències lliures sobre el mateix principi que les garanties. Davant la possible invalidesa d’aquestes clàusules de descàrrega (disclaimers) segons cada marc legal, se sol restringir la limitació «en la mesura permesa per dret aplicable». Això significa que la llicència no exclourà les responsabilitats imposades pel nostre dret imperatiu. Al marge d’això, és possible que un proveïdor de solucions basades en PL hagi de donar garanties del seu producte i/o servei i assumir més responsabilitats; el client/usuari final és comprador de serveis de programació i instal·lació i es beneficiarà de les garanties contractades en relació a aquests serveis. 26 Guies per al desenvolupament de la societat del coneixement
  • 29.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) 2.3. - El desenvolupament del PL 2.3.1. - Models de desenvolupament d’aplicacions lliures La figura 5 il·lustra un exemple típic de com es construeix un gran programa lliure i com es va formant al seu voltant allò que se sol anomenar comunitat de desenvolupadors o, simplement, la comunitat. M˜duls lliures disponibles a la xarxa Utilitza Contracte (i millora) (garanties) Client 1 Empresa 1 Programa v1.0 fa Paga ÛÛÛ rep les Client 1 millores Contracte Empresa 1 Programa v2.0 amplia Client 2 i millora Paga ÛÛ Client Contracte Client Empresa 1 Programa v3.0 Empresa 2 Client amplia amplia i millora i millora Paga Û Client (contribueix) COMUNITAT DE DESENVOLUPADORS Client Client Empresa 2 Client Empresa 1 Client coordina Empresa 3 Client Client contribueixen Programa vN.M Figura 5. Procés de formació d’una gran aplicació lliure i la seva comunitat de desenvolupadors. 27 Guies per al desenvolupament de la societat del coneixement
  • 30.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) En aquest exemple, a partir d’un encàrrec inicial, una primera empresa ha desenvolupat una primera versió. No parteix de zero, perquè a Internet hi ha disponibles molts mòduls amb llicències lliures, que es poden usar per a la construcció d’aplicacions com la de l’exemple. Els encàrrecs de nous clients, a la mateixa empresa o a d’altres, van ampliant i millorant el programa, fins arribar a constituir una gran comunitat de desenvolupadors. Llavors, es pot dir que el projecte i la seva comunitat s’han consolidat. La pràctica totalitat dels projectes lliures consolidats en l’actualitat, i els que estan en procés de consolidar-se, s’ha construït seguint aquest model o variants sobre el mateix. Podem posar alguns exemples de variants: · Alguns projectes compten amb voluntaris en el si de la seva comunitat. Per exemple, la traducció i adaptació del paquet d’ofimàtica OpenOffice al català s’ha fet amb voluntaris coordinats per l’organització sense ànim de lucre Softcatalà. · Altres projectes han partit de l’alliberament d’un programa que havia estat privatiu. Per exemple, el mateix OpenOffice va néixer a partir del programa StarOffice, alliberat per la multinacional americana Sun MicroSystems. · Altres segueixen models mixtos lliure-privatiu, deixant lliures unes parts del programa i mantenint-ne d’altres com a privatives. Per exemple, la pràctica totalitat del programa Zimbra és lliure, però l’empresa que el va fer manté la titularitat privativa d’alguns mòduls d’ampliació d’algunes funcions, que el client pot comprar de forma opcional, si les necessita. En qualsevol cas, al final, si el projecte es consolida, sempre es pot parlar d’una comunitat de desenvolupadors que col·laboren en l’ampliació i manteniment del programa, sota la coordinació d’un líder escollit per la pròpia comunitat, habitualment la pròpia empresa que va iniciar el projecte. Sabies que...? Les comunitats de desenvolupadors d’alguns projectes emblemàtics, com Mozilla, OpenOffice o algunes distribucions de Linux, compten amb milers de col·laboradors, particulars i empreses, repartits per tot el món. Depenent de la gènesi i posterior evolució del projecte, aquesta comunitat tindrà més o menys membres i un funcionament regit per unes normes més o menys rígides i establertes o bé més flexibles i informals. 2.3.2. - Maduresa d’un projecte PL El model de desenvolupament exposat a l’apartat anterior té com a conseqüències algunes característiques que diferencien el PL del programari desenvolupat sota altres models. Podem esmentar: · Cicle de desenvolupament llarg. En programari privatiu, per exemple, si és d’interès per una empresa amb prou capacitat financera, aquesta pot fer una inversió en contractació de molt personal i enllestir un gran projecte en un temps força reduït. En programari lliure, la forma de construcció incremental a partir de les aportacions dels membres de la comunitat sol donar uns temps de desenvolupament més llargs. 28 Guies per al desenvolupament de la societat del coneixement
  • 31.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) · Construcció a la vista. El treball de construcció d’una aplicació privativa és intern a l’empresa que el fa. Sol ser, fins i tot, protegit amb gran secret. En el PL, des del primer alliberament tot el procés de construcció és públic a la xarxa. · No sotmès a pressions comercials. En ocasions, una empresa privativa treu al mercat una nova versió d’un programa que quasi no afegeix res a les anteriors només perquè la seva competidora més directa ha tret també una nova versió del seu producte. En el món del programari lliure això mai no es dóna. El funcionament de les comunitats sol ser força democràtic i les decisions es prenen amb criteris, principalment, tècnics i no comercials. Són conseqüència de les dues primeres característiques el risc de descarregar-se d’Internet un programa PL i començar a usar-lo quan encara no està prou ben acabat o que, per falta d’incorporacions a la comunitat de desenvolupadors i algunes baixes, per exemple, per dissolució d’empreses, el projecte quedi discontinuat. Així com en el món privatiu un criteri important a l’hora de triar una aplicació és la solidesa de l’empresa que l’ha produït i el manté, en el món del PL és important considerar la maduresa dels projectes. Per això han sorgit models d’avaluació de la maduresa dels projectes lliures, com l’OSMM7 (de les inicials angleses Open Source Maturity Model), el QSOS8 (Qualification and Selection of Open Source), o l’OpenBRR9 (Open Business Readiness Rating). La major part d’aquests models prenen en consideració criteris com: - Escalabilitat de l’aplicació: Facilitat per a adaptar-la a entorns de dimensions diferents. - Usabilitat: Facilitat d’ús. - Suport: Facilitat d’obtenir suport, que inclou avaluar la solidesa i les dimensions de la comunitat corresponent. 2.4. - Models de negoci amb PL Entre aquells que han accedit a la informàtica exclusivament a través de programari privatiu i no tenen gaire coneixement sobre el PL, és habitual que es plantegi la pregunta: «Llavors, si es pot copiar i normalment no té cost o és molt baix, les empreses de PL de què viuen?» Un altre dubte habitual és: «I si m’instal·lo PL, a mi qui em dóna garanties?» En primer lloc, a l’apartat 2.3.1 ja hem vist, amb un exemple il·lustrat, que el programari lliure sol respondre a encàrrecs, executats sota les clàusules i garanties d’un contracte i convenientment remunerats. Així, aquestes preguntes ja quedarien respostes. El negoci al voltant del PL és molt ric i variat. Alguns dels models que poden adoptar les empreses inclouen: a) Oferir serveis sobre producte propi o de tercers És un argument habitual considerar que ningú no et podrà oferir serveis sobre un determinat producte de programari millor que qui l’ha fet. Malgrat això, el PL permet que qualsevol empresa de la comunitat de desenvolupadors o, fins i tot, de fora d’aquesta ho pugui fer i arribar a assolir un nivell de qualitat comparable. 7 Desenvolupat per l’empresa Navica, està disponible sota la llicència Acadèmic Free License v.2.1: http://www.navicasoft.com/pages/osmm.htm (en anglès) 8 Desenvolupat per Atos Origin, està disponible sota la llicència GNU Free Documentation License http://www.qsos.org/ (en anglès) 9 Desenvolupat inicialment per SpikeSource, el Center for Open Source Investigation at Carnegie Mellon West i Intel Corporation, s’està proposant com un estàndard. Més informació a http://www.openbrr.org/ (en anglès) 29 Guies per al desenvolupament de la societat del coneixement
  • 32.
    El programari lliurea les administracions locals 2. Programari Lliure (PL) Entre els serveis que es poden prestar hi ha: - Consultoria10 : Previ a tots els anteriors, el primer servei que es pot contractar a una empresa és que assisteixi el client a decidir què es pot substituir per PL, com, quan i en quin ordre. - Formació11 : Un dels serveis més sol·licitats a les empreses de PL és la formació dels usuaris del client en l’ús d’una aplicació lliure. - Implantació i migració: Una altra necessitat que es pot cobrir mitjançant la contractació d’una empresa de PL és la implantació d’una aplicació d’una certa complexitat i la migració de dades i procediments, des de l’aplicació que s’usava abans. - Adaptació: També es poden contractar serveis que van des de la simple generació de plantilles i exemples personalitzats per al client fins a la modificació del programa per adaptar-lo a necessitats específiques. - Integració: Hi ha aplicacions, normalment d’una certa complexitat, que requereixen tot un procés d’integració a l’entorn productiu del client i a tots els seus processos de negoci. El cas més habitual són els grans sistemes de gestió empresarial integrada, coneguts com ERP. b) Programari Lliure com a reclam Crear, mantenir i oferir al públic una aplicació lliure pot ser una activitat no lucrativa per a una empresa que tregui el seu lucre d’una altra activitat. Un exemple d’aquest model de negoci pot ser el cas de Google, que ofereix aplicacions lliures i serveis sense cost per a l’usuari com a reclam per a atreure molts visitants a una pàgina web que es manté gràcies a la publicitat. Un cas similar serien les aplicacions lliures per a entrenament de mecànics que alguns fabricants d’automòbils ofereixen als tallers de reparació. El seu objectiu és que molts tallers disposin de bons professionals capaços de reparar els seus vehicles i això sigui un argument a favor de la seva adquisició, per davant dels seus competidors. També hi ha molt programari promocional que es distribueix de forma lliure. Per exemple, jocs d’ordinador que fan publicitat de productes d’un fabricant que paga per la construcció del joc. 10 Localret ofereix dos serveis d’aquest tipus per a les administracions locals catalanes: el Servei d’Avaluació Prèvia – Ofimàtica lliure, que ajuda a valorar l’oportunitat d’una migració a OpenOffice, i el Servei d’Elaboració del Full de Ruta de PL, mitjançant el qual Localret ajuda a inventariar tots els usos d’informàtica que es fan en un ajuntament i a valorar les millors oportunitats de migració a PL. 11 Quan alguna administració ha trobat dificultats per resoldre les seves necessitats formatives, Localret l’ha ajudat a superar-les, arribant a dissenyar els continguts i a trobar i seleccionar proveïdors. 30 Guies per al desenvolupament de la societat del coneixement
  • 34.
    3 Situació actual del PL 3.1. - El PL a les empreses La variabilitat del sector informàtic fa que hi hagi molts estudis que pretenen preveure tendències. Per a moltes consultores, fins i tot grans, publicar un estudi és una forma de donar-se a conèixer. Molts d’aquests estudis tenen una solvència contrastada i una alta fiabilitat. L’únic que cal vigilar, a vegades, és que quedi clar quina empresa o entitat és l’autora de l’estudi, per estar segurs que no sigui tendenciós. En aquest estat de coses, creiem que no té sentit presentar en aquesta guia una llarga llista de percentatges d’ús que poden tenir una vigència bastant limitada. Considerem una informació més útil per a les administracions locals seleccionar-ne uns pocs i veure quines tendències apunten a mig i llarg termini. Així, per exemple, entre els dos informes Ándago12, publicats els anys 2002 i 2004, es pot observar el següent: - Ja des de l’any 2002, el PL és molt conegut. En aquest aspecte sembla haver assolit un sostre, proper al 90%, ja que les dades de coneixement dels dos estudis són molt similars. - La introducció del PL és lenta i gradual, però implacable. Les dades sobre ús del PL o, en cas de no usar-lo, la intenció de fer-ho, són les següents: Empreses No lÕusen, pero tenen No lÕusen, ni tenen que usen PL intenci— de fer-ho previst fer-ho 2002 25% 20% 55% 2004 35% 35% 30% Figura 6. Ús i intenció d’ús de PL a les empreses. Queda clar que la variable de l’ús del PL, l’any 2004, encara estava en plena evolució. 12 Es poden obtenir, per exemple, de la web del Cenatic: el primer http://observatorio.cenatic.es/index.php?option=com_content&view=article&id=12 32 i el segon http://observatorio.cenatic.es/index.php?option=com_content&view=article&id=16 Guies per al desenvolupament de la societat del coneixement
  • 35.
    Amb dades mésrecents, un estudi de la consultora americana IDC13, estimava que l’any 2008, en ple inici de la crisi, el mercat del sistema operatiu Linux havia crescut un 23’4% i li pronosticava mantenir creixements superiors al 16% fins al 2013. La Comunitat Europea ha publicat un informe, liderat per la Universitat de Maastricht14, en què conclou que el negoci del programari lliure a Europa representa ja un 1% del PIB i suposa un 20% de la inversió en programari, tant a Europa com als EUA. L’informe pronostica arribar a l’1’4% del PIB a finals de 2010, quan podria arribar a representar el 32% del volum de negoci en serveis en tecnologies de la informació. A més a més, els camps d’aplicació del PL no paren d’ampliar-se. Recentment, ha entrat en el món de la telefonia mòbil amb la irrupció al mercat dels primers mòbils amb sistemes operatius lliures, basats en Linux: LiMo15i Android16 . La conclusió és clara: Amb la variabilitat que presenta el sector informàtic, el creixement imparable que ha mostrat el PL durant més d’una dècada no deixa lloc a dubtes. El programari lliure no és una moda passatgera o un fenomen puntual. El PL és una tendència que es consolida i que arribarà a representar un percentatge determinant del sector informàtic, comportarà una reforma important d’aquest sector i una redistribució en les dimensions de les empreses. Les empreses privades usuàries d’informàtica ja porten temps preveient i adaptant-se a aquesta realitat. L’Associació Catalana d’Empreses pel PL, coneguda com CatPL17 , assegura que més del 90% dels clients de les seves empreses associades són privats, incloent les empreses més grans del país. És una paradoxa curiosa: Fa un temps era habitual dir, i encara hi ha qui ho segueix repetint, que el PL és un model de negoci especialment orientat a empreses petites, per la reducció de costos que suposa, i a administracions, per motius ideològics. La realitat, a Catalunya, contradiu totalment aquesta afirmació. Els primers consumidors de serveis PL i que en treuen el millor rendiment són les multinacionals i les empreses més grans. Després vénen les empreses mitjanes i, a continuació, les petites. Possiblement, les que van més endarrerides en l’aprofitament dels avantatges que els pot aportar el PL són les administracions. 13 http://idc.com/getdoc.jsp?containerId=prUS21982209 14 Es pot trobar un resum a http://flossimpact.eu/ (en anglès) i l’estudi complet a http://ec.europa.eu/enterprise/sectors/ict/files/2006-11-20-flossimpact_en.pdf (en anglès). 15 16 http://www.limofoundation.org/ (en anglès) http://www.android.com/ (en anglès) 33 17 http://www.catpl.org/ Guies per al desenvolupament de la societat del coneixement
  • 36.
    El programari lliurea les administracions locals 3. Situació actual del PL 3.2. - El PL a l’educació S’han vist força casos en què la introducció del PL s’ha fet començant per l’educació. Hi ha destacats casos d’èxit; entre els més coneguts, els d’Extremadura18 i Andalusia19 , així com la distribució de GNU/Linux del Departament d’Educació de la Generalitat de Catalunya, anomenada Linkat20. Malgrat això, cal assenyalar que, en relació al coneixement del PL, l’aposta per l’educació és a llarg termini. Els nois i noies que ara estan a les aules tardaran molts anys a arribar al mercat laboral. Però en l’elecció del PL per a l’educació hi intervenen altres factors i altres objectius. En primer lloc, l’accés al codi font facilita l’adaptació a les diversitats culturals o característiques particulars dels centres, del professorat o dels alumnes. Per exemple, la gran majoria de programari privatiu no ofereix versions en català, mentre que per a les aplicacions lliures sí que existeix. Val la pena observar una important diferència en l’evolució dels preus en informàtica. Des de la seva aparició, el maquinari ha anat baixant de preu de forma sostinguda i sempre oferint potències cada vegada més altes. En canvi, el programari s’ha mantingut o, fins i tot, s’ha apujat i, sovint, ha ofert noves versions de programes que, pràcticament, fan el mateix que les anteriors. 18 http://www.linex.org/ (en castellà) 19 http://www.guadalinex.org/ (en castellà) 20 http://linkat.xtec.net/portal/index.php 34 Guies per al desenvolupament de la societat del coneixement
  • 37.
    El programari lliurea les administracions locals 3. Situació actual del PL Això fa que moltes escoles optin per mantenir versions obsoletes i, sovint, diferents en ordinadors d’una mateixa aula. I això fent un esforç pressupostari. En canvi, l’ús de programari lliure retalla dràsticament la despesa tecnològica i allibera recursos que es poden destinar a altres iniciatives pedagògiques. A més, la llibertat de redistribució del PL fa que sigui possible, i legal, instal·lar les mateixes versions a tots els ordinadors i, fins i tot, oferir-les als alumnes per a què les instal·lin a casa seva. D’aquesta manera, escola, professorat i alumnes, fins i tot a casa seva, poden usar els mateixos programes i les mateixes versions. A part, el programari lliure sol ser menys exigent en relació als requisits tecnològics del maquinari sobre el qual ha de funcionar. Això permet que l’escola mantingui maquinari més antic o que vegi més espaiada la seva necessitat de renovar el material informàtic, un cop més, alliberant recursos que pot destinar a altres finalitats. Però hi ha una qüestió més profunda, que arriba a afectar la missió mateixa de l’educació. Si l’escola decideix usar programari privatiu, això crea diferències entre aquelles famílies que es poden permetre adquirir, per usar a casa, les mateixes aplicacions que l’escola i aquelles que no. És més, hi ha el risc que els alumnes intentin aconseguir còpies no autoritzades, sense percebre el caràcter il·legal d’aquesta acció. Sabies que...? El Departament d’Educació de la Generalitat de Catalunya va ser l’iniciador i segueix sent el principal impulsor i coordinador d’un dels projectes lliures per a ensenyament, especialment primari, amb més èxit del món. El JClic és una eina que facilita la creació d’activitats pedagògiques per a l’educació. Va començar l’any 1992 i en l’actualitat hi ha grups de desenvolupament d’activitats JClic per tot el món. Malgrat la inèrcia, les naturals resistències al canvi i desconfiances respecte allò que és menys conegut, els arguments a favor d’usar PL a l’educació van molt més enllà de l’estalvi econòmic i la tendència en aquest sentit és clara. La introducció del PL a l’educació està resultant lenta i gradual, però sostinguda i imparable. 35 Guies per al desenvolupament de la societat del coneixement
  • 38.
    El programari lliurea les administracions locals 3. Situació actual del PL 3.3. - El PL a les administracions públiques Igual com passa amb la situació de l’ús del PL a les empreses, el dinamisme amb què està avançant a l’administració deixaria ràpidament obsolet qualsevol llistat de casos d’èxit. En conseqüència, hem considerat més útil fer una classificació de les accions que administracions d’arreu han portat a terme, mirant d’extreure els beneficis que pot comportar per a una administració local catalana adoptar mesures del mateix tipus. Aquesta classificació21 hauria de permetre que cada administració que s’estigués plantejant la possibilitat d’emprendre algun tipus d’acció al voltant del PL pogués ubicar el seu projecte en una de les categories i mirar d’identificar millor quin tipus de beneficis en pot aconseguir. a) Suport, promoció i divulgació Moltes administracions han fet accions d’aquest tipus: des de les simples declaracions públiques a favor fins a fer i repartir distribucions de Linux o repertoris de programari lliure a ciutadans, comerços i empreses, passant pel suport a projectes, actes o jornades sobre la matèria. Accions d’aquesta mena poden facilitar l’accés de persones, organitzacions i empreses als beneficis del PL, però, per a la pròpia infraestructura informàtica de l’administració, no se’n treu cap profit o és tan indirecte que, fins i tot considerat a llarg termini, és de dubtosa utilitat. Per tant, les actuacions d’aquest apartat han de ser considerades com accions de contingut exclusivament polític. Grans analistes del sector TIC, com Gartner (http://www.gartner.com/) o IDC (http://www.idc.com/), han creat models similars per analitzar el progrés de les organitzacions en l’adopció 21 del PL i els seus models de creació de programari. Aquí n’hem fet una adaptació al cas concret de les administracions locals catalanes, basant-nos en l’experiència acumulada a Localret i en 36 nombroses referències internacionals. Guies per al desenvolupament de la societat del coneixement
  • 39.
    El programari lliurea les administracions locals 3. Situació actual del PL b) Adopció i ús També són quantioses les administracions que han començat a usar PL en la seva pròpia gestió. La majoria comencen per migrar serveis interns (back office). Cada vegada més, però, es veuen més administracions que arriben a emprendre projectes de migració d’aplicacions d’ús habitual per part de tots els funcionaris de l’organisme. Se sol començar per l’ofimàtica i el darrer pas sol ser el sistema operatiu. En aquest estadi es comencen a fer patents els avantatges del PL, especialment els estalvis econòmics. Cal assenyalar que no es tracta d’una retallada quantitativa dels costos, sinó un veritable salt qualitatiu que arriba a fer possibles projectes que serien econòmicament inabastables o permetre gaudir de serveis que, en programari privatiu, quedarien totalment fora de les possibilitats de l’administració en qüestió22. c) Participació en projectes de tercers En un principi, hi va haver qui qüestionava la viabilitat, tant tècnica com jurídica, de la participació de les administracions públiques en projectes de programari lliure, però això està superat. Hi ha nombroses administracions que documenten errors, són actives en fòrums de consultes o, fins i tot, aporten línies de codi. Sol passar en projectes de gran interès per a l’administració afectada i, normalment, suposa un veritable punt d’inflexió en l’obtenció de beneficis per part seva. La implicació directa a la comunitat facilita l’accés a uns coneixements i unes possibilitats que permeten assegurar que el programa s’adapti al màxim a les necessitats de l’administració, per un cost, material i humà, molt inferior al que podria suposar el manteniment d’un programa propi. d) Impuls de projectes col·laboratius El darrer graó, molt proper a l’anterior, és quan l’administració, en plantejar-se la construcció d’un programari nou, ho fa ja buscant altres administracions interessades en el mateix projecte i el planteja de forma col·laborativa, aprofitant els costums i formes de treballar de les comunitats PL. En aquest punt és on les administracions obtenen el màxim rendiment possible del PL. Les administracions que han accedit a aquest nivell ja no són tan nombroses. A Catalunya, encara està poc estès el costum de col·laborar entre administracions en el desenvolupament de programari. Tot i això, hi ha exemples notables, com les comunitats que estan sorgint al voltant dels projectes del Guarà o algunes iniciatives puntuals d’altres administracions. A l’estranger hi ha alguns països on és força més habitual. 22 Cal no oblidar, però, que Localret també treballa amb les empreses del sector per reduir els costos vinculats a l’adquisició i la utilització de llicéncies d’us generalitzat per part de les administracions locals. 37 Guies per al desenvolupament de la societat del coneixement
  • 40.
    4 Estratègia en relació amb el PL 4.1. - Com decidir sobre el PL Als inicis de l’impuls del PL es van veure casos d’adopció de programes lliures, per motius ideològics, sense massa planificació. Lògicament, molts d’aquests projectes no van donar els resultats esperats. Ha d’estar clar que la tria de programari és una decisió amb un elevat component tècnic i que, per tant, els criteris tècnics han de prevaldre a l’hora de prendre-la. Es pot dir que hi ha dos grans grups de criteris a l’hora de decidir l’adopció o la migració a una aplicació, lliure o no: - Criteris de funcionalitat: si l’aplicació fa allò que es necessita que faci. - Criteris de costos: si tots els costos que genera l’ús de l’aplicació són proporcionats i entren en el pressupost disponible. És difícil establir una metodologia genèrica per avaluar cadascun d’aquests apartats, ja que depèn molt de quin sigui el problema que es vulgui resoldre mitjançant l’ús d’una eina informàtica. Si el problema es redueix al pur tractament d’una informació, segurament el criteri principal serà només la funcionalitat de l’aplicació. En canvi, si allò que cal resoldre és la introducció de dades, per exemple, de recollida d’escombraries, l’encaix del programa amb dispositius mòbils pot ser el factor determinant que faci escollir una aplicació i descartar-ne una altra. Per tant, una metodologia correcta per decidir l’adopció d’un determinat programa hauria de contemplar els passos següents: - Determinació del problema: Tenir clar quin és el problema que es vol resoldre mitjançant l’adopció d’aquesta eina. - Prospecció d’alternatives: Buscar quines eines, enteses, si cal, com a combinació de maquinari i programari, poden resoldre el problema plantejat. - Selecció dels criteris més rellevants per al cas i valoració de les alternatives. - Tria de la solució. 38 Guies per al desenvolupament de la societat del coneixement
  • 41.
    La diferència entreconsiderar el PL o no està en el punt 2. Un plantejament de militància radical pro PL només acceptaria alternatives lliures en aquest pas. Per contra, una actitud negativa respecte el PL les rebutjaria, acceptant només aplicacions privatives. L’actitud més pragmàtica, i que recomanem, seria acceptar, en el pas 2, totes les alternatives, siguin lliures o no. En el pas 3 és on han de prevaldre els criteris tècnics esmentats, valorant tots els avantatges que pot suposar l’ús de PL en la seva justa mesura. Amb tots els criteris seleccionats, s’hauria de fer una taula com la de l’exemple, en què s’avalués cada criteri (per exemple, files) per a cada aplicació (columnes). Al final, atorgant un pes a cadascuna de les columnes s’hauria de poder aconseguir un valor conjunt, que permetrà fer la tria. Prog. 1 Prog. 2 Prog. 3 Criteri 1 1 3 2 Criteri 2 2 3 1 Criteri 3 1 1 3 Valoraci— + ++ +++ Per exemple, si l’ajuntament considera més important el criteri 3, l’eina seleccionada podria no ser la que obtingui un millor promig. Com a exemples típics de criteris «vistosos» que solen conduir a decisions poc encertades, podríem citar: - Capacitat o potència màxima: Si el volum de dades a tractar o la potència requerida és moderada, basar-se en aquest criteri pot conduir a «matar mosques a canonades». - Màximes funcionalitats: Una mala avaluació de les funcionalitats que realment fan falta sol acabar portant a pagar un elevat cost per una eina de la que només se n’usa un petit percentatge. - El preu més alt: En informàtica, entre molts altres àmbits, és clar que les estratègies del mercat fan que no sempre allò més car sigui millor. I encara cal tenir en compte que «millor en general», sempre discutible, no té per què coincidir amb «millor per a les nostres necessitats». 39 Guies per al desenvolupament de la societat del coneixement
  • 42.
    El programari lliurea les administracions locals 4. Estratègia en relació amb el PL 4.2. - Criteris relatius a la funcionalitat de l’aplicació Entre els criteris que, en cada cas, s’hauran de destacar respecte la resta o bé descartar, segons convingui, podem esmentar, sense cap ànim exhaustiu, els següents: - Funcionalitat: Permet les operacions necessàries. Convé fer un llistat de les operacions que caldrà fer amb el programa buscat i classificar-les en imprescindibles, importants i addicionals. Per exemple, per a una comptabilitat municipal, que permeti generar i quadrar apunts comptables lligats a les partides del pressupost és imprescindible, que generi balanços partida per partida pot ser important i que es pugui configurar l’aspecte gràfic dels llistats pot ser una funcionalitat addicional. - Interoperabilitat interna: Permet la interacció amb la resta de sistemes de l’ajuntament. Aquest criteri pot ser especialment rellevant per aplicacions que requereixen creuar dades amb altres aplicacions del municipi. Per exemple, la gestió de tributs sol requerir dades del padró i del cadastre. 40 Guies per al desenvolupament de la societat del coneixement
  • 43.
    El programari lliurea les administracions locals 4. Estratègia en relació amb el PL - Interoperabilitat externa: Permet la interacció amb altres administracions. Per triar una aplicació, cal tenir present quin grau d’interacció amb altres administracions tenen les dades que tracta aquesta aplicació i la compatibilitat de l’aplicació amb els sistemes que usen aquestes administracions. Per exemple, una aplicació de gestió del registre de gossos perillosos, que no necessiti interacció amb altres administracions, no suposarà grans requisits en aquest apartat. En canvi, una aplicació del cadastre, que ha d’intercanviar dades amb la Direcció General del Cadastre, entre d’altres, pot tenir més condicionants en aquest criteri. - Requisits tècnics: Hi ha programes que són molt eficients en l’ús dels recursos i d’altres que no. Aquest factor s’ha de considerar d’acord amb l’ús que se’n farà, no d’acord amb la capacitat màxima de l’aplicació. - Força renovació: Relacionat amb el criteri anterior, s’ha de considerar si l’adopció del programa forçarà una renovació de maquinari que podria esperar encara un temps o, per contra, pot funcionar sobre el maquinari disponible. - Llicència d’ús: En el cas dels programes privatius, cal comprovar que la llicència no comporti alguna limitació que faci desaconsellable l’ús de l’aplicació. - Ús d’estàndards oberts: Que l’aplicació usi estàndards oberts permetrà el correcte compliment de la Llei 11/2007, garantirà l’accés perpetu a la informació i facilitarà la interoperabilitat, així com el traspàs de dades en cas de futures migracions. - Grau de dependència: Tant del proveïdor com de la pròpia aplicació. Hi ha aplicacions que forcen que, per a altres funcions, sigui necessari usar altres aplicacions del mateix fabricant o bé que, mitjançant l’ús de formats tancats, dificulten qualsevol possible migració futura. Cal tenir-ho en compte com un punt negatiu. - Escalabilitat: Cal preveure que l’aplicació pugui respondre a les necessitats actuals però també a les futures, previsibles dins d’un horitzó temporal raonable. - Usabilitat: També s’ha de tenir en compte la facilitat d’ús per part dels usuaris/àries que hauran de servir-se d’aquesta aplicació i la similitud amb aplicacions que ja hagin usat. Aquest criteri pot tenir repercussions en l’apartat de costos, si es detecta que cal una formació específica. - Gestió del canvi: Força relacionat amb el criteri anterior, s’ha de considerar també la dificultat de vèncer les possibles reticències del personal que ha d’usar el programa. - Suport: S’ha de considerar la facilitat d’obtenir suport, tant sobre el funcionament de l’eina, com de la possibilitat de modificar-la i adaptar-la quan es detecti alguna disfunció que suposi un problema important per al seu ús en el municipi en qüestió. Un subapartat a destacar en aquest criteri és la possibilitat de contractació local, és a dir, la disponibilitat d’empreses locals que puguin prestar aquests serveis. 41 Guies per al desenvolupament de la societat del coneixement
  • 44.
    El programari lliurea les administracions locals 4. Estratègia en relació amb el PL 4.3. - Criteris relatius als costos L’eina ja sòlidament establerta per avaluar el cost d’una aplicació és aquella que es coneix amb les inicials angleses TCO, de Total Cost of Ownership (en anglès, cost total de propietat). Només com a revisió ràpida i no exhaustiva, enumerem els costos directes i indirectes que caldria tenir en compte, per tal de poder comparar correctament els costos d’aplicacions. Tots els costos s’han de comptar per al període previst d’ús del programa, que hauria de ser entre tres i cinc anys. · Costos directes: - Preu d’adquisició (o llicències d’ús) del programari. - Preu d’adquisició del maquinari, si cal. - Preu de les actualitzacions previsibles durant el període de temps establert. - Costos de suport: Poden ser fixos per contracte o puntuals; també s’hi poden comptar llibres, cursos per al personal tècnic o similars. - Costos d’administració: El cost del projecte d’implantació, migració, gestió del canvi, formació, etc. - Altres costos: Compra d’eines complementàries necessàries, etc. · Costos indirectes (sovint són difícils de quantificar): - Costos derivats de la interrupció del servei: Quin cost suposa per a l’ajuntament que l’aplicació quedi inservible durant un temps, multiplicat pel temps que s’estimi que pugui quedar en aquesta situació, a partir d’estadístiques disponibles (molts fabricants les tenen, però no sempre les faciliten). - Futz Factor: Nom amb què es coneix el temps perdut per ús de la nova tecnologia implantada en benefici propi de l’empleat corresponent que l’ha d’usar (per exemple, el correu electrònic o la Internet). - Autoformació dels usuaris: El temps que perden en consultes entre companys. Es poden trobar molts documents a Internet amb exemples concrets que poden servir de base per adaptar les dades al cas que convingui. 42 Guies per al desenvolupament de la societat del coneixement
  • 45.
  • 46.
    5 Migració d’aplicacions a PL 5.1. - Per què migrar? Entendrem per migrar el fet de canviar una aplicació o sistema que està operatiu per un altre. La part més important d’aquesta afirmació és que l’aplicació està operativa, és a dir, que està prestant un servei que la migració pot afectar. Aquí radica la principal dificultat de qualsevol migració, sigui a PL o no. Per tant, una decisió així no es pot prendre a la lleugera. Cal tenir clar el motiu de la migració: per què cal abandonar el sistema que està funcionant i anar a un altre. Entre els motius habituals, s’hi poden trobar els següents: - Obsolescència funcional de l’aplicació actual: Les possibilitats que ofereix la tecnologia han anat augmentant en les darreres dècades. Això fa que tant els usuaris interns com la ciutadania deixin d’acceptar com a vàlides solucions que fa uns anys eren fins i tot innovadores. Sovint, també la legislació s’ha anat tornant més exigent amb les administracions locals i ha pres com a norma les noves capacitats tecnològiques. Això fa que els requeriments sobre les aplicacions municipals vagin evolucionant. A vegades, algunes aplicacions no s’adapten a aquests canvis, o no amb prou agilitat, i això força a canviar-les. - Cost inferior al de manteniment/actualització: Mentre han tingut situació de monopoli, algunes aplicacions han mantingut uns costos de manteniment o actualitzacions periòdiques bastant elevats. Tan bon punt alguna aplicació lliure arriba a cobrir les mateixes funcionalitats, és fàcil que la migració sigui econòmicament molt més aconsellable que seguir acceptant uns costos que, sovint, no estan prou clarament justificats. - Avantatges del PL: Un altre motiu per decidir una migració pot ser la major seguretat o fiabilitat, regularitzar llicències o aprofitar qualsevol dels avantatges descrits a l’apartat 2.1.2. Aquests motius, d’altres de similars o combinacions de tots ells poden servir per argumentar la presa de la decisió de migrar. Si la migració pot comprometre el bon funcionament de l’administració o bé ha d’afectar a un volum impor- tant dels treballadors/es de la casa, seria una imprudència emprendre-la sense 44 Guies per al desenvolupament de la societat del coneixement
  • 47.
    l’aprovació del nivellpolític i, si cal, fins i tot del ple. Aleshores, cal argumentar bé la decisió i aquestes pautes poden ser d’utilitat. En qualsevol cas, es desaconsella la migració per motius purament ideològics. La sensibilitat pel PL pot portar a plantejar la possibilitat de migrar, però el desencadenant hauria de ser sempre el fet d’observar que la migració comportarà alguna millora o avantatge. 5.2. - Migrar o no migrar. Aquesta és la qüestió Si el primer pas per prendre la decisió de migrar a programari lliure és tenir clar el motiu de la migració, el següent és mirar si aquesta migració és possible i recomanable. De la mateixa manera que hi ha arguments que poden aconsellar aquesta decisió, enumerats a l’apartat precedent, també n’hi ha que la poden desaconsellar: - Disponibilitat de programari: L’objectiu de la informàtica d’una administració no és ser lliure o no lliure, sinó complir unes determinades funcions. Si en programari lliure no hi ha una aplicació que cobreixi la funcionalitat requerida o no s’hi adapta prou bé, potser caldrà descartar aquesta opció. - Maduresa del programari: Hi ha models per avaluar de manera objectiva el grau de maduresa d’una aplicació lliure (enumerats a l’apartat 2.3.2). Per la forma de desenvolupament del PL, aquesta dada pot ser crítica. Si l’aplicació que millor s’adapta a les necessitats de l’ajuntament no està prou avançada, potser caldrà aplaçar la decisió d’adoptar-la. En aquest cas, serà important ser curós amb no prendre decisions que puguin hipotecar la futura migració previsible. Una altra possibilitat, si l’ajuntament s’ho pot permetre o té accés a ajuts per fer-ho, és incorporar-se a la comunitat que està desenvolupant aquella aplicació per fer-la avançar més ràpid i en la direcció que més li convingui. A l’apartat 3.2, concretament a la lletra c, s’exposen els avantatges d’aquesta opció. - Espera per unificació de criteris o estandardització interna: En alguns casos, les administracions s’han anat digitalitzant progressivament a base d’anar resolent problemes, sense seguir una línia estratègica. Parar, qüestionar la direcció adequada i acordar una línia més definida pot fer aconsellable ajornar per un temps una migració per estar segurs que coincideix amb la nova línia escollida. - Espera per unificació de criteris o estandardització externa: La mateixa tasca d’estandardització pot venir donada per una administració supramunicipal que presti serveis als ajuntaments. Si és previsible que sigui així, també serà recomanable esperar per estar segurs d’anar en una direcció coherent amb la resta. 45 Guies per al desenvolupament de la societat del coneixement
  • 48.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL - Problemes d’interoperabilitat: Migrar a un estàndard obert quan la resta d’administracions amb qui cal interactuar no ho ha fet encara pot comportar problemes en l’intercanvi de dades. Pot ser recomanable fer una migració parcial, mantenint algunes instal·lacions de l’aplicació antiga, que permeti mantenir la interoperabilitat. - El cost de la migració en sí: Una migració a programari lliure sol reduir significativament l’estructura de costos, però la migració en sí comporta un sobre cost puntual que pot ser prohibitiu. En aquest cas, caldrà esperar alguna convocatòria d’ajuts o bé buscar la manera de distribuir aquest cost en el temps, escalant la migració al llarg de diversos exercicis. 5.3. - Planificació de la migració Un cop vistos els motius per a la migració i comprovat que no hi hagi impediments per emprendre-la, convé planificar-la acuradament i amb responsabilitat. En aquest apartat, traçarem les línies mestres del pla per a una migració d’una certa envergadura i dimensions. Quan calgui emprendre una migració més senzilla, alguns dels passos potser es podran obviar, simplificar o adaptar. 5.3.1. - El pla de migració En migracions de gran transcendència és imprescindible planificar acuradament i posar per escrit el pla de la migració, que haurà de comptar amb el vist-i-plau del màxim nivell de responsabilitat de l’administració afectada. Un pla de migració complet hauria de contemplar apartats que cobrissin, com a mínim, les qüestions següents: - Motius i objectius de la migració: Com s’ha vist, el motiu de la migració és important. Per tant, aquest s’hauria d’explicitar en el pla, així com els objectius que persegueix la migració i l’encaix del projecte en les línies mestres de tot el sistema informàtic de l’ajuntament. - Inventari: Definició del maquinari i/o el programari que es donaran de baixa per substitució, indicant els usos que se’n fan actualment, per part de quines persones i quins són els seus coneixements. - Definició del nou entorn: Concretar el nou maquinari i/o les noves aplicacions que es pretenen implantar. - Correspondència d’usos i funcions: Establir com es porten a terme els usos i funcions antics, descrits a l’apartat d’inventari, sobre el nou entorn a implantar. - Canvis físics deguts a la migració: Si és el cas, explicitar també els canvis d’espais i ubicacions que tindran lloc com a conseqüència de la migració. - Canvis organitzatius i funcionals que comporta la migració: Sovint, s’aprofita el procés de replantejament tecnològic que suposa una migració per replantejar també canvis estructurals, organitzatius i funcionals dins de l’administració. Convé explicitar-los. 46 Guies per al desenvolupament de la societat del coneixement
  • 49.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL - Etapes de la migració: Un pla poc acurat es redueix a aquest apartat, ja que és aquell que contempla la planificació de la migració tecnològica pròpiament dita. Hauria de contemplar: - Establiment d’eines o entorns pont. - Pla pilot. - Avaluació del pilot i replanificació. - Etapes en què es preveu desglossar la generalització del pilot. - Gestió del canvi: Fer constar les accions que es portaran a terme per evitar el rebuig del nou entorn per part del personal que l’hagi d’usar, contemplant des d’accions d’explicació del què i el per què de la migració fins al més important: l’atenció a l’usuari i resolució dels seus dubtes. - Pla de formació: Va molt relacionat amb l’apartat anterior, però val la pena dedicar-n’hi un d’específic en què s’entri en el detall de com es portarà a terme tota la formació necessària. - Pla de recursos materials: Sovint, la duplicació d’entorns que suposen les eines pont o els pilots comporta un augment transitori dels recursos necessaris. S’ha de preveure aquesta situació per evitar problemes. - Pla de recursos humans: Tant en el departament d’informàtica com en els departaments usuaris, la migració pot suposar una sobrecàrrega transitòria que també cal planificar. S’ha de preveure si cal la contractació externa en alguna fase del procés. - Planificació econòmica de tot el procés: El recurs més important, i sovint també el més escàs, són els diners. Pràcticament tots els apartats precedents s’haurien de veure reflectits en la planificació econòmica del projecte. 47 Guies per al desenvolupament de la societat del coneixement
  • 50.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL 5.3.2. - Posats a qüestionar... L’inici i plantejament d’una migració és el moment idoni per aprofitar per posar en pràctica tots els procediments i actuacions reglades en la gestió de les TI (Tecnologies de la Informació) de l’ajuntament o consell comarcal que l’aborda. O per millorar-los, si cal. Els canvis que hauran de tenir lloc en els procediments afectats per la migració són una oportunitat per incloure en el projecte l’ordenació i estandardització dels processos de requeriments i peticions al departament d’informàtica, per exemple, o per assegurar usos i costums que, sovint, costa que arrelin en les organitzacions. Una de les metodologies més esteses en la gestió de les TI, com a mínim en el món privat, és la coneguda per les seves inicials en anglès: ITIL1, Information Technology Infrastructure Library, biblioteca d’infraestructura en tecnologies de la informació. Es tracta d’un ampli recull de bones pràctiques sobre la matèria, associat a una estructura de certificació dels coneixements assolits. N’hi ha d’altres, com BPM, EFQM o normes d’ISO. 5.3.3. - Inventari Disposar d’un inventari que reflecteixi fidelment el maquinari i el programari implicats en la migració és indispensable per poder planificar bé la migració. En cas de no disposar-ne, aquesta hauria de ser la primera etapa de la planificació i condicionaria tota la resta del pla. Les millors pràctiques en aquest apartat recomanen basar-se en tres fonts: inventaris previs disponibles, inventari automàtic i auditoria2 i una revisió a fons dels dos anteriors que incorpori tot allò que hagin obviat, tractat de forma diferent o duplicat. El més important, però, no és aquest inventari, que podríem anomenar físic, sinó un d’analític que reculli els processos i usos que es donen als sistemes descrits al primer. L’element més necessari en una bona planificació de la migració és disposar del llistat de tots els processos que se’n veuran afectats. Cal comprovar que tots tinguin la possibilitat de portar-se a terme sobre el nou entorn a implantar i que, si no tots, com a mínim la majoria millori amb el canvi. Si no fos així, la migració seria molt difícil de justificar. 5.3.4. - Correspondència d’usos i funcions Si bé la metodologia de casos d’ús és força usada com una etapa del procés de desenvolupament de noves aplicacions, no ho és tant per analitzar-les. L’única forma d’estar completament segurs que les aplicacions disponibles en el nou entorn al qual es pretén migrar cobriran totes les necessitats que l’ajuntament requereix als seus sistemes informàtics és: · Inventariar tots els usos actuals del sistema informàtic que es vol abandonar. Aquí és on es pot usar la metodologia de casos d’ús3 o, si el volum ho aconsella, una simplificació, però cal estar segurs d’haver recollit totes les operacions que s’han de poder realitzar. · Comprovar que en el nou sistema al qual es vol migrar es poden fer totes les operacions. 1 http://www.itil-officialsite.com/home/home.asp (en anglès). A http://ca.wikipedia.org/wiki/ITIL es pot trobar una breu descripció en català, però el gruix de la documentació de la metodologia ITIL és d’origen britànic i està en anglès. 2 Hi ha nombroses eines de suport i automatització d’aquestes tasques. Per exemple, Open Audit (http://www.open-audit.org) o OCSinventory (http://www.ocsinventory-ng.org), entre altres 3 Una descripció breu, pràctica i pedagògica sobre el mètode d’especificació amb casos d’ús es pot trobar en els apunts de metodologia del Professor Josep Ibarz, de la Facultat d’Informàtica de Barcelona (UPC), a http://www.lsi.upc.edu/~ibarz/metodologia.pdf. El Professor Ibarz també és el cap de l’Oficina de Planificació de Sistemes d’Informació de la Diputació de Barcelona.. 48 Guies per al desenvolupament de la societat del coneixement
  • 51.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL En aquesta correspondència entre els procediments antics i els nous, es poden introduir millores d’eficiència. Pot ser que sigui un dels principals motius de la migració, però totes les operacions importants en el sistema antic han de tenir una correspondència en el nou. Si no, la migració no és viable. A aquest inventari, però, se li pot treure més partit: serveix també per vertebrar la formació, especialment la pràctica. 5.3.5. - Entorns i aplicacions pont Per facilitar la transició entre els dos escenaris, el previ a la migració i el posterior, poden ser d’utilitat els entorns o aplicacions pont entre els diferents estats del procés. Habitualment es tracta d’aplicacions que es veuran afectades per la migració, però que es poden utilitzar ja sobre l’entorn inicial. Per exemple, en cas de decidir migrar els sistemes operatius dels llocs de treball de Windows a Linux, es poden començar a usar sobre l’entorn Windows les aplicacions que s’usaran a l’altre. Navegadors com el Firefox, paquets d’ofimàtica com l’OpenOffice i moltes altres aplicacions permeten aquesta possibilitat. 5.3.6. - La participació de tercers La bona planificació, ja important per ella mateixa, es converteix en fonamental quan es detecta que serà necessari contractar personal extern en algun punt del procés. Per evitar problemes entre l’administració client i l’empresa proveïdora, han d’estar definides amb la màxima precisió possible quines tasques s’assignen i les responsabilitats a delegar. La transparència també figura entre les millors pràctiques. Totes les administracions, i en particular les locals, tracten habitualment amb dades molt sensibles davant la LOPD, la Llei de protecció de dades personals. És comprensible, per tant, una especial prudència a l’hora de permetre que personal extern tingui accés a segons quines instal·lacions o a segons quina informació. De totes maneres, que l’empresa contractada comprengui l’abast de tota la migració, quina part se li assigna i com encaixa en el conjunt del projecte és important per a la bona marxa de la seva execució. La participació d’agents o empreses especialitzades que puguin prestar serveis d’assessoria, consultoria o participar en la pròpia migració pot aportar un valor afegit al projecte mitjançant recursos i experiència que no es trobin a la pròpia organització. 49 Guies per al desenvolupament de la societat del coneixement
  • 52.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL 5.3.7. - Gestionar el canvi = generar confiança i interès És important involucrar el personal propi que s’hagi de veure afectat per la migració. Aquesta mena de projectes solen ser planificats per personal tècnic per al qual aquests aspectes, més psicològics, tenen poca visibilitat. El resultat és que la gestió del canvi sol ser un dels capítols oblidats en els plans de migració o es redueix a alguns comentaris imprecisos i de poca o nul·la repercussió. Diverses guies de migració assenyalen que l’evolució de l’actitud dels usuaris davant d’un canvi de programari segueix una corba que comença amb la insatisfacció per la notícia d’haver de canviar i arriba a la satisfacció en constatar l’augment de productivitat que suposa la nova aplicació. Però entremig el personal no tècnic sol passar pel rebuig i l’oposició. En aquest punt més baix és on el risc de ruptura és màxim: la no acceptació del canvi. Si s’aconsegueix superar aquest punt, l’usuari comença a explorar les noves eines i acaba arribant a usar-les bé i a aconseguir les millores que es perseguien amb tot el projecte de canvi. Satisfacci— / SÕanuncia productivitat el canvi Insatisfacci— Exploraci— / Rebuig descobriment Oposici— Risc: no acceptaci— / fracˆs Figura 7. Evolució habitual de les reaccions dels usuaris davant dels canvis en TI. L’experiència demostra que allò que genera reaccions adverses en els usuaris i usuàries en el fons són la resistència al canvi, per pura inèrcia acomodatícia, i la por d’allò que no es coneix. Per tant, les accions útils que poden fer que la corba mostrada en el gràfic sigui menys profunda i el risc de ruptura menor són totes aquelles que generin confiança i interès per les noves eines. Se’n poden establir des del principi, sobre la marxa i un cop feta la migració. a) Accions a priori En administracions catalanes mateix, hi ha exemples que demostren que pot ser molt útil explicar al personal el perquè de la migració i les millores que s’espera obtenir-ne per al mateix usuari i per a l’administració. També és important evitar la sensació que se’ls amaga informació o que no se’ls tindrà en compte i se’ls imposaran les novetats, tant si els van bé com si no, tant si agraden com si no agraden. En resum: no es tracta de vèncer, sinó de convèncer. Una altra estratègia que ha funcionat força bé en diferents ocasions és referir-se, en tot moment, a les eines a substituir 50 Guies per al desenvolupament de la societat del coneixement
  • 53.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL com «programari obsolet» i a les noves com «programari nou». En el cas de l’administració d’Extremadura, aquesta estratègia va arribar a aconseguir tant interès per les noves aplicacions que, davant d’una migració per etapes, les persones a qui encara no havien canviat les aplicacions es queixaven, demanant que els posessin ja les noves. A l’apartat següent es parla de formació, que, evidentment, és un element fonamental per generar confiança i seguretat i que també s’ha de fer abans de procedir a la migració. b) Accions sobre la marxa Mantenir el personal informat sobre el calendari dels canvis i evitar sorpreses, en resum, ser transparents són altres elements clau per mantenir la confiança generada des del principi. També s’ha demostrat útil obrir algun canal de comunicació específic per a problemes relacionats amb el projecte de migració. Fins i tot encara que no l’usin, saber que si es troben amb alguna dificultat seran escoltats tranquil·litza. Allò que genera desconfiança és la sensació que si la migració li impedeix fer la seva feina o fer-la bé el problema serà únicament del treballador. Si no existeix en l’organització i les dimensions ho justifiquen, pot ser un bon moment per implantar una eina de gestió d’incidències i tramitació de peticions. Per anar bé, s’hauria de posar en marxa abans de procedir a la migració i, per a què tingui l’efecte de generar confiança, com a mínim les primeres peticions han d’obtenir resposta més ràpid que pels canals alternatius. c) Accions a posteriori Un cop s’ha produït el canvi de tecnologia i l’usuari ha de començar a usar el nou entorn és important, i s’ha d’haver previst a priori, tenir ben establert un canal per resoldre de forma àgil i eficaç qualsevol dubte que se li pugui plantejar. I encara més important: l’usuari ha de saber que existeix aquest canal i com accedir-hi. A l’apartat dedicat al pilot s’exposa una de les tècniques més eficaces en aquesta qüestió: la resolució de dubtes a través de companys/es més ben disposats. A part de les reticències al canvi i les possibles dificultats d’ús de les noves eines, també s’han de preveure, tot i que és difícil fer-ho a priori, les conseqüències d’alguns canvis sobre qüestions operatives no directament lligades a la feina quotidiana. Per exemple, migrar els ordinadors de sobretaula de Windows a Linux pot suposar que el personal tingui la sensació de tenir menys control sobre el seu ordinador, ja que potser no es podrà instal·lar aplicacions quan abans sí que podia o no podrà decidir elements de la configuració que havia après a canviar per sí sol. Efectes col·laterals d’aquesta mena podrien generar reaccions adverses imprevistes o, fins i tot, que els usuaris no s’atreveixin a «confessar». Això pot portar l’equip responsable de la migració a haver de lluitar contra «adversaris» que no es manifesten, i aquest és un problema de molt difícil solució. 51 Guies per al desenvolupament de la societat del coneixement
  • 54.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL 5.3.8. - Planificar la formació Ben portada, la formació ha de conduir als usuaris i usuàries a conèixer les eines noves abans que se les trobin al lloc de treball. És molt positiu que puguin fer pràctiques amb les noves aplicacions i, de manera ideal, que puguin provar de resoldre situacions habituals a la seva tasca diària en el nou entorn. Els dos efectes principals de la formació i que cal buscar especialment en planificar-ne els continguts són: · Efecte directe: Escurçar el temps que els usuaris necessitaran per arribar a ser plenament operatius en el nou entorn i aconseguir l’augment de la productivitat esperat. · Efecte indirecte: Eliminar el factor de la por d’allò desconegut i la inseguretat que provoca. A l’hora de planificar l’organització de la formació cal prendre en consideració, a part de qualsevol circumstància particular de l’administració en qüestió, com a mínim els factors següents: · El nivell de partida de cada alumne. Cal fer-ne una avaluació prèvia i agrupar-los per nivells, per fer més eficaç la formació. · La durada recomanable de la formació, en funció dels continguts i de cada nivell. · La capacitat de les aules equipades de què disposi l’administració, ja que limita la mida dels grups i, per tant, el nombre de grups que caldran. Si cal, es pot recórrer a aules de formació externes. · La dificultat que pugui suposar tenir moltes persones d’un mateix departament formant-se alhora, ja que el pot deixar inoperatiu i pot ser que això no sigui possible. Una altra alternativa és la possibilitat de fer formació fora de l’horari d’oficina, incentivant-la d’alguna manera. A Catalunya mateix hi ha casos on s’han aplicat amb èxit plans de formació voluntària incentivada. Si les circumstàncies ho permeten, es poden preveure formes força creatives de fomentar l’increment de coneixements del personal no informàtic. 52 Guies per al desenvolupament de la societat del coneixement
  • 55.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL 5.4. - L’ús de grups pilot La millor manera d’assegurar l’èxit és provar les coses primer en un entorn més petit i, per tant, més controlable. Els casos d’èxit que corroboren que la pràctica de provar la migració primer amb un pilot és un bon consell són molt nombrosos, però hi ha formes diferents de fer-ho i convé pensar-hi per triar la més convenient en cada cas. 5.4.1. - Principals formes de seleccionar el pilot Les diferències més importants entre les diverses formes de portar a terme un pilot se centren en la selecció de les persones i les instal·lacions que han de formar part del grup pilot. Bàsicament, les dues grans estratègies són: a) Selecció per nivell Si no es coneix a priori, es fa una prova de nivell a tot el personal i s’escullen persones amb un nivell similar de coneixements sobre les eines a migrar. Habitualment es busca que n’hi hagi de tots els departaments o àrees que es veuran afectats per la migració, per tal que la mostra del pilot sigui representativa de tot el ventall de problemes que apareixeran després, durant la generalització de la migració. Hi ha dues possibilitats dins d’aquesta estratègia: · Escollir les persones amb més dificultats. És recomanable en el cas d’una migració en què es puguin preveure moltes dificultats. Escollir les persones amb menys coneixements i actituds poc inclinades als canvis proposats suposa anar a buscar d’entrada els casos més difícils. D’aquesta manera, quan es generalitzi la migració i el volum pugui magnificar els problemes, el personal tècnic ja tindrà l’experiència d’haver superat els majors obstacles. · Escollir els usuaris/àries avançats/des, persones amb una actitud oberta als canvis i uns coneixements lleugerament millors que els de la resta. En aquest cas, se sol buscar especialment que la mostra sigui representativa de totes les àrees o departaments, ja que l’objectiu, a part de provar el bon funcionament del nou entorn, és disposar a cada àmbit de treball de per- sones que puguin resoldre els dubtes dels seus companys/es quan es generalitzi la migració. Per això se’ls forma primer i, fins i tot, és habitual formar-los més. A part de provar la migració en un conjunt més reduït (funció d’un pilot), es busca disposar d’un o diversos aliats a cada departament. D’aquesta segona tècnica, la més habitual, hi ha casos d’èxit notables que corroboren que, a més de funcionar bé com a pilot, és també una acció excel·lent de cara a la gestió del canvi. Per treure’n el màxim rendiment és important que tota la resta del personal sàpiga que hi ha aquest grup pilot i conegui els usuaris/àries avançats/des que té a prop. Això genera la doble confiança de saber que tenen a la vora algú que els pot resoldre els dubtes i que, a més, és algú que fa les mateixes tasques que ells i, per tant, es troba amb els mateixos problemes i dificultats. En alguns casos, la participació en aquests pilots s’ha incentivat mitjançant la dotació d’aquests usuaris/àries avançats/des de màquines més potents, donant prioritat a l’hora de triar vacances o el lloc de treball, o bé directament amb un sobresou per la tasca de suport que hagin prestat. 53 Guies per al desenvolupament de la societat del coneixement
  • 56.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL b) Selecció per àrea L’estratègia alternativa és triar un departament i fer que migri sencer. En aquest cas, cal afinar molt bé la tria del departament pilot, prenent en consideració: · Les interdependències i intercanvis d’informació o serveis, és a dir, la interoperabilitat entre departaments que encara vagin amb l’entorn antic i el pilot, que ja anirà amb el nou. · El volum del departament. Se’n sol escollir algun que no sigui especialment gran, però sí significatiu. · El nivell mitjà del personal del departament pel que fa a coneixements d’informàtica i actitud davant dels canvis. · Que el departament sigui representatiu de les dificultats que poden sorgir a la resta de departaments. Habitualment se solen prendre més en consideració el volum del departament i les interdependències, però si la darrera característica (que sigui representatiu) no es dóna, més que un veritable pilot el que s’estarà fent és una migració gradual, per etapes. Això no té per què ser negatiu, però no és pròpiament un pilot. 5.4.2. - Altres consideracions sobre la selecció del grup pilot També hi ha casos en què s’han aplicat metodologies combinades: migrar un departament començant pels seus usuaris més avançats i després anar migrant departament per departament, organitzant visites o períodes de formació dels seus usuaris més avançats en els departaments ja migrats, o combinacions similars. Hi ha una altra alternativa, però l’experiència demostra que no sempre dóna bons resultats: la selecció per nivells jeràrquics. És a dir, migrar primer els i les caps dels departaments perquè siguin més proactius/ves davant la migració o, al contrari, deixar-los per al final. Aquest mètode depèn massa de l’actitud d’aquestes persones i mostra tant casos d’èxit com de fracàs. Una altra cosa és mirar de convèncer els i les caps de departament, de forma especial i en primer lloc, com una acció de gestió del canvi. És evident que, si elles i ells acaben rebutjant el nou entorn, la seva capacitat de generar problemes en el procés de la migració serà molt superior a la de la resta del personal. Però no és el mateix convèncer-los/les primer que migrar-los/les primer. 5.4.3. - El «pilot virtual» Si les dimensions de l’administració que planteja la migració no permeten establir proves pilot en departaments o àrees, es pot crear un «departament virtual» que recreï els principals aspectes i factors de la dinàmica de la casa i fer la prova en aquesta instal·lació, en realitat fictícia. Aquesta pot ser una etapa prèvia a un pilot real amb tot un departament o un grup seleccionat per nivell o, fins i tot, una forma d’avaluar el programari nou per assegurar que realment cobreix tota la funcionalitat requerida. 54 Guies per al desenvolupament de la societat del coneixement
  • 57.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL 5.4.4. - L’avaluació de la fase pilot i la replanificació Allò que a vegades s’obvia, i això desvirtua els avantatges d’aquesta metodologia, és preveure en la planificació que la darrera etapa d’un pilot no és executar la migració en el grup escollit. Després d’aquesta fase, cal recordar- se de la veritable raó de ser d’aquesta prova inicial reduïda: avaluar l’experiència obtinguda amb el pilot i, si cal, replanificar la resta del projecte de migració. Els objectius d’una fase pilot completa i eficaç, sigui real o virtual, inclouen, com a mínim: · Sobre la funcionalitat del nou entorn: - Verificar que permet totes les operacions necessàries. - Comprovar els temps de resposta i la usabilitat del nou entorn. · Sobre la reacció dels usuaris/àries: - Detectar, abans que passin a tota l’organització, els problemes que es puguin produir. - Comprovar la qualitat de la formació impartida. · Sobre la planificació de la migració: - Comprovar el bon dimensionat dels recursos humans que calen en la formació, la migració pròpiament dita i la resolució de dubtes, problemes i dificultats. - Comprovar el bon dimensionat del maquinari i el programari previst. - Assegurar-se que la resta de la planificació, tant de les etapes previstes com de la planificació econòmica, és realista i no patirà greus desviacions. 55 Guies per al desenvolupament de la societat del coneixement
  • 58.
    El programari lliurea les administracions locals 5. Migració d’aplicacions a PL 5.5. - Eines d’ajuda a la migració Hi ha nombroses guies i recursos d’ajuda a la migració a PL. Els principals fabricants, agents tecnològics i fins i tot administracions tenen editades guies i documents de molta ajuda per orientar aquesta mena de projectes. A continuació enumerem alguns exemples que hem considerat significatius: · Guia IBM de migració de Windows a Linux: [en anglès] http://www.redbooks.ibm.com/abstracts/sg246380.html · Guia RedHat de migració de Windows a Linux: [en anglès] http://www.redhat.com/f/pdf/rhel4/UpgradeGuidelines.pdf · Guia del Govern del Brasil de migració de programari propietari a lliure: [versions en portuguès i castellà] http://www.governoeletronico.gov.br/acoes-e-projectos/guia-livre · Guia UNESCO sobre PL, amb el capítol 5 titulat «Cómo migrar a software libre?»: [en castellà] http://portal.unesco.org/ci/en/ev.php-URL_ID=26399&URL_DO=DO_TOPIC&URL_SECTION=201.html 56 Guies per al desenvolupament de la societat del coneixement
  • 59.
    PART III PL enel desenvolupament
  • 60.
    6 PL i desenvolupament de programes o aplicacions 6.1. - Quin paper pot fer el PL en el desenvolupament? La comunitat del programari lliure ha experimentat un important creixement els darrers anys, tant en la seva acceptació i implantació real en diferents entorns com en el nombre de comunitats, desenvolupadors i projectes que hi participen. Focalitzant el món del desenvolupament d’aplicacions, siguin del tipus que siguin, s’aprecia que la comunitat de programari lliure ofereix una quantitat considerable de recursos que permeten agilitzar aquests desenvolupaments. A grans trets, es poden englobar aquests recursos en: - Llenguatges lliures: Java, PHP, Ruby, C, C++ o Python, entre d’altres. - Entorns integrats de desenvolupament (IDEs): Netbeans o Eclipse. - Eines de suport al desenvolupament. - Eines per a la construcció d’aplicacions: Make, Ant o Maven. - Eines de comprovació automatitzada de codi: Junit o Jsfunit. - Sistemes de control de versions: CVS, Subversion o GIT. - Eines d’integració contínua: Hudson, Continuum o Cruisecontrol. - Control de bugs. - Marcs de treball: frameworks. - Llibreries de programari. - Repositoris de codi font i d’aplicacions: com SourceForge o LaFarga.cat. Des del punt de vista del programador, el principal avantatge que proporciona un model de programació basat en eines de programari lliure és l’accés al codi font del mateix, així com la capacitat de modificació i adaptació per ajustar-lo als requeriments desitjats. En el moment d’afrontar la creació d’una nova aplicació per tal de resoldre unes determinades necessitats, si s’opta per la utilització de programari lliure s’hauria de seguir el següent guió de decisions abans d’iniciar el desenvolupament del projecte. 58 Guies per al desenvolupament de la societat del coneixement
  • 61.
    · Presa derequeriments: Abans d’abordar el projecte, des del punt de vista tècnic, cal establir, parlant amb el/s departament/s que haurà/an d’usar l’aplicació, quines necessitats ha de cobrir l’aplicació a desenvolupar. · Estudi de viabilitat: En aquesta fase s’ha de plantejar si realment es disposa dels recursos necessaris per afrontar el desenvolupament de l’aplicació, que es poden englobar en: · Recursos humans: De quants desenvolupadors es disposa per realitzar el projecte i quins coneixements tenen sobre el llenguatge, eines i llibreries que tenim previst utilitzar. · Recursos tècnics: De quin maquinari es disposa per dur a terme el projecte, tant a la fase de desenvolupament com al pas a producció. · Recursos temporals: Quin és el marge temporal de què es disposa per realitzar el projecte i quina és la dedicació que es pot assignar a cada membre de l’equip de treball. · Recerca de programari lliure: · Cal fer la cerca d’alguna aplicació de programari lliure que compleixi alguna o, a ser possible, totes les funcionalitats requerides amb l’objectiu d’agilitzar el desenvolupament de l’aplicació. · En cas de trobar alguna o algunes aplicacions, cal fer una anàlisi del model de llicenciament de les mateixes per tal de conèixer si es permet fer-hi adaptacions i si aquestes han de ser obligatòriament retornades a la comunitat. · De la mateixa manera, cal fer un estudi de la capacitat d’adaptació i d’integració d’aquestes aplicacions a l’arquitectura prevista del projecte, si així s’ha previst a l’aplicació. - Adaptació del programari: Es refereix a la capacitat d’afegir noves funcionalitats o adaptar les existents, com canvis estètics o idiomàtics, entre d’altres. - Inclusió del programari candidat: En aquest cas, s’opta per fer les mínimes adaptacions per tal d’incloure aquesta peça de programari com un mòdul funcional a l’arquitectura prevista. 59 Guies per al desenvolupament de la societat del coneixement
  • 62.
    El programari lliurea les administracions locals 6. PL i desenvolupament de programes o aplicacions · Eines de programació de PL: · En cas de no trobar cap aplicació de programari lliure que pugui ser útil, caldrà afrontar el desenvolupament partint de zero. · En aquest punt, sovint és de molta utilitat cercar algun framework, o en el seu defecte llibreria de programari lliure, que permeti agilitzar el desenvolupament de certes funcionalitats de l’aplicació. · Cal tenir en compte que la utilització i/o inclusió de frameworks i llibreries de PL està vinculada al model de llicenciament que porten incloses i, per tant, s’ha de vigilar si el programari a incloure introdueix limitacions i/o restriccions al desenvolupament del projecte o a la seva explotació. · És important realitzar aquesta anàlisi abans de dissenyar l’arquitectura final del projecte, ja que la utilització de determinats frameworks pot condicionar-la. El diagrama següent és una representació gràfica d’aquest guió d’actuacions: Estudi de viabilitat Presa de Anˆlisi Recerca de Disseny Desenvolupament Requeriments Requeriments Programari Lliure Arquitectura Eines de programaci— de PL Proves Producci— Figura 8: Etapes del procés de desenvolupament, tenint en compte el PL. · Recursos: · Taula comparativa de llicències de programari lliure: [en anglès] http://en.wikipedia.org/wiki/Comparison_of_free_software_licenses · Taula comparativa de repositoris de programari lliure: [en anglès] http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities 60 Guies per al desenvolupament de la societat del coneixement
  • 63.
    El programari lliurea les administracions locals 6. PL i desenvolupament de programes o aplicacions 6.2. - Els IDE PL com a eines de base per al desenvolupament Quan es plantegen les característiques que ha de complir un entorn de treball adequat per a desenvolupadors, cal tenir present que el programari lliure proporciona una gran quantitat de recursos per a aquesta finalitat. La peça clau en tot entorn de treball és l’IDE (Integrated Development Environment - Entorn de Desenvolupament Integrat) i la comunitat de programari lliure proveeix alguns IDE PL d’àmplia acceptació com poden ser Netbeans o Eclipse. El valor de la comunitat Un factor determinant sobre quin IDE PL utilitzar a l’entorn de treball ha de ser la maduresa de la seva comunitat d’usuaris, que pot proporcionar nombrosa informació sobre la utilització del propi IDE, així com de totes les tecnologies i eines que porta incloses. A més a més, els usuaris d’aquestes comunitats alimenten contínuament el grup, participant en fòrums de resolució de problemes, publicant articles, aportant opinions o informant d’errades al programari. Multillenguatge i multiplataforma Una característica desitjable dels IDE PL és el seu suport a la generació de projectes amb diferents llenguatges de programació lliures (com Java, C++, C, PHP 5/4, Ruby, Python o Perl), així com el fet de ser multiplataforma. El fet diferenciador per l’elecció d’un IDE PL pot ser el conjunt d’eines que proporciona per ajudar a fer més àgil el treball quotidià dels desenvolupadors (assistents de codi, validadors, correctors automàtics, autocompleció de codi, ajuda contextual o suport de frameworks). Extensibilitat Una característica molt important de la majoria dels IDE PL que han tingut més acceptació és la seva extensibilitat, entesa com la possibilitat de crear mòduls per donar suport a noves funcionalitats (anomenats plug-ins, extensions o mòduls, en funció de l’IDE). Gràcies a aquesta possibilitat, les comunitats d’aquests IDE PL han creat al seu voltant un ampli catàleg d’extensions, moltes d’elles realitzades pels seus mateixos usuaris de forma desinteressada. Suport a SCM (Software Configuration Management, control de canvis) En situacions en què l’equip de desenvolupadors està composat per diversos membres, cal establir alguna política per centralitzar i controlar l’accés al codi font de les aplicacions. En aquest punt, el suport dels IDE PL per interactuar amb sistemes de control de versions, com pot ser CVS, Subversion o GIT, és un valor afegit molt important i facilita enormement el treball concurrent de diferents programadors. 61 Guies per al desenvolupament de la societat del coneixement
  • 64.
    El programari lliurea les administracions locals 6. PL i desenvolupament de programes o aplicacions Suport a la construcció Durant el desenvolupament d’aplicacions és molt habitual disposar d’algun sistema de construcció d’aplicacions per tal de transformar el codi font de les versions executables i/o desplegables de les mateixes. Sovint no es tenen en gaire consideració aquestes eines, però habitualment és una tasca realitzada de forma reiterativa. Per tant, és molt interessant que l’IDE PL escollit doni suport a aquest tipus d’eines i, en particular, a la generació automatitzada d’aquests processos de construcció per les eines més arrelades a la comunitat PL, com són Jakarta Ant, Apache Maven o Git. Suport a proves unitàries La tendència actual en projectes de desenvolupament és la utilització de metodologies TDD (Test Driven Development - Programació orientada a comprovació). El PL ofereix nombroses eines tant per a la construcció de comprovacions com per a la seva execució i gestió de resultats. Suport a sistemes d’integració contínua En un entorn de treball amb un cert volum de desenvolupadors que treballen conjuntament i de forma modular en una aplicació, és interessant la inclusió d’una eina d’integració contínua. Aquesta eina té com a funció principal validar la interoperabilitat dels diferents mòduls desenvolupats pels diferents membres de l’equip de treball, de forma que genera informes sobre el grau de compliment dels contractes entre mòduls. Tot i que el suport d’aquestes eines encara està molt limitat a la majoria d’IDE (tant lliures com privatius), comencen a aparèixer els primers plug-ins/mòduls per afegir aquest suport, aprofitant l’extensibilitat pròpia dels IDE. Suport a noves metodologies de desenvolupament La comunitat de programari lliure es troba en constant innovació i, en particular, de forma molt intensa al món de la programació: nous API, llibreries, frameworks, eines, aplicacions i metodologies apareixen de forma continuada. Aquest fet es deu en gran mesura a què la pròpia activitat dins de les comunitats de projectes lliures genera noves maneres d’interactuar i nous models d’organització sobre com abordar, dissenyar i desenvolupar projectes. Així doncs, es pot dir que la comunitat de programari lliure és pionera en innovació i tendències tecnològiques, i ofereix nombroses eines per afrontar els paradigmes de programació més avantguardistes, com les metodologies XP (Extreme Programing – Programació Extrema), Scrum o BDD (Behavior Driven Development – Desenvolupament Conduït pel Comportament). Suport a la programació col·laborativa A causa, en gran part, de la deslocalització dels equips de treballs, cada cop es posa més èmfasi en models de programació col·laborativa i, per tant, s’està dotant els membres d’aquests equips d’eines de comunicació integrades als propis IDE. 62 Guies per al desenvolupament de la societat del coneixement
  • 65.
    El programari lliurea les administracions locals 6. PL i desenvolupament de programes o aplicacions Així doncs, es pot veure que els IDE PL són una part fonamental de l’entorn de treball d’un desenvolupador. Serà responsabilitat del desenvolupador aprofitar totes les funcionalitats i ajudes que li poden oferir, tant el propi IDE com la seva comunitat, per agilitzar i millorar les tasques de desenvolupament i manteniment d’aplicacions. De la mateixa manera que la gran majoria d’aplicacions interaccionen amb sistemes externs al codi (sistemes de fitxers, base de dades o servidors de noms), els IDE s’han de considerar l’eina central de desenvolupament, però que pot i ha d’interaccionar amb molts altres sistemes i eines auxiliars. Els IDE no són una peça monolítica de programari, sinó que estan dissenyats per ser el nexe d’unió de diferents eines i tecnologies, treballant conjuntament per aconseguir un objectiu: simplificar i agilitzar les tasques de desenvolupament d’aplicacions. El programari lliure també ofereix eines per a la publicació i gestió de projectes, que permeten compartir projectes propis a la comunitat, de forma que s’estableix una retroalimentació entre l’administració que ha impulsat el projecte i les comunitats de programari lliure. Recursos: · Taula comparativa d’IDE: [en anglès] http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments · Llista de programari per a construcció automàtica: [en anglès] http://en.wikipedia.org/wiki/List_of_build_automation_software · Taula comparativa de programari de control de versions: [en anglès] http://en.wikipedia.org/wiki/Comparison_of_revision_control_software · Llista de sistemes d’integració contínua: [en anglès] http://en.wikipedia.org/wiki/Continuous_Integration#Software · Taula comparativa de sistemes d’integració contínua: [en anglès] http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software · Llista de frameworks per a proves unitàries: [en anglès] http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks 63 Guies per al desenvolupament de la societat del coneixement
  • 66.
    El programari lliurea les administracions locals 6. PL i desenvolupament de programes o aplicacions 6.3. - Frameworks i llibreries, components lliures en el desenvolupament Per definició, un framework és un conjunt d’eines, llibreries, API i patrons de disseny orientats a facilitar als desenvolupadors la implementació de certes funcionalitats de les seves aplicacions. Proporcionen una estructura i una metodologia de treball que s’ha d’integrar a l’arquitectura de les aplicacions que vulguin utilitzar-les. Per aquest motiu, és molt recomanable decidir la utilització o no d’un determinat framework en les primeres fases d’elaboració del projecte, abans d’iniciar la programació del mateix. De no ser així, si es decideix incloure un framework sobre un desenvolupament actiu és molt probable que impliqui la reescriptura de part del codi de l’aplicació per tal d’adaptar el seu funcionament a les necessitats del framework. La majoria de frameworks estan orientats a ser utilitzats en un determinat llenguatge de programació i en determinades arquitectures d’aplicacions. Per tant, la forma més natural de classificar-los és pel llenguatge i pel seu àmbit d’aplicació: · Hi ha frameworks per a Java/JEE, PHP, C++ o Ruby, entre molts altres. · Hi ha frameworks per a construcció d’aplicacions d’escriptori, d’aplicacions client-servidor, d’aplicacions web o de serveis web (WebServices). Per posar un exemple, els frameworks més utilitzats al món Java/JEE per a construcció d’aplicacions Web/JEE són: · Spring Framework. · Seam Framework. · JBoss Developer Studio. · Apache Struts. · Google Web Toolkit (GWT). La comunitat de programari lliure posa a disposició dels desenvolupadors un ampli ventall de frameworks (capítol 8.1) que, a grans trets, ofereixen: · Implementació de certes funcionalitats a les aplicacions: D’aquesta manera s’evita que els programadors hagin de fer-les per sí mateixos i això els permet obtenir aplicacions més flexibles i modulars. · Aplicació de bones pràctiques: Molts frameworks actuals orienten els programadors a fer-ne un ús adequat, els proporciona guies i, alhora, els ajuda a assolir bones pràctiques de programació. · Optimitzacions: Molts frameworks han assolit un grau tal d’experiència que, internament, fan ús de les tècniques més avançades d’optimització dels recursos de què disposen (memòria, disc o throughput de xarxa). Per tant, de manera col·lateral les aplicacions que utilitzen aquest framework s’aprofiten d’aquestes optimitzacions. 64 Guies per al desenvolupament de la societat del coneixement
  • 67.
    El programari lliurea les administracions locals 6. PL i desenvolupament de programes o aplicacions Els frameworks més utilitzats o que tenen la rellevància suficient dins de la comunitat de programari lliure solen estar inclosos dintre dels propis IDE PL, permetent als desenvolupadors el seu ús de forma ràpida i natural. Alguns IDE ofereixen assistents de codi (wizards) específics per ajudar els programadors a utilitzar un determinat framework, com per exemple Hibernate tools, i evitar així que hagin de realitzar tasques repetitives que es poden automatitzar. Com a contrapartida, els desenvolupadors que no tenen experiència en un determinat framework han d’assolir els coneixements suficients per saber utilitzar-lo. En aquest punt, són les mateixes comunitats dels frameworks les que aporten un valor afegit en proporcionar informació de consulta, guies, tutorials d’ús o fòrums de discussió. Un altre punt a tenir en compte és que, en tractar-se d’una peça de programari, també està subjecte a tenir errors i comportaments no desitjats. Per tant, els programadors han d’estar constantment informats sobre els errors que es detecten en els frameworks i les correccions que s’han d’aplicar. També hauran de considerar si és necessari o no aplicar aquestes correccions a les aplicacions que utilitzen el framework. Llibreries PL: Una llibreria té un àmbit d’aplicació més concret que un framework ja que, per definició, es tracta d’una peça de programari dissenyada per ser utilitzada i inclosa en una aplicació per tal d’implementar certs serveis. El codi de les llibreries passa a formar part del codi d’execució de les aplicacions que les utilitzen. Com a característica més rellevant, les llibreries permeten la modularitat de les aplicacions, englobant el seu codi en blocs funcionals. La comunitat de programari lliure posa a disposició dels desenvolupadors una gran varietat de llibreries lliures, per a multitud de llenguatges i que permeten incloure a les aplicacions una multitud de funcionalitats ja implementades per altres membres de la comunitat. Per posar una llista limitada d’exemples, es poden trobar, a la comunitat, llibreries per accedir a diferents motors de base de dades, per accedir a serveis de noms, implementacions de memòria cau distribuïdes o llibreries de components AJAX. De la mateixa manera que els IDE inclouen els frameworks més utilitzats en el desenvolupament d’aplicacions actuals, també porten incorporats un conjunt considerable de llibreries lliures a utilitzar per les aplicacions. Els IDE també suporten la inclusió de llibreries externes que els desenvolupadors considerin oportunes per les seves aplicacions. S’ha de comentar que tots els IDE donen suport a la creació de llibreries pròpies, que poden ser reutilitzades per una o més de les pròpies aplicacions. Com a contrapunt als avantatges que implica aprofitar codi ja realitzat, la inclusió o utilització de llibreries de tercers a les aplicacions implica que els desenvolupadors hauran d’estar informats de qualsevol funcionament incorrecte detectat en aquestes llibreries i actuar en conseqüència. 65 Guies per al desenvolupament de la societat del coneixement
  • 68.
    El programari lliurea les administracions locals 6. PL i desenvolupament de programes o aplicacions Recursos: · Taula comparativa de frameworks de construcció d’aplicacions web: [en anglès] http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks · Frameworks PHP: [en anglès] http://www.phpframeworks.com/ · Llistat de frameworks per a serveis web: [en anglès] http://en.wikipedia.org/wiki/List_of_Web_service_Frameworks · Taula comparativa de frameworks de JavaScript: [en anglès] http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks · Comparació de frameworks de construcció amb components JSF: [en anglès] http://en.wikipedia.org/wiki/JavaServer_Faces#Comparison_to_other_Web- GUI_Frameworks · [en anglès] http:/www.springsource.org/ · [en anglès] http://www.seamframework.org/Home · [en anglès] http://www.jboss.com/products/seam/ · [en anglès] http://code.google.com/intl/es-ES/webtoolkit/ · [en anglès] http://struts.apache.org/ 66 Guies per al desenvolupament de la societat del coneixement
  • 69.
    El programari lliurea les administracions locals 6. PL i desenvolupament de programes o aplicacions 6.4. - L’alliberament de programes i aplicacions L’alliberament de codi i de documentació és una de les activitats més importants per gaudir dels beneficis de les llibertats ofertes pel PL i per fomentar la reutilització de recursos de les administracions públiques. Pot suposar un notable avantatge tècnic i econòmic davant l’evolució de les aplicacions públiques, que poden no només compartir recursos entre elles, sinó també rebre les millores d’altres usuaris dins i fora de les administracions públiques, és a dir, de la comunitat. A més a més, la reutilització de programari entre entitats públiques és explícitament reconeguda per la Llei 11/2007 (Cap. 3 del Títol IV). Beneficis de la reutilització i alliberament de programari: · Compartir costos i eliminar redundàncies d’adquisició o desenvolupament d’aplicacions per a les administracions públiques. · Compartir coneixement. · Afavorir el marc d’interoperabilitat entre administracions i els efectes de xarxa. · Compliment amb el marc legal de la LAECSP. · Més participació dels usuaris en el manteniment de les aplicacions i nivells de seguretat interoperabilitat. · Promoure/desenvolupar l’entorn i la capacitat econòmica local (ecosistema TIC local). · Permetre la localització de programari. · Augmentar la competència. Les condicions necessàries per a l’alliberament de recursos inclouen: · Considerar l’alliberament o reutilització com part integral dels projectes de l’administració. · Establir les bases legals per garantir la titularitat per part de l’administració dels recursos desenvolupats per ella. · Assegurar la compatibilitat legal dels components inclosos en aplicacions. · Definir una arquitectura tècnica del programari adient per al seu alliberament. · Documentar tots el components integrats en els recursos de l’administració. · Tenir clara la visió global a mig termini de l’evolució del producte (full de ruta). Es recomana establir una estratègia i metodologia per realitzar alliberaments de programari, en particular: · Identificar les diferents estratègies d’alliberament possibles segons el tipus de programari, la seva utilitat, el tipus de servei i models de col·laboració amb la comunitat. Algunes estratègies possibles inclouen: · encarregar desenvolupaments per alliberar (per exemple: el projecte GONG, del Cenatic, o gVSIG, de la Comunitat Valenciana), · desenvolupar un producte amb continuïtat dins de l’administració en particular o les administracions públiques en general, · establir un projecte patrocinat amb un soci comercial, · iniciar un projecte de col·laboració amb altres administracions públiques o · alliberar documentació. 67 Guies per al desenvolupament de la societat del coneixement
  • 70.
    El programari lliurea les administracions locals 6. PL i desenvolupament de programes o aplicacions · Determinar criteris per a la selecció de projectes i documents a alliberar. Per exemple: · el seu interès per a les altres administracions, · la idoneïtat de la seva plataforma i arquitectura tecnològica (maquinari, programari, xarxa) i model de desenvolupament, · les seves característiques fonamentals: qualitat, usabilitat, escalabilitat, estabilitat, mantenibilitat, portabilitat, suport, l’aptitud per obtenir suport a llarg termini de la comunitat, etc. Aquests criteris ajudaran a orientar les decisions dels responsables en el moment d’alliberar un programari i, juntament amb un estudi de viabilitat (cost-benefici, riscs, evolució a futur), aquesta reflexió orientarà el disseny del projecte d’alliberament i millorarà el seu èxit. · Definir una metodologia i processos per a alliberaments: Per garantir el compliment de drets de tercers i les condicions de les llicències lliures sobre components i minimitzar el risc d’accions legals per infraccions de drets de tercers; assegurar la idoneïtat tècnica per a la reutilització de programari i la seva integració en el marc nacional i europeu d’interoperabilitat; afavorir la continuïtat de l’evolució del programari alliberat; i promoure la lliure difusió de documents i know-how relacionats amb els productes de les administracions públiques. 68 Guies per al desenvolupament de la societat del coneixement
  • 72.
    7 Recursos per desenvolupar en PL 7.1. - Eines de desenvolupament La comunitat de programari lliure ofereix una gran quantitat de recursos per al desenvolupament en PL. Aquí es presenten els llenguatges, frameworks, IDE i eines de construcció més comuns i rellevants. Llenguatges C és un dels llenguatges de programació més populars. Té una gran difusió i està sent usat per múltiples plataformes (hi ha poques arquitectures per a les quals no existeixi compilador de C). C++ és un llenguatge de nivell mitjà, ja que ofereix característiques de llenguatges d’alt i baix nivell. És àmpliament utilitzat per la indústria del programari i es manté com un dels llenguatges de programació més popular de tots els temps. Ha estat utilitzat per a la programació de sistemes operatius, aplicacions, controladors, servidors d’aplicacions i clients d’alt rendiment o programari d’entreteniment, com els videojocs. Java és un llenguatge de programació que es presenta com a nucli de la plataforma Java de Sun Microsystems. Les aplicacions Java permeten la seva execució en qualsevol Màquina Virtual Java (JVM), fent-la independent de l’arquitectura de l’equip. Sun Microsystems ofereix la majoria de la seva tecnologia Java com a programari lliure sota llicència GPL. JavaScript és un llenguatge script usat per permetre accés de programació a objectes d’altres aplicacions. Gràcies a la seva compatibilitat amb la majoria de navegadors actuals, és el llenguatge de programació client-side més utilitzat en l’actualitat. Perl és un llenguatge de programació interpretat, dinàmic i d’alt nivell. Perl és conegut com «la navalla Suïssa dels llenguatges de programació» per la seva flexibilitat i adaptabilitat. PHP és un llenguatge de programació interpretat i utilitzat per generar pàgines web dinàmiques, tot i que també pot ser utilitzat per programar aplicacions. És programari lliure distribuït sota llicència PHP. 70 Guies per al desenvolupament de la societat del coneixement
  • 73.
    RUBY és unllenguatge de guions totalment orientat a objectes i pensat per al tractament de fitxers i per al manteniment del sistema. És simple, extensible i portable. PYTHON és un llenguatge de programació d’alt nivell, orientat a objectes, interpretat i interactiu que combina una potència remarcable amb una sintaxi molt entenedora. També disposa d’una gran varietat de llibreries que segueixen aquesta mateixa filosofia. Té drets reservats (copyright), però és lliure per usar, distribuir o fins i tot comercialitzar. Frameworks El concepte de framework i les característiques principals que ofereix ja s’han vist (apartat 6.3). En aquest punt es presenten els frameworks més significatius dins del programari lliure per als diferents llenguatges de programació enumerats anteriorment. Frameworks i llibreries per a C/C++ GNU Common C++: Framework per al desenvolupament d’aplicacions C++ amb threads, optimitzat i portable a múltiples plataformes. Llicència: GPLv3 ([en anglès] http://www.gnu.org/software/commoncpp/) Whisper2: Framework d’aplicacions C++ per a Mac i Windows. A diferència de la majoria de frameworks, treu profit de la utilització de llibreries estàndards, de la metodologia de disseny per contracte (design by contract) i de les característiques més innovadores del món de C++, com són els tipus genèrics i la utilització de patrons de disseny i plantilles (templates). Llicència: zlib/libpgn ([en anglès] http://sourceforge.net/projects/whisper2/) Hestia: Framework per a verificació que proporciona eines i utilitats per a millorar els processos de desenvolupament del programari. Auto Build Checker (ABC) analitza els resultats i genera informes en HTML. Llicència: LGPL ([en anglès] http://sourceforge.net/projects/hestia/) 71 Guies per al desenvolupament de la societat del coneixement
  • 74.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL Frameworks per a Java Spring: És un framework PL per al desenvolupament d’aplicacions Java/JEE multicapa, basat en la publicació realitzada per Rod Jonhson, Expert One-on-One Java EE Design and Development (Wrox Press, octubre 2002). Llicència: Apache License, 2.0 ([en anglès] http://www.springframework.org) Google Web Toolkit: Framework creat per Google per al desenvolupament Java/JEE per a aplicacions web basades en AJAX, com Google Maps o Gmail. La seva principal característica és que permet amagar la complexitat de diversos aspectes de la tecnologia AJAX. Les aplicacions desenvolupades i compilades en aquest entorn esdevenen compatibles amb tots els navegadors. Llicència: Apache License, 2.0 ([en anglès] http://code.google.com/intl/es-ES/webtoolkit/) JBoss Developer Studio (JBDS): Entorn de desenvolupament PL certificat, creat i desenvolupat per JBoss (divisió de Red Hat) i Exadel Inc., que integra i certifica components runtime i eines combinant Eclipse, Eclipse Tooling i la JBoss Enterprise Application Platform (Plataforma d’Aplicacions Empresarials JBoss). La solució proporciona un entorn de desenvolupament robust per a aplicacions web, aplicacions empresarials de missió crítica i serveis d’integració. Llicència: GPL ([en anglès] http://www.jboss.com/) ([en anglès] http://www.jboss.org/) Seam: Igual que Spring, és un framework per al desenvolupament d’aplicacions J2EE, multicapa, però més enfocada a la simplicitat d’ús. La característica diferenciadora d’altres frameworks per JEE és que proporciona un context unificat i simple per a tots els components de les diferents capes d’una aplicació multicapa, permetent per exemple l’ús d’EJB directament des de la lògica de la capa de presentació (AJAX, JSF). A més, proporciona un marc de treball orientat a les aplicacions multiconversacionals (conversation context), així com a la integració amb motors de workflow (Jboss BPM) i de regles (Jboss Rules). Llicència: LGPL ([en anglès] http://www.seamframework.org) Apache Struts: Framework per al desenvolupament JEE d’aplicacions web sota el patró MVC (Model/View/ Controller – Model/Vista/Controlador). Inicialment formava part del projecte Jakarta de l’Apache Software Foundation, però actualment és un projecte independent conegut com Apache Struts. Llicència: Apache License 2.0 ([en anglès] http://struts.apache.org) 72 Guies per al desenvolupament de la societat del coneixement
  • 75.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL JUnit: Framework de verificació per a Java. JUnit ha estat important pel mètode de desenvolupament guiat per proves (test-driven development) i ofereix una família de frameworks de verificació coneguda com “xUnit”. JUnit s’ha exportat a altres llenguatges com PHP (PHPUnit), Python (PyUnit), C++ (CppUnit) o JavaScript (JSUnit). Llicència: CPL ([en anglès] http://junit.sourceforge.net/) Frameworks per a JavaScript RichFaces: Framework de codi obert que afegeix capacitat Ajax dintre d’aplicacions JSF existents sense recórrer a JavaScript. RichFaces inclou cicle de vida, validacions, convertidors i gestió de recursos estàtics i dinàmics. Llicència: LGPL ([en anglès] http://www.jboss.org/richfaces) JQuery: Framework de JavaScript que permet simplificar la manera d’interactuar amb els documents HTML, manipular l’arbre DOM, manegar esdeveniments, desenvolupar animacions i afegir interacció amb la tecnologia AJAX en pàgines web. Llicència: GPL i MIT ([en anglès] http://jquery.com/) ICEfaces: Framework de codi obert que permet desenvolupar aplicacions web amb AJAX tipus RIA. Permet aïllar completament de l’AJAX el desenvolupador. Llicència: MPL ([en anglès] http://www.icefaces.org/products/icefaces.html) ([en anglès] http://www.icesoft.com/products/icefaces.html) 73 Guies per al desenvolupament de la societat del coneixement
  • 76.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL Frameworks per a Perl Catalyst: Framework Perl per a aplicacions web que suporta arquitectura MVC (Model/View/Controller – Model/ Vista/Controlador). Està inspirat en Ruby on Rails, Maypole i Spring. Llicència: GPL ([en anglès] http://www.catalystframework.org/) Maypole: Framework Perl per a aplicacions web orientat a arquitectura MVC (Model/View/Controller – Model/ Vista/Controlador). La seva concepció va dirigida a oferir simplicitat en el desenvolupament de webs amb petites bases de dades, permetent així mateix abordar grans projectes amb aplicacions web empresarials. Llicència: GPL ([en anglès] http://maypole.perl.org/) Cyclone 3: Framework PL molt flexible, dissenyat per desenvolupar sistemes de gestió de continguts i aplicacions a mida amb objectius comercials. Llicència: GPL ([en anglès] http://www.cyclone3.org/) Frameworks per a PHP KumbiaPHP: Framework per a aplicacions web escrit en PHP5. Basat en pràctiques de desenvolupament com DRY (Don’t Repeat Yourself – No et repeteixis) i el principi KISS (Keep it Symple – Mantingui-ho senzill) per a programari comercial i educatiu. Fomenta la velocitat i eficiència en la creació i manteniment d’aplicacions web. Llicència: GPL ([en anglès] http://www.kumbiaphp.com) PHP4e: Framework PHP que proporciona un entorn de desenvolupament actualitzat i flexible, fixant les bases en bones pràctiques de programació, metodologies i tecnologies disponibles a la indústria. Llicència: MPL 1.1 ([en anglès] http://php4e.codeman.cl) Symfony: Framework PHP que proporciona arquitectura, eines i components, permetent que de forma ràpida i àgil es puguin desenvolupar aplicacions web complexes. Llicència: MIT ([en anglès] http://www.symfony-project.org) 74 Guies per al desenvolupament de la societat del coneixement
  • 77.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL Frameworks per a Ruby Ruby on Rails: Entorn de desenvolupament web de programari lliure optimitzat, és a dir, l’us de valors per defecte oferts pel propi Framework, per a la satisfacció dels programadors i de la productivitat. Permet escriure un bon codi afavorint la convenció, abans que la configuració és a dir, que l’usuari ho hagi de configurar tot abans de poder començar.. Llicència: MIT ([en anglès] http://www.rubyonrails.org.es) Frameworks per a Python Web2py: Framework PL escrit en Python per a un àgil desenvolupament d’aplicacions web, dotant-les de velocitat, escalabilitat, seguretat i portabilitat. Llicència: GPL ([en anglès] http://web2py.com) Zope 3: Framework PL molt popular i potent que permet al programador desenvolupar aplicacions web, fent possible aplicar a les dades conceptes com persistència, integritat i control d’accés. Llicència: ZPL ([en anglès] http://www.zope.org/) ([en anglès] http://www.zope.org/Resources/License / ) Django: Framework de desenvolupament web escrit en Python. Se centra en automatitzar tot allò que sigui possible i es basa en el principi DRY (Don’t Repeat Yourself – No et repeteixis). Llicència: BSD ([en anglès] http://www.djangoproject.com) 75 Guies per al desenvolupament de la societat del coneixement
  • 78.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL Taula recull dels framewoks segons llenguatge C/C++ Descripció Llic. Enllaç GNU Entorn optimitzat i portable GPLv3 http://www.gnu.org/software/commoncpp/ Common per al desenvolupament C++ d’aplicacions C++ amb threats. Whisper2 Framework d’aplicacions zlib/libpgn http://sourceforge.net/projects/whisper2/ C++ per a Mac i Windows. Hestia Framework per a verificació LGPL http://sourceforge.net/projects/hestia que proporciona eines i utilitats per millorar els processos de desenvolupament del programari. 76 Guies per al desenvolupament de la societat del coneixement
  • 79.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL Java Descripció Llic. Enllaç Spring Framework PL per al Apache http://www.springframework.org desenvolupament License, 2.0 d’aplicacions Java/JEE multicapa. Google Framework creat Apache http://code.google.com/intl/es-ES/webtoolkit Web per Google per al License, 2.0 Toolkit desenvolupament Java/ JEE per a aplicacions web basades en AJAX. JBoss Framework robust GPL http://www.jboss.com Developer per a aplicacions web, http://www.jboss.org Studio aplicacions empresarials de missió crítica i serveis d’integració. Seam Framework per al LGPL http://www.seamframework.org desenvolupament d’aplicacions J2EE, multicapa i enfocada a la simplicitat d’ús. Apache Framework per al Apache http://struts.apache.org Struts desenvolupament JEE License 2.0 d’aplicacions web sota el patró MVC. JUnit Framework de verificació CPL http://junit.sourceforge.net per a Java, exportat a altres llenguatges com PHP (PHPUnit), Python (PyUnit), C++ (CppUnit) o JavaScript (JSUnit). 77 Guies per al desenvolupament de la societat del coneixement
  • 80.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL JavaScript Descripció Llic. Enllaç RichFaces Framework que afegeix LGPL http://www.jboss.org/richfaces capacitat Ajax dintre d’aplicacions JSF existents sense recórrer a JavaScript. JQuery Framework que permet GPL i MIT http://jquery.com simplificar la manera d’interactuar amb els documents HTML, manipular l’arbre DOM, manegar esdeveniments, desenvolupar animacions i afegir interacció amb la tecnologia AJAX amb pàgines web. ICEfaces Framework que permet MPL http://www.icesoft.com/products/icefaces.html desenvolupar aplicacions web amb AJAX tipus RIA (Rich Internet Application) Perl Descripció Llic. Enllaç Catalyst Framework per a GPL http://www.catalystframework.org/ aplicacions web que suporta arquitectura MVC. Inspirat en Ruby on Rails, Maypole i Spring. Maypole Framework Perl per a GPL http://maypole.perl.org/ aplicacions web orientat a arquitectura MVC. Concebut per oferir simplicitat i potència. Cyclone 3 Framework PL molt flexible, GPL http://www.cyclone3.org dissenyat per desenvolupar sistemes de gestió de continguts i aplicacions a mida amb objectius comercials. 78 Guies per al desenvolupament de la societat del coneixement
  • 81.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL PHP Descripció Llic. Enllaç KumbiaPHP Framework per a GPL http://www.kumbiaphp.com aplicacions web escrit en PHP5. Basat en pràctiques de desenvolupament com DRY i el principi KISS per a programari comercial i educatiu. PHP4e Framework PHP que MPL 1.1 http://php4e.codeman.cl orienta a bones pràctiques de programació, metodologies i tecnologies disponibles a la indústria. Symfony Framework PHP que MIT http://www.symfony-project.org proporciona arquitectura, eines i components, permetent que de forma ràpida i àgil es puguin desenvolupar aplicacions web complexes. Ruby Descripció Llic. Enllaç Ruby on Entorn de MIT http://www.rubyonrails.org.es Rails desenvolupament web de programari lliure optimitzat per a la satisfacció dels programadors i de la productivitat. Permet escriure un bon codi afavorint la convenció abans que la configuració. 79 Guies per al desenvolupament de la societat del coneixement
  • 82.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL Python Descripció Llic. Enllaç Web2py Framework per a un GPL http://web2py.com àgil desenvolupament d’aplicacions web, dotant-les de velocitat, escalabilitat, seguretat i portabilitat. Zope 3 Framework PL molt ZPL http://www.zope.org popular i potent que permet al programador desenvolupar aplicacions web, fent possible aplicar a les dades conceptes com persistència, integritat o control d’accés. Django Framework que se centra BSD http://www.djangoproject.com en automatitzar tot el que sigui possible. Es basa en el principi DRY. IDE, framework multillenguatge L’IDE (Integrated Development Environment - Entorn de Desenvolupament Integrat) és un entorn de desenvolupament multillenguatge orientat a facilitar tasques quotidianes dels programadors. Els més significatius són NetBeans i Eclipse, els quals han suposat una base per a la posterior aparició de nombrosos IDE arreu del món. Eclipse: És un «Entorn de Desenvolupament Integrat» de programari lliure multiplataforma per desenvolupar «Aplicacions de Client Enriquit», oposades a les «Aplicacions de Client Lleuger» basades en navegadors. Amb aquesta plataforma s’han desenvolupat aplicacions client tan conegudes com BitTorrent o Azureus. Així mateix, ha servit com a base per a la creació de nous IDE com el Java Development Toolkit (JDT), IDE de Java, o el compilador (ECJ), que s’entrega com a part d’Eclipse (i que s’utilitza també per desenvolupar el propi Eclipse). Eclipse va ser desenvolupat originàriament per IBM com a successor de la seva família d’eines per a VisualAge. Actualment, s’encarrega del seu desenvolupament la Fundació Eclipse, una organització independent sense ànim de lucre que fomenta una comunitat de programari lliure. Eclipse és també una comunitat d’usuaris que amplia constantment les àrees d’aplicació d’aquest IDE. Llicència: Llicència Pública d’Eclipse ([en anglès] http://www.eclipse.org) ([en castellà] http://es.wikipedia.org) 80 Guies per al desenvolupament de la societat del coneixement
  • 83.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL NetBeans: És un «Entorn de Desenvolupament Integrat», de programari lliure, multiplataforma i escrit en Java, per desenvolupar aplicacions d’escriptori en qualsevol llenguatge de programació. És una eina per a programadors pensada per escriure, compilar, depurar i executar programes. Aquesta plataforma permet que les aplicacions siguin desenvolupades a partir de components de programari anomenats mòduls. Un mòdul és un arxiu Java que conté classes de Java escrites per interactuar amb les API (Application Programming Interface - interfície de programació de l’aplicació) de NetBeans. Les aplicacions construïdes a partir de mòduls es poden ampliar afegint nous mòduls. Gràcies a aquests mòduls, les aplicacions basades en aquesta plataforma poden ser desenvolupades de forma independent, permetent que siguin fàcilment ampliades per altres desenvolupadors. Sun MicroSystems va fundar el projecte de programari lliure l’any 2000 i és el patrocinador principal dels seus projectes. Amb reconeixement mundial, NetBeans compta amb una gran base d’usuaris, una comunitat en creixement constant i gairebé 100 socis de tot el món. Llicència: CDDL ([en anglès] http://www.netbeans.org) ([en castellà] http://es.wikipedia.org) Eclipse 3.2.1 NetBeans 6.1 Llenguatge Línies de codi % Llenguatge Línies de codi % Java 1.911.693 99,66% Java 1.974.732 99,19% C 133.263 6,46% C++ 1.761 0,09% C++ 10.082 0,49% sh 1.080 0,05% sh 2.066 0,10% Perl 350 0,02% Perl 1.468 0,07% C 20 0,00% PHP 896 0,04% Eines de construcció Altres eines de construcció utilitzades en el desenvolupament de projectes són: Make és una eina de generació o automatització de codi, molt usada en sistemes operatius Unix/Linux, que serveix per a la creació de fitxers executables o programes i per a la seva instal·lació o neteja dels arxius temporals, entre d’altres, seguint uns paràmetres inicials definits en el fitxer anomenat makefile. Ant és una eina que ajuda en el procés de compilació de programes Java, generant el javadoc, netejant temporals o guardant els fitxers .jar al seu lloc per a la seva execució. Hudson és una eina d’integració contínua de programari lliure que s’encarrega de monitorar l’execució de tasques repetides, com la creació de projectes o l’execució de tasques en un cron. 81 Guies per al desenvolupament de la societat del coneixement
  • 84.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL 7.2. - Funcionament de les comunitats de desenvolupadors Els projectes de programari lliure neixen, en la seva majoria, de les aportacions de desenvolupadors que en una primera instància dirigeixen el curs del projecte. De forma genèrica, s’enumeren els passos que segueix un projecte PL: · Arrancada d’un nou projecte PL. · En un temps i forma determinats per cada grup de desenvolupadors es genera un snapshot (fotografia) del projecte, donant lloc a una versió que en general és denominada beta. · El grup de provadors realitza comprovacions per avaluar l’estabilitat i funcionalitats d’aquesta versió. Un cop superades aquestes proves, es genera un paquet estable per a aquesta versió. · L’usuari final, que des de la perspectiva d’aquest document són les administracions locals, fa ús d’aquestes versions estables. · El grup de desenvolupadors amplia i millora l’aplicació traient noves versions a partir de les indicacions dels usuaris. És habitual acordar i fer públic un full de ruta, on es fan constar les millores que el grup es planteja en un horitzó a curt i a mitjà termini. Els desenvolupadors de codi utilitzen un model de treball paral·lel. En el desenvolupament d’un projecte cal manipular una gran quantitat d’arxius de text, que representen el codi font del projecte en qüestió. Atès que la coordinació manual dels canvis que es realitzen en aquests arxius és força complicada, ja que els generen múltiples desenvolupadors (en alguns casos milers), s’utilitzen eines que faciliten el treball en grup. Aquestes eines, en major o menor mesura, permeten la gestió de canvis i versions de cadascun dels arxius per a la totalitat de desenvolupadors. També organitzen els arxius en repositoris, on els desenvolupadors es connecten per actualitzar els arxius (tant els seus com els de la resta de l’equip de treball). Les eines PL més habituals per a la gestió de canvis són CVS, SVN i GIT. Els repositoris poden ser públics o privats, essent els repositoris públics més comuns SourceForge, FreshMeat i, darrerament, GoogleCode. Tant les versions beta com les finals dels projectes PL es distribueixen normalment en els anomenats tarball, que és el nom col·loquial per als arxius generats amb la comanda tar. Aquests arxius solen estar, tanmateix, comprimits usualment amb les comandes gzip i bzip2 perquè els projectes ocupin menys espai. Normalment s’utilitzen repositoris de tipus ftp o http per facilitar la descàrrega. En general, cada projecte utilitza el seu propi repositori, però també hi ha repositoris públics com Tucows i Download.com. Quan un projecte té èxit suficient, es creen al seu darrera una o diverses empreses. Aquestes es dediquen a millorar o certificar la qualitat del producte i a donar suport als usuaris que les contractin. En moltes ocasions, aquestes empreses tenen una gran influència en la forma que va assolint el projecte, amb aportacions directes o indirectes al desenvolupament. Un avantatge addicional d’aquest model és que en l’etapa de suport es poden detectar i solucionar problemes (bugs). Els canvis en el codi s’aprofiten per a la generació de la nova versió del projecte. 82 Guies per al desenvolupament de la societat del coneixement
  • 85.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL A la figura següent es mostra el diagrama complet dels rols dels diferents equips de treball que participen en un projecte PL: EMPRESA DE SERVEIS PL Snapshot Prova Certificaci— Versi— Versi— Beta Final Suportada Problemes Desenvolupament Suport Patches (pedaos) COMUNITAT Figura 9: Diagrama dels rols de participació en un projecte PL. Distribucions Les distribucions GNU/Linux són un cas particular del model descrit fins ara. En aquest cas, la funció dels usuaris de la comunitat, a l’etapa de desenvolupament, és agrupar els projectes o aplicacions que vulguin incorporar a la distribució, generar binaris dels projectes per a les arquitectures previstes i provar el seu funcionament conjunt. Els projectes solen integrar-se en paquets (amb diferents formats segons la distribució), els quals incorporen mecanismes d’interdependència. Les distribucions empresarials incorporen el pas següent de certificació i suport. En la següent figura es presenta el model de les distribucions: EMPRESA DE SERVEIS PL Snapshot Prova Certificaci— Versi— Versi— Beta Final Suportada Problemes PROJECTE PROJECTE PROJECTE Suport Patches (pedaos) COMUNITAT Figura 10: Diagrama dels rols de participació en una distribució Linux. 83 Guies per al desenvolupament de la societat del coneixement
  • 86.
    El programari lliurea les administracions locals 7. Recursos per desenvolupar en PL Les distribucions utilitzen un tipus especial d’arxiu per a la gestió de paquets de programari, el qual conté tot allò necessari per a l’ús d’aquest paquet, informació del propi paquet, programes que ajuden en la instal·lació i desinstal·lació i informació addicional que pugui necessitar el gestor de paquets. Els gestors de paquets més comuns són rpm i apt. Normalment cada distribució té el seu repositori per a descàrrega de paquets, que poden ser del tipus ftp, http o, en alguns casos, poden utilitzar altres protocols més específics i que depenen de la distribució, com yum. Les distribucions normalment permeten la descàrrega completa dels mitjans d’instal·lació, els quals contenen un programa instal·lador i els paquets de programari. Els arxius més utilitzats són del tipus iso, que representen imatges de CD o DVD que, un cop descarregades, cal gravar en el medi corresponent. Els repositoris més comuns per a aquests arxius solen ser del tipus http o ftp de la mateixa distribució, tot i que també es poden utilitzar mètodes de descàrrega p2p com Torrent o eDonkey. El procés de descàrrega des dels repositoris pot ser llarg i costós si no es disposa d’una bona connexió a Internet. Per facilitar la descàrrega hi ha uns repositoris distribuïts geogràficament per tot el món, anomenats mirrors (miralls), que reflecteixen el contingut dels repositoris originals. L’avantatge d’ús dels mirrors és que s’allibera el repositori original i que, si s’escull un repositori més proper a l’usuari que l’original, en general s’assoleixen velocitats superiors de descàrrega. Els mirrors solen estar en Universitats o institucions similars, essent les més conegudes RedIRIS o Unizar. Existeix un últim tipus de repositori, el qual podria ser considerat com un metarepositori, utilitzat per a la recerca de paquets o arxius. Els més significatius són RPMFind i RPMSeek. 84 Guies per al desenvolupament de la societat del coneixement
  • 87.
  • 88.
    8 Recursos lliures disponibles 8.1. - Arquitectura general dels Sistemes Informàtics municipals. Serveis Interns Són moltes les publicacions que presenten requisits i necessitats informàtiques actuals i que ofereixen llistats i descripcions de les solucions de programari lliure més convenients. Entre altres exemples, volem fer esment a la guia de PL que Localret va publicar l’any 2006. Serveis d’aplicacions corporatives Eines col·laboratives Navegador Ofimàtica Client correu Desenv. Gestió Seguretat BBDD Servidor Servidor de Gestor de d’aplicacions d’usuaris web Correu Continguts Sistema Operatiu Virtualització Figura 11: Esquema funcional presentat a la guia de PL publicada per Localret l’any 2006. El CENATIC ha fet un pas més, enfocant el tema des de la perspectiva de la LAECSP, Llei 11/2007, i presentant una descripció de les principals funcionalitats i característiques dels diferents elements que composen l’estructura de l’administració electrònica, així com un inventari de solucions PL i la seva valoració. (http://www.cenatic.es/laecsp) Usuaris Altres AP Ciutadans Empreses Treballadors públics Canals Telèfon Web Presencial Altres: TDT, ... Seu Gestor de Identificació Notificació Front office electrònica formularis electrònica electrònica Registre electrònic Passarel·la de pagament Back office Gestor d’expedients Arxiu electrònic Plataforma d'interoperabilitat Figura12: Model d’administració electrònica presentat a la guia del CENATIC sobre la LAECSP. 86 Guies per al desenvolupament de la societat del coneixement
  • 89.
    Aquesta publicació faun seguiment dels serveis d’aplicacions corporatives de l’administració local que no es veuen afectades, en la seva majoria, per la LAECSP, complementant d’aquesta manera el document del CENATIC i entregues anteriors realitzades per Localret. Guia CENATIC – LAESCP Present guia Localret Seu electrònica Gestor de formularis Front office Identificació electrònica Notificació electrònica Serveis d’aplicacions Registre electrònic corporatives Passarel·la de pagament Back office Gestor d’expedients Arxiu electrònic Plataforma d'interoperabilitat Figura 13: Front office i Back office de l’administració electrònica. 87 Guies per al desenvolupament de la societat del coneixement
  • 90.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Per a aquesta publicació hem cregut oportú classificar les aplicacions corporatives que poden ser útils a una administració local segons el llistat que mostrem a continuació. Al costat de cada categoria indiquem el punt concret de l’apartat 8.2 on s’enumeren aplicacions lliures disponibles. 1. Comptabilitat, gestió del pressupost, tresoreria i tributs 8.2.2 2. Perfil del contractant i factura electrònica 8.2.3 3. Gestió del patrimoni i inventari de béns 8.2.4 4. Padró d’habitants i cens electoral 8.2.5 5. Atenció ciutadana 8.2.6 6. Gestió de serveis diversos 8.2.7 a) Gestió de la via pública b) Gestió d’obres c) Cementiris d) Espais i recursos de l’ajuntament a disposició dels ciutadans (sales, projectors i pantalles, poliesportius, etc.) e) Recollida d’escombraries f ) Altres serveis 7. Registres diversos 8.2.8 a) Registre Civil b) Policia local c) Bombers i emergències d) Gossos perillosos 8. Altres 8.2.9 Hi hauria d’haver un altre apartat dedicat al planejament del territori i eines GIS, però no l’hem inclòs aquí perquè hem considerat que hauria de ser objecte d’una guia més específica. És recomanable, també, repassar l’annex de la guia Adaptació a la LAECSP, de Localret, per veure les aplicacions de l’AOC i el CATCert disponibles per a les administracions locals. 88 Guies per al desenvolupament de la societat del coneixement
  • 91.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles També hi ha nombrosos repositoris PL que ofereixen eines per abordar aquests serveis de forma telemàtica. Cal destacar el repositori europeu OSOR: http://www.osor.eu/ OSOR permet l’accessibilitat a nombrosos repositoris disgregats dels diferents països de la Unió Europea, entre els que destaquem els d’algunes comunitats autònomes: http://www.lafarga.cat http://forja.guadalinex.org/repositorio/ https://forxa.mancomun.org/softwaremap/ No són objecte d’aquesta guia les solucions ofertes a través de serveis web que presenten algunes empreses. Les solucions aquí enumerades són accessibles a través de diferents repositoris (veure els enllaços de cada solució), oferint una descàrrega directa o, en alguns casos, requerint d’una inscripció per sol·licitar el programa. Algunes de les aplicacions, obtingudes de forges internacionals, poden no estar en català ni en castellà. Hem cregut interessant incloure-les de totes formes, perquè, si la funcionalitat s’adapta molt bé a les necessitats d’un ajuntament, pot ser menys costós traduir l’aplicació que desenvolupar-la a partir d’altres projectes de funcionalitat més allunyada o a partir de zero. 89 Guies per al desenvolupament de la societat del coneixement
  • 92.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles 8.2. - Programari disponible 8.2.1. - Eines integrals per a l’administració local @Mairie Aplicació per a la gestió integral dels serveis d’un ajuntament composta pels següents mòduls: - Comptabilitat - Planificació i facturació - Gestió de recursos (sales i materials) Programació: PHP Plataforma: Multiplataforma Llicència: CeCiLL V2 (http://adullact.net/projects/amairie/) ERP5 Serveis Tècnics Eina per a la gestió integral dels serveis d’un ajuntament formada pels mòduls següents: - Gestió del patrimoni - Relació amb el ciutadà - Compres i existències - Intervencions - Gestió dels recursos humans Programació: JavaScript, Pyton, Zope Plataforma: Multiplataforma Llicència: GPL (http://adullact.net/projects/erp5-st/) 90 Guies per al desenvolupament de la societat del coneixement
  • 93.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Openlocal: sistema PL de gestió municipal Aplicació centralitzada de gestió municipal de programari lliure integrada pels següents mòduls: - Comptabilitat - Padró municipal d’habitants - Gestió d’ingressos i recaptació - Nòmina i Seguretat Social - Registre d’entrada i sortida - Gestió de secretaria - Gestió de via pública - Inventari i patrimoni Impulsor: Diputació Provincial de Jaén Programació: Java Base de Dades: PostgreSQL, Oracle, MySQL, SQL Server, Ingres, MS Access Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=208) gisEIEL gisEIEL és una eina SIG, desenvolupada sobre gvSIG i adaptada per administrar equipaments i infraestructures municipals. Està en constant evolució amb nous mòduls que permeten la planificació del territori, el pagament d’impostos o l’inventari municipal. Programació: Java Base de Dades: PostgreSQL Plataforma: GNU/Linux, Windows Llicència: GPL (http://www.osor.eu/projects/giseiel) SAGA Sistema per a l’administració pública. Impulsor: OMII-UK Programació: PHP Base de Dades: MySQL, PostgreSQL Plataforma: GNU/Linux Llicència: GPL (http://saga.sourceforge.net ) (http://saga.cct.lsu.edu) 91 Guies per al desenvolupament de la societat del coneixement
  • 94.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles 8.2.2. - Comptabilitat, gestió del pressupost, tresoreria i tributs Openlocal: Sistema PL de gestió municipal (descripció a la pàgina 91) @Mairie: Aplicació integral de gestió municipal (descripció a la pàgina 90) Gabel@. Sistema de gestió d’expedients tributaris Sistema de gestió d’expedients que ofereix als contribuents la consulta de la seva informació via Internet. Així mateix, integra la signatura electrònica en la totalitat dels documents produïts pel sistema o utilitzats mitjançant digitalització i compulsa electrònica. Impulsor: Ajuntament de Sevilla Programació: JavaScript, HTML, JSP i Java amb motor TREW@ Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=148) Sistema integrat d’informació tributària i recaptació (ALBA) Sistema de gestió tributària i de recaptació que inclou totes les eines d’administració electrònica necessàries. Impulsor: Ajuntament de Sevilla Programació: Java Base de Dades: - Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=147) Sistema d’Hisenda Local per a Ajuntaments Sistema de gestió censal d’impostos, taxes i preus públics municipals amb les següents funcionalitats: Sistema multientitat, administració del sistema, gestió de tercers o contribuents, gestió d’objectes tributaris, de tarifes i fets tributaris, cens i empadronament, enviament a recaptació de padrons de cobrament periòdic, gestió de liquidació de taxes i impostos no periòdics. Impulsor: Diputació Provincial d’Almeria Programació: JavaScript, HTML, JSP, XML Base de Dades: PostgreSQL, Oracle Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=46) 92 Guies per al desenvolupament de la societat del coneixement
  • 95.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Opencataloge Aplicació per a la gestió pressupostària. Programació: JavaScript, PHP Base de Dades: - Plataforma: Multiplataforma Llicència: GPL (http://adullact.net/projects/opencatalogue/) G8-SIEF: Gestió del Pressupost Aplicació per al Servei del Pressupost de la Junta d’Andalusia que té com a finalitat facilitar als centres gestors del pressupost la informació sobre els crèdits assignats i les seves modificacions, així com millorar la comunicació entre la Sotsdirecció de Pressupostos i els centres. Impulsor: Servei Andalús de la Salut Programació: PL/SQL Base de Dades: Oracle Plataforma: Windows (http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=541) Matteo Collectivités Eina de comptabilitat per a gestió de pressupostos, ingressos, despeses i relacions amb les administracions fiscals i reglamentàries. Impulsor: - Programació: C++, JavaScript, PHP Base de Dades: - Plataforma: GNU/Linux, Windows, MacOS Llicència: CeCILL (http://adullact.net/projects/matteo) OpenCadastre Eina per a l’administració de fitxers del cadastre i d’impostos locals mitjançant scripts parametritzables per l’administració local. Programació: JavaScript, PHP Plataforma: Multiplataforma Llicència: GPL (http://adullact.net/projects/opencadastre/) 93 Guies per al desenvolupament de la societat del coneixement
  • 96.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Sistema Unificat de Recursos (SUR): El Sistema Unificat de Recursos (SUR) s’encarrega de la gestió, liquidació i recaptació dels impostos propis o cedits de la Comunitat Autònoma d’Andalusia. Impulsor: Conselleria d’Economia i Hisenda de la Junta d’Andalusia Programació: PL/SQL Base de Dades: Oracle Plataforma: Solaris (http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=16) Gestió conjunta de secretaria i intervenció de petits municipis Aplicació de gestió interna per a la realització de tasques de secretaria i intervenció d’entitats locals, de forma electrònica, permetent compartir aquests treballs entre diferents entitats. Impulsor: Ajuntament de Castaño del Robledo (Huelva) Programació: PHP Base de Dades: MySQL Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=178) GnuCash GnuCash és una solució PL per a la gestió financera de petites empreses adaptable a les administracions locals, sota llicència GPL i disponible en GNU/Linux, BSD, Solaris, Mac OS X i Microsoft Windows. Impulsor: GnuCash Programació: C Base de Dades: PostgreSQL Plataforma: Multiplataforma Llicència: GPL (http://www.gnucash.org/es) Open ERP Open ERP és un complet sistema de gestió empresarial (ERP) que cobreix les necessitats de les àrees de comptabilitat, vendes, compres, magatzem i inventariat o factura electrònica. Impulsor: Tiny, Sprl Programació: Python, XML Base de Dades: PostgreSQL Plataforma: GNU/Linux i Windows Llicència: GPL i OPL (http://www.openerp.com ) 94 Guies per al desenvolupament de la societat del coneixement
  • 97.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Openbravo ERP Openbravo ERP és un sistema ERP PL ideal per a la gestió de petites i mitjanes empreses. Alguns municipis han adaptat i utilitzat el programa per a la gestió municipal. Impulsor: Openbravo S.L Programació: Java, JavaScript, SQL, PL/SQL, XML, HTML Base de Dades: PostgreSQL, Oracle Plataforma: Multiplataforma Llicència: OBPL (http://www.openbravo.com) 8.2.3. - Perfil del contractant i factura electrònica Openlocal: sistema PL de gestió municipal (descripció a la pàgina 91) Plataforma de Pagament Plataforma de pagament de la Junta d’Andalusia. Impulsor: Conselleria d’Economia i Hisenda de la Junta d’Andalusia Programació: Java Base de Dades: Oracle Plataforma: Solaris (http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=488) G3 – Plataforma de Contractació de la Junta d’Andalusia La Plataforma de Contractació es configura com un punt d’entrada únic a la informació de contractació de la Junta d’Andalusia. Impulsor: Conselleria d’Economia i Hisenda de la Junta d’Andalusia Programació: Java Llicència: EUPL (http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=680) G3 – Plataforma de Licitació de la Junta d’Andalusia La Plataforma de Licitació de la Junta d’Andalusia permet tràmits electrònics per a la licitació electrònica, oferint els cabals telemàtics necessaris per realitzar la facturació electrònica o la publicació de documents. Impulsor: Conselleria d’Economia i Hisenda de la Junta d’Andalusia Programació: Java Base de Dades: Oracle Llicència: EUPL (http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=717) 95 Guies per al desenvolupament de la societat del coneixement
  • 98.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles G3 – Gestió d’Expedients de despesa Aplicació per a la gestió global de la despesa de la Junta d’Andalusia. Té els mòduls següents: Gestió de publicacions, Gestió d’expedients de despesa, Gestió de taules de contractació, Gestió de fons europeus, Licitació electrònica i Seguiment de la despesa (DSS). Impulsor: Conselleria d’Economia i Hisenda de la Junta d’Andalusia Programació: Java Base de Dades: Oracle Llicència: EUPL (http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=666) Plataforma LocalTIC Plataforma per a la gestió d’ajuntaments, oferint serveis d’administració electrònica. Impulsor: Telefónica Soluciones Programació: Java Plataforma: Multiplataforma Llicència: GPL (http://forge.morfeo-project.org/projects/localtic/) e-factura Components per a la generació de certificats fiscals digitals per a la legislació mexicana. Programació: XML Plataforma: GNU/Linux Llicència: LGPL (http://sourceforge.net/projects/e-factura) PISTAlocal+ Plataforma de governament electrònic per a municipis petits i mitjans, amb integració de DNI electrònic i signatura electrònica, que ofereix serveis de teletramitació i d’administració electrònica a ciutadans i empreses. Impulsor: PistaLocal+ Programació: PHP Llicència: GPL (http://pistalocalplus.sourceforge.net <http://pistalocalplus.sourceforge.net/> ) 96 Guies per al desenvolupament de la societat del coneixement
  • 99.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Plataforma de Licitació Electrònica Plataforma que possibilita a l’ajuntament la configuració de concursos i tota la seva tramitació fins a l’adjudicació final. Impulsor: Ajuntament de Las Gavias (Granada) Programació: Java Base de Dades: MySQL Plataforma: GNU/Linux Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=66) Gestió d’Expedients de Contractacions en el Sector Públic Solució adaptada a la Llei 30/2007 de CSP que permet la gestió completa de tot tipus d’expedients (subministraments, serveis i obres) i modalitats (concurs, subhasta, negociat, proveïdor únic o menors), tractament d’incidències associades a contractes (pròrrogues i cessions, modificacions i resolucions) i gestió del perfil del contractant. Impulsor: Mancomunitat de Municipis de la Badia de Cadis Programació: Java Base de Dades: PostgreSQL Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=61) Gestió de contractacions i compres Sistema d’informació per a la gestió i control dels procediments existents en la contractació pública. Impulsor: Diputació Provincial de Màlaga Programació: J2EE (JEE) Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=190) 97 Guies per al desenvolupament de la societat del coneixement
  • 100.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles 8.2.4. - Gestió del patrimoni i inventari de béns Openlocal: Sistema PL de gestió municipal (descripció a la pàgina 91) ERP5 Serveis Tècnics: Gestió integral dels serveis d’un ajuntament (descripció a la pàgina 90) Inventari de béns municipals Plataforma composta per diversos sistemes que gestionen el patrimoni municipal i el patrimoni històric, oferint un servei integral de tot el patrimoni d’un ajuntament. Impulsor: Ajuntament d’Úbeda (Jaén) Programació: JavaScript, Java, JFS Base de Dades: PostgreSQL Plataforma: GNU/Linux Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=211) Sistema d’Inventari de béns i drets municipals Aplicació que realitza la gestió dels béns de les entitats locals. Impulsor: Diverses agrupacions Programació: Ruby Base de Dades: PostgreSQL Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=112) 8.2.5. - Padró d’habitants i cens electoral Openlocal: Sistema PL de gestió municipal (descripció a la pàgina 91) Sistema d’Hisenda Local per a Ajuntaments (descripció a la pàgina 92) CIVTAT Aplicació per gestionar el padró municipal, amb una arquitectura web d’alt rendiment i basada exclusivament en estàndards. Es troba en una primera fase que permet la consulta de dades bàsiques dels habitants d’un padró municipal. Impulsor: Ajuntament de Manresa Programació: Python i XML (http://civtat.lafarga.cpl.upc.edu/) 98 Guies per al desenvolupament de la societat del coneixement
  • 101.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles 8.2.6. - Atenció Ciutadana ERP5 Serveis Tècnics: Gestió integral dels serveis d’un ajuntament (descripció a la pàgina 90) e-Ajuntament Portal per a la informació i la relació amb els ciutadans, format per un conjunt d’aplicacions adaptades per als ajuntaments. Programació: Java, PHP, Zope Plataforma: Multiplataforma Llicència: GPL (http://adullact.net/projects/emaire/) Portal d’Atenció Ciutadana Telemàtica Conjunt de serveis en línia per a la realització de procediments administratius del ciutadà. Impulsor: Ajuntament de Berja (Almeria) Programació: JavaScript, XML, HTML Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=119) Ypok GRC Eina per al seguiment i el tractament de les interaccions entre el ciutadà i l’administració local. Programació: Java, JavaScript Plataforma: GNU/Linux, Windows Llicència: GPL (http://adullact.net/projects/ypok-grc/) Tràmits On-Line Sistema web que permet la tramitació electrònica entre el ciutadà i l’administració local. Impulsor: Ajuntament de Ronda (Màlaga) Programació: JavaScript, Java, JFS Base de Dades: PostgreSQL Plataforma: GNU/Linux Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=202) 99 Guies per al desenvolupament de la societat del coneixement
  • 102.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Allô Mairie Eina per a la gestió de trucades dels ciutadans per informar d’anomalies detectades (neteja, servei de vies i obres, espais verds o enllumenat), les assistències (avis o infants), les gestions administratives i els esdeveniments de la ciutat. Impulsor: Ajuntament de Marsella (França) Programació: Java, JavaScript, PL/SQL Plataforma: Windows NT/2000 Llicència: CeCiLL V2 (http://adullact.net/projects/allomairie/) SIBYLLE Aplicació per a la gestió d’enquestes: redacció de les qüestions, administració, gestió d’ús i parametrització de resultats. Programació: PHP Plataforma: Windows Llicència: GNU (http://adullact.net/projects/sibylle/) Portal i finestreta municipal Portal web amb serveis públics municipals a ciutadans i Portal del Treballador Públic, gestionats mitjançant una plataforma tecnològica integral ubicada a la intranet de la entitat. Impulsor: Ajuntament de Roquetas de Mar (Almeria) Programació: JSP, Java Base de Dades: PostgreSQL, Oracle Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=40) 100 Guies per al desenvolupament de la societat del coneixement
  • 103.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles 8.2.7. - Gestió de serveis diversos Openlocal: Sistema PL de gestió municipal (descripció a la pàgina 91) @Mairie: Aplicació integral de gestió municipal (descripció a la pàgina 90) phpScheduleIt phpScheduleIt és una aplicació web per gestionar i administrar l’ús de recursos comuns. Proporciona un calendari per reservar el recursos segons un sistema de permisos, així com eines per administrar les reserves. Aplicacions típiques són sales de conferència, equipament o horaris de treball. Impulsor: Universitat de Chicago Programació: PHP Base de Dades: MySQL (recomanat), PostgreSQL, Oracle i SQLite. Plataforma: Multiplataforma Llicència: GPL (http://www.php.brickhost.com/faq.php) Plataforma de gestió interna de recursos municipals i patrimoni Solucions de via pública, instal·lacions esportives, cementiris i patrimoni, tant per als ciutadans com per als empleats públics, integrades amb els sistemes bàsics ja implantats. Impulsor: Diputació Provincial de Jaén Programació: Java Base de Dades: Oracle, SQL Server, DB2, mySQL, postgreSQL, Ingres i Sybase. Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=77) Central de reserva de serveis municipals Eina per a la reserva de recursos municipals enfocada a optimitzar el seu ús des de la perspectiva del ciutadà, aportant una sèrie d’avantatges d’explotació per a una millor racionalització en l’oferta, així com l’ús unificat de plataformes com la d’acreditació, notificacions o pagaments TPV. Impulsor: Ajuntament de Còrdova Programació: JavaScript, Java, HTML, XML Base de Dades: PostgreSQL, Oracle Plataforma: GNU/Linux Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=80) 101 Guies per al desenvolupament de la societat del coneixement
  • 104.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Sistema de tramitació electrònica per a la gestió, reserva i pagament de recursos municipals Sistema que permet l’administració interna de tots els recursos municipals (teatre, cine, cursos i jornades, activitats, equipaments o pistes esportives) de diferents localitats d’un mateix municipi, centralitzant-los en una única aplicació via web. Impulsor: Ajuntament de Vélez-Málaga (Màlaga) Programació: PHP, Perl Base de Dades: MySQL Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=187) a) Gestió de la via pública Gestió d’incidències i d’inventari a la via pública Eina per a la gestió d’incidències a la via pública i per a la intercomunicació entre els diferents actors en la resolució i documentació del mobiliari i infraestructures municipals. Impulsor: Ajuntament de La Rinconada (Sevilla) Programació: PHP, Java Base de Dades: MySQL Plataforma: - Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=141) Sistema de gestió d’avisos i reclamacions a la via pública Aplicació multicanal per gestionar peticions de serveis, avisos, incidències i reclamacions dels ciutadans (i dels funcionaris, a través de la intranet municipal), permetent realitzar el seu seguiment i recepció de la resposta. Impulsor: Ajuntament d’Antequera (Màlaga) Programació: Java Base de Dades: PostgreSQL Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=173) 102 Guies per al desenvolupament de la societat del coneixement
  • 105.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Gestió d’incidències a la via pública Funcionalitat nova al portal del ciutadà i a l’oficina d’atenció ciutadana que permet als habitants del municipi posar en coneixement dels serveis municipals elements malmesos, tant del mobiliari com de la via pública. Impulsor: Ajuntament d’Alcalà de Guadaíra (Sevilla) Programació: Java Base de Dades: PostgreSQL Plataforma: GNU/Linux Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=168) b) Gestió d’obres Gestió d’expedients d’urbanisme Gestió completa d’expedients de llicències d’obra menor, obra major (nova planta, ampliació o reforma), instal·lació de grues, enderrocs, primera ocupació i finalització d’obra. Impulsor: Ajuntament de Puerto Real (Cadis) Programació: Java Base de Dades: PostgreSQL Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=185) Openfoncier Sistema per a la gestió integral d’expedients i llicències d’obra (construcció, enderroc, reforma o certificats, entre altres exemples). Programació: JavaScript, PHP Plataforma: Multiplataforma Llicència: GPL (http://adullact.net/projects/openfoncier/) Sistema de gestió d’expedients d’obra Sistema per a la gestió del cicle complet de la tramitació d’expedients d’obres. Impulsor: Ajuntament d’Antequera (Màlaga) Programació: Java, XML amb component W@nda Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=172) 103 Guies per al desenvolupament de la societat del coneixement
  • 106.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Gestor d’expedients per a llicències d’obres Sistema web de gestió d’expedients de llicència per tramitar tot tipus de llicència urbanística que arrenqui un procediment administratiu. Impulsor: Ajuntament d’Úbeda (Jaén) Programació: JavaScript, JFS Base de Dades: PostgreSQL Plataforma: GNU/Linux Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=31) Planificació y contractació d’obres. Contractació electrònica Sistema de gestió per a la planificació, contractació i seguiment de l’execució d’obres sol·licitades prèviament per les diferents entitats locals. Impulsor: Diputació Provincial de Còrdova Programació: PHP i Java Base de Dades: MySQL Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=162) c) Gestió de cementiris openCementerio Eina per a l’administració de cementiris. Programació: JavaScript, PHP Plataforma: Multiplataforma Llicència: GPL (http://adullact.net/projects/opencementerio/) Gestió de cementiris Aplicació per a la gestió organitzativa, administrativa i comunicació de dades de cementiris. Impulsor: Diputació Provincial de Còrdova Programació: Java Base de Dades: Oracle, MySQL. Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=160) 104 Guies per al desenvolupament de la societat del coneixement
  • 107.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles d) Espais i recursos de l’ajuntament a disposició dels ciutadans (sales, projectors i pantalles, poliesportius, etc) Gestió d’instal·lacions esportives Sistema per a la gestió automatitzada de les tasques pròpies de les instal·lacions esportives. Impulsor: Ajuntament de San Juan de Aznalfarache (Sevilla) Programació: JSP i Java Base de Dades: PostgreSQL, Oracle Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=43) GRR: Gestió i reserva de recursos Sistema per a la gestió i reserva de recursos que permet una administració depurada dels entorns de què es disposa i dels recursos que conté cadascun d’aquests entorns. Programació: PHP Base de Dades: MySQL Plataforma: GNU/Linux, Windows Llicència: GPL (http://adullact.net/projects/grr/) (http://grr.mutualibre.org) Gestió Integral de centres esportius municipals Eina que ofereix un suport homogeni i integral de la gestió dels centres esportius municipals, amb la possibilitat d’accedir als serveis mitjançant Internet. Impulsor: Ajuntament de Mijas (Màlaga) Programació: JSP i Java Base de Dades: PostgreSQL Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=184) Gestió de fires i mercats Eina per a la gestió de fires i mercats. Entre altres solucions, permet el seguiment dels comerciants que hi participen, les reserves realitzades i la col·locació sobre l’espai de la fira. Programació: PHP Plataforma: GNU/Linux, Windows Llicència: CeCiLL V2 (http://adullact.net/projects/foiresmarches/) 105 Guies per al desenvolupament de la societat del coneixement
  • 108.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles e) Recollida d’escombraries phpScheduleIt (descripció a la pàgina 101) f) Altres serveis Gestió de residències per a la tercera edat Eina per a la gestió i el control del flux d’entrada, sortida i llistes d’espera de residències per a la tercera edat. Programació: PHP Base de Dades: MySQL Plataforma: Multiplataforma Llicència: CeCiLL V2 (http://adullact.net/projects/fluxmdr/) openAdmin Eina per a la gestió d’escoles. Programació: Perl, HTML Base de Dades: PostgreSQL, MySQL Plataforma: GNU/Linux, Windows Llicència: GPL (http://richtech.ca/openadmin) openAdmin Eina per a la gestió d’habitatge social protegit. Programació: JavaScript, PHP Plataforma: GNU/Linux, Windows Llicència: GPL (http://adullact.net/projects/openlogement/) BicingMobile Programari pensat per fer servir en un telèfon mòbil amb suport J2ME i connexió a Internet, que permet consultar, en temps real, la disponibilitat de bicicletes del servei municipal Bicing. Programació: Java Plataforma: Multiplataforma Llicència: GPL (http://projectes.lafarga.cat/projects/bicingmobile) 106 Guies per al desenvolupament de la societat del coneixement
  • 109.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles 8.2.8. - Registres diversos a) Registre Civil Registre Civil telemàtic Sistema de gestió integral del Registre Civil, permetent tots els tràmits. Impulsor: Ajuntament de Dos Torres (Córdova) Programació: HTML, PHP, XML Base de Dades: Oracle, MySQL Plataforma: GNU/Linux Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=83) Biscoto Aplicació per al cens de ciutadans. Programació: PHP Plataforma: Multiplataforma Llicència: GPL (http://adullact.net/projects/biscoto/) b) Policia Local Gestió Policia Local Eina usada pels agents que contempla, entre altres, les funcionalitats següents: gestió de la plantilla de la policia, gestió d’atestats i informes o altres (carrers tallats o control d’alcoholèmia). Impulsor: Mancomunitat de Municipis del Baix Guadalquivir (Sevilla) Programació: JSP i Java Base de Dades: PostgreSQL Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=98) REGPOL Registre de Policies Locals i Vigilants Municipals Es tracta d’una aplicació de tres capes desenvolupada en Oracle Developer que proporciona una interface web per al Registre de Policies Locals i Vigilants Municipals. Impulsor: Conselleria de Governació de la Junta d’Andalusia Programació: PL/SQL Base de Dades: Oracle Plataforma: Windows (http://www.juntadeandalucia.es/repositorio/usuario/listado/fichacompleta.jsf?idProyecto=417) 107 Guies per al desenvolupament de la societat del coneixement
  • 110.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Gestió de Policia Local i Multes Solució integral a la gestió de la Policia Local. Impulsor: Diputació Provincial de Màlaga Programació: J2EE (JEE) Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=188) Intranet administrativa per a la Policia Local Plataforma homogènia de gestió administrativa per a les prefectures de la Policia Local. Està formada per diversos mòduls que permeten, entre altres, la gestió d’expedients, agents o llicències. Impulsor: Mancomunitat de Municipis Badia de Cadis (Cadis) Programació: Java Base de Dades: PostgreSQL Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=209) c) Bombers i emergències Eina per a la gestió diària d’un parc de bombers Eina de back office per a la gestió diària d’un parc de bombers, per digitalitzar la gestió administrativa. Impulsor: Ajuntament de Motril (Granada) Programació: Java Base de Dades: MySQL, PostgreSQL Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=151) Sistema Integral de Mobilització per a Emergències Projecte d’infraestructura (programari i maquinari) per a la mobilització del coneixement existent en un servei d’emergències (bombers). El projecte és extensible a qualsevol servei que necessiti establir un canal bidireccional de comunicació entre l’estació base i els recursos humans mòbils. Impulsor: Ajuntament de Baza (Granada) Programació: JavaScript, HTML, Ruby, Java Base de Dades: PostgreSQL Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=117) 108 Guies per al desenvolupament de la societat del coneixement
  • 111.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Sistema d’enviament de SMS amb informació ciutadana Eina que permet mantenir informat al ciutadà de forma fàcil i directa a través de l’enviament de SMS, correu o fax, de tot allò que l’ajuntament consideri d’interès per al ciutadà o turista. Impulsor: Mancomunitat de Municipis del baix Andarax (Almeria) Programació: Java Base de Dades: MySQL, Oracle Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=127) d) Gossos perillosos Openlocal: Sistema PL de gestió municipal (descripció a la pàgina 91) 8.2.9. - Altres WebDelib Aplicació web per a la gestió d’assemblees. Permet la preparació, gestió de sessions i deliberacions, seguint un circuit de validacions d’iniciatives i projectes. Programació: PHP Base de Dades: MySQL Plataforma: Multiplataforma Llicència: CeCiLL V2 (http://adullact.net/projects/webdelib/) Openelec Aplicació per a la gestió de llistes electorals: targetes d’electors, maquetació, etiquetes de propaganda, llista d’electors, llista anual de moviments, estadístiques o quadres de final d’any, entre altres exemples. Programació: JavaScript, PHP Base de Dades: PostgreSQL Plataforma: GNU/Linux, Windows Llicència: GPL (http://adullact.net/projects/openelec/) GEM-WEB Aplicació per a la gestió energètica municipal en entorn web. L’objectiu és facilitar la gestió de la facturació energètica i proporcionar eines d’anàlisi, simulació i supervisió. La Farga no n’ofereix més dades. (http://projectes.lafarga.cat/projects/gemweb) 109 Guies per al desenvolupament de la societat del coneixement
  • 112.
    El programari lliurea les administracions locals 8. Recursos lliures disponibles Portal de turisme Portal específic per a gestionar els municipis com a destí turístic que permet habilitar una infraestructura per a la integració i distribució de serveis municipals als àmbits turístics, culturals i d’oci, desenvolupat en el marc del projecte Ciudades Digitales. Impulsor: Ajuntament de Roquetas de Mar (Almeria) Programació: Java Base de Dades: MySQL Plataforma: GNU/Linux Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=39) Quid Aplicació per a la consulta i recerca dels funcionaris per adreça i dels càrrecs electes per grup polític. Presenta una fitxa per agent o càrrec electe (nom, fotografia, funció, adreça, servei, telèfon, correu electrònic, localització i altres). Llicència: GPL (http://adullact.net/projects/quid/) Mobilitat en els Processos de Gestió Interna Solució que permet l’accessibilitat en qualsevol moment i des de qualsevol lloc als treballadors municipals, millorant els temps de serveis oferts al ciutadà. Impulsor: Ajuntament de Jun (Granada) Programació: HTML, Java, XML Plataforma: Multiplataforma Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=150) Openpresse Solució que permet als serveis de comunicació de l’administració local la publicació de revistes o butlletins de premsa a la xarxa interna. Programació: JavaScript, PHP Plataforma: Multiplataforma Llicència: GPL (http://adullact.net/projects/openpresse/) Sistema de gestió de recursos materials Eina per a un control eficaç dels recursos materials de l’ajuntament (gestió del magatzem, vehicle i maquinària, compres, avisos o estadístiques). Impulsor: Ajuntament d’Almonte (Huelva) Programació: Java Base de Dades: PostgreSQL Plataforma: GNU/Linux Llicència: EUPL (http://www.juntadeandalucia.es/innovacioncienciayempresa/repositorioaall/usuario/listado/fichacompleta.jsf?idProyecto=70) 110 Guies per al desenvolupament de la societat del coneixement
  • 114.
    Impulsem la societatdel coneixement al servei de tots els municipis c. Llacuna 162, 3a pl. 08018 Barcelona Telèfon: +34 93 486 14 30 Fax: +34 93 486 14 13 www.localret.cat