Tive um ótimo professor de química no colegial, chamado Tertuliano. Certa feita, conversando sobre produtos orgânicos, ele fez a seguinte provocação: "digamos que vocês queiram comprar salsichas. Há salsichas a granel, amarradas por barbante e penduradas em ganchos nas feiras. E há salsichas em lata fechada. Qual dos dois tipos lhes parece mais seguro e saudável para o consumo?"
Claro que a resposta simples e imediata foi "as salsichas em lata, professor". Afinal elas não estão expostas ao tempo, às moscas, ao manuseio, e estão bem protegidas pela lata. O professor, entretanto, fez uma observação importante e curiosa: as salsichas a granel estão expostas a tudo e todos. Precisam ser "construídas" levando em conta que devem resistir à sujeira e aos ataques usuais dos insetos. Têm casca grossa e podem ser lavadas várias vezes antes do uso. Já as que estão nas latas dependem da embalagem para sua proteção. Fora da lata são, por si, frágeis e deterioráveis. E, pior, se a lata tiver um defeito que tenha afetado seu revestimento ou permitido a multiplicação interna de bactérias, o risco é grande e invisível!
Voltei a pensar nisso quando, há muitos anos, alguém declarou peremptoriamente que para ter aplicações seguras devemos optar por programas fechados, cujo código não se divulga, porque assim estão a salvo dos hackers. Ora, isso não leva em conta as sábias ponderações do Prof. Tertuliano... Se um software é aberto e suas entranhas visíveis, tanto os bem intencionados como ou mal intencionados (as "moscas") tem o mesmo acesso à sua estrutura. O consumidor pode ter certeza de que tanto as virtudes como os defeitos estão ambos expostos.
Porém, se falamos de software fechado, passa a ser um "ponto de fé" acreditar ou não em sua resistência inata a ataques. Mais que isso, nada nos garante de que ele não se propõe a ir além do que está descrito em seu manual e, eventualmente, comportar-se de forma eticamente falha ou criminosa.
Vejamos um exemplo prático: é pacífico hoje que para termos alguma segurança em nosso computador pessoal e evitarmos contaminações e ataques precisamos de um "antivírus". Mas (e o diabo sempre mora nos detalhes) já paramos para pensar que poderes esse tipo de programa tem em relação ao nosso ambiente?
Ele se comunica com o exterior. Recebe de fora atualizações, novas versões, novas ordens. Não é, portanto, estanque. Por outro lado, é um aplicativo que tem acesso a todos os dados que estão em nosso computador. Que garantias temos de que esse programa tão íntimo nosso, mais que membro da família, não repassará indevidamente dados para fora? Bem, não devemos levar isso a um extremo paranoico, mas cautela (e caldo de galinha) nunca fizeram mal a ninguém.
A moral da história é que se temos dúvida sobre a segurança de um aplicativo, o fato de ele ser de código aberto permitirá (ao menos em tese) seu exame completo e profundo e até o conserto de eventuais falhas.
Quanto mais transparente e aberto um código, mais olhos o examinam e, parafraseando Eric Raymond (A Catedral e o Bazar), "com um número suficiente de olhos, todas as falhas serão óbvias".
Claro que a resposta simples e imediata foi "as salsichas em lata, professor". Afinal elas não estão expostas ao tempo, às moscas, ao manuseio, e estão bem protegidas pela lata. O professor, entretanto, fez uma observação importante e curiosa: as salsichas a granel estão expostas a tudo e todos. Precisam ser "construídas" levando em conta que devem resistir à sujeira e aos ataques usuais dos insetos. Têm casca grossa e podem ser lavadas várias vezes antes do uso. Já as que estão nas latas dependem da embalagem para sua proteção. Fora da lata são, por si, frágeis e deterioráveis. E, pior, se a lata tiver um defeito que tenha afetado seu revestimento ou permitido a multiplicação interna de bactérias, o risco é grande e invisível!
Voltei a pensar nisso quando, há muitos anos, alguém declarou peremptoriamente que para ter aplicações seguras devemos optar por programas fechados, cujo código não se divulga, porque assim estão a salvo dos hackers. Ora, isso não leva em conta as sábias ponderações do Prof. Tertuliano... Se um software é aberto e suas entranhas visíveis, tanto os bem intencionados como ou mal intencionados (as "moscas") tem o mesmo acesso à sua estrutura. O consumidor pode ter certeza de que tanto as virtudes como os defeitos estão ambos expostos.
Porém, se falamos de software fechado, passa a ser um "ponto de fé" acreditar ou não em sua resistência inata a ataques. Mais que isso, nada nos garante de que ele não se propõe a ir além do que está descrito em seu manual e, eventualmente, comportar-se de forma eticamente falha ou criminosa.
Vejamos um exemplo prático: é pacífico hoje que para termos alguma segurança em nosso computador pessoal e evitarmos contaminações e ataques precisamos de um "antivírus". Mas (e o diabo sempre mora nos detalhes) já paramos para pensar que poderes esse tipo de programa tem em relação ao nosso ambiente?
Ele se comunica com o exterior. Recebe de fora atualizações, novas versões, novas ordens. Não é, portanto, estanque. Por outro lado, é um aplicativo que tem acesso a todos os dados que estão em nosso computador. Que garantias temos de que esse programa tão íntimo nosso, mais que membro da família, não repassará indevidamente dados para fora? Bem, não devemos levar isso a um extremo paranoico, mas cautela (e caldo de galinha) nunca fizeram mal a ninguém.
A moral da história é que se temos dúvida sobre a segurança de um aplicativo, o fato de ele ser de código aberto permitirá (ao menos em tese) seu exame completo e profundo e até o conserto de eventuais falhas.
Quanto mais transparente e aberto um código, mais olhos o examinam e, parafraseando Eric Raymond (A Catedral e o Bazar), "com um número suficiente de olhos, todas as falhas serão óbvias".