L'evoluzione del sistema di archiviazione dei pacchetti personali

instagram story viewer

Quando il sistema Personal Package Archive (PPA) è uscito dalla beta nel novembre 2007, è stato annunciato come un punto di svolta per gli sviluppatori di software libero all'interno della comunità Ubuntu e oltre.

Il sistema PPA è stato progettato per rendere più facile per gli sviluppatori ottenere il pacchetto software e a disposizione degli utenti per i test, accelerando così lo sviluppo del progetto e offrendo una qualità superiore Software.

Dopo quasi quattro anni di PPA, ho pensato di scoprire se gli obiettivi originali del sistema PPA erano ancora l'obiettivo principale - o i PPA hanno assunto un ruolo completamente nuovo, colmando una lacuna che è stata tradizionalmente un punto dolente per Ubuntu?

Domanda iniziale per il sistema PPA

Fin dall'inizio, l'idea del PPA era quella di rendere più facile per gli sviluppatori portare il loro software in fase di sviluppo nelle mani dei tester della comunità per test su più ampia scala. Come ha spiegato all'epoca Matt Zimmerman, Chief Technical Officer di Ubuntu:

“Un PPA consente a uno sviluppatore di formare una comunità di tester interessati alle loro modifiche. La comunità di test può installare i pacchetti, eseguirli per il periodo di test e quindi rimuoverli in modo pulito dal proprio sistema.

Il software di packaging è sempre stato un'impresa difficile, che richiede una certa abilità così pronunciata da definire una classe di contributori in sé. Anche se fossi riuscito a impacchettare del software per ulteriori test, c'era il problema della distribuzione. Il processo di atterraggio del software nei repository ufficiali è lungo, burocratico e dal momento che lo siamo si occupa del codice di qualità dello sviluppo, non qualcosa che i principali repository di Ubuntu sono stati progettati per archiviare comunque.

Ubuntu viene ovviamente fornito con alcune versioni testate del software per abilitare un'esperienza predefinita e stabile. A parte la pubblicazione su blog personali o di progetto, prima dell'esistenza dei PPA, l'unico modo per condurre test efficienti su larga scala era annunciando nuovi aggiornamenti tramite mailing list o IRC, quando i tester della comunità potevano scaricare pacchetti .deb o compilare software dal fonte.

Un modo più semplice

I PPA sono stati una boccata d'aria fresca: non solo hanno semplificato il confezionamento, ma hanno anche promesso una distribuzione più semplice (e molto più ampia) e allo stesso tempo hanno ridotto la barriera all'ingresso per i tester. Chiunque poteva semplicemente aggiungere un PPA al proprio elenco di sorgenti software, recuperare la chiave GPG, eseguire un aggiornamento e quindi il software era disponibile per l'installazione come qualsiasi altra cosa.

Nel corso degli anni, i PPA sono diventati sempre più facili da aggiungere al loro sistema per gli utenti tradizionali. Quando Ubuntu 9.10 è stato rilasciato alla fine del 2009, tutta la gestione del PPA poteva essere eseguita tramite un'interfaccia grafica che recuperava persino la chiave di sicurezza e nascondeva il terminale alla vista.

Uno dei principali svantaggi di Ubuntu, essendo una distribuzione a rilascio non scorrevole, è che gli aggiornamenti software post-rilascio semplicemente non si verificano. Se una nuova versione di Firefox viene rilasciata a metà di un ciclo di Ubuntu (come Firefox 4 a marzo di quest'anno), non c'è un modo semplice per agli utenti di mettere le mani su questo aggiornamento senza installare manualmente un .deb, costruire dal sorgente o, hai indovinato, aggiungere un PPA.

Meglio ancora, quando arriva il momento dell'aggiornamento, molti aggiornamenti della distribuzione soffrono di pacchetti non funzionanti a causa di grandi quantità di PPA e numeri di versione decisamente irregolari per le applicazioni causate dall'installazione manuale di PPA. Una delle principali cause di aggiornamenti non funzionanti sono i guasti nel sistema di imballaggio a causa di complicate combinazioni di non-PPA e PPA installati applicazioni.

Ho parlato con Brian Thomason di Canonical, che gestisce i repository Partner e For Purchase. Brian ha suggerito che i PPA sono utili per fornire aggiornamenti nuovi e stabili, a condizione che siano confezionati correttamente.

“In generale, le persone semplicemente lanciano nuove versioni di cose come Firefox in un PPA piuttosto che preoccuparsi di farlo entrare in conflitto/sostituire con il pacchetto nel repository principale. Se Firefox 3 è nell'archivio con il nome del pacchetto firefox e un manutentore PPA rilascia Firefox 4 con lo stesso nome del pacchetto, firefox, sì, ciò potrebbe potenzialmente portare a problemi di aggiornamento della distribuzione dopo."

Recentemente il team di Ubuntu ha cercato modi per fornire aggiornamenti software post-rilascio per le principali app durante un rilascio durata della vita, ma esiste ancora una cultura molto attiva di coloro che abusano di PPA: coloro che utilizzano il sistema PPA a proprio vantaggio per distribuire nuovi versioni del software, piuttosto che utilizzare il sistema PPA come originariamente previsto: testare le versioni di sviluppo personali progetti. I PPA sono diventati archivi pubblici di imballaggi.

Banshee è il lettore multimediale predefinito in Ubuntu ed è un progetto gestito molto attivamente con molti sviluppatori e versioni regolari. A condizione che l'utente non aggiunga il Banshee PPA, la versione di Banshee fornita in Ubuntu 11.04 rimarrà la stessa per tutto il ciclo per sei mesi fino all'aggiornamento dell'utente a Ubuntu 11.10.

Nel caso dei rilasci di Long Term Support (LTS), l'attesa può arrivare fino a due anni.

La maggior parte degli utenti che hanno aggiunto il PPA Banshee lo hanno fatto non perché stanno testando attivamente Banshee e inviando segnalazioni di bug, ma perché vogliono il software più recente sulla loro Ubuntu stabile installare. Ciò suggerisce che il problema non è in realtà con i PPA, ma piuttosto con la mancanza di aggiornamenti software stabili dopo il rilascio, una nicchia che i PPA hanno inconsapevolmente riempito.

Sicurezza

“Molti sviluppatori vogliono modificare i pacchetti esistenti o creare nuovi pacchetti del loro software. Il servizio PPA consente a chiunque di pubblicare un pacchetto senza dover chiedere il permesso o unirsi al progetto Ubuntu come sviluppatore. – Christian Reis, Launchpad Release Manager, 2007.

Uno dei vantaggi dei PPA è che nessuno li deve "bene". Non sono attendibili. Ciò consente agli sviluppatori di rendere rapidamente disponibile il proprio software per i test riducendo al minimo le procedure di controllo, che richiedono tempo. Significa che chiunque disponga di un account Launchpad può creare un PPA dannoso e mascherarlo come un altro software, forse un fork di un'applicazione già popolare.

Ovviamente, quando un utente aggiunge un PPA, dovrà inserire la propria password, segno che ciò che sta facendo potrebbe potenzialmente danneggiare il loro sistema, quindi potresti obiettare che è colpa degli utenti se installano qualcosa che non è stato verificato in anticipo.

Il problema è che la richiesta della password in Ubuntu è in qualche modo simile alla storia del ragazzo che gridava al lupo. Ubuntu richiede la tua password utente in così tante occasioni, per molti è integrato nel loro uso quotidiano e pensarci due volte prima di inserire una password potrebbe essere qualcosa che gli utenti non fanno.

Insieme al fatto che non vi è alcuna differenza distinguibile tra l'installazione del software tramite repository attendibili, come il repository principale, e l'installazione del software tramite un PPA. Entrambi richiedono la stessa richiesta di password: non vi è alcuna indicazione che uno possa essere più dannoso dell'altro, anche se in realtà è così.

Perché non dire semplicemente alle persone di non usare i PPA?

Ultimamente, OMG! Ubuntu! è stato criticato per aver pubblicato istruzioni di installazione per PPA che, a causa della natura del sistema PPA, potrebbero contenere software non testato o dannoso. Ovviamente OMG! Ubuntu! controlla i PPA prima di consigliarli e, anche in questo caso, ogni set di istruzioni per l'installazione del PPA è accompagnato da un disclaimer.

Può OMG! Ubuntu! essere ritenuto responsabile di quella che non è solo una situazione ipotetica (perché finora nessuno dei nostri lettori si è lamentato di attività dannose causato da un PPA che promuoviamo), ma anche uno in cui il problema non è nostro, ma con l'attuale configurazione della distribuzione del software che Ubuntu impiega?

Siti web come OMG! Ubuntu! esistono per semplificare la vita degli utenti e, attualmente, il modo più semplice per gli utenti di ottenere gli ultimi aggiornamenti stabili delle loro applicazioni preferite è tramite un PPA. Che sia o meno il modo più sicuro non è una nostra preoccupazione: i PPA sono un prodotto di Launchpad e Canonical. Non sono stati creati da noi.

Forse Canonical dovrebbe assumere una persona a tempo pieno per spiegare alle agenzie di stampa che sostenere i PPA non è qualcosa che dovrebbero fare - dopotutto, anche di recente, questo mese, un articolo su The Guardian menzionato quanto sia stato facile aggiungere terzo software su Ubuntu. L'autore non ha menzionato nulla sulle implicazioni per la sicurezza di tale operazione.

Man mano che Ubuntu cresce, la probabilità che qualcuno crei un PPA che pretende di fornire aggiornamenti salutari e affidabili, ma in realtà esegue invece script dannosi è un minaccia sempre crescente, e piuttosto che cercare di sorvegliare i media con l'argomento "non installare PPA, potrebbero essere pericolosi" sarebbe meglio risolvere il problema più a fondo fuori uso.

Chiaramente c'è una richiesta in Ubuntu per una facile installazione di aggiornamenti software più recenti. Le versioni fornite nei canali ufficiali possono spesso essere vecchie di due anni.

I PPA sono diventati una soluzione conveniente a un problema che non è mai stato affrontato e stanno servendo uno scopo per il quale non sono mai stati progettati. Come effetto collaterale, i media vengono accusati di promuoverli a causa della loro convenienza, perché semplicemente non c'è altro modo semplice.

Tutto Ubuntu, tutti i giorni. Dal 2009.

Teachs.ru