La cattedrale e il bazaar/Fetchmail diventa adulto: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Conversione intestazione / correzione capitolo by Alebot |
Correzione pagina via bot |
||
Riga 1:
{{Qualità|avz=100%|data=20 luglio 2008|arg=Open Source}}{{IncludiIntestazione|sottotitolo=Fetchmail diventa adulto|prec=../Popclient diventa Fetchmail|succ=../Qualche altra lezione da Fetchmail}}
Eccomi qui con un design ben fatto e innovativo, un codice che ero certo funzionasse bene perchè lo usavo ogni giorno, e una spumeggiante lista di beta tester. Gradualmente mi resi conto che non ero più indaffarato con uno stupido programmino personale che forse avrebbe potuto interessare pochi altri. Stavo lavorando su un programma di cui ogni hacker dotato di mailbox Unix e connessione SLIP/PPP non avrebbe potuto fare a meno.
Grazie
Credo che simili risultati siano impossibili da perseguire o da pianificare. Devi esser trascinato dentro la storia da idee così potenti che, col senno di poi, quei risultati appaiono del tutto inevitabili, naturali, perfino prestabiliti.
Andrew Tanenbaum ebbe
I risultati ottenuti erano piuttosto notevoli – meglio, esattamente quel tipo di successo che ogni hacker sogna! E ciò significa che avrei potuto mirare anche a standard più elevati. Per rendere fetchmail così ben fatto come lo vedevo ora, avrei dovuto scrivere non soltanto per le mie necessità ma anche per includere il supporto di opzioni necessarie ad altri e tuttavia fuori dalla mia orbita. E fare ciò mantenendo al contempo semplice e robusto il programma.
Line 21 ⟶ 16:
Decisi di aggiungere il supporto multiutente in parte perché alcuni lo richiedevano, ma soprattutto perché pensavo avrebbe buttato via ogni bug dal codice per un solo utente, costringendomi a fare attenzione alla gestione dei vari indirizzi. E così fu. Mi ci volle parecchio tempo per sistemare tutto nella RFC 822, non perché sia difficile mettere a posto ogni singola parte, ma perché coinvolgeva una montagna di dettagli interdipendenti e instabili.
In ogni caso, anche la funzione per gli indirizzi multiutenti si rivelò
'''14. Ogni strumento dovrebbe rivelarsi utile nella maniera che ci si attende, ma uno strumento davvero ben fatto si presta ad utilizzi che non ci si aspetterebbe mai.'''
Altra importante modifica richiesta dai beta tester fu il supporto per operazioni MIME in 8-bit. Qualcosa piuttosto semplice a farsi, poiché avevo fatto bene attenzione a mantenere il codice pulito per inserire
'''15. Quando si scrive del software per qualunque tipo di gateway, ci si assicuri di disturbare il meno possibile il flusso dei dati – e ''mai'' buttar via alcun dato a meno che il destinatario non ti ci costringa!'''
Se non avessi rispettato questa regola, il supporto per MIME in 8-bit sarebbe risultato difficile e problematico. Così invece tutto quel che dovetti fare fu leggere la RFC 1652 e aggiungere poche stringhe per far generare
Alcuni utenti europei mi hanno costretto a inserire
▲Alcuni utenti europei mi hanno costretto a inserire un'opzione per limitare il numero dei messaggi prelevati a ogni sessione (in modo da controllare i costi di collegamento, per via delle care tariffe imposte dalle aziende telefoniche nazionali). Ho resistito per parecchio tempo, e ancor'oggi non ne sono pienamente soddisfatto. Ma se scrivi programmi per tutto il mondo, devi dare ascolto ai tuoi clienti – e ciò rimane valido anche se non ti ricompensano in denaro.
[[pt:A Catedral e o Bazar/VII]]
|