No passado dia 3 de Agosto, Linus Torvalds, o criador do kernel do Linux, decidiu recusar um patch para um bug antigo que aparentemente tinha passado despercebido à maioria das pessoas.
Os detalhes técnicos deste caso são muito menos importantes do que a justificação de Linus:
Guys, whether something was buggy or not DOES NOT MATTER. (…) Bugs happen. That’s a fact of life. Arguing that “we had to break something because we were fixing a bug” is completely insane. (…) Because the only thing that matters IS THE USER.
Anybody who uses “but it was buggy” as an argument is entirely missing the point. As far as the USER was concerned, it wasn’t buggy – it worked for him/her.
It’s basically saying “I took something that worked, and I broke it, but now it’s better”. Do you not see how f*cking insane that statement is?
Mais uma vez voltamos a encontrar o caso clássico: um programador que desenvolve tecnologia como um fim. É importante estar consciente de que a tecnologia é um meio e não um fim. Um software deve ajudar utilizador a ser produtivo, isto é, ter um computador que funciona da forma que ele espera porque…
Without users, your program is not a program, it’s a pointless piece of code that you might as well throw away.
Um defeito de código na prespectiva ideológica da programação e das suas boas práticas não é um bug. Um bug é aquilo que acontece quando um utilizador não consegue utilizar um software para um qualquer fim.
Lembrem-se disto nos vossos próximos projetos!