Scusatemi se abuso della paciosa tranquillità di una domenica mattina di agosto, ma dato che "ho un sassolino nella scarpa", ne approfitto per togliermelo.
le regole elementari della GNU foundation sono assai chiare (e ben solidamente motivate): perchè un SW possa dirsi libero (ma libero veramente) non basta semplicemente rilasciare i sorgenti. e non basta neppure adottare una qualche licenza o.s. occorre anche utilizzare un build-system conforme, in modo tale che tutto risulti facilmente interoperabile, senza costringere sviluppatori e system maintainer a dover fare le capriole per aggirare le cento buche ed i mille ostacoli che impediscono di fare una build effettivamente funzionante. esiste un compilatore standard (anzi, una ricca di suite di compilatori): GCC ed esiste una serie di strumenti standard per la configurazione: AUTOTOOL (libtool, autoconf, automake) funzionano, sono efficienti, sono disponibili su tutte le piattoforme "ragionevoli", garantiscono efficacemente tutto quello che serve per una facile migrazione cross-platform. p.es. su WinOz esiste MinGW/MSYS, che permette di sviluppare agevolmente usando strumenti assolutamente conformi. esistono anche altre alternative (CMake etc): sicuramente possono anche essere "appetibili" in alcuni casi. resta il fatto che possono causano problemi (anche grossi) di interoperabilità con gli autotools. quindi perchè vengono utilizzati ? risposta facile facile: perchè rendono molto più facile l'integrazione con gli strumenti M$ tipo VisualStudio. ok, nulla in contrario. più opzioni abbiamo, meglio è. a patto però non rendano più incasinata l'integrazione con gli autotools e con gcc. non a caso, la GPLv3 *impone* l'uso degli strumenti standard GNU per il build-system: il mancato rispetto di questa clausola è di per se stesso una violazione della licenza. infine, abbiamo i mille problemi che nascono da MSVC, cioè dal compilatore C/C++ di M$ ripeto: non ho nulla in contrario, chi vuole e lo trova comodo usi tranquillamente MSVC. nessuna scomunica, nessun interdetto: consesso che a volte anch'io lo uso, se non altro per verificare la compatibilità del codice che sviluppo. resta il fatto che MSVC *non* è affatto uno strumento free-sw (anche se è disponibile gratuitamente). non solo: MSVC presenta un sacco ed una sporta di 'idiosincrasie' assolutamente fuori standard. sviluppare C/C++ su MSVC è una ricetta sicura al 100% per ottenere codice assolutamente non-portabile. viceversa, adattare codice sviluppato su GCC in modo tale che possa essere compilato con successo anche da MSVC è cosa abbastanza agevole. allora, se tutto questo è vero (è vero, è vero ...), perchè mai organizzazioni che tanto sbandierano al vento la propria appartenenza al movimento per il sw libero poi usano e supportano proprio MSVC ????????????? io la trovo personalmente una grossa, enorme contraddizione. e non si tratta affatto di un semplice puntiglio formale: la cosa implica svariate conseguenze di ordine pratico. molti packages che si compilano in modo assolutamente liscio su Linux danno invece mille problemi con MinGW/MSYS. perchè succede questo ? semplice, perchè gli sviluppatori hanno letteralmente farcito il codice con macro condizionali assolutamente specifiche per MSVC che risultano quindi incompatibili con gli strumenti standard. paradossale, vero ? però è esattamente così. vogliamo guardare "in casa nostra" ? - geos - proj4 - geotiff sicuramente sono librerie assolutamente strategiche. altrettanto certamente per riuscire a fare una build su MinGW/MSYS occorre armarsi di santa pazienza e procedere al sapiente "scaccolamento" manuale del codice, dei makefiles etc etc. e non mi si venga a dire che "la colpa è di WinOz, che ha le sue stranezze". packages *mostruosi* come p.es. wxWidgets (100 MB di sorgenti) compilano in modo assolutamente liscio e senza nessun problema di sorta anche in ambiente MinGW/MSYS ergo, non è un problema 'tecnico': direi che piuttosto è un problema di volonta è di priorità nelle scelte strategiche. et in cauda venenum: io personalmente non ho mai avuto il piacere di riuscire a fare una build *completa* di QGIS su WinOz ... neppure usando MSVC: mi sono sempre dovuto accontentare di una build "castrata" (p.es. senza supporto python), e comunque ho sempre dovuto sudare non poco per "aggiustare a martellate" qualche intoppo qua e la. non dubito affatto che il sistema automatico delle nightly-build adottato da OsGeo4W funzioni perfettamente; ma evidentemente c'è qualche "pezzetto magico" che non è mai stato rilasciato ne tantomeno pubblicamente documentato. scusatemi se vi ho tediato con queste mie considerazioni, ma credo proprio che ... c'è del marcio in Danimarca :-) ciao Sandro _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [email protected] http://lists.faunalia.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 460 iscritti al 15.7.2010
