Stavo parlando con un collega di un comportamento inaspettato/indesiderato di qualche pacchetto che usiamo. Sebbene esista una soluzione facile (o almeno una soluzione alternativa) da parte nostra senza alcun evidente effetto collaterale, ha fortemente consigliato di estendere il codice pertinente fissandolo con cura e postando la patch upstream, sperando di essere accettata ad un certo punto in futuro. Di fatto, manteniamo le patch contro versioni specifiche di diversi pacchetti che vengono applicati automaticamente su ogni nuova build. L'argomento principale è che questa è la cosa giusta da fare, al contrario di una "brutta" soluzione alternativa o di una fragile patch per scimmie. D'altra parte, preferisco la praticità rispetto alla purezza e la mia regola generale è che "nessuna patch"> "patch di scimmia"> "patch dura", almeno per qualcosa di diverso da una correzione di bug (critica).Per patch (scimmia) o non per patch (scimmia), questa è la domanda
Quindi mi chiedo se c'è un consenso su quando è meglio applicare patch (hard), patch di scimmia o semplicemente provare a lavorare su un pacchetto di terze parti che non fa esattamente ciò che si vorrebbe. Ha principalmente a che fare con il motivo della patch (ad esempio correggere un bug, modificare il comportamento, aggiungere funzionalità mancanti), il pacchetto dato (dimensioni, complessità, maturità, reattività dello sviluppatore), qualcos'altro o non ci sono regole generali e uno dovrebbe decidere caso per caso?
Un altro vantaggio per l'invio di patch a monte è che si ottiene il codice recensione * dal popolo chi ha realizzato il software *. Questo non è insignificante. – Daenyth
L'invio della patch è fantastico, ma quali sono le probabilità che la patch venga accettata? I progetti Apache sono iniziati come una serie di patch non ufficiali su httpd di NCSA perché a loro non piaceva accettare le patch per qualche motivo. – Gabe