¿Por
qué existe este documento?
1. El mundo está lleno de
problemas fascinantes que esperan ser
resueltos
2 ningún problema tendría
que resolverse dos veces.
3. El aburrimiento y el trabajo
rutinario son perniciosos
5. La actitud no es
sustituto para la competencia
2. Consigue uno de los unices libres;
aprende a usarlo y a ponerlo en funcionamiento
3. Aprende a usar la web y a programar
en html
4. Si no tienes un inglés
funcional, apréndelo
2. Ayudar a probar y depurar
software libre
4. Ayudar a mantener en
funcionamiento la infraestructura
5. Hacer algo por la cultura
hacker en sí misma
¿Por qué existe este
documento?
Como editor del
(el "Archivo de la
jerga hacker") y autor
de algunos documentos bien
conocidos del mismo tipo, a menudo recibo emails de entusiastas
novatos de la Red preguntando:
"¿Cómo puedo aprender a ser un hacker
mágico?" Triste es decir que no parece haber ninguna FAQ
ni documento web que aborde
este tema vital, así que aquí va el
mío.
Si estás leyendo este documento sin
conexión, la version original en línea la puedes
encontrar en http://www.catb.org/~esr/faqs/hacker-howto.html.
Nota: hay una lista de
Preguntas Frecuentes al final de este
documento. Por favor léelo —2 veces— antes de
mandarme un email con preguntas acerca de este
documento.
Hay disponibles numerosas traducciones de este
documento: búlgaro,
catalán,
chino
(simplificado), chino
(tradicional), danés,
neerlandés,
francés,
alemán, hebreo,
húngaro,
indonesio,
italiano
japonés,
coreano,
portugués
(brasileño),
portugués (europeo),
ruso, y
sueco. Ten en cuenta que, como el contenido de
este documento cambia ocasionalmente, dichas traducciones pueden
estar desactualizadas en grado diverso.
¿Qué es un hacker?
El Jargon File
contiene un montón de definiciones del termino
"hacker", la mayoría basadas en la afición a lo
técnico y en el placer de resolver problemas
sobrepasando los límites.
Si deseas saber cómo convertirte en un hacker, bien, solo
2 puntos son realmente relevantes.
Existe una comunidad, una
cultura
compartida, de programadores expertos y magos de las redes, cuya historia se remonta
décadas atrás a los tiempos de los primeros
miniordenadores de tiempo
compartido y los tempranos experimentos con
ARPAnet. Los miembros de esta cultura crearon el término
"hacker". Los hackers
construyeron Internet. Los hackers hicieron
de Unix el
sistema operativo
que es hoy día. Los hackers hacen andar Usenet. Los
hackers hacen funcionar la WWW. Si eres parte de esta cultura, si
has contribuido a ella y otras personas saben quién eres y
te llaman hacker, entonces eres un hacker.
Los mentalidad hacker no está confinada a esta
cultura del software. Hay gente que
aplica la actitud de
hacker a otras cosas, como la electrónica o la música —de
hecho, puedes encontrarla en los más altos niveles de
cualquier ciencia o
arte. Los
hackers de software reconocen estos espíritus emparentados
en otras partes y pueden llamarlos "hackers"
también— y algunos sostienen que la naturaleza
hacker es en realidad independiente del medio particular en el
cual el hacker trabaja. Sin embargo, en el resto de este
documento nos centraremos en las habilidades y actitudes de
los hackers de software, y en las tradiciones de la cultura
compartida que originó el término
"hacker".
Existe otro grupo de
personas que se llaman a sí mismos hackers, pero que no lo
son. Son personas (generalmente varones adolescentes)
que se divierten irrumpiendo ilegalmente en ordenadores y
haciendo "phreaking" en el sistema
teléfonico. Los auténticos hackers tienen un nombre
para esas personas: "crackers", y no quieren saber nada de ellos.
Los auténticos hackers opinan que la mayoría de los
crackers son perezosos, irresponsables y no muy brillantes, y
fundamentan su crítica
en que ser capaz de romper la seguridad no le
hace a uno un hacker, de la misma manera que ser capaz de
arrancar un coche con un puente en la llave no le convierte en
ingeniero de automotores. Desafortunadamente, muchos periodistas
y escritores utilizan erróneamente la palabra "hacker"
para describir a los crackers; esto causa enorme
irritación a los auténticos hackers.
La diferencia básica es esta: los hackers
construyen cosas; los crackers las destruyen.
Si quieres ser un hacker, continúa leyendo. Si lo
que quieres es ser un cracker, ve directo a leer el
alt.2600 y
prepárate para soportar la dura realidad cuando descubras
que no eres tan listo como crees. Y eso es todo lo que voy a
decir de los crackers.
La actitud del hacker
Los hackers resuelven problemas y construyen cosas, y creen en la libertad y la
ayuda voluntaria mutua. Para ser aceptado como hacker,
deberás comportarte como si tuvieras esta actitud en tu
interior. Y para comportarte como si tuvieras esta actitud,
deberás creerte de verdad dicha actitud.
Pero si piensas en cultivar las actitudes de hacker solo
como una forma de ganar aceptación en esta cultura, te
estás equivocando. Transformarse en la clase de
persona que
cree estas cosas es importante para ti —para ayudarte a
aprender y mantenerte motivado. Como en todas las artes
creativas, el modo más efectivo de transformarse en un
maestro es imitar la mentalidad de los maestros —no
sólo intelectualmente, sino también
emocionalmente.
O como dice el siguiente poema zen moderno:
Para seguir la trayectoria:
mira al maestro,
sigue al maestro,
camina junto con el maestro,
mira a través del maestro,
conviértete en el maestro.
Así que, si quieres ser un hacker, repite lo que
sigue hasta que te creas lo que estás diciendo:
1. El mundo está lleno de problemas
fascinantes que esperan ser
resueltos
Es muy divertido ser un hacker, pero es la clase de
diversión que requiere mucho esfuerzo. El esfuerzo
requiere motivación. Los atletas triunfadores
obtienen su motivación a partir de un tipo de placer
físico que surge de trabajar su cuerpo, al forzarse a
sí mismos más allá de sus propios
límites físicos. De manera similar, para ser un
hacker deberás sentir un estremecimiento de tipo primitivo
cuando resuelves problemas, afinas tus habilidades y ejercitas tu
inteligencia.
Si no eres la clase de persona que te sientes inclinado
hacia estas cosas de forma natural, necesitarás poder
experimentarlas para llegar a ser un hacker. De no ser
así, encontrarás que tu energía para
"hackear" se verá agotada por otras distracciones como el
sexo, el dinero o la
aprobación social.
(Además deberás desarrollar cierta clase
de fe en tu propia capacidad de aprendizaje
—la creencia de que, aun cuando puedes no saber todo lo que
necesitas para resolver un problema, si tomas una parte de
él y aprendes desde allí, aprenderás lo
suficiente para resolver la siguiente parte, y así, hasta
que lo tengas resuelto por completo.)
2. Ningún problema tendría que
resolverse dos veces
Los cerebros creativos son un
recurso valioso y limitado. No deben desperdiciarse reinventando
la rueda cuando hay tantos y tan fascinantes problemas nuevos
esperando por allí.
Para comportarte como un hacker, debes creer que el
tiempo para pensar que emplean otros hackers es precioso
—tanto, que es casi una obligación moral para ti
el compartir la información, resolver los problemas y luego
exponer la solución de manera que los otros hackers puedan
resolver nuevos problemas, en lugar de enfrentarse perpetuamente
con los viejos.
(No tienes que pensar que estás obligado a
regalar todo tu producto
creativo, aunque aquellos hackers que lo hacen son los que
obtienen más respeto por parte
de los demás hackers. Es consistente con los valores de
un hacker venderse lo suficiente para pagar la comida, el
alquiler y los ordenadores. También está bien la
utilización de estas habilidades de hacker para sostener a
la familia, o
incluso hacerse rico, siempre que no olvides la lealtad a tu arte
y a tus colegas hackers mientras lo haces.)
3. El aburrimiento y el trabajo
rutinario son perniciosos
Los hackers (y las personas
creativas en general) nunca debieran ser sometidas a trabajos
estupidamente repetitivos, porque cuando esto sucede significa
que no están haciendo lo único que son capaces de
hacer: resolver nuevos problemas. Este desperdicio de talento
daña a todo el mundo. Por ello, las tareas rutinarias,
repetitivas y aburridas no sólo son desagradables, sino
intrínsecamente perversas.
Para comportarte como un hacker, debes creer en esto lo
suficiente como para automatizar las tareas rutinarias todo lo
que se pueda, no solamente por ti mismo, sino para beneficio de
todos los demás (especialmente otros hackers).
(Existe una aparente excepción a esta regla. Los
hackers hacen cosas a veces que pueden parecer repetitivas o
aburridas a un observador, pero son un ejercicio para lograr
claridad mental o para adquirir cierta habilidad u obtener cierta
clase de experiencia que no podría conseguirse de otro
modo. Pero esto es una elección —ningún ser
pensante debiera nunca ser forzado a una
situación que les aburra.)
4. La libertad es buena
Los hackers son antiautoritarios por naturaleza.
Cualquiera que pueda darte órdenes, puede obligarte a
dejar de resolver ese problema que te está fascinando
—y, dada la manera como trabajan las mentes autoritarias,
encontrarán alguna razón espantosamente
estúpida para hacerlo. Por eso, la actitud autoritaria
debe ser combatida donde sea que se la encuentre, pues si se la
deja te asfixiará, tanto a ti como a otros
hackers.
(Esto no es lo mismo que combatir toda autoridad. Los
niños
necesitan guía, y los criminales, restricciones. Un hacker
puede estar de acuerdo en aceptar algún tipo de autoridad
para poder obtener algo que desea más que el tiempo que
gasta en seguir órdenes. Pero este es un pacto limitado,
consciente; la clase de sumisión que desean los
autoritarios no está en oferta.)
Los autoritarios prosperan en la censura y el secreto. Y
desconfían de la cooperación voluntaria y del
intercambio de información —sólo les agrada
la cooperación que tienen bajo su control.
Así que, para comportarte como un hacker, deberás
desarrollar una hostilidad instintiva hacia la censura, el
secreto y la utilización de la fuerza o el
fraude para
someter a adultos responsables. Y deberás estar preparado
para actuar en consencuencia.
5. La actitud no es sustituto
para la competencia
Para ser un hacker, deberás desarrollar algunas
de esas actitudes. Pero tener solo la actitud no te
transformará en hacker, como tampoco te puede transformar
en un atleta campeón o en estrella del rock. Para
transformarte en hacker necesitarás inteligencia,
práctica, dedicación y trabajo
duro.
Por lo tanto, debes aprender a desconfiar de la actitud
y respetar la competencia en
todas sus formas. A ningún hacker le gusta perder el
tiempo con quienes adoptan la pose de hacker, sino que veneran la
competencia —especialmente la competencia al hackear, pero
la competencia en cualquier ámbito está bien.
Especialmente buena es la competencia en habilidades exigentes
que poca gente domina, y la mejor es la competencia en
habilidades exigentes que requieren agudeza mental, destreza y
concentración.
Si respetas la competencia, disfrutarás
desarrollándola en ti mismo —el trabajo duro y la
dedicación se transformarán en una especie de
juego intenso,
y no una rutina. Esa actitud es vital para transformarse en
hacker.
Habilidades básicas para el hacking
La actitud hacker es vital, pero más aún
lo son las habilidades. La actitud no es sustituto para la
competencia, y existe un cierto conjunto de herramientas
básicas que debes dominar antes que cualquier hacker
sueñe con llamarse así.
Este conjunto de herramientas cambia lentamente a lo
largo del tiempo a medida que la tecnología crea
nuevas habilidades y descarta otras por obsoletas. Por ejemplo,
se incluía la programación en lenguaje
máquina, y no se hablaba de HTML hasta hace
poco. Pero hacia finales de 1996, está claro que se debe
incluir lo siguiente:
Esta es, por supuesto, la habilidad fundamental del
hacker. Si no conoces ningún lenguaje de programacion,
recomiendo empezar con Python. Es limpio, bien documentado, y
relativamente fácil para novatos. A pesar de ser un buen
primer lenguaje, no es un juguete; es muy poderoso, flexible y se
adapta bien a grandes proyectos. He
escrito un detallado
análisis de Python. Hay disponibles
buenos tutoriales
en el sitio
web de Python.
Java es tambien un buen lenguaje para iniciarse en la
programación. Es más difícil que Python,
pero produce código
más rápido que Python. Creo que es un buen segundo
lenguaje para aprender.
Pero no creas que podrás ser un hacker, siquiera
un programador, si solo conoces un único lenguaje
—debes aprender cómo pensar en los problemas de
programación de una manera general, independiente de
cualquier lenguaje. Para ser un hacker de verdad, precisas llegar
al punto en el cual aprendas un lenguaje nuevo en días,
relacionando lo que está en el manual con lo que
ya sabe de antes. Esto significa que debes aprender varios
lenguajes muy diferentes entre sí.
Si deseas meterte seriamente en programación,
tendrás que aprender C, la base de Unix. C++ es muy
parecido a C; si conoces uno, aprender el otro no te
resultará difícil. Sin embargo, ninguno de ellos es
bueno para aprender a programar. Y hoy día, cuanto
más puedas evitar programar en C, mas productivo
serás.
C es muy eficiente, y trabaja bien con los recursos de las
maquinas. Desafortunadamente, C obtiene su eficiencia a base
de mucho manejo a bajo nivel de los recursos (como la memoria) a
mano. Todo esa programación a bajo nivel es muy compleja y
propensa a errores, y tendrás que dedicar gran cantidad de
tiempo a la depuración de los programas. Con
las máquinas
de hoy, tan poderosas, esto ya no es tan necesario —es
más inteligente usar un lenguaje que use el tiempo de
máquina menos eficientemente, pero en cambio use tu
tiempo más eficientemente. O sea, Python.
Otros lenguajes de particular importancia para los
hackers son Perl y
LISP. Perl
vale la pena aprenderlo por razones prácticas: es
amplísimamente usado por páginas
web dinámicas y por sistemas de
administración, así que incluso si
nunca has escrito en Perl, deberías aprender a leerlo.
Mucha gente usa Perl en la forma que yo sugiero usar Python, para
evitar la programacion en C en trabajos que no requieran la
eficiencia de C. Necesitarás ser capaz de
entenderlo.
Vale la pena aprender LISP por una razón
diferente — La profunda e iluminadora experiencia que
obtendrás cuando finalmente lo logres te hará ser
mejor programador el resto de tus días, incluso si no usas
LISP mucho. (Puedes obtener fácilmente algo de primera
experiencia con LISP escribiendo y modificando los modos de
edición
del editor Emacs.)
Lo mejor hoy día es aprender estos cinco (Python,
Java, C/C++,
Perl y LISP). Además de ser estos lenguajes los mas
importantes en el hacking, representan muy diversas formas de
aproximarse a la programación, y cada uno te
educará de diferentes maneras.
No puedo dar instrucciones completas en este documento
de cómo puedes aprender a programar —es una
habilidad compleja. Pero puedo adelantarte que los libros y los
cursos no servirán (muchos, tal vez la mayoría de
los mejores hackers, son autodidactas). Puedes aprender las
características de los lenguajes —partes de conocimiento— de libros, pero el verdadero
conocimiento lo adquieres en la vida real aplicando lo que ya
sabes. Lo que sí servirá es a) leer código y
b) escribir código.
El aprendizaje de la programación es como
aprender a escribir bien en lenguaje natural. La mejor manera de
aprender es leer algo de las cosas escritas por los maestros del
estilo, luego escribir algunas cosas tú mismo, leer mucho
más, escribir un poco más… y repetir esto hasta
que lo que escribes empieza a mostrar la clase de fuerza y
economía
que aprecias en tus modelos.
Antes era difícil encontrar código de
buena calidad para
leer, porque había pocos programas de cierta magnitud
disponibles en código fuente de tal manera que los hackers
noveles pudieran meterles mano. Esta situación ha cambiado
drásticamente: software de fuente abierta, herramientas de
programación libres y sistemas
operativos libres (todo ello hecho por hackers) están
ampliamente disponibles en la actualidad. Lo que me lleva
elegantemente a nuestro siguiente tema…
2. Consigue uno de los
Unices libres; aprende a usarlo y a ponerlo en
funcionamiento
Asumo que tienes un ordenador personal o puedes
acceder a uno (a estos muchachos de hoy día les resulta
tan sencillo obtenerlo… :-)). El paso con mucho más
importante que cualquier novato puede dar en el camino de
adquirir las habilidades de un hacker es obtener una copia de
Linux o alguno
de los otros Unices tipo BSD libres, instalarlo en una
máquina personal y hacerlo funcionar.
Sí, es cierto que existen otros sistemas
operativos en el mundo además de Unix. Pero
sólo pueden encontrarse en formato binario —no
puedes ni leer el código ni modificarlo—. Si
intentas aprender a hackear en una máquina DOS, Windows o en
un MacOS te sentirás como si tratas de aprender a bailar
con el cuerpo escayolado.
Bajo OS/X es posible, pero solo una parte del del
sistema es código de fuente abierta —Es como si
estuvieras golpeando un muro de varias capas de cemento, y
aparte tienes que ser cuidadoso para no desarrollar el mal
hábito de depender del código propietario de Apple.
Si te concentras en Unix bajo el capó, puedes aprender
cosas mas útiles.
Unix es el sistema operativo de Internet. Si bien puedes
aprender a usar Internet sin saber Unix, nunca podrás ser
un hacker en Internet sin conocerlo. Por este motivo, la cultura
hacker actual está muy centrada en Unix. (Esto no fue
siempre así, e incluso la situación le desagrada a
algunos de los hackers más veteranos, pero la simbiosis
entre Unix e Internet es tan fuerte que hasta la energía
de Microsoft
parece incapaz de hacerle mella.)
Así que consigue un Unix —personalmente me
gusta Linux, pero hay otros (y sí, puedes hacer funcionar
Linux y DOS/Windows en la misma máquina).
Apréndelo. Hazlo funcionar. Métele mano,
anímate. Comunícate en Internet mediante él.
Lee el código. Modifícalo. En ese sistema se
incluyen las mejores herramientas de programación (que
incluyen C, Lisp y Perl) de lo que cualquier sistema operativo de
Microsoft ni siquiera podría soñar, además
te divertirás y te sumergirás en un caudal de
conocimientos de tal magnitud que nunca hubieras imaginado, hasta
que en cierto momento, mirando hacia atrás, te
darás cuenta que ya eres un maestro hacker
consumado.
Si quieres saber más acerca del aprendizaje de
Unix, ve a The
Loginataka.
Si quieres meter tus manos en Linux, echa un ojo
en Dónde
puedo obtener Linux.
Puedes encontrar ayuda y recursos de BSD Unix en
http://www.bsd.org/.
He escrito sobre
los fundamentos básicos de Unix y de
Internet.
(Nota: No recomiendo instalar ni Linux ni BSD a solas si
eres novato. Para Linux, encuentra un grupo de usuarios local de
Linux y pide ayuda; o contáctalo mediante Open Projects
Network. LISC mantiene canales
IRC donde puedes obtener ayuda.)
3. Aprende a usar la Web y
a programar en HTML
La mayoría de las cosas que ha construido la
cultura hacker funcionan fuera de la vista del gran
público, ayudando en el funcionamiento de fábricas,
oficinas y universidades, y carecen de un impacto obvio en la
vida de quienes no son hackers. La Web es la única gran
excepción, y es tan enorme y brillante este juguete de
hackers que incluso los políticos admiten que está
cambiando el mundo. Sólo por esta razón (y hay un
montón de otras igualmente buenas), debes aprender a
trabajar en la Web.
No me estoy refiriendo a aprender a manejar un navegador
(cualquiera puede hacer eso), sino que debes aprender a escribir
HTML, el lenguaje de
marcas de la
Web. Si aún no sabes cómo programar, el aprendizaje
que implica la escritura de
HTML te enseñará algunos de los hábitos
mentales que te ayudarán luego con la programación.
Así que hazte una página personal. Prueba con
XHTML, que es más claro que el clasico HTML. (Existen
buenos tutoriales
para principiantes en la Web; aquí hay
uno.)
Pero no vayas a creer que por tener una página
personal estás más cerca de ser un hacker. La Web
está llena de páginas personales. La mayoría
de ellas son banales, basura sin
contenido —basura muy
vistosa, pero basura al fin (si deseas saber más sobre
este tema, mira en The HTML Hell
Page).
Para que valga la pena, tu página debe tener
contenido —debe ser interesante y/o útil para los
otros hackers. Y esto nos lleva al próximo
tema…
4. Si
no tienes un inglés
funcional, apréndelo
Como estadounidense y hablante nativo de inglés,
era reacio a sugerir esto, por si se interpretaba como una suerte
de imperialismo
cultural. Pero hablantes nativos de otras lenguas me han urgido a
que señale que el inglés es el lenguaje con el que
trabaja la cultura hacker e Internet, y necesitarás
saberlo para funcionar en la comunidad hacker.
Esto es muy cierto. Tiempo atrás, alrededor de
1991, aprendí que muchos hackers que tenían el
inglés como segundo idioma lo usaban en discusiones
técnicas, incluso cuando compartían
su lengua natal;
me comentaron que el inglés tiene un vocabulario
técnico más rico que cualquier otra lengua y
sencillamente por esto era mejor herramienta para el trabajo. Por
razones similares, las traducciones de libros técnicos
escritos originalmente en inglés son con frecuencia
insatisfactorias (si es que se hacen).
Linus Torvalds, un finlandés, comenta su codigo en
inglés (al parecer nunca se le ocurrió hacerlo de
otra manera). Su fluidez con el inglés ha sido un
importante factor en su habilidad para reclutar una comunidad
mundial de desarrolladores de Linux. Y esto nos lleva al
próximo tema…
Estatus en la cultura hacker
De manera similar a muchas otras culturas sin
economía monetaria, el hackerismo se basa en la
reputación. Estás intentando resolver problemas
interesantes, pero cuan interesantes y buenas son las soluciones que
encuentres es algo que sólo tus iguales o superiores
técnicamente hablando serán capaces de
juzgar.
De acuerdo a esto, cuando juegas el juego del hacker,
aprendes a puntuarte principalmente en función de
lo que los otros hackers piensan acerca de tus habilidades (este
es el motivo por el cual no puedes ser un hacker de verdad hasta
que otros hackers te denominen así de manera consistente).
Este hecho está empañado por la imagen del
hacking como trabajo solitario; también por un tabú
cultural hacker (que ahora está decayendo, pero aún
es fuerte) que impide que se admita el ego o la validación
externa como elementos involucrados en la propia
motivación.
Específicamente, el hackerismo es lo que los
antropólogos denominan una cultura del don. Adquieres
estatus y reputación no mediante la dominación de
las otras personas, ni por ser hermoso/a, ni por tener cosas que
las otras personas desean, sino por donar cosas.
Específicamente, al donar tu tiempo, tu creatividad, y
el resultado de tu destreza.
Existen básicamente cinco clases de cosas que
puedes hacer para obtener el respeto de los hackers:
1. Escribir software de fuente abierta
Lo primero (lo más central y más
tradicional) es escribir programas que los otros hackers opinen
que son divertidos o útiles, y donar los fuentes del
programa a la
cultura hacker para que sean utilizados.
(Solíamos llamarlo free software pero esto
confundía a demasiada gente, que no estaban seguros de
qué se suponía que significaba free [en
inglés, el término free es polisémico
y puede significar "libre" o "gratis". En castellano no se
da tal ambigüedad por lo que la expresión "software
libre" resulta perfectamente adecuada — N. del T.]. La
mayoría de nosotros, al menos un ratio 2:1 de acuerdo con
los análisis del contenido de la web, ahora
preferimos el término software "open source"
[En castellano, sin embargo, se sigue usando habitualmente
"software
libre", aunque en esta versión hemos respetado, como
es natural, el cambio en la terminología de Eric, que ha
sustituido " free software" por open source en todos sus
documentos, y lo hemos traducido por "código de fuente
abierta" — N. del T.]).
Los más reverenciados semidioses del hackerismo
son las personas que han escrito programas de gran magnitud, con
grandes capacidades que satisfacen necesidades de largo alcance,
y los donan, de tal manera que cualquiera pueda
utilizarlos.
2. Ayudar a probar y depurar software de fuente
abierta
También son reconocidas aquellas personas que
depuran los errores del software de fuente abierta. En este mundo
imperfecto, inevitablemente pasaremos la mayoría de
nuestro tiempo de desarrollo en
la fase de depuración. Este es el motivo por el cual los
desarrolladores de software de fuente abierta piensan que un buen
"beta-tester" (probador de versiones beta, alguien que sabe
cómo describir claramente los síntomas, que puede
localizar correctamente los problemas, que tolera los errores en
una entrega apurada, y que está dispuesto a aplicar unas
cuantas rutinas sencillas de diagnóstico) vale su peso en oro. Aun
contando con un solo probador de estos, puede hacerse que el
proceso de
depuración pase de ser una prolongada pesadilla que lo
deja a uno exhausto a ser sólo una saludable
molestia.
Si eres novato, trata de encontrar un programa en
desarrollo en el cual estés interesado, y
conviértete en un buen probador beta. Hay una
progresión natural desde ayudar a probar programas, luego
ayudar a depurarlos y más adelante ayudar a modificarlos.
Aprenderás un montón de esa manera, y la gente te
ayudará en el futuro.
3. Publicar informacion útil
Otra buena cosa que puedes hacer es recopilar y filtrar
información útil e interesante y construir
páginas web o documentos tipo FAQ ("Preguntas
Frecuentes"), y ponerlos a disposición de los
demás.
La gente que mantiene las FAQ técnicas más
importantes gozan de casi tanto respeto como los autores de
software libre.
4. Ayudar a mantener
en funcionamiento la infraestructura
La cultura hacker (y el desarrollo ingenieril de
Internet, para el caso) funciona gracias al trabajo voluntario.
Existe una gran cantidad de trabajo necesario pero sin glamour
que debe hacerse para que esto siga marchando —administrar
listas de correo, moderar foros de discusión, mantener
sitios donde se archivan grandes cantidades de software,
desarrollar RFCs
y otros estándares técnicos.
La gente que desarrolla estas actividades goza de mucho
respeto, porque todos saben que esos trabajos son grandes
consumidores de tiempo y no tan divertidos como meterse con el
código. Al hacerlos demuestran su
dedicación.
5. Hacer algo por la
cultura hacker en sí misma
Finalmente, puedes propagar la cultura hacker en
sí misma (por ejemplo, escribiendo un texto acerca
de cómo transformarse en hacker :-)). Esto es algo que no
estarás en disposición de hacer hasta que seas bien
conocido en el ambiente por
alguna de las cuatro cosas recién descritas.
La cultura hacker no tiene líderes exactamente,
pero tiene héroes culturales, ancianos de la tribu,
historiadores y portavoces. Cuando hayas estado en las
trincheras tiempo suficiente, podrás crecer y
transformarte en uno de ellos. Pero ten cuidado: los hackers
desconfían del ego ruidoso en sus jefes tribales,
así que la búsqueda visible de esa clase de fama es
peligrosa. En lugar de esforzarte en ello, es mejor colocarse en
una posición tal que ella caiga sobre ti, y luego debes
comportarte de manera modesta y con gracia con tu
estatus.
Contrariamente al mito popular,
no tienes que ser un nerd [literalmente "empollón",
pero en la jerga
hacker se ha asumido de forma irónica,
perdiendo el matiz originalmente despectivo, y ha acabado
usándose como sinónimo de alguien que se preocupa
por las cosas importantes y no se entretiene en trivialidades.
— N. del T.] para ser hacker. Ayuda, sin embargo, y muchos
hackers son nerds. Al ser un marginado social, el nerd puede
mantenerse concentrado en las cosas realmente importantes, como
pensar y hackear.
Por esta razón, muchos hackers han adoptado la
etiqueta "nerd" e incluso utilizan el desagradable
término geek
como insignia de orgullo —es su forma de declarar su
propia independencia
de las expectativas sociales normales.
Si puedes concentrarte lo suficiente en el hacking para
ser bueno en ello, y encima disfrutar de vida personal,
está bien. Es muchísimo más fácil
ahora que cuando yo era un novato en los años setenta; la
cultura dominante ve con mejores ojos a los tecno-nerds en la
actualidad. Hay además un número creciente de
personas que se dan cuenta de que con frecuencia los hackers son
un material de alta calidad para
novio/novia/marido/esposa.
Si te siente atraído por la actividad hacker
porque no tienes vida propia, está bien también
—al menos no tendrá problemas de
concentración—. A lo mejor más adelante
puedes conseguir una vida propia como el resto de la
gente.
De nuevo, para ser un hacker, debes desarrollar la
mentalidad del hacker. Existen algunas cosas que puedes hacer
cuando estás sin ordenador, que pueden ayudarte. Estas
cosas no son sustituto para la actividad propia de hackear (nada
lo es) pero muchos hackers las realizan, y sienten que de alguna
manera primitiva se conectan con la esencia de la actividad de
hackear.
- Aprende a escribir correctamente en tu lengua. A
pesar de que existe el estereotipo de que los programadores no
son capaces de escribir, una cantidad sorprendente de hackers
(incluyendo a los mejores que conozco), son escritores
competentes. - Lee ciencia-ficción. Ve a las reuniones sobre
ciencia-ficción (es un buen método
para conocer hackers y proto-hackers). - Estudia zen, y/o practica artes marciales. (La
disciplina
mental se parece en ambos casos.) - Desarrolla un oído
analítico para la música. Aprende a apreciar
clases peculiares de música. Aprenda a tocar
correctamente algún instrumento musical, o a
cantar. - Desarrolla inclinación por los dobles sentidos
y los juegos de
palabras.
Cuantas más cosas de estas hayas hecho, es
más probable que poseas material natural para hacker. Por
qué estas cosas en particular y no otras es algo que no
está completamente claro, pero todas están
conectadas con un mezcla de tu parte izquierda y derecha de las
habilidades de tu cerebro, lo que
parece ser una cosa importante; los hackers ser capaces tanto de
razonamiento lógico como de dar pasos al margen de
lógica
aparente de un problema en un momento dado.
Trabaja tan intensamente como juegas y juega tan
intensamente como trabajas. Para los verdaderos hackers, la
diferiencia entre "juego", "trabajo", "ciencia" y "arte" tienden
a desaparecer, o mezclarse en un alto nivel de creatividad.
Además, no te des por satisfecho con tener un estrecho
rango de habilidades. Aunque la mayoría de los hackers se
autodescriben como programadores, suelen ser más que
competentes en actividades diversas —administración de sistemas, diseño
web y arreglar problemas de hardware son algo
común—. Un hacker que, por un lado, es administrador de
sistemas, por el otro es también habilidoso en
programación de scripts y diseño de webs. Los
hackers no hacen las cosas a medias; si se meten de lleno en un
tema, tienden a ser muy buenos en él.
Finalmente, unas cuantas cosas que no debes
hacer:
- No uses un nombre de usuario tonto o
grandioso. - No te metas en "flamewars" (discusiones airadas) en
Usenet (ni en ningún otro lado). - No te llames a ti mismo "ciberpunk", y no pierdas tu
tiempo con nadie que lo haga. - No publiques en los foros ni escribas correos con
montones de errores de tecleo o construcciones gramaticales
incorrectas.
La única reputación que te ganarás
con esas costumbres es la de tonto. Los hackers tienen una gran
memoria
—puede costar años hasta que te acepten de nuevo
después de estas cosas.
El problema con los apodos virtuales merece alguna
explicación. Ocultar tu identidad
detrás de un apodo es un comportamiento
infantil y tonto que es característico de los crackers,
warez d00dz, y otras formas inferiores de vida. Los hackers no
hacen eso; ellos están orgullosos de lo que que hacen y lo
quieren asociado con sus nombres reales . Así que si
tienes un nombre de estos, abandónalo. En la cultura
hacker solo servirán para marcarte como un
perdedor.
Otras fuentes de
información
Peter Seebach mantiene un excelente Hacker
FAQ para directivos que no entiendan el trato
con hackers. Si la pagina de Peter no responde, en la
siguiente
búsqueda en Excite
encontrarás una copia.
También he escrito
A Brief History Of Hackerdom [existe
traducción castellana:
Breve historia de la cultura hacker
— N. del T.].
He escrito un artículo
The Cathedral and the Bazaar [existe
traducción castellana: La
catedral y el bazar — N. del T.], donde se
explica bastante sobre cómo funciona la cultura de Linux y
del software de fuente abierta. He estudiado este tema más
directamente en su segunda parte,
Homesteading the Noosphere [existe
traducción castellana: Cultivando
la noosfera — N. del T.].
Rick Moen ha escrito un excelente documento en
how to run
a Linux user group.
Rick Moen y yo hemos colaborado en otro documento
en How To
Ask Smart Questions [existe traducción
castellana: Cómo
hacer preguntas de manera inteligente — N.
del T.]. Esto te ayudará a encontrar asistencia en el
camino.
Si necesitas instrucciones para lo básico como
ordenadores personales, Unix e Internet , ve a
The Unix and Internet Fundamentals
HOWTO.
Cuando publicas software o escribes parches, procura
seguir las directrices en el
Software Release Practice
HOWTO.
P: | ¿Me enseñarás a |
R: | Desde la primera publicación de esta Aun si pudiera hacerlo, el hackeo es una actitud y Aprende unas cuantas cosas primero. Si escribes un email a un hacker pidiéndole |
P: | ¿Cómo puedo iniciarme |
R: | La mejor manera para empezar probablemente es |
P: | ¿Cuándo conviene empezar? ¿Es |
R: | Cualquier edad en la cual estés motivado |
P: | ¿Cuánto tiempo me costará |
R: | Esto depende de tu talento y lo duro que trabajes. |
P: | ¿Son Visual |
R: | No, porque no son portables. No hay ninguna Visual Basic es especialmente tremendo. El hecho Uno de esos malos hábitos es hacerte |
P: | ¿Me ayudarías a crackear un sistema, |
R: | No. Alguien que pregunta esto después de |
P: | ¿Cómo puedo obtener la |
R: | Eso es cracking. Desaparece, idiota. |
P: | ¿Cómo puedo acceder/leer/monitorizar |
A: | Eso es cracking. Piérdete, |
P: | ¿Cómo puedo robar privilegios de |
A: | Eso es cracking. Fuera de aquí, |
P: | He sido crackeado. ¿Me ayudarás a |
R: | No. Todo el tiempo me han estado preguntando eso, |
P: | Estoy teniendo problemas con mi Windows, |
R: | Sí. Ve a una línea de comandos |
P: | ¿Dónde puedo encontrar hackers de |
R: | La mejor manera es encontrar un grupo de usuarios (Antes solía decir que no |
P: | ¿Me puedes recomendar libros útiles |
R: | Mantengo un Para una introducción a Python, echa un |
P: | ¿Necesito ser bueno en matemáticas para llegar a ser un |
R: | No. Aunque necesitas ser capaz de pensar en En particular, no necesitarás trigonometría, cálculo o análisis (eso se lo |
P: | ¿Qué lenguaje debería |
R: | XHTML (el dialecto más reciente de HTML) si Pero HTML no es un lenguaje de C es realmente importante, pero es tambien mucho Usuarios de Windows: no os conforméis con |
P: | ¿Qué clase de hardware |
R: | Solía pasar que los ordenadores personales Lo importante al escoger una máquina para Hay una FAQ acerca de la compatibilidad de |
P:. | Deseo contribuir. ¿Puedes ayudarme a |
R:. | No, porque desconozco cuáles son tus Prueba esto. Mira los anuncios de Freshmeat |
P: | ¿Necesito odiar y golpear a |
R: | No, no hace falta. Y no porque Microsoft no sea |
P: | ¿Pero no imposibilitará el software |
R: | Esto parece improbable —hasta ahora la |
P: | P: ¿Cómo puedo iniciarme? |
R: | En otro lugar de esta página incluyo |
Copyright © 2001 Eric S. Raymond
Traducción: Miquel Vidal <>,
a partir de una versión previa realizada
por .
Eric Steven Raymond
<>