Por Nicoly Modesto (nicoly.modesto@usp.br)
Durante o fim do último século, o Bug do Milênio ou Y2K foi um medo gerado pela possibilidade de ocorrer uma pane geral em sistemas de computação devido a forma como os calendários eram usados em estabelecimentos como bancos, aeroportos e comércios. Nessa matéria do Laboratório você vai entender como o pânico foi aumentado pela onda de teorias do Fim do Mundo e pelo contexto de empresas gastando milhares de dólares para se prevenir contra um pequeno “bug”.
Origem do termo “Bug”
Apesar de uma origem incerta para a expressão, o uso da palavra bug começou com os pequenos insetos que se instalavam em instalações tecnológicas criadas por inventores ou engenheiros americanos. Em 1870, Thomas Edison já registrava sobre os convidados indesejados no meio de circuitos elétricos, mas foi a partir da construção dos primeiros computadores que o termo se popularizou, já que os “bugs” passaram a estar presentes tanto no hardware quanto nos programas.
Já no ano de 1947, durante a construção do computador Harvard Mark II, uma mariposa presa na máquina causou algumas complicações para os matemáticos e engenheiros presentes, que a registraram em um Relatório de Manutenção. O termo também se espalhou graças a Grace Hopper, matemática e programadora que estava no projeto.
Qual foi o real problema do “Bug do Milênio”?
De acordo com a professora Kalinka Branco do Instituto de Ciências Matemáticas e de Computação da Universidade de São Paulo (ICMC – USP), o Bug do Milênio foi uma falha levada pela prática de representar os anos com apenas dois dígitos ao invés de quatro em sistemas, principalmente aqueles mais antigos. Com a virada para o ano 2000, surgia a necessidade dessa representação mais complexa, pois quando aparecesse, por exemplo, apenas o número 18 nos sistemas, não teria como saber se ano era 1918 ou 2018. Mas, afinal, qual o principal motivo da utilização de apenas dois dígitos?
Entre os anos de 1950 e 1960, os primeiros computadores e programas começaram a ser desenvolvidos com finalidades de uso no escritório e no comércio. Um grande exemplo é a máquina de Joe Lyons, que entrou no mercado em 1951.
Na época, os recursos de armazenamento e memória eram muito caros. Assim, para economizar espaço e dinheiro, as datas eram abreviadas, medida que resolvia a determinação de datas em um mesmo século. Porém, os anos foram passando, e novos computadores e sistemas permaneceram com a mesma configuração de apenas dois números finais para definir o ano.
“Observava-se a data como parte da informação que cruzava com todo um sistema que se tinha na época. Inicialmente, usava-se linguagens antigas como o COBOL e o Fortran, e para programar tínhamos que fazer diversos malabarismos, pois existia pouca memória e era caro memória externa do computador”, disse Jorge Risco, professor do departamento de Engenharia da Computação da Escola Politécnica da USP. Ele lembrou que, na época, a programação sofria com esse empecilho do armazenamento de memória e, para evitar maiores consumos, reserva-se apenas dois dígitos para o ano. O professor também reforçou a presença da linguagem COBOL(Common Business Oriented Language).
Criada em 1950, a COBOL foi amplamente usada em sistemas mainframes ao ser utilizada para processamentos em grandes volumes de dados. Instituições bancárias, governamentais e até mesmo empresas de grande porte utilizavam a linguagem, que precisava ser o menos complexa e leve possível, já que lidava com a realização de milhares de transações ao mesmo tempo.
Além desse tipo de sistema, havia também os minicomputadores, que representavam um intermédio do próprio mainframe até os processadores que conhecemos hoje. É importante destacar o papel da IBM (International Business Machines Corporation) e a DEC (Digital Equipment Corporation), grandes empresas pioneiras para o desenvolvimento e popularização dessa tecnologia.
Anunciando o furacão Y2K
Foi a partir da década de 1980 que alguns pesquisadores notaram que a virada do milênio poderia causar problemas para o armazenamento de dados. De forma gradual, isso foi chamando a atenção dos especialistas, mas não ao ponto de gerar uma grande comoção, que só aconteceu em 1995 com e-mails sobre o assunto sendo trocados por programadores.
O termo “Y2K” foi popularizado, sendo adotado por profissionais, pela mídia e pelo público, e usado para comunicar de forma mais clara o que estava acontecendo. O termo une a letra “Y”, que significa year (ano), e a expressão “2K”, que representa os anos 2000.
O maior medo era que o bug afetasse seriamente bancos, estruturas de segurança e dados governamentais. Isso fez com que diversas empresas investissem rapidamente em forças tarefas que pudessem mudar os seus sistemas já que, entre as falhas previstas, estavam a perda de cadastros de clientes e a reversão de operações financeiras.
Em países como os Estados Unidos, foi criado um conselho para que se estudasse e calculasse tanto as perdas quanto os reparos necessários para cada setor. Em estimativa realizada pela consultora financeira Gartner Group, os prejuízos poderiam chegar a até seis bilhões de dólares. Apesar do grande colapso previsto por especialistas não ter acontecido, foi notada uma grande movimentação econômica dentro da área de tecnologia da informação. De acordo com Jorge Risco, até antigos programadores saíram de suas aposentadorias para rever os antigos códigos e mudá-los a tempo.
“Não existia uma preocupação, por parte dos programadores, em entregar um melhor sistema para o cliente, além da dificuldade em contratar programadores capazes detectar a sequência por ser um trabalho feito por outros profissionais. As empresas queriam ações rápidas, mas isso não colaborava para a resolução do problema, já que sabíamos da demanda de tempo para arrumar”, disse o professor Jorge.
A mídia e a repercussão do Bug do Milênio
A divulgação de notícias sobre os gastos das empresas e do governo para conter o Bug do Milênio se juntou com as teorias do Fim do Mundo que pairavam no final do ano de 1999.
“Na época foi um rebuliço, falava-se muito nisso. Pensava-se e colocava-se previsões de porcentagem de empresas que iriam se ajustar, que não iriam se ajustar, que o governo não estava preparado, que a maioria dos sistemas não estavam preparados, que ia ter um colapso” comentou Kalinka.
Muitas empresas de consultoria se aproveitaram dos medos das pessoas para vender soluções rápidas que não existiam, sendo que uma real resolução poderia facilmente ser feita por profissionais da área. A cobertura jornalística focava nas possíveis consequências ao invés de explicar o que realmente estava acontecendo.
“Eu lembro na véspera [do Ano Novo] do pessoal que sabia mexer no computador. Eles fizeram de tudo para proteger a memória do sistema, mas foi em vão. Perdeu tudo”, disse Vivian dos Santos, que trabalhava, na época, em uma farmácia de manipulação no bairro da Consolação em São Paulo.
A entrevistada complementou que não tinha contato direto com o computador do estabelecimento, mas que ficou com medo, principalmente do possível desaparecimento de dinheiro nos bancos. Ela ainda comentou sobre as consequências do caso no seu antigo emprego.
”Teve que recadastrar clientes, dados, CPF, nome dos ativos e dosagens. Todo mundo que tinha conhecimento foi construindo o sistema de novo, senão a gente não ia conseguir trabalhar. Foi uma força tarefa, tivemos que fazer plantão de final de semana. Até as farmacêuticas que sabiam mexer nas máquinas ajudavam na reposição dos rótulos e dados de manipulação.”
Em resposta ao evento na farmácia da entrevistada, Jorge Risco afirmou que a perda dos dados pode ter se dado pela dificuldade de acesso ao próprio sistema do estabelecimento. Em várias empresas da época, profissionais contratados realizavam apenas manutenções básicas nos bancos de dados, algo que, posteriormente, poderia custar a formatação do próprio sistema.
2038 e um novo bug
“Em 2038, teremos problemas novamente por conta da memória dos computadores. A BIOS (Basic Input/Output System), que guarda o cálculo da data – até quando o computador consegue armazenar –, apegou-se que em 2038 teremos outro Bug do Milênio. Então, talvez tenhamos novamente algum problema relacionado à datas de computadores”, explicou a professora Kalinka.
O próximo Bug do Milênio – ou “Y2K38” – pode afetar a forma como o tempo é contabilizado. Em sistemas Unix, que usam contadores de segundos em sistema 32 bits, os computadores têm capacidade de contar até o número positivo 2.147.483.647. No dia 19 de Janeiro de 2038, esse número irá se exceder e o programa começará a contar valores negativos, o que pode ocasionar em falhas de sistemas antigos que utilizam o contador. Porém, para resolver esse problema, o custo não será tão caro. Será necessária a atualização de contagem de tempo que use inteiramente o sistema 64 bits (que pode representar 2038 e bilhões de outros anos), além da reformulação de códigos e bibliotecas de softwares, mantendo um plano de contingência e uma transição tranquila para as empresas e os usuários.