quarta-feira, 16 de julho de 2008

A barreira dos 3 GB

Assim como no caso dos HDs, existiram diversos limites com relação ao endereçamento da memória RAM durante a história dos micros PCs, causados por limitações do sistema operacional, limitações do chipset e limitações dos processadores. Mesmo os processadores e sistemas operacionais de 64 bits possuem limites com relação à quantidade máxima de memória que pode ser endereçada, embora muito mais elevados. As versões originais do Athlon 64 são capazes de endereçar até 1 terabyte de memória RAM (independentemente da placa-mãe usada) e este limite pode ser expandido no futuro. O grande problema são os processadores e sistemas operacionais de 32 bits.

Tudo começou com o limite de 640 KB de memória do processador 8088, usado nos primeiros PCs. Na verdade, o 8088 utilizava um total de 20 bits para o endereçamento da memória, divididos em 16 bits "nativos", que permitiam endereçar páginas de 64 KB e mais 4 bits adicionais, que permitiam endereçar 16 páginas, totalizando 1 MB.

Por decisão da equipe de desenvolvimento, apenas os primeiros 640 KB (chamados de memória convencional) ficavam disponíveis para uso do sistema operacional e aplicativos. Os 384 KB restantes (chamados de memória extendida) eram usados para endereçar a memória presente em outros dispositivos, como o BIOS da placa mãe e a memória da placa de vídeo.

Na época dos primeiros PCs, a memória RAM era muito cara, de forma que não era comum o uso de mais do que 256 KB, mas, mesmo que fosse utilizado 1 MB completo, apenas os primeiros 640 KB ficariam disponíveis. Os 384 KB adicionais podiam ser utilizados para fazer cache do BIOS e da memória da placa de vídeo (o que melhorava o desempenho) mas não para uso geral.

Para manter compatibilidade com os aplicativos antigos, mesmo os processadores atuais são capazes de operar em modo real, onde simulam o funcionamento de um 8088, acessando apenas os primeiros 640 KB de memória. É dentro deste limite que rodam o MS-DOS e aplicativos antigos. Quando o Windows, Linux ou qualquer sistema operacional é carregado, o processador passa para o modo protegido, onde é capaz de acessar toda a memória disponível.

Desde o 386, todos os processadores utilizam 32 bits para o endereçamento da memória, o que permite endereçar até 4 GB. Este limite é chamado de VAS (Virtual Address Space) e indica justamente o total de memória que o sistema é capaz de endereçar, incluindo não apenas a memória RAM, mas também a memória da placa de vídeo e outros dispositivos. O problema reside justamente aí.

Imagine que você resolvesse montar um PC topo de linha, usando 4 GB de memória RAM e duas placas de vídeo GeForce 7950 GX2 em SLI. A 7950 GX2 possui nada menos do que 1 GB de memória RAM, de forma que duas placas totalizam 2 GB. Como a memória das placas de vídeo consomem espaço do Virtual Address Space, o sistema seria capaz de acessar apenas os primeiros 2 GB da memória (um pouco menos na prática, já que mais alguns blocos serão reservados a outros dispositivos), de forma que usar 4 GB acabam sendo um desperdício de dinheiro.

Isso ocorre não apenas ao utilizar um processador de 32 bits, mas também ao utilizar um processador de 64 bits em conjunto com um sistema operacional de 32 bits, incluindo o Windows XP e as versões de 32 bits do Vista.

De uma forma geral, não é recomendável utilizar mais do que 3 GB ao utilizar um sistema operacional de 32 bits, pois é justamente a área entre os 3 e 4 GB do Virtual Address Space que são utilizadas pelo processador para endereçar a memória de dispositivos diversos. Assim como dois corpos não podem ocupar o mesmo espaço ao mesmo tempo, dois dispositivos não podem compartilhar a mesma área de endereços, o que faz com que porções da memória RAM que invadam áreas reservadas a outros dispositivos simplesmente não sejam vistas pelo sistema.

Você pode verificar as áreas de memória reservadas através do gerenciador de dispositivos do Windows, usando a opção Exibir > Recursos por tipo > Memória:

index_html_2b9d2874

Os endereços fornecidos aqui estão em hexa, mas você pode usar a própria calculadora do Windows para convertê-los em números decimais. No caso, por exemplo, tenho a placa de vídeo utilizando os endereços C8000000 a CFFFFFFF, que correspondem aos bytes de 3.355.443.200 a 3.489.660.927 e uma série de dispositivos a partir do "Recursos da placa mãe" que ocupam praticamente todos os endereços do byte 3.758.096.384 ao 4.294.967.295 (que corresponde justamente ao final da área de 4 GB endereçada pelo sistema). Se instalasse uma placa 3D offboard, com 256 MB, ela ocuparia os bytes de 3.221.225.472 a 3.489.660.927, que correspondem justamente aos 256 MB da placa.

Se você se contentar em utilizar uma placa de vídeo low-end, pode ficar com até 3.5 GB de endereços disponíveis, dependendo do sistema operacional usado. No caso das versões de 32 bits do Vista, por exemplo, o limite máximo (segundo o http://support.microsoft.com/kb/929605) é de 3.12 GB. Ou seja, na maioria dos casos, não vale à pena pagar por mais 4 GB de memória, já que apenas uma pequena parte do último GB seria utilizado. Melhor se contentar com 3 GB.

Mesmo ao utilizar um processador de 64 bits, combinado com um sistema operacional de 64 bits, um grande volume de endereços entre os 3 e 4 GB de memória continuam reservados, de forma a manter compatibilidade com os programas de 32 bits, fazendo com que, novamente, pelo menos 512 MB entre os 3 e 4 GB da memória não sejam usados. A vantagem neste caso é que você pode instalar mais de 4 GB de memória. Com 8 GB, por exemplo, você ficaria com de 7 a 7.5 GB utilizáveis.

Algumas placas de 64 bits oferecem a opção "Memory Hole Remapping" (ou similar) no setup. Ao ativar esta opção, as áreas de memória reservadas aos dispositivos é movida para uma área mais alta do Virtual Address Space (que nos processadores de 64 bits é muito maior), liberando a maior parte da memória antes inacessível por causa eles.

Outras placas suportam o Memory Hoisting, um recurso que segue outro princípio, deixando os endereços dos dispositivos onde estão e remapeando os trechos de memória subscritos por eles para áreas mais altas do espectro de endereços, permitindo que o sistema tenha acesso a elas.

Uma observação é que estas duas opções causam muitos problemas de compatibilidade com aplicativos, por isso você só deve utilizá-las caso realmente faça questão de ter acesso à toda a memória instalada.

Além destas limitações relacionadas ao Virtual Address Space, existem outros limites de memória, impostos pelo chipset ou por limitações do sistema operacional usado.

A maioria dos chipsets antigos, para placas soquete 7, por exemplo, eram capazes de endereçar apenas 128 ou 256 MB de memória RAM. O chipset Intel i815, usado em uma grande parte das placas para processadores Pentium III e Celeron era capaz de endereçar apenas 512 MB, enquanto o 915GL (para o Pentium 4) era capaz de endereçar 2 GB. Até pouco tempo atrás, o suporte a 4 GB ou mais de memória estava restrito a alguns chipsets destinados a servidores.

O Windows 95/98/SE é capaz de endereçar até 512 MB de memória RAM. Programas como o cacheman permitem utilizar estas versões antigas do Windows em PCs com mais de 512 MB de RAM, mas o desempenho acaba sendo pior do que com apenas 512.

O Windows XP e as versões de 32 bits do Vista são capazes de endereçar 4 GB, de forma que o limite fica por conta do Virtual Address Space. O maior problema são as versões "populares" do Windows, onde o limite é artificialmente limitado, de forma a limitar seu uso aos PCs de baixo custo. O XP Starter possui um limite de 256 MB, enquanto o Vista Starter está limitado a 1 GB.

N
as versões de 64 bits do Vista, os limites são estendidos, mas ainda existem limitações. O Vista Home Basic esta limitado a 8 GB, o Home Premium a 16 GB e as demais versões (Business, Enterprise e Ultimate) a 128 GB.

A
memória swap não entra na conta pois ela é acessada através de um componente especializado incluído no processador, chamado de MMU (Memory Management Unit) que permite justamente que dados armazenados na memória RAM física sejam movidos para a memória swap (que é na verdade um arquivo ou partição no HD), conforme necessário.

Graças ao MMU é possível complementar os 3 ou 3.5 GB de memória RAM física com uma quantidade indefinida de memória swap, limitada apenas ao máximo suportado pelo sistema operacional. A principal questão é que o uso da memória swap é muito limitado em um PC atual, já que ela é muito lenta.

Uma dúvida comum é com relação ao uso do PAE (Physical Address Extension), uma extensão para processadores de 32 bits, presente desde o Pentium Pro, que adiciona 4 bits adicionais ao endereçamento da memória permitindo que o processador seja capaz de acessar até 16 páginas de 4 GB cada, totalizando 64 GB. Cada programa continua restrito a um máximo de 4 GB, mas o sistema pode alocar diferentes páginas para aplicativos diferentes, utilizando assim toda a memória disponível.

O PAE é muito usado em servidores, embora esteja sendo rapidamente substituído pelo uso de processadores e sistemas operacionais de 64 bits. Ele é suportado pelo Windows Server 2003 e pelo Windows 2000, onde pode ser ativado através da opção "/PAE" no arquivo boot.ini, mas não é uma solução viável para quem precisa usar mais do que 4 GB de memória em um desktop, devido a uma série de problemas relacionados a drivers.

O PAE apresenta endereços de 64 aos drivers, o que torna necessário que eles sejam modificados para utilizar o sistema. Como o uso do PAE sempre foi limitado a servidores, muitos dispositivos não possuem drivers compatíveis e nem sempre é fácil encontrar os disponíveis. Existem ainda problemas de compatibilidade com diversos aplicativos. Atualmente, é muito mais simples migrar para as versões de 64 bits do Vista (ou mesmo para o XP de 64 bits) do que passar a utilizar o PAE, de forma que é melhor não perder tempo com ele.

Outro problema fundamental do PAE é a questão do desempenho. O processador continua sendo capaz de acessar apenas 4 GB de memória por vez e precisa chavear continuamente entre as páginas disponíveis. Além de demorar um certo tempo, cada chaveamento faz com que os dados armazenados nos caches precisem ser completamente substituídos, o que prejudica de forma perceptível o desempenho. Ou seja, tentar usar o PAE em um desktop para acessar mais memória e assim melhorar o desempenho é simplesmente contra produtivo. :)

Uma observação importante é que todas as versões do Windows XP, a partir do SP2 tem o PAE desativado, justamente para evitar problemas de compatibilidade. Nele, a opção "/PAE" no boot.ini simplesmente não faz nada.

No caso do Linux, o modo de acesso à memória é escolhido durante a compilação do Kernel.

Ao utilizar um processador de 32 bits, o Linux oferece suporte nativo a até 4 GB de memória usando o modo normal de operação do processador e a até 64 GB usando o PAE. Ou seja, ele simplesmente acompanha o suporte disponível no hardware, sem nenhuma limitação adicional.

Para melhorar o desempenho do sistema em máquinas antigas, que utilizam 1 GB de memória ou menos, existe uma terceira opção, onde o Kernel endereça apenas 1 GB de memória, sendo que 896 MB ficam disponíveis para os aplicativos e o restante é reservado para uso do Kernel. Neste modo de operação, o comando "free" vai reportar que existem apenas 896 MB de memória disponível, mesmo que você possua 1 GB ou mais.

É possível escolher entre as três opções ao compilar o Kernel, na opção "Processor Type and Features > High Memory Support". Até por volta de 2005, muitas distribuições vinham com o suporte a apenas 1 GB ativado por padrão, mas atualmente a grande maioria utiliza a opção "4 GB". É possível mudar a opção ao recompilar o Kernel manualmente.

A desvantagem de ativar o suporte a 4 GB é que o sistema ficará um pouco mais lento em micros com menos de 1 GB de memória (justamente por isso existe a primeira opção). O suporte a 64 GB só pode ser ativado caso você esteja usando um processador com suporte ao PAE, além de uma placa mãe compatível.

Naturalmente, tudo isso se aplica apenas ao usar uma distribuição com um Kernel compilado para processadores de 32 bits. Ao usar uma versão de 64 bits, o Kernel acessa toda a memória disponível, limitado apenas às limitações do chipset.

Voltando ao mundo Windows, existe mais uma limitação importante, que é o limite de 2 GB por aplicativo. Os 3, 3.12 ou 3.5 GB de memória que um sistema de 32 bits é capaz de endereçar é repartida entre todos os programas abertos, mas no caso do Windows, cada programa sozinho não pode usar mais do que 2 GB.

Isso acontece por que, assim como o sistema operacional, os programas de 32 bits endereçam a memória utilizando endereços de 32 bits e por isso são capazes de endereçar 4 GB de memória. No Windows, metade da faixa de endereços de cada programa é reservada para uso do kernel, sobretudo para a comunicação entre o sistema operacional e o aplicativo. Com isso, cada aplicativo fica com apenas metade da sua área de endereços disponível, o que limita seu uso de memória a 2 GB.

Isso vem se tornando uma limitação importante em alguns games e aplicativos pesados, que podem exceder este limite nos momentos de maior atividade. Pior, além de não acessarem toda a memória disponível, os aplicativos de 32 bits frequentemente travam sem aviso ao romper a barreira dos 2 GB, exibindo alguma mensagem de erro genérica.

Este limite está profundamente enraizado no sistema, de forma que é quase impossível que ele venha a ser removido em futuras versões. Ele afeta tanto quem utiliza as versões de 32 bits do Windows (com mais de 2 GB de memória RAM instalada), quanto quem roda programas de 32 bits sobre as versões de 64 bits do Windows (neste caso o limite se aplica apenas aos aplicativos de 32 bits, naturalmente).

Uma forma de amenizar o problema, caso você esteja enfrentando problemas de travamento em algum game pesado, por exemplo, é modificar a divisão de endereços entre o aplicativo e o kernel.

No Windows XP é possível reservar 3 GB para os aplicativos através da opção "/3gb" no arquivo boot.ini. Entretanto, usá-la causa problemas de estabilidade em um número muito grande de programas, por isso ela não é necessariamente uma boa idéia. Além disso, apenas programas que explicitamente indicam que são capazes de acessar mais dew 2 GB são autorizados pelo sistema a utilizar os endereços adicionais, o que reduz brutalmente o número de programas que são realmente capazes de se beneficiar do uso da opção.

No caso do Vista, é possível ajustar os valores de forma mais flexível através da opção "IncreaseUserVa" do BCDedit. Através dele você pode reservar, por exemplo, 2.2 ou 2.4 GB para os aplicativos. Usando valores mais baixos que os 3 GB do XP, você evita a maior parte dos programas de estabilidade. De uma forma geral, funciona bem com a alocação de até 2.6 GB para os aplicativos. A partir daí você corre o risco de ver telas azuis.

Como você pode ver, o uso das opções permite apenas minimizar o problema. A única forma de se livrar dele completamente é rodar um sistema de 64 bits e usar apenas aplicativos de 64 bits sobre ele.



Aplicativos web: a próxima batalha do software livre?

Preocupado com a crescente popularidade dos aplicativos web, Marco Barulli, do projeto Clipperz redigiu uma das primeiras sugestões detalhadas sobre como o software livre deve responder a essa tendência. Ainda que Barulli e o Clipperz não sejam muito conhecidos, suas idéias estão sendo ouvidas por gente como Richard M. Stallman, da Free Software Foundation, e Fabrizio Capobianco, CEO da Funambol e defensor de longa data dos aplicativos web livres.

Os aplicativos web (conhecidos como software como serviço e computação em nuvem) são softwares que o usuário acessa pelo navegador web e que residem nos servidores de um provedor. Seja qual for seu termo favorito, os aplicativos web representam um desafio expressivo ao software livre por pelo menos dois motivos.

Primeiro, como os aplicativos web não são distribuídos da maneira tradicional, eles podem burlar a exigência de licenças livres como a GPL na qual o provedor deve abrir o código para a comunidade. Com isso, empresas como o Google podem se aproveitar do código aberto para desenvolverem seus aplicativos web, mantendo fechado o código das alterações que realizarem.

Segundo, como há troca de dados entre o usuário e o provedor, e em alguns casos o software do provedor é instalado na máquina do usuário, os aplicativos web envolvem questões de privacidade não cobertas pela maioria das licenças livres.

Essas questões não são novidade. Tim O'Reilly vem falando nelas há anos, mas sua declaração sensacionalista de que "as licenças de código aberto estão obsoletas" acaba desvirtuando o debate sobre suas implicações.

Além disso, como observa Barulli, a conveniência dos aplicativos web vem desmotivando maiores críticas. "Trabalhei na área de segurança por muito tempo, e posso dizer que a conveniência é uma grande força propulsora, maior que a liberdade e maior que a segurança", disse ele ao Linux.com.

Enquanto isso, a necessidade de resolver esses problemas está aumentando. Destacando que ninguém havia previsto que aplicativos de produtividade como processadores de texto ou planilhas seriam, um dia, executados em navegadores web, Capobianco observa que "o mercado caminha para que todos os aplicativos que possam ser rodados como serviços sejam rodados como serviços algum dia". Ele trata os problemas surgidos com os aplicativos web como um "câncer" para o software livre, acrescentando que "se ignorarmos o problema por achar que o software como serviço não tem muita importância, estaremos cometendo um erro. O mundo caminha nesse sentido. Daqui a dez anos, se 90% do software for executado como serviço, será o fim do código aberto".


Criando aplicativos web livres


Até que Barulli sugerisse uma linha de ação, o Clipperz era mais conhecido pelo problema que teve ao tentar hospedar o site da versão da comunidade do Clipperz no Google Code. O projeto queria licenciar o software pela AGPL, uma licença que cobre a brecha deixada pela GPL convencional ao definir a oferta de software como serviço como uma forma de distribuição que acarreta nas mesmas obrigações.

Porém, o Google se recusou a hospedar um projeto licenciado sob a AGPL, sob a alegação de que queria evitar a proliferação de licenças, e depois afirmando que não havia como comprovar a AGPL. No entanto, muita gente afirma que o verdadeiro motivo foi o nervosismo do Google em associar-se à AGPL, já que ele vem se beneficiando dessa brecha.

A edição da comunidade do Clipperz acabou encontrando um lar no SourceForge.net. Essa história toda acabou tendo um resultado importante: Barulli iniciou uma extensa troca de emails com Richard Stallman. "Foi revelador para mim", diz Barulli, e a conversa resultou em seu plano de ação.


Lidando com o problema


A princípio, Barulli deixa claro que não está tentando impedir o avanço dos aplicativos web. "Os aplicativos web são ótimos e estou apaixonado por eles", diz Barulli. "Mas acho que já é hora de exigirmos mais liberdade e privacidade".

O Clipperz foi um dos primeiros projetos a optar pela AGPL. "Nós estávamos esperando por ela", disse Barulli. A julgar pelo seu entusiasmo, o primeiro passo proposto por Barulli não é surpresa para ninguém: incentivar o uso da AGPL. "Acho que tenho o direito de saber que código estou rodando na minha máquina, e que código estou rodando na sua". Como parte da campanha, Barulli está reunindo sugestões para uma "suíte GPL" de aplicativos web para usuários de software livre, e solicitando a desenvolvedores que se unam ao Clipperz como evangelizadores da AGPL.

Para lidar com a questão da privacidade dos aplicativos web, Barulli defende o que chama de "aplicativos de conhecimento zero" — aplicativos que criptografam os dados e a identidade do usuário de maneira que estas informações não possam ser acessadas pelo provedor.

Essa sugestão foi feita pelo próprio Barulli. "Richard Stallman só está preocupado com a liberdade do código fonte", diz ele. "Eu também me preocupo com a liberdade dos meus dados". Quando a questão é software instalado em uma estação de trabalho ou em uma rede controlada por você, explica Barulli, isso não costuma ser um problema. No entanto, diz ele, "ao mover meu aplicativo para a web, e com ele meus dados, eu gostaria de manter o controle sobre os meus dados. Esses dados ainda são meus".

Sendo um expert em segurança, Barulli está tão preocupado com a privacidade dos dados que, ao referir-se às tradicionais quatro liberdades do software livre, ele sugere que "esta é outra liberdade da qual o software livre deveria cuidar".

A longo prazo, Barulli também sugere mudanças nos navegadores web livres como forma de aumentar a proteção às liberdades do usuário. Mais especificamente, Barulli gostaria que os navegadores não apenas autenticassem o código usando protocolos de conhecimento zero como também, numa sugestão de Stallman, que comparassem o código JavaScript ou Ajax a uma cópia armazenada, alertando o usuário caso ocorra alguma alteração. "Esta solução", diz Barulli, "protege o usuário de código mal-intencionado que poderia ser executado sem que o usuário tomasse conhecimento, roubando seus dados e destruindo toda a arquitetura de conhecimento zero". Barulli sugere que esse recurso seja disponibilizado como um complemento para os navegadores mais populares.

Ele pretende continuar desenvolvendo essas idéias, e conclama os usuários a darem suas próprias sugestões, blogar sobre suas idéias em seus sites e fóruns e fazer doações à campanha. Ele também pede sugestões para um nome para a campanha.


Reações


Até agora foram poucas as respostas às sugestões de Barulli, e a maioria veio daqueles que o apoiaram desde o início.

Ao ser contactado, Stallman comentou sobre os pontos básicos dos desafios impostos pelos aplicativos web, mas recusou-se a discutir soluções mais detalhadas: "Estou escrevendo meu próprio artigo sobre o assunto, então prefiro não escrever muito sobre isso antes de concluí-lo".

Mas Capobianco, que encorajou o Clipperz a mover seu código para a AGPL, tem sido mais ativo. Capobianco postou em seu blog sobre as sugestões de Barulli, em especial sobre os aplicativos web de conhecimento zero, e disse à Linux.com: "Concordo plenamente com Marco quanto à necessidade da AGPL". Ele aconselha aos desenvolvedores: "Se vocês acreditam no conceito de copyleft do código aberto, é melhor adotarem a AGPL por padrão, para proteger a comunidade e garantir que quaisquer modificações feitas no código voltarão para a comunidade".

As sugestões de Barulli poderiam ser implementadas facilmente se mais pessoas da comunidade de software livre estivessem dispostas a contribuir. Mas para Capobianco, o problema é que "as pessoas não estão pensando no que está acontecendo. E há empresas fazendo um bocado de dinheiro às custas do código aberto sem retribuir com o código, e elas são contrárias [a sugestões como a de Barulli]. A batalha será dura, mas estou otimista. O bom do código aberto é que coisas boas acontecem bem rápido".

Se os eventos vão acontecer rápido o suficiente, obviamente, é outra coisa. E se Barulli e Capobianco estiverem certos, a resposta pode ter efeitos significativos no futuro do software livre — e talvez determine se o software livre tem um futuro.

Bruce Byfield é um jornalista da área de computação que escreve regularmente para o Linux.com

terça-feira, 15 de julho de 2008

Cultura Hacker - Tenha Ética e Ganharás Respeito

Com a evolução da informática e a solidificação dos sistemas de informação na comunidade um personagem passa a ter maior visibilidade em nossa comunidade ocupando um espaço no palco principal. Os hackers, ou erroneamente conhecidos como Piratas da Rede, vem tendo sua imagem atrelada à cibercriminosos com conhecimentos avançados sobre as tecnologias de redes e computação, aproveitando-se justamente das redes de comunicação para a pratica de delitos das mais diversas formas causando danos à terceiros de todos os níveis com o objetivo de simplesmente destruir dados e informações ou mesmo enriquecer com práticas classificadas como estelionato.

É comum deparar-se na mídia com este termo sendo usado num sentido bastante pejorativo, conotando indissociável relação com o crime e a ilegalidade. Seja nos filmes de Hollywood ou no jornal cotidiano, jovens com grande conhecimento aplicado à fins benignos são apontados como hackers, quando na verdade o termo que ali melhor se encaixaria seria cracker. Surge um novo personagem, este sim usando o conhecimento livre para fins não legais. Mas se assim o é, então o que é um hacker?

O finlandês Pekka Himanen, doutorado aos 20 anos em Filosofia na Universidade de Helsínquia, lançou um livro chamado A Ética Hacker e o Espírito da Era da Informação. Segundo ele, hacker é uma pessoa que tem uma paixão por tecnologia e desenvolve ou programa prazerosamente acreditando na filosofia do Software Livre, ou seja que compartilhar informação é um poderoso bem concreto e que seja um dever moral compartilhar a sua perícia facilitando o acesso à informação e a recursos computacionais onde for possível. Explica também que tal termo na verdade é um referente para o Hacker utilizado no início dos anos 60 que nasceu com programadores do MIT - Instituto Tecnológico de Massachusetts, onde a designação é um título nobre para os aficcionados pelo mundo da computação que passavam horas diante da máquina por puro prazer e curiosidade. Segundo Pekka, a origem deste equívoco remontaria a meados dos anos 80, quando surgiram os primeiros crimes computacionais, e a mídia, não sabendo como designar tais criminosos, aplicou o termo de forma um tanto infeliz.

Podemos tirar como exemplos de grandes hackers Richard Stallman e Linus Torvalds que foram alguns dos grandes responsáveis pelos fundamentos da Sociedade da Informação, principalmente no quesito de Software Livre, nos últimos 30 anos. Ou seja, a ética hacker está diretamente ligada à Inclusão Digital, pois hackers são os apaixonados que não medem esforços em empregar tempo e esforço para desenvolver formas de tornar, no caso, a Sociedade da Informação mais abrangente em fundamentos e ao mesmo tempo disponibilizar acesso aos mais variados tipos de usuários.

Seguindo esta linha de pensamento, os hackers já não são mais os vilões da história, mas sim os mocinhos pois ao analisar-mos alguns dos símbolos mais conhecidos dos tempos atuais como a internet, o computador pessoal e softwares como o sistema operacional Linux, veremos que foram criados por entusiastas trabalhando sileciosamente ou com ajuda de uma comunidade de forma a tentar quebrar padrões trazendo esta gama de evolução que temos hoje trabalhando em um ritmo livre. Sem eles o mundo da informática não seria como o temos hoje por exemplo.

Na visão de um hacker, o sentido da vida esta baseado em uma paixão. Esta paixão sendo uma coisa prazerosa, significativa ou inspiradora para o indivíduo, sendo isto chamado de trabalho ou puramente diversão. Mas quando afirmo que o hacker vive de uma paixão, não significa que sua vida seja apenas alegria e felicidade, pois muitas vezes empreende trabalho duro e tédio, porém o mesmo se compromete a fazê-lo tendo em vista o conjunto em si e o resultado que ele conseguirá propiciar a partir daquilo podendo beneficiar toda uma comunidade ou até mesmo a sociedade em geral, ou seja, ele investe esse tempo e esforço visando um bem maior. Mais prazeroso é a perda de tempo com um tédio que envolve uma paixão do que um tédio que envolve uma obrigação ou um trabalho desagradável permanente não é mesmo?!

Mesmo vivendo num mundo atual onde o capitalismo se estabilizou de forma selvagem, para um hacker o dinheiro não é um bem primordial, sendo um quesito secundário para sua sobrevivência. O dinheiro nunca foi e nunca será objetivo de vida ou meta de trabalho de um hacker, tendo que o mesmo se beneficia ou parece satisfazer-se mais em ver que pôde de alguma forma contribuir para um outro indivíduo ou até mesmo uma comunidade.

Não importando raça, credo ou nacionalidade, os hackers, em geral, são unidos em um objetivo em comum, provavelmente por meio da internet, que é fazer coisas que acham interessantes e construtivas, nos lembrando então um pouco do movimento hippie dos anos 60.

Ainda nos dias de hoje existem cada vez mais pessoas, curiosas, que investem boa parte de sua vida fuçando códigos e sistemas, muitas vezes sem permissões, à nível de estudo e análise prévia, caindo no famoso lema: “Nosso crime é a curiosidade”. Porém, esta onda de curiosidade, ligada à esta má interpretação que tem sido feita durante décadas acerca do termo hacker, fez com que alguns deles debatessem a respeito e então percebendo que não se pode ter muito controle sobre a evolução da língua, o termo que alguns passaram a adotar foi o “geek”, perdendo então boa parte do significado que a palavra hacker realmente trazia consigo, porém por outro lado também não traz a contaminação que vinha sofrendo estas décadas.

Alguns aceitam este novo termo, outros, onde eu me encaixo, preferem bater de frente e insistir na fortificação da ideologia hacker, mostrando o verdadeiro sentido do termo e tornando-o claro e conhecido por todos, para que algum dia quem sabe, os hackers sejam tratados com o devido respeito que merecem.

Ajude a sustentar a Wikipedia e concorra a um Eee PC!

Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!
…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e participe - quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!

Toda ajuda é bem vinda quando se trata de projetos livres que na maioria das vezes não possui uma renda fixa para investimento e gastos necessários para manter o mesmo, ficando na maioria das vezes este peso no bolso dos próprios mantenedores do mesmo.

Esta Promoção do BR-Linux vem justamente incentivando esta ajuda e apoio, portanto não fique aí parado e divulgue você também. ;]