pra começar, vamos especificar as palavras do título no sentido em que queremos usá-las neste texto. ubiquidade: estar em todo lugar e coisas, ao mesmo tempo, o tempo todo. vantagem: algo que se tem, a mais ou melhor do que se tinha antes, face a uma inovação [ou sorte]. custo: gastos [em todos os sentidos] em que se incorre para realizar e manter algum produto ou serviço. software: vamos limitar nosso interesse, aqui, à definição de software como programa [de computador], uma ou mais sequências de instruções que, executadas por um processador, criam um comportamento.
claro que cada um destes termos tem dezenas de outras interpretações, mas as dadas acima nos bastam para comentar uma notícia que circulou em toda a mídia ontem, inclusive aqui no TERRA: Volks anuncia recall de 268 mil carros Novo Gol, Voyage e Fox. a chamada de tantos carros de volta às concessionárias é para… atualização do software de gerenciamento do sistema auxiliar de partida a frio… [porque] os motoristas podem ter dificuldades de dar partida dos carros, em condições de baixa temperatura… [e, segundo a Volks] essa condição pode produzir a perda de sincronismo da queima da mistura de ar e combustível e provocar a ruptura do coletor de admissão e, eventualmente, causar o surgimento de chamas no local.
se você ainda não sabia, passe a ficar sabendo que quase tudo que faz seu carro funcionar é movido a software. o carro flex, em particular, é software: o sistema que permite consumir proporções quaisquer de álcool e gasolina é gerenciado por software, sendo parte do que se costuma chamar de sistema embarcado, conjunto de processador, programas, sensores e atuadores que monitoram e controlam as principais funções do motor. e foi exatamente aí que se descobriu o problema que está levando a volks a fazer um recall tão amplo.
ao contrário de hardware [como uma pá, uma porta, uma mesa] software é imaterial e, até certo ponto, invisível. isso porque você olha para o que está escrito na tela ou no papel e, muitas vezes, não faz a menor idéia que um certo comportamento está ali, implícito, invisível para você e seus pares. e que vai levar a correções quando, em campo, o “defeito” aparecer. falhas de segurança em sistemas de informação, por exemplo, fazem parte deste conjunto de “invisibilidades problemáticas”.
software crítico, que está ou vai ser embutido em aviões, automóveis e equipamentos hospitalares, por exemplo, passa por um processo mais rigoroso de desenho, programação, teste, verificação e validação do que a maioria dos programas que usamos em nossos laptops. mas este esforço adicional, apesar de remover a vasta maioria dos erros, não garante que o software que roda em algum sistema, na vida real, está isento de falhas.
para aumentar radicalmente o nível das garantias, seria necessário ir além do rigor; seria preciso um processo formal, envolvendo especificações, modelos, transformação e provas de corretude que tornariam o processo de desenvolvimento de software muito mais lento, muito mais caro, o que levaria a resultados bem mais limitados, do ponto de vista de funcionalidades disponíveis, do que os que já usamos hoje em todo tipo de dispositivo e equipamento.
o software que roda em seu computador [e, cada vez mais, em seu celular] é constantemente atualizado pelo seu “fabricante” ou provedor para resolver problemas ou mudar e aumentar funcionalidade. isso é tão comum que você nem nota que está acontecendo. no caso do software-como-serviço [pense gMail], as funções que usamos dentro de um browser, na rede, a atualização ou modificação é transparente: quem provê o serviço pode inserir, remover ou modificar características sem que o usuário precise se preocupar ou intervir em qualquer parte do processo. isso porque, como dissemos, estamos usando um serviço habilitado pelo software [e não o software, diretamente, sob nosso controle]. toda vez que tal tipo de sistema é usado, parte do software é carregado no browser e o resto fica sabe-se lá onde [e não interessa, para a maioria dos efeitos, saber], em servidores do provedor. e, cada vez, pode-se carregar uma coisa nova.
mas no carro é outra história, e por várias razões. a mais importante de todas talvez seja segurança: imagine que a volks, ao invés de chamar os carros de volta às oficinas, publicasse em sua página a nova versão do sistema de gerenciamento de partida a frio e convocasse os proprietários a fazer um download, botar a atualização num flash drive, inserir a coisa numa porta USB [do carro] e dar um boot [no carro]. isso se, para o consumidor, tal feito fosse possível hoje. algo parecido será feito na oficina, no recall: quando sair de lá, seu carro vai estar rodando uma nova versão do software que apresentou problemas.
mais cedo ou mais tarde, vai dar pra fazer a mesma coisa na garagem da sua casa e, em mais algum tempo, transparentemente, sem que você saiba, a fábrica vai poder trocar o software do seu carro sem chegar perto dele. internet sem fio vai servir pra muito mais do que a maioria das pessoas, hoje, acha que vai.
mas aí, pense nas consequências: e se começassem a circular, por aí, versões piratas e modificadas [e não exatamente para seu bem] de um subsistema qualquer [pense freios…], o que este malware iria fazer ao carro, seu bolso e, talvez, sua vida? os riscos, por algum tempo, ainda serão grandes o suficiente para que as montadoras chamem os carros cujo software precisa ser modificado de volta à concessionária. fisicamente.
mas, como dissemos, software é ubíquo, faz as coisas funcionarem, tem vantagens muito grandes sobre hardware [“puro”] e tem, como não poderia deixar de ser, custos associados a isso tudo… inclusive porque, como o exemplo mostra, precisa ser “atualizado”. e, em muitos casos, isso acontece muitas vezes no ciclo de vida de um sistema qualquer. veja seu computador, por exemplo…
este blog conversou com um especialista em manutenção automobilística e a estimativa dele é que, neste recall, a volks vai gastar pelo menos quinze milhões de reais só em horas de oficina. e isso será o “custo mínimo” para a empresa que, quando fizer a conta toda, terá que incluir desde o aumento de carga no call center até o desgaste de imagem, sem falar no quanto se gastou para resolver os problemas do software propriamente dito. e nas horas perdidas, no processo, por todos os proprietários envolvidos.
é quase impossível escapar dos efeitos de software, onde você está, mora ou passa. o carro e o ônibus é software, os sinais de trânsito também, assim como o metrô, o elevador, o supermercado e o hospital, a eletricidade e a água.
software é, cada vez mais, ubíquo e vamos ver vantagens cada vez maiores de seu uso intensivo em muitas –quase todas- facetas das nossas vidas. e, enquanto os processos de produção de software forem parecidos com os que temos e usamos hoje, haverá imprevistos e seus custos. como o de um megarecall para trocar um software que lhe dá tantas vantagens e que, vez por outra, como diz um amigo meu, papoca com calambote e tudo.