[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Domanda su ututo e gNewSense



On date Tuesday 2008-09-16 19:56:31 +0200, Davide Prina wrote:
> Stefano Sabatini wrote:
>
>> Senza un attivo contributo della comunità (anche come supporto
>> economico) è difficile che il SW libero possa raggiungere un livello
>> di qualità e di usabilità comparabile con quello prodotto con una
>> organizzazione più strutturata (pur con tutti i limiti del modello di
>> sviluppo del SW proprietario).
>
> non sono d'accordo sul fatto della necessità di finanziamenti.
> Addirittura in alcuni casi chi sviluppa software libero non accetta  
> donazioni in denaro.

Molti però vengono pagati per scrivere/supportare software libero,
questo perché il modello di sviluppo del SW libero (peer-review,
apporto di utenti e sviluppatori per sviluppo/debugging) si mostra
molto spesso un modello migliore *dal punto di vista pratico* e non
solo etico del modello di sviluppo chiuso.

In molti casi quindi chi scrive SW libero lo fa non per il fatto in sè
di scrivere SW libero, ma per i vantaggi che comporta il modello di
sviluppo in sé.

In questo caso non necessariamente lavora al codice per piacere ma per
un impegno lavorativo, lo stesso dicasi per un consulente di SW
libero.

Ciò non toglie che probabilmente scrivere SW libero di per sè sia più
gratificante per lo sviluppatore anche in questo caso, perché il
proprio lavoro viene condiviso dal maggior numero possibile di persone
e il suo uso non limita la libertà dell'utente, per me questa è una
delle prime motivazioni per scrivere SW libero.

[...]
> Certamente una persona pagata per sviluppare software usa un tempo  
> maggiore e produce di più; se però c'è qualcuno che inizia a dirgli cosa  
> fare, come farlo, quando farlo ... inizia a venire meno lo stimolo  
> presente in chi fa questa attività senza essere pagato. Il primo vede  
> questa attività con lo scopo, unico se non primario, di guadagnare da  
> vivere; mentre il secondo vede questa attività come mezzo per scatenare  
> la propria fantasia, per mettersi alla prova, per ...

Molto spesso però si sacrifica la qualità in funzione di altri
aspetti, questo naturalmente dipende dal progetto e dalle persone ma
molto spesso un prodotto con supporto commerciale può permettersi di
imporre dei controlli di qualità (usabilità, stabilità, etc) a cui gli
sviluppatori non si sottoporrebbero altrimenti.

Questo è vero in teoria e paradossalmente non in pratica (almeno per
la sicurezza/stabilità), perché molto spesso i progetti di SW libero
producono SW superiore in termini di sicurezza e stabilità (merito
anche del peer-review e del testing massivo da parte degli utenti).

Rimane ancora vero per quanto riguarda l'usabilità (confronta
l'eterogeneità delle interfaccie in ambiente GNU-linux rispetto a un
Mac OS).

Inoltre le stesse motivazioni ("attività come mezzo per scatenare la
propria fantasia, per mettersi alla prova") valgono molto spesso per
il lavoro di sviluppo di SW proprietario, con l'unica limitazione che
c'è qualcuno a dirti *cosa* devi fare.

>> Inoltre questo sforzo è su base volontaria, gli sviluppatori di
>> software libero non hanno i mezzi organizzativi e finanziari delle
>> grandi corporazioni,
>
> alle organizzazioni però, di solito, manca creatività, manca la capacità  
> di impegnare risorse importanti su quello che attualmente viene vista  
> come una chimera o una cosa da cui, si pensa, non si possa ricavare un  
> profitto adeguato o ...
> Non a caso molte delle grosse aziende o idee nascono da ex-dipendenti di  
> grandi corporazioni ... coloro che hanno osato dove nessuno avrebbe,  
> all'epoca, investito un centesimo. Mentre le grosse corporazioni di  
> solito acquisiscono aziende che sono in forte crescita ... se non le  
> affossano o cercano di farlo.

Pensa però a progetti come Mozilla, MySQL, per non parlare dello
sviluppo di driver, sono attività di sviluppo che molto spesso nascono
all'interno di grandi corporazioni. Non necessariamente la creatività
è il solo parametro, e purtroppo spesso progetti di SW libero emulano
progetti di SW proprietario per questioni di "usabilità" (sia Gnome
che KDE *mi pare* orientino l'usabilità delle proprie interfacce su
quelle degli ambienti Windows e Mac OS).

>> perché sia possibile ottenere un risultato utile
>> è fondamentale che non vi sia duplicazione del lavoro,
>
> la duplicazione del lavoro, come la chiami tu, invece è, a mio parere,  
> una risorsa importante.
> Osservare la stessa cosa sotto diversi punti di vista permette di  
> percorrere più strade differenti per raggiungere magari lo stesso  
> risultato, ma magari una di queste strade può alla lunga rivelarsi  
> innovativa, può aprire nuovi fronti verso un utilizzo fin poco tempo  
> prima inimmaginabile ...

Oppure può disperdere energie che potrebbero essere dirette a
costruire su moduli ben collaudati cose più interessanti piuttosto che
reinventare la ruota. Il primo compito del buon programmatore è
scrivere il meno possibile. Lo sviluppo verticale è sempre meglio di
uno sviluppo orizzontale, a volte la scelta di riscrivere da zero è
dettata da considerazioni non tecniche.

>> le energie
>> dovrebbero essere rivolte a migliorare il SW soprattutto a livello
>> upstream piuttosto che duplicare lavoro a livello di ogni singola
>> distribuzione, e anche il proliferare di decine se non centinaia di
>> distribuzioni spesso senza una reale necessità tecnica/sociale
>> comporta uno spreco di energie e di lavoro che potrebbero essere
>> impiegati in modo più proficuo
>
> vedi sopra.
> Se non fosse stata sviluppata knoppix, se non erro, non avremmo i  
> live-cd ... o magari non saremmo a questi livelli.

knoppix è basata su una motivazione tecnica che io riconosco come
valida, inoltre è basata su Debian e questo rende molto minore il
lavoro di manutenzione.

Un'altro caso è il fork Debian/Ubuntu, con repository solo in parte
convergenti. In secondo luogo la tendenza di molte distro è risolvere
i problemi a livello di distribuzione piuttosto che risolverli a
livello upstream. L'utente vede come naturale punto di riferimento la
distribuzione, i report vengono fatti a livello di distribuzione e non
riproposti a livello upstream. A lungo andare questo complica anche il
lavoro dell'amministratore dei pacchetti in quanto deve effettuare
merge che sarebbero altrimenti banali o nulli con il sorgente
upstream.

Collaborazione midstream (distribuzione) e upstream porta al
miglioramento del SW a tutti i livelli.

> Ogni distro nuova viene creata perché le persone che lo fanno vogliono  
> introdurre qualcosa di nuovo, perché pensano che quello che già c'è non  
> è sufficiente, perché vogliono tentare di ottenere qualcosa di  
> innovativo o perché pensano che il risultato che vogliono ottenere è  
> importante e è necessario che qualcuno lo faccia. Con questa operazione  
> inoltre le persone imparano cose che probabilmente non avrebbero mai  
> conosciuto altrimenti.
>
> Se non fosse nata Debian, probabilmente, non avremmo per esempio dpkg,  
> apt-get, ...

dpkg e apt-get nascevano da una necessità, a parte rpm/yum di fatto
non ci sono altri sistemi concorrenti (a parte se vuoi slapt-get, il
cugino povero di apt-get). E forse i sistemi RedHat/Fedora sarebbero
migliori se avessero adottato apt-get, sicuramente sarebbe diminuito
il lavoro degli sviluppatori, e sarebbe stata anche più semplice la
vita degli utenti, questo perché non esiste una differenza
fondamentale a livello dell'uso dei due sistemi a parte
l'implementazione (sono pronto ad essere sbugiardato però).

>> (mi viene in mente Stallman quando
>> diceva "sarebbe più utile asfaltare una strada" piuttosto che
>> dedicarsi allo sviluppo di una nuova distribuzione).
>
> dove l'hai letto?

Qui ad esempio trovi un estratto di quell'intervista:
http://www.italsi.net/print.php?sid=7

Ovviamente questa non è da intendersi come una polemica, volevo
chiarire dei punti e forse ho molto tempo libero (oppure dormo
poco ;-)).

Ciao.


Reply to: