Il modello di sviluppo di qgis e' tarato per venire incontro alle
esigenze dei developers.
Ma non prende in considerazione i problemi eventuali degli stakeholders.
Su qgis insistono varie tipologie di stakeholders.
Ma tra di essi la PA e' uno stakeholder complicato.
Perche' , a differenza, di un privato (una ditta o un libero
professionista) opera su dei vincoli ben precisi. Delle norme a cui
deve rigorosamente attenersi.
Non entro nel discorso se siano giuste o sbagliate (comunque per me sono
sono giuste). Ci sono e tanto basta. Non si possono ignorare.
QGIS tenta di proporre un modello unificato per i vari stakeholder:
-"chiedi cio' che ti serve, discutiamone in lista, mettiamoci daccordo
su come va fatta, la funzionalita' che finanzi ci sara' nella prossima
versione rilasciata"-
La prima cosa che a me salta agli occhi e' il problema procedurale che
questo approccio fa nascere.
Esso presuppone di poter discutere fin dal principio con chi sviluppa o
quanto meno con un soggetto che abbia ben chiaro cio' che serve, ma
anche che sia in grado di interloquire sul livello di dettaglio
necessario per poter tarare tecnicamente l'intervento da compiersi.
Il soggetto che si interfaccia con la community o con il gruppo
decisionale per perorare la causa della evoluzione che si vuole compiere
non puo' che essere colui che alla fine fara' il lavoro. Perche' quasi
mai (ma potrei dire mai) chi finanzia ha un livello tecnico sufficiente
per discutere di certi dettagli tecnici implementativi.
E' vero che questo non è un problema per uno stakeholder privato, che
usualmente separa in due momenti distinti la fase di valutazione del
lavoro dalla fase di implementazione vera e propria.
Egli infatti puo' commissionare a un developer il lavoro di studio del
problema, costui effettua una indagine, valuta le varie problematiche e
poi formula una ipotesi. Poi a fronte della relazione ricevuta dal
developer, lo stakeholder privato potra' scegliere di estende al
medesimo developer l'incarico dandogli il nulla osta al lavoro, oppure
stoppandolo se ritiene che la soluzione proposta non sia accettabile per
il suo fabbisogno o troppo costosa, o altri motivi.
E' invece un problema per uno stakeholder pubblico, il quale ha
difficolta' a operare con queste modalita'.
Non che non si possa in assoluto, ma sicapisce bene che se si da' un
incarico a un developer di studiare un problema, non si puo' poi dargli
un nuovo incarico per l'implementazione del lavoro stesso.
L'incarico deve essere unico e complessivo. Per cui, non è opportuno
separare in due fasi distinte.
Senza contare che la separazione in due fasi potrebbe portare ad avere
soggetti differenti, esponendo anche al rischio che il secondo soggetto
(quello implementatore) rimetta in discussione quando preparato dal
primo soggetto progettista (chiamiamolo "progettista" per semplicita').
Questo e' il primo grosso problema che incontra una PA nell'approcciare
uno sviluppo su QGIS.
Questo problema pero' e' comune a tutti i softwares Gfoss, ed e' la
ragione per cui spesso si assiste alla nascita di forks di prodotto.
Perche' non potendo separare facilmente la progettazione dallo sviluppo,
e dovendo assegnare tutto a priori, finisce che chi ha l'incarico tende
a fare un fork del prodotto.
Per parecchie ditte infatti la formulazione dell'offerta non contempla
una interazione preventiva con la community , che viene invece vista
come facente parte gia' della fase lavorativa.
Ovvero, prima di prende il lavoro e poi si interloquisce con la community.
Quando l'approccio e' questo, la conseguenza e' un fork , oppure una
crescita dei costi (a posteriori).
Non si puo' infatti escludere che l'interazione con la community possa
portare a una revisione di cio' che si prevedeva di fare.
Infatti in sede di offerta lo sviluppatore che opera secondo il modello
classico tende sempre a identificare una strada di esecuzione del lavoro
basandosi sul capitolato del committente, che ovviamente non puo'
scendere cosi' in dettaglio, e cerchera' sempre la strada piu' agile e
rapida per lo svolgimento del lavoro (quello che citavo nella altra
email , dicendo che cerca sempre la strada piu' facile e rapida) e su
di essa formula il prezzo su cui viene poi dato l'incarico. Poi , dopo
aver avuto l'incarico e iniziato a lavorare , interagendo con la
community, si sente dire che deve seguire altre strade, piu' complicate
e non previste. Conseguenza: I costi cambiano, aumentano. Il problema si
sposta subito sul piano commerciale sottoponendo la scelta al suo
committente. Le soluzioni proposte a quel punto sono le solite ovvie:
accettazione di un fork. Cioe' una versione fatta nei modi
originariamente previsti e che mai sara' accettata dalla community di QGIS.
Oppure, una revisione dei prezzi, che sicuramente non sara' piccola.
Questo tipo di problema oggi in qualche modo, si riesce a superare.
Si riesce a superare perche' stanno nascendo un numero di ditte che
hanno gia' in mente un approccio operativo specifico per il software
gfoss. Ovvero hanno gia' al loro interno personale in grado di
sviluppare su determinati prodotti gfoss con modalita' consone allo
specifico prodotto.
Per semplificare tutto il discorso:
non basta saper programmare in C e compilare un qgis dai sorgenti.
Ma occorre che abbiano un flusso di lavoro che preveda gia' una
interoperazione con una community.
Se la ditta lavora a scatola chiusa questo non succede e porta a
problemi che sfociano in un fork o in una revisione di prezzi.
La modalit'a classica a scatola chiusa:
Formulano una offerta basandosi sul capitolato tecnico. Ottengono il
lavoro, svolgono il lavoro, consegnano, riscuotono. Il tutto svolto nei
prorpi uffici , con il propriopersonale, nessun'altro estenro al gruppo
dilavoro che metta bocca sulle decisioni salvo il committente che
ovviamente non ha le competenze per interloquire su determinate scelte.
Approccio a scatola chiusa.
Ora ci sono nuove forme di ditte, con un modello commerciale rivolto al
mondo OpenSource, non solo nel senso di lavorare su sorgenti di altri,
ma anche perche' sono conscie che tutto cio' che fanno deve avere
l'imprimatur di altri soggetti esterni non coinvolti formalmente
nell'affido (la community).
Una community che partecipa gioco forza alle scelte e a determinare le
medesime.
Una community che pero' non puo' essere coinvolta durante la fase
lavorativa, ma bensi' prima, gia' durante la fase di formazione
dell'offerta.
Quindi il primo problema, si sta naturalmente risolvendo.
Ma qui nasce poi il secondo problema:
Ovvero, la community stessa, la quale e' essa stessa una entita che
oserei definire "liquida" e variabile.
Il risultato di questa liquidita' e' che cambia spesso opinione,
dimentica cio'che e' stato fatto, si focalizza troppo su l'oggi e
sottovaluta la visione strategica di un prodotto.
Questo porta al paradigma del prodotto che oggi ha i "bottoni" e domani
"la zip".
E' il cosidetto approccio "bazar" che cita spesso Santilli assieme al
suo approccio alternativo "a cattedrale".
A parer mio l'approccio "bazar" che e' il piu' pratico , perche' e'
rapido e riesce a raccogliere spesso a coagulare attorno a se visioni
differenti (il bazar appunto), e' anche quello che meno di confa' a un
prodotto che punti ad avere come stakeholder una pubblica amministrazione.
L'approccio bazar , alla lunga finisce per far nascere anche lui i forks
, perche' costringendo gli stakeholders a difendrsi dalla
inevitabilita'del rischio del cambio "bottone <-> zip" li spinge a
ricercare la sicurezza nella tranquilla oasi di un fork "istituzionale".
Poi vi e' l'approccio "cattedrale" , il quale "potrebbe" salvare invece
la visione strategica del prodotto, perche' tenderebbe a far nascere un
gruppo di decisori che coordinano le azioni.
Ma non e' sufficiente di per se che ci siano dei decisori.Intanto
perche' questi decisori devono svolgere un ruolo che a volte e'
difficile da svolgere. Ovvero quello di stoppare o negare (che e' poi la
parte difficile del lavoro di arbitro) determinate azioni. Poi, essi
sarebbero il classico collo di bottiglia, perche' dovendo passare da
loro le decisioni, la fila sarebbe lunga, e non potrebbe piu' essere una
attivita' hobbistica.
Poi, come non bastasse, occorre che essi stessi abbiano chiaro la
visione strategica che si vuole dare al prodotto.
Mi spiego con un esempio di fantasia:
oggi , qgis e' aperto a ogni forma di contributo.
Se domani uno volesse implementare dentro qgis un calcolatore in rpn
(stile HP per chiarire) finalizzato a fare calcoli algebrici , se fosse
disposto a finanziarlo probabilmente troverebbe una porta aperta.
Gi basterebbe far notare che nelle calcolatrici in RPN si pigiano meno
tasti (si risparmia il tasto = da pigiare) magari troverebbe anche il
plauso della community (liquida appunto) e dal giorno dopo qgis agirebbe
con un calculator in RPN.
A mio modo di vedere qui non centra l'approccio bazar o l'approccio
cattedrale, centra la visione strategica di un prodotto.
Cosa deve fare e come lo deve fare cosa ci sta bene dentro di esso e
cosa non ci sta' bene.
Come si risolve questo aspetto ?
Come si evita che oggi ci siano i bottoni e domani ci sia la zip ?
Che oggi si operi in notazione algebrica usuale e domani in polacca
inversa (rpn) ?
E' questo il problema.
Come avere una visione strategica comune.
Certamente serve passare da un gruppo che coordini, ma non puo' bastare.
E' questa la sfida difficile che deve risolvere QGIS e il gruppo che
intorno a qgis si sta coagulando.
Qui riprendo un discorso gia' avviato qualche tempo fa'.
Leggoche si sta formando (te stesso la hai citata nella tua replica) un
gruppo qgis-users che abbia il copito di prendere le decsioni.
Questa e' una buona cosa, perche' va a contrastare l'egemonia
dell'approccio bazar,
ma pero' si sta dicendo anche che nel gruppo decisionale i primari
attori a prendere le decisioni debbano essere i developers.
Potra' questo garantire che domani non ci sia la zip al posto dei bottoni ?
Io non lo so', ma non credo.
E' questa la sfida difficile a cui qgis verra' chiamato nei prossimi anni.
Una evoluzione nel suo modello che preservi l'aspetto gfoss, mantenga la
liberta' di chiunque di poter partecipare allo sviluppo di qgis (parlo
di nuovi developers che volessero accedere a questo mercato), evitando
la formazione di una nicchia di privilegiati. e preservare le evoluzioni
gia' recepite nel prodotto.
Il gruppo dovra' essere capace di comprendere e proteggere gli aspetti
di qgis che rappresentano elementi strategici rilevati (i bottoni) e
salvarli dalle evoluzioni rovinose (la zip).
Questa evoluzione ha certamente dei costi vivi.
Non fosse altro per garantire a determinati soggetti di poterci lavorare
sopra a tempo pieno.
Ma chi deve finanziare questo ?
Qui si arriva alla parte difficile.
A parer mio e' difficile che si possa chiedere a degli stakeholder
pubblici di farsi carico di queste risorse economiche. Le norme che
regolano l'uso dei fondi pubblici non credo che rendano facile questo
impiego.
Forse soluzioni di crowd-funding potrebbero parzialmente risolvere il
problema. Una altra parziale soluzione potrebbe arrivare dalla
iscrizione annuale al qgis-users.
Ma tutte queste soluzioni terrebbero fuori lo stake-holder pubblico.
Che certamente non po' partecipare a u crowd-funding , ne puo'
iscriversi a un qgis-users (che io sappia).
Pero' ci potrebbero pensare soluzioni piu' pragmatiche.
Ad esempio:
Ipotizzare un contributo da applicarsi al recepiento di una evoluzione
che per la sua complessita' e stesura avesse richiesto in un moment
precedente il coinvolgimento del gruppo guida di qgis nel determinare
come impostarla e indirizzare le scelte in una certa direzione.
Questo contributo potrebbe essere codificato e facilmente conteggiato in
una offerta economica formulata dalla ditta che valuta i costi per
realizzare una evoluzione.
Certo occorrerebbe che non sia troppo esoso. Pero' ipotizzare che chi
richiede il commit di codice sul repository di prodotto debba pagare un
contributo (es: 500 euro).
E dare al gruppo guida il diritto di esonerare da questo pagamento
persone meritevoli.
In maniera da esentare chi fornisce una patch a titolo di lavoro
volontaristico, e costringere a questo pagamento chi invece ha
sviluppato la patch per conto terzi ricavandone un profitto.
Potrebbe essere un esempio di soluzione per ricavare fondi per
finanziare il lavoro di chi sviluppa patch, ma anche di un gruppo che
collaborando con le ditte che sviluppano per conto terzi preservi il
qgis dalle "zip".
My2ct.
A.
Il 02/08/2015 14:10, Luca Mandolesi ha scritto:
Ma allora come si esce dal paradosso che mette in evidenza Andrea:
come si fa ad investire su una dev che non sai se funzionerà per come
ti serve e non ti manderà a carte 48 i vecchi lavori?
_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
750 iscritti al 18.3.2015
_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
750 iscritti al 18.3.2015