Milio, avevi capito bene, le due domandine si intrecciavano ad-hoc.
Diciamo che, se uno vuol divertirsi a creare componenti, si butterà ovviamente sulla creazione di apposite librerie gb.*.
Per quelli che le utilizzeranno, o che comunque ne creeranno di nuove per uso esclusivo della propria applicazione, non farà altro che scaricarsi le librerie, oppure costruire componenti chiudi all'interno del proprio progetto, o magari trasportarseli tra i vari programmi.
Ad ogni modo, le due cose non si escludono, nel senso che se vengono distribuite, in genere vengono forniti anche i sorgenti, e uno può scegliere di utilizzarli nella maniera che riterrà più congrua.
L'unico problema, che era incluso nelle mie domande, era appunto il fatto che per un progetto, diventa un pò laborioso creare pacchetti che includano anche i componenti esterni utilizzati, e tenerli aggiornati di conseguenza.
A mio avviso però, includere librerie solo per il fatto di poterle tenere aggiornate indipendentemente dall'applicazione forse non è che sia così un bene. Quello che voglio dire è che non è detto che l'aggiornamento di un componente esterno faccia bene a quella determinata versione dell'applicazione. Io direi che sarebbe più il caso di distribuire in blocco tutto quanto, applicazoione e librerie.