Newsgroup: it.comp.os.linux.development
Titolo: Software gestionale a licenza pubblica

Con questo post vorrei sollecitare una discussione pubblica sulla 
possibilità (e prima ancora sulla opportunità) di realizzare un software per
la gestione aziendale secondo un modello di sviluppo cooperativo e
distribuito e soggetto alle regole di una licenza pubblica come la GNU
General Public License (in seguito GGPL, 
www.gnu.org
).
Lıidea nasce dallıosservazione della progressiva affermazione di Linux e dei
prodotti e dei servizi ad esso collegati. La qualità raggiunta e
lıaffidabilità sempre maggiore che questi prodotti stanno acquisendo è
testimoniata anche dai recenti investimenti compiuti in questo settore da
aziende leader come IBM, Oracle o Netscape.
GGPL prevede la libera distribuzione del software e di tutti i sorgenti,
consentendo modifiche e successive distribuzioni con lıunico vincolo di
applicare a queste le medesime condizioni previste dalla GGPL.
GGPL non implica necessariamente che la distribuzione del software, e
tantomeno la fornitura dei servizi ad esso correlati, debba avvenire in
forma gratuita. Semplicemente prevede che nessuno possa porre dei vincoli o
delle restrizioni di qualsiasi genere sul software coperto dalla licenza e
sui prodotti da esso derivati.
Per modello di sviluppo cooperativo e distribuito intendo che la
realizzazione del software dovrebbe essere eseguita da un gruppo abbastanza
numeroso di persone suddivise in gruppi di lavoro che si occuperebbero dello
sviluppo di singole parti o funzioni, coordinati da un gruppo ristretto di
coordinatori che avrebbero la responsabilità dellıanalisi e della conduzione
del progetto.
La partecipazione al progetto a qualunque livello sarebbe su base volontaria
e non retribuita; struttura, procedure e modalità operative e decisionali
sarebbero uno dei primi temi da affrontare da parte del gruppo di
coordinamento.
Perché realizzare un software gestionale a licenza pubblica ?
A mio avviso i motivi sono numerosi e credo possa essere quantomeno
intrapresa la valutazione della fattibilità di un tale progetto (posto che
si riesca ad interessare fin dalle prime fasi un numero sufficientemente
elevato di persone).
In una prima fase si dovrebbe concentrare il lavoro sugli aspetti di
carattere generale per valutare la fattibilità complessiva del progetto,
quali ad esempio:
a) Esistono progetti analoghi in Italia o allıestero ?
b) Ci sono persone in Italia che stiano partecipando a progetti simili (come
Linux, Gnome o altri) ed è possibile fare riferimento alla loro esperienza ?
c) Dovrebbe essere un progetto nazionale o internazionale (tenendo conto
delle forti localizzazioni richieste per questo genere di software) ?
d) Quante persone sarebbe necessario coinvolgere per contenere i tempi?
e) Quale modello di licenza adottare ?
In una seconda fase, qualora la prima sortisca un riscontro positivo,
dovrebbero essere organizzati uno o più gruppi di discussione per affrontare
tematiche quali:
a) Come iniziare lıanalisi e la stesura delle specifiche funzionali ?
b) Come, e con quali strumenti, organizzare la collaborazione ?
c) Come organizzare lo sviluppo ?
d) Quale ambiente di sviluppo utilizzare ?
e) Quale o quali linguaggi ?
In questa prima fase preliminare tutti i commenti, suggerimenti o critiche
(anche le più negative) possono essere inviati all'indirizzo 
mu...@libero.it
Qualora questa proposta susciti interesse e dai primi riscontri emerga la
possibilità quantomeno di tentare un approfondimento delle numerose
tematiche coinvolte, mi impegno ad attivare una sede opportuna per iniziare
la seconda fase di discussione (mailing list o altro) o a consegnare il
materiale raccolto a qualcuno interessato alla prosecuzione del progetto.
Mumix

In questa prima fase preliminare tutti i commenti, suggerimenti o critiche
Bene.
Innanzitutto vorrei sapere a qual'e' tipo di contabilita' il programma si
rivolge. Se si tratta di una semplice tenuta' di bolle, fatture, magazzino,
primanota, etc. O qualcosa di molto complesso.
IMHO poi bisogna decidere se deve essere cross platform o meno.
Senz'altro il db deve essere un motore SQL, quindi, se non si usano
estensioni particolari di un determianto motore, questo resta intercambiabile.
Per l'accesso ai dati e' senz'altro necessario passare una libreria di 
astrazione dal motore dati (se si intende cambiarlo) quale ODBC/JDBC o altro.
L'architettura poi' e' 2-tier o 3-tier ? Il front-end e' tramite brower
o applicativo ? CUI o GUI ??
Ci sono un po' di paletti da infilare ... :-)
-- 
Saluti, Antonio Gallo
- Bad Penguin la distribuzione Linux italiana - 
http://www.badpenguin.org
- PRIME DI POSTARE QUI VAI SU 
http://www.badpenguin.org/info/dejanews.htm
- Non serve il Pentium 3 per andare in internet, basta non comprare un winmodem
- Se Linux non funziona e perche' non hai letto abbastanza manuali
- Tutta la doc e' su 
www.linuxdoc.org
, in italiano su 
www.pluto.linux.it
- Prima di cercare un programma vai su 
www.freshmeat.net
 o 
michel.enter.it

 Ci sono un po' di paletti da infilare ... :-)
Molti ! Troppi ?
Mumix

Molti ! Troppi ?
"Esistono due tipi di uomini, quelli che sognano di notte e quelli che
sognano di giorno. I primi, quando al mattino si risvegliano, si
rendono conto che era solo un'illusione; i secondi invece, sono quelli
piu' pericolosi, perche' possono impegnare tutte le loro forze per la
realizzazione concreta dei loro sogni. 
Io avevo un sogno, quello di costruire una nazione, e mi sono sforzato
in ogni modo per realizzarlo. Ci sono riuscito." (Lawrence D'Arabia)

Documentazione estensiva dell'analisi e del database.
O.K.
Quindi, se questo e' l'orientamento, vorrei pero' capire ora
qual'e' la vostra idea di "applicazione": cosa deve fare ?
Quali bisogni ?


 Mumix


Immaginamio di essere un azienda che sviluppa la procedura per le proprie
necessità interne. Se iniziamo siamo una piccola azienda (magari un negozio)
e quindi che cosa ci serve ? Un' anagrafica articoli, un angrafica clienti,
ed una gestione del magazzino e facciamo l'analisi di queste 3 cose.
Successivamente mettiamo tutto quello che abbiamo bisogno per creare un base
dati completa.
per iniziare.....

Quali bisogni ?
A mio avviso un requisito importante dovrebbe essere la flessibilita'
del programma, tale da consentire di sfilare, infilare e modificare
moduli a seconda delle specifiche esigenze dei clienti.
Una cosa che ho notato ad esempio e' che in genere, mentre per quel
che riguarda la contabilita', l'insieme delle richieste da parte dei
clienti e' abbastanza uniforme, quando si va a toccare il magazzino o
la produzione, il discorso diventa molto piu' delicato, e si aprono
spazi per per possibili personalizzazioni. 
Sarebbe importante quindi riuscire a disegnare il prodotto in modo
tale che ad esempio, anche se all'interno di una architettura generale
ben definita, il modulo del magazzino potesse essere facilmente
modificato, senza che andare a incidere sul resto dell'architettura
del programma.
Dato che il "guadagno" proveniente da un tale pacchetto, per
definizione stessa di software libero, non potrebbe essere quello
derivante dalle licenze, e' chiaro che avere un prodotto in grado di
inserirsi su alcune nicchie del mercato con soluzioni ad hoc, penso ad
esempio, per dirne uno che conosco abbastanza, al mercato degli orafi,
che hanno specifiche esigenze per quel che riguarda il calo delle
lavorazioni ecc., potrebbe essere la chiave per consentire lo
svilupparsi di un mercato dei "servizi", dal quale trarre la fonte dei
guadagni.
E qui mi fermo, aspettando di sentire cosa ne pensate ...
ciao Michele

 del programma.
Credo che l'unica possibilità sia quella di creare e gestire un magazzino
standard abbastanza semplice. La gestione del magazzino ha veramente troppe
differenze per a secondo della nicchia. Si possono poi fare diverse
personalizzazioni a secondo del cliente e rendere successivamente
"pubbliche" anche queste. Alcune personalizzazioni possono rendersi utili
per successive implementazioni.


per successive implementazioni.
Forse e' l'ora tarda, ma non mi pare ci siano grossi contrasti in quel
che diciamo...: tu dici che saranno necessarie delle
personalizzazioni, io che bisognerebbe cercare di organizzare il
programma in modo tale da limitare e controllare il piu' possibile i
loro effetti sul resto del programma ;-) 
Chissa', probabilmente ho detto una cosa ovvia: meno scontato forse
sara' cercare di centrare l'obiettivo.
ciao Michele

 writes:
M> 
M> b) Come, e con quali strumenti, organizzare la collaborazione ?
M> c) Come organizzare lo sviluppo ?
anche se forse è ancora prematuro, segnalo 
www.sourceforce.net
:
    SourceForge is  a free service to Open  Source developers offering
    easy  access to  the best  in  CVS, mailing  lists, bug  tracking,
    message  boards/forums, task  management, site  hosting, permanent
    file archival, full backups, and total web-based administration.
Direi ottimo per coordinare lo sviluppo distribuito di un progetto.
-- 
Sono le 11:30!!!  E' l'ora Poca-Cola Light!!!

 ciao Michele
Piu o meno si.......in parole povere bisogna cercare di costruire un sistema
orizzontale e pensare successivamente alle verticalizzazioni.
Ezio.

 ciao Michele
Diversamente sarebbe bello sapere piu presto notizie a proposito di quel
software di gestione che tu hai preso in esame.
ciao Ezio.

ciao Ezio.
Il software "ctm", essendo prodotto da Prosa, un'azienda che ha per
statuto la produzione di software libero,  e' liberamente scaricabile,
prova andare a 
http://www.prosa.it/prosa-debian/packages/ctm/
 ... ;-)
Se vuoi darci un'occhiata quindi puoi farlo tu stesso. Per quel che
riguarda il mio giudizio, credo che bisognera' aspettare un po'
purtroppo, dato che ho appena finito di installare e configurare la
mia prima distribuzione (un slackware 4.0)...
Di solito imparo in fretta, ma qui c'e' anche il problema del tempo,
ho infatti delle scadenze da rispettare che mi impediscono di dedicare
tutto il tempo che vorrei a immergermi nel nuovo ambiente :-(
ciao Michele

 loro effetti sul resto del programma ;-)
Mi pare che dovrebbe essere senza'altro una delle caratteristiche
qualificanti del pacchetto quella di essere facilmente "espandibile" e/o
"verticalizzabile". E quando dico facilmente intendo soprattutto l'impatto
sulla parte "standard".
In questo un approccio OO dovrebbe aiutare molto. Ritengo sarebbe quindi
*molto* importante coinvolgere qualcuno con una solida "cultura" OO, meglio
se "sviluppata" in Java, che ritengo essere il linguaggio (o meglio
l'ambiente) di riferimento.
Per quanto riguarda il contenuto del pacchetto ritengo che si potrebbe
partire, come proposto da Ezio, dalla gestione di alcune "anagrafiche" e
degli "oggetti" correlati (le cosiddette tabelle).
Credo che questo sarebbe un buon banco di prova in quanto contiene gia'
buona parte delle problematiche di interfaccia utente e di gestione dei
dati. D'altra parte l'analisi sottostante e' alquanto semplice e non
dovrebbe comportare problemi.
Dopo di che ... chi vivra' vedra' !
Per semplicita' propongo di terminare su questo NG il thread in oggetto e di
concentrare tutto sul thread "Applicazione commerciale".
Sara' mia cura tenervi informati di come procede la discussione su altri NG
e "presentarvi" altre persone interessate raccolte in giro per la rete.
Auguri di Buon Natale e Felice Anno Nuovo.
Mumix