[Discussioni] GNU SDK

Alex Malgaroli alessandro.m a mail.com
Dom 2 Dic 2001 16:56:12 CET


Ciao a tutti.

Non so se qualcuno ha già pensato a quello che vado ad illustrare, se è già
stato fatto bene cercherò in qualche modo di aggregarmi al progetto
esistente, altrimenti se qualcuno fosse interessato alla "sparata" che sto
per fare...

Questa lista parla di Software Libero e forse dopo le corpose discussioni su
OSI, FSF, i significati di Open Source e Software Libero, cerco di riportare
il discors su un argomento più pratico.

Non è la prima volta che mi capita di trovare i sorgenti di un programma,
provare a compilarli sotto linux e vedere che tutto funziona e provarci
sotto l'ambiente cygwin (ben conscio delle possibili differenti prestazioni
e/o instabilità) e trovare che addirittura la compilazione non funziona.
Non so se questa sia una prerogativa dell'ambiente cywin (i più maligni
diranno che ovviamente deriva dal fatto che sotto c'è un prdotto M$ ;-) ) o
se vi sia capitato anche in altri ambienti.
L'altro giorno un collega cercava di compilare "rdesktop" sotto HP-UX (spero
di ricordare giusto il nome: un programma per connettersi ai terminal server
di Windows 2000 da macchine Unix).
Sotto Linux (GNU/Linux come ama dire qualcuno) la compilazione era andata
liscia come l'olio: ./configure, make, make install e voilà sistema
funzionante.
Sotto HP-UX la cosa è andata ./configure (che ha riconosciuto che il
compilatore installato era cc e non gcc), make e trac!
>> cc: unrecognized switch -O2 - aborting.
Il collega ha poi compilato il tutto su un HP-UX con il gcc installato e il
tutto è stato altrettanto agevole.
Altro esempio mi è accaduto quando trovando una libreria C++ compilata con
compilatore diverso dal GCC: non ci sarà mai verso di usarla con il GCC
(questo è un problema insito nel linguaggio, lo so, visto che non c'è
standard per i .LIB/.A)

<polemica_gratuita disclaimer="non è possibile trarre una simile conclusione
da un caso isolato">Orbene non è questo un approccio "proprietario"? Non
dissimile dall'approccio M$: "usa i miei tool e tutto
funziona"?</polemica_gratuita>

Come ho scritto nel disclaimer, questa conclusione è "ovviamente"
affrettata, ma la fretta è cattiva consigliera di molti, per cui mi è venuta
in mente questa "indecente" idea:

Sarebbe sensato proporre uno "GNU SDK"?

Cosa conterrebbe lo GNU SDK? Il compilatore e tutti i tool necessari
(autoconf, automake, libtool, librerie standard quali la libc, la libintl,
ecc...) magari senza quelle "aperture" verso eventuali tool esterni che *a
mio giudizio* appesantiscono i tool e vengono usati (credo) poche volte. Il
software resterebbe LIBERO, se qualcuno volesse fare una versione differente
dovrebbe semplicemente *rispettare l'interfaccia* (se ad esempio qualcuno
volesse cambiare l'algoritmo di compilazione, il front-end dovrebbe comunque
rispettare gli switch "standard").
In questo modo si potrebbe dire, il software ha bisogno dell'SDK x.y per
essere compilato e/o per funzionare  ...
E come sapete, visto che da cosa nasce cosa, si potrebbe poi portare tutto
l'ambiente GNU in quest'ottica (esplicito meglio l'idea di fondo: non far
evolvere i tool in modo autonomo ma dare delle "build" come possono essere
le distribuzioni Linux)... insomma spingere gli sviluppatori verso questo
SDK "cross platform", free (qui in senso di gratis, ma non solo) e quindi
con le potenzialità di penetrazione che ha usato Java per diventare così
diffuso, con la possibiltà di fare concorrenza anche allo stesso
compilatore/sdk di microsoft (visto che sono disponibili anche tool per la
generazione di GUI quali GTK/GDK o QT o WxWindows).

Tra l'altro una siffatta cosa potrebbe incontrare anche il favore dei grossi
colossi dell'HW quali Sun, HP/CompaQ, IBM ecc... se loro finanziassero il
progetto in modo che fosse portato sui loro hardware e sistemi operativi,
avrebbero meno costi per tirare fuori il loro unix (e relativo compilatore),
gli unix potrebbero essere resi più simili tra loro (e quindi sarebbe facile
per i sistemisti passare dall'uno all'altro), lo scontro si concentrerebbe
di più sulle prestazioni HW (affari privati dei produttori) e del kernel (e
qui non sarebbe alla fine male poter dimostrare che il miglior kernel è il
kernel linux...), anche i produttori di device si troverebbero "quasi"
gratis un SDK per sviluppare su N sistemi operativi (e quindi avere facilità
a vendere l'HW su altre macchine/OS oltre a Windows)...

Fattibile? Praticabile? Non FSF-compliant qundi da cassare a priori?

Attendo commenti.


ALX





More information about the discussioni mailing list