sábado, 6 de setembro de 2008

Ética Hacker

Esse texto eu encontrei em pedaços e unio para vc's meus leitores.
Paertes estavam em blos e partes em um post do orkut, o link original do testo escrito por Spectra na nao encontrei por estar link quebrado, mas deixarei masmo assim o link(quebrado) por motivo de copyright

Palestra: Culturas Hacker-- por Pablo Longhi Lorenzzoni (spectra@debian.org)
-- palestra ministrada em 11 e 12 de junho de 2002 no IRC da UFLA (ginux.comp.ufla.br #cibercultura)
-- esse documento é licenceado nos termos da GNU FDL ou da DSL, a sua escolha.

1. O que é hacker e qual a história das culturas hacker?

A missão que me foi dada com essa palestra é muito mais complexa do que parece.
Em primeiro lugar, como vocês devem ter percebido, o título está no plural:
culturas hacker. Isso é assim deliberadamente, pois, como veremos, existem
várias culturas ao invés de uma só. Isso, em geral, não é percebido no Brasil,
uma vez que nos anos em que as culturas hacker mais antigas estavam florescendo
nos EUA, nós estávamos mergulhados em um marasmo tecnológico causado por uma
forte reserva de mercado.

Bem, vamos ao ponto que nos interessa: o que é hacker? Hacker tem várias
definições, como podemos ver File em
Uma combinação das definições que podemos ver(e que eu acho mais adequada) é um indivíduo com
conhecimentos profundos de computação e programação, que gosta de desafios
intelectuais de sobrepujar limitações criativamente. Se quisermos, podemos,
ainda, definir o hacker como o cidadão de uma sociedade virtual baseada na
meritocracia, descentralizada e às vezes até anárquica.

1.1 Código de Ética Hacker

Como em toda a sociedade, existem preceitos éticos e morais envolvidos nesse
cyber-ambiente. Tais como foram identificados no livro de Stephen Levy em 1984
(Hackers: Heroes of the Computer Revolution), a ética tradicional hacker tem os
seguintes preceitos:

(a) O acesso a computadores - e qualquer outro meio que seja capaz de ensinar
algo sobre como o mundo funciona - deve ser ilimitado e total. Esse preceito
sempre se refere ao imperativo "mãos-na-massa". Isto é, se um hacker precisa
enviar várias mensagens para celulares sem pagar, ao invés de entrar várias
vezes na interface web e enviar uma mensagem por vez, ele, tipicamente,
descobrirá como a interface web funciona e fará um programa automático para o
envio de mensagens de forma mais ágil e com menos desperdício de tempo.

(b) Toda a informação deve ser livre. Na sociedade de consumo de hoje, tudo é
transformado em mercadoria e vendido. Isso inclui a informação. Mas a
informação, ao contrário de um carro ou de um apartamento, só existe na mente
das pessoas. Como não possuo a mente de outra pessoa, não posso comercializar
informações. Uma analogia semelhante é a do velho índio Chefe Touro-Sentado ao
dizer "a terra não pode ser possuída".

(c) Desacredite a autoridade e promova a descentralização. Um hacker não aceita
os famosos argumentos de autoridade e não acredita na centralização como forma
ideal de coordenar esforços. Se o maior economista do mundo dissesse a um
hacker e a um não-hacker para investir em determinada ação, o segundo
investiria imediatamente, aceitando como verdade o palpite do economista
simplesmente por ele ser famoso nessa área, mas o hacker faria a pergunta
fatal: por quê?

(d) Hackers devem ser julgados segundo seus atos, e não segundo critérios
sujeitos a vieses tais como graus acadêmicos, raça, cor, religião ou posição.

Essa é a base da meritocracia! Se você é bom mesmo, faça o que você sabe fazer
e os demais o terão em alta conta. Não apareça com diplomas e certificados que
para nada mais servem além de provar que você não sabe do que está falando e
tenta esconder esse fato.
Isso também pode ser visto num dos documentos de maior expressão das culturas
hacker de todos os tempos: o Manifesto Hacker, publicado no e-zine Phrack 7 em
1986 por The Mentor logo após ele ter sido preso
(http://www.phrack.com/show.php?p=7&a=3): "[...] Sim, eu sou um criminoso. Meu
crime é o da curiosidade. Meu crime é o de julgar as pessoas pelo que elas
dizem e pensam, não pelo que elas se parecem. [...]"

(e) Você pode criar arte e beleza no computador.

1.2 O novo preceito: separação de hackers e cracker

Enquanto a ética acima valeu (e ainda vale) para os hackers das décadas de 70 e
80, na década de 90, novos preceitos éticos foram incluídos e formaram um novo
código analisado por Steve Mizrach no documento "Is there a hacker ethic for
90s hackers?"
(http://www.attrition.org/~modify/texts/ethics/is.there.a.hacker.ethic.for.90s.
hackers.html)

Esse é um texto complexo, sobre o qual não vou fazer mais do que citar o mais
importante dos novos preceitos: "Primum non nocere". Retirado da ética de
Hipócrates (o pai da medicina), significa, em latim, primeiramente não cause
nenhum mal. Ser um hacker é tornar-se um agente na busca do conhecimento para a
própria iluminação. Não há nenhuma necessidade intrínseca de destruir. Esse é o
principal preceito que separa hackers de crackers. Ambos possuem conhecimentos
avançados sobre informática e programação, mas enquanto o primeiro utiliza seus
conhecimentos para alcançar a própria iluminação, o segundo está mais
interessado em se mostrar para os outros, ou conseguir vantagens financeiras.

1.3 A origem das culturas hacker

Os hackers de hoje são os herdeiros de três principais vertentes dos hackers.
Muitos hackers de hoje guardam características de uma ou outra dessas vertentes
mais predominantemente, mas a grande maioria representa a mistura que ocorreu
ao longo da história da computação.

As três vertentes são os hobistas, os acadêmicos, e os networkers.

Os hobistas se originaram com os rádio amadores, ainda na década de 20. Nessa
época e nos anos posteriores, muitos equipamentos eletrônicos eram vendidos em
kits, o que despertou o desejo de conhecimento de eletrônica. Uma empresa
estadounidense teve um papel importante na tradição de vender kits eletrônicos,
que é mantida até hoje: a Radio Shack.

Posteriormente, os primeiros computadores que ofereciam recursos gráficos, como
os Commodore-64, tornaram-se as chaves mestra para os hobistas. Suas atividades
consistiam em quebrar a proteção de jogos eletrônicos vendidos para esses
computadores. Se tornaram conhecidos por alterar (hackear) esses programas para
incluir uma tela de abertura que mencionasse o seu nome/nick em geral com
explosões e cores psicodélicas). Ora, o C-64 tinha apenas 64 Kb de memória,
logo essas "introduções" aos jogos deveriam ser pequenas e eram, quase sempre,
codificadas em linguagem de máquina, ou em Assembly. Ainda hoje a herança dessa
época persiste nas famosas "demo fests", em que pequenos programas nesse estilo
(os demos) são apresentados e competem por popularidade.

Os acadêmicos surgiram no MIT (Massachussetts Institute of Technology) por
volta de 1960 e eram, na sua maioria, estudantes de física e matemática que
estavam interessados nas novas máquinas de calcular e passavam as noites (único
horário em que as máquinas estariam disponíveis para estudantes) descobrindo
cada canto e cada curva da intrincada arquitetura dos computadores primitivos.

Outras universidades como a Carnegie Mellon (CMU) e a Stanford (SU) entraram
mais tarde na computação e acabaram fundando suas próprias culturas que
permaneceram separadas por muitos anos, até serem fundidas mais tarde.

Os networkers primeiramente se dedicavam ao phreack. O phreack é o nome da
prática de burlar sistemas de segurança das redes telefônicas para utilizar-se
delas sem pagar. Alguns hackers famosos dessa cultura foram o Cap'n Crunch, que
descobriu que o tom de um apito que vinha em uma caixa de cereal com o mesmo
nome permitia o acesso a rede internacional de telefonia sem pagar; e Joe
Engressia, que era cego e podia assobiar os tons de controle na frequência
correta.

2. Qual a importância da cultura hacker para o Software Livre?

A cultura hacker e o software livre se confundem hoje em dia. A relação com o
software livre tem por trás a idéia de que existe uma comunidade, uma cultura
compartilhada de programadores experts e magos da conectividade, cujo passados
históricos se cruzam há décadas, com os primeiros computadores de tempo
compartilhado e as primeiras experiências com a ARPAnet (a precursora da
internet). Os membros dessa cultura construíram a Internet. Os hackers fizeram
do Unix o sistema operacional que ele é hoje. Os hackers construíram a USENET.
Os hackers fizeram a World Wide Web funcionar.(www)

Mas como isso começou? Quando ficou claro que a arquitetura dos computadores
DEC PDP-10 tinha seus dias contados, por volta de 1983, uma grande inquietação
tomou conta dos hackers acadêmicos. Eles já haviam desenvolvido um sistema
operacional muito complexo de tempo compartilhado chamado ITS, do qual se
orgulhavam muito; mas que, juntamente como a arquitetura do PDP-10, estava
fadado a morrer também.

Nessa mesma época, os networkers estavam interligando suas linhas telefônicas e
outras tecnologias em rede, alavancados pela facilidade da linguagem C e dos
recursos de rede confiáveis dos sistemas operacionais Unix. Enquanto os
acadêmicos brincavam com o seu agonizante PDP-10 e com as redes primitivas da
ARPAnet, os networkers alavancavam a USENET através de um protocolo próprio do
Unix chamado UUCP (Unix-to-Unix Copy Protocol). Pouco a pouco, os acadêmicos
se rendiam à portabilidade do Unix e houve a primeira grande mistura de
culturas hacker entre os networkers, magos da conectividade e do Unix, e os
acadêmicos, ansiosos por desbravar novas arquiteturas, mas saudosos dos tempos
do ITS.

Posteriormente, a Internet surgiu, retirando o melhor das tecnologias dos dois
mundos: da ARPAnet (e da MILnet - sua rede militar co-irmã), aproveitou os
protocolos de controle TCP/IP (Transfer Control Protocol / Internet Protocol),
muito mais rápidos do que o UUCP; da USENET aproveitou o Unix. Naquela época os
Unixes estavam trazendo embutidos os protocolos TCP/IP, relegando o UUCP a um
segundo plano.

Com o tempo, a Internet aproximou as culturas hacker e transformou um antigo
hacker acadêmico no líder de uma revolução chamada Software Livre. Quando Levy
escreveu seu livro (por volta da mesma época), um dos principais informantes
era essa pessoa, que ele chamou de "o último hacker de verdade": Richard M.
Stallman. Felizmente isso provou estar errado e muitos outros hackers surgiram
posteriormente, ajudando na construção da nova cultura hacker.

Stallman era um hacker do MIT, como a maioria dos hackers acadêmicos de sua
época. Dentro dos recônditos dos hackers acadêmicos, uma forte tradição de
compartilhar conhecimento tinha se desenvolvido. Talvez por que esses hackers
tinham pouco tempo para ficar em contato com os computadores e seria um imenso
desperdício "reinventar a roda" cada vez que tivessem de resolver um problema
que alguém já havia resolvido, era muito mais fácil (e lógico) trocar
informações.

Com a portabilidade do C e do Unix como herança dos networkers, e com a
tradição de compartilhar código dos acadêmicos, Stallman começou o projeto que
mudaria para sempre a história da informática: o projeto GNU. Tal como ITS
significa Incompatible Time-Sharing, uma piada, proclamando a independência dos
acadêmicos dos sistemas operacionais proprietários, GNU significa Gnu's Not
Unix, tentando desvincular a imagem do projeto GNU da mercantilidade que o Unix
havia atingido na época.

Eis um trecho da licença GNU GPL (General Public License) que demonstra bem o
espírito em que Stallman estava imbuído quando fundou a Free Software
Foundation: "[...] As licenças para a maioria dos softwares são desenhadas para
tirar sua liberdade de compartilhar e modificá-lo. Em contraste, a GNU GPL tem
a intenção de garantir a sua liberdade de compartilhar e modificar o software
livre - certificando-se de que ele seja livre para todos os usuários [...]".

Enfim, a cultura hacker forneceu a base técnica e ideológica na qual o software
livre floresceu e se desenvolve atualmente. Talvez mais uma confirmação daquele
preceito ético que diz "É possível criar beleza no computador".

3. Qual a motivação para se tornar um hacker?

Ninguém se torna um hacker: hackers nascem assim. Está certo! Muitos deles
nunca terão acesso a um computador, logo nunca serão hackers de facto, mas o
espírito hacker está presente naquela pessoa e vai acompanhá-lo pelo resto da
vida. Respondendo essa pergunta, me sinto um pouco como The Mentor no manifesto
hacker quando ele pergunta "But did you [...] ever take a look behind the eyes
of the hacker? Did you ever wonder what made him tick, what forces shaped him,
what may have molded him?" (Mas você já olhou por trás dos olhos de um hacker?
Você já imaginou o que faz pulsar, que forças o deram forma, o que pode tê-lo
moldado?)

A resposta de hoje é a mesma que a de 1986 quando o manifesto foi escrito:
hackers são pessoas inquietas, que não são facilmente convencidas por
argumentos de autoridade sem valor técnico. São céticos sempre prontos a
duvidar de qualquer coisa. A simples menção de que algo é impossível para um
hacker é um poderoso convite para que ele tente fazê-lo. Eles querem saber mais
sobre tudo (mais ainda sobre informática), simplesmente pelo fato de saber...
para obter iluminação pessoal.

Em muitos sentidos os hackers ultrapassaram a sociedade de costumes com a sua
sociedade meritocrata e construíram um mundo virtual em que a única coisa que
faz diferença é sua confiabilidade e sua capacidade técnica. Nesse mundo,
coisas prosaicas como raça, cor, religião continuam existindo, mas não
importam. Esqueça a imagem de geek ou nerd, que você possa estar construindo na
sua mente enquanto falo. É verdade, alguns hackers são geeks (como se isso
fosse algo de ruim), assim como alguns não-hackers também são, mas a maioria
são pessoas comuns, que andam com você na rua, que falam abertamente sobre seus
assuntos (às vezes não percebendo que os demais não estão entendendo patavina).

A diferença é que, nesse mundo, o fato de ser um geek ou não simplesmente não
importa, ao contrário da sociedade de costumes, onde essas coisas tendem a ser
supervalorizadas.

Hackers são poetas de uma língua estranha para a maioria das outras pessoas.
São músicos de instrumentos estranhos mas profundamente melódicos. Tal como com
músicos e poetas, todos acabam se beneficiando de sua poesia e de sua música,
mesmo sem saber tocar.

Muitos dos que estão aqui nessa palestra são hackers também. Talvez a maioria,
já que provaram serem capazes de entrar em um canal IRC (coisa rara nos dias de
hoje em que os applets java dominam as salas de bate-papo). Digam-me vocês se
fazer parte de um mundo assim não é motivação suficiente para seguir sua
própria natureza e tornar-se um hacker!

4. Questões gerais sobre culturas hacker.

Conforme fui requisitado, estou incluindo um pequeno FAQ:

(a) Se hackers e crackers são diferentes, por que a mídia sempre confunde os
dois?

Essa é uma questão que ninguém sabe responder. Já perdi a conta de quantas
vezes escrevi emails para a Info (Ve)Exame, ZH Digital, PC Magazine entre
outras tentando fazer com que as revistas começassem a utilizar os nomes certos
para as pessoas certas. Quase nunca obtive resposta, mas o editor da Info
(Ve)Exame me respondeu em uma ocasião dizendo que o termo "hacker" foi
consagrado pelo uso para significar "piratas de computador" e que, apesar de
estarem cientes da diferença, não irão correr o risco de confundir o leitor
usando "termos técnicos".

É lógico que respondi que, ao usarem "hackers" com o significado de "crackers"
aí sim é que estariam confundindo o leitor. Esse email nunca me foi respondido.

(b) Você pode invadir sistemas, fazer transferências bancárias fantasmas ou
roubar segredos militares?

A resposta é "não sei". Provavelmente eu seja sim capaz de fazer isso, mas
nunca testei e não pretendo. O problema é que existe uma tênue linha que separa
os hackers dos crackers e, ao cruzá-la, você acaba perdendo a confiança
daqueles que não a cruzam. Seria muito ruim perder amigos tão bons por bobagens
como dinheiro ou poder.

(c) Que você recomenda para os que quiserem se tornar hackers?

Hoje em dia é muito mais fácil se tornar um hacker do que quando Stallman
começou. No entanto, o conselho é o mesmo: leia muito. Estude por sua própria
conta. Poste dúvidas para listas de discussão somente em último caso, quando
você já se der por vencido; e, nesse caso, preste muita atenção para aprender
não só a resposta à sua dúvida, mas a maneira como o outro chegou nessa
resposta.

O truque é simples... é como matemática ou física! Você pode decorar aquelas
infinitas fórmulas e, se tiver uma boa memória, vai passar em qualquer exame
formal. Mas você pode também deduzir de onde aquelas fórmulas saíram e o que
seus criadores pensaram para chegar até elas. Talvez você não se dê tão bem nos
exames formais, mas quem aprendeu mais? O que decorou ou o que deduziu?

Da próxima vez que enviar um email, não clique apenas no botão, antes de clicar
pense em todo o mecanismo lógico que está envolvido naquele simples ato: o MUA
vai empacotar o email num formato padrão, vai enviar para o MTA que vai extrair
o email de destino, vai checar se o domínio desse email existe, vai verificar
contra vírus, vai acrescentar o cabeçalho "Recebido por", vai enviar para o MTA
mais próximo do domínio requisitado, este também vai abrir, fazer checagem
contra vírus, acrescentar o cabeçalho "Recebido por", vai codificar em um outro
formato e vai enviar para um servidor POP3 que vai atualizar o seu banco de
dados para receber um novo email e reservar espaço para que esse email fique
esperando até que alguém conecte na porta 110 daquele servidor, identifique-se,
autentique-se e solicite o email. Se você conseguir ver a beleza nisso tudo...
algo como "tão complicado, mas ainda assim tão transparente", você já é um
hacker. Só precisa estudar um pouquinho mais.

(d) Em que linguagem de programação você programa?

Eu comecei, como todos na década de 80, programando em Basic. Na época, meus
pais tinham um Apple APII Unitron (esses com a tela verde). O computador não
tinha um sistema operacional, tinha o ROM Basic, um interpretador codificado na
rom. Então quando você ligava a máquina aparecia um prompt que aceitava
comandos e programas em Basic. Passei longas noites com o computador, tentando
decifrar o manual do ROM Basic e fazendo testes com programinhas estúpidos como
o famoso jogo "Vale da Morte", que eu criei. Tão famoso que provavelmente
nenhum de vocês deve ter ouvido falar nele. Se vocês são da época do Atari
vocês vão lembrar do River Raid. Pois é, o "Vale da Morte" era mais ou menos a
mesma coisa, exceto que a minha nave era formada por 3 caracteres: /*\

Com o tempo, tive contato com o PC XT e depois com o PC AT 286. Programava em
pcbasic nele. Depois de algum tempo programando em basic, percebi que a
linguagem estava me emburrecendo, e resolvi tentar algo compilado. Consegui um
livro de Cobol (que guardo até hoje) e comecei a programar uns aplicativos de
banco de dados usando essa linguagem.

Bem... para os que se lembram, Cobol é uma linguagem poderosa, mas extremamente
chata. Como estava programando aplicativos de banco de dados, acabei cruzando
com o dBase III Plus e me apaixonei. Programei muito em dBase e Clipper (tinha
comprado o compilador Summer 87) e, como tudo na vida, chega uma hora que você
quer mais. O Summer 87 já tinha dado tudo o que podia e eu estava pronto para
fazer o upgrade para o Clipper 5.0.

Ainda guardo com muito carinho o livro "Clipper 5.0 Técnicas Avançadas" de
Roger Dalton (impresso pela IBM Books) de 1990. O problema é que tinha gasto
muito dinheiro no livro e não podia comprar o compilador. Continuei com o
Summer 87, mas aprendi Assembler e C para expandir a capacidade do compilador.
Em Assembler, meu grande tutor foi o editor da revista Micro Sistemas, Renato
Degiovani, embora ele nem deva saber disso, aprendi muito com os códigos fonte
em assembler do seu sistema gráfico Graphos III que ele publicava regularmente
na revista.

Atualmente programo em C/C++ esporadicamente e abandonei o Clipper. Nunca tive
o prazer de usar um compilador 5.0, mas os hacks que eu fiz para o Summer 87
eram bastante bons. Hoje programo mais em linguagens de script como Python e
Ruby.

Não, apesar dos meus esforços nunca fiz nada de realmente aproveitável em Java.

5. Comentários Finais.

Em primeiro lugar, gostaria de agradecer o convite para essa palestra. Espero
que tenha ajudado a mudar os conceitos de alguns estudantes para que finalmente
entendam o que é e o que significa a cultura hacker para o mundo da informática

Em tempo, ainda gostaria de apontar para um dos mais importantes anúncios
feitos em newsgroups de que tenho notícia: o Anúncio de Linus Torvalds de que ele
estava trabalhando no que mais tarde tornou-se o Linux.

(c) http://groups.google.com/groups?selm=1991Oct5.054106.4647%40klaava.Helsinki.FI

O primeiro parágrafo desse anúncio resume bem o espírito hacker, e eu o traduzo
a seguir (a saber, o minix era um sistema operacional estilo Unix desenvolvido
de maneira semi-aberta por Andy Tanebaum):
>.......................<>........................< "Você suspira pelos bons dias do minix-1.1, quando homens eram homens e escreviam seus próprios drivers de dispositivo? Você está sem um projeto legal e está morrendo de vontade de colocar seus dentes em um sistema operacional que você possa modificar para suas próprias necessidades? Você está achando frustrante quando tudo funciona em minix? Sem mais aquelas noites inteiras para colocar um programa legal para funcionar? Então essa mensagem pode ser justamente para você. :-)" >.......................<>........................< E, finalmente, gostaria de fazer referência aos melhores hackers que já
encontrei e com os quais divido ótimas horas de programação, festas e
cervejadas: http://www.debian-rs.org/ .

Além desse grupo de usuários, para os que gostam de IRC, a rede
irc.openprojects.net tem vários canais de projetos de software livres habitados
por hackers de todas as tribos.

Boa sorte para todos. Happy hacking.


^
|
|
|
|
up
vale a pena ler e reler até entender.

0 comentários:

Grab this Widget ~ Blogger Accessories