You are on page 1of 29

.

.OO
.OOOO
.OOOO'
OOOO' .-~~~~-.
OOO' / (o)(o)
.OOOOOO `O .OOOOOOO. / .. |
.OOOOOOOOOOOO OOOOOOOOOO/\ \____/
.OOOOOOOOOOOOOOOOOOOOOOOO/ \\ ,\_/
.OOOOOOO%%OOOOOOOOOOOOO(#/\ /.
.OOOOOO%%%OOOOOOOOOOOOOOO\ \\ \/OO.
.OOOOO%%%%OOOOOOOOOOOOOOOOO\ \/OOOO.
OOOOO%%%%OOOOOOOOOOOOOOOOOOO\_\/\OOOOO
OOOOO%%%OOOOOOOOOOOOOOOOOOOOO\###)OOOO
OOOOOO%%OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOO%OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
`OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO'
.-~~\OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO'
/ _/ `\(#\OOOOOOOOOOOOOOOOOOOOOOOOOOOO'
/ / \ / `~~\OOOOOOOOOOOOOOOOOOOOOOOOOO'
|/' `\// \\ \OOOOOOOOOOOOOOOOOOOOOOOO'
`-.__\_,\OOOOOOOOOOOOOOOOOOOOO'
jgs `OO\#)OOOOOOOOOOOOOOOOOOO'
`OOOOOOOOO''OOOOOOOOO'
`""""""' `""""""'
Hacker
es alguien que disfruta
jugando con la inteligencia
HACKERS & DEVELOPERS A!A"#$E
A!A"#$E D#!#%AL DE ED#C#&$ E$S'AL SO(RE SO)%*ARE L#(RE+ HACK#$! , PRO!RAAC#&$
-. / 0 1 H A C K E R S & D E V E L O P E R S A ! A " # $ E
P'(L # C AC# &$ (A2 O L# CE$C# A CREA%# VE COO$S A%R# ('C# &$ $O COERC# AL COPAR%# R # !'AL 13 / '$POR%ED
Hackers &
DEVELOPERS
+
C
h
a
n
g
e
A4o / 5 $67ero 00
1/3/83./01
RESPO$SA(LE ED# %OR# AL
Eugenia (a9it
HACKER %EA:
Eugenia (a9it
ar;a 2os< ontes D;a=
ilagros #nfante ontero
Pa>lo (ernardo (araga4o
? cola>oradores
HACKERS & DEVELOPERS A!A"#$E @CHA$!EA 5 ABO / $CERO 00
)ECHA DE P'(L# CAC# &$: 1/ DE SEP%#E(RE DE ./01
L#CE$C#A CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
CREADO CO$ L# (REO))# CE *R# %ER
E$ ES%A ED#C#&$:
Protegiendo !R'(3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 1
CreaciDn de Eaquetes 3de>3333333333333333333333333333333333333333333333333333333333333333333333333333333333 F
Ataque ARP SEoofing: DetectGndolo 7ediante (as9 ScriEting3333333333333333333333333300
Pse#nt: 'na 9erra7ienta de Erogra7aciDn indisEensa>le 3333333333333333333333333333333330H
Entendiendo el cDdigo fuente de los arc9iIos SV! creados con So=i e #nkscaEe330J
La i7Eortancia de estar docu7entado K o=illa DeIeloEer $etLork33333333333333333.1
El softLare ? el Derec9o333333333333333333333333333333333333333333333333333333333333333333333333333333333333 .J
CHA$!E
S ' P L E E $ % O E S P E C # A L
H A C K E R S & D E V E L O P E R S A ! A " # $ E
$'ES%RO COPRO#SO CO$ M'#E$ES AP'ES%A$ AL VERDADERO CA(#O
PAPERS DE E'!E$# A (AH# % ARN A 2OS O O$%ES DN A" # L A!ROS # $)A$%E O$%ERO PA(LO (ER$ARDO , COL A(ORADORES
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
1
Protegiendo !R'(
!R'(+ Eor defecto+ Eer7ite que todos los usuarios
Euedan editar las entradas del 7en6 en el arranque3
Esto es Eara Eoder resta>lecer contrase4as ? otras
tareas3 Sin e7>argo+ si utili=a7os un equiEo
co7Eartido+ es Eosi>le que necesite7os Eroteger el
acceso a la ediciDn de entradas3 Aqu; Iere7os cD7o
9acerlo3
Escrito Eor: ar; a 2os< ontes D; a= UDocente & Progra7adoraV
Estudiante de !rado #ngenier;a en %ecnolog;a de la infor7aciDn3 %<cnico en infor7Gtica de gestiDn3
onitora )PO3 Docente de Erogra7aciDn P?t9on ? Scratc9 Eara ni4os de F50. a4os3 ActiIista del
softLare li>re ? cultura li>re3
*e>s:
(log: 9ttE:WWarc9ninfa3>logsEot3co73esW
Redes soci al es:
%Litter: PontesDi a=
na caracter;stica de !R'( U? otros cargadores de arranqueV+ es que nos EroEorcionan una l;nea de co7andos o un editor Eara
Eoder ajustar los EarG7etros que le Easa7os al kernel 3 Esto es 7u? 6til en ciertos casos+ co7o Eor eje7Elo+ tener la
necesidad de arrancar en un 7odo diferente Uen lugar de grGfico+ en 7odo 7ultiusarioV+ desactiIar alguna oEciDn de alg6n
controlador+ etc3
'
'na de las cosas que nos Eer7ite 9acer es arrancar un int<rErete de Drdenes Us9el l V+ sin necesidad de reali=ar un l ogi n+ oEciDn que
utili=a7os en el art;culo anterior Eara resta>lecer la contrase4a del usuario root+ Eero que ta7>i<n Eode7os utili=ar Eara recuEerar
un siste7a da4ado3
Esto estG 7u? >ien ? es 7u? 6til+ 9asta que co7Earti7os la 7Gquina con otras Eersonas+ nos deja7os el EortGtil en casa de alguien+
nos leIanta7os del Euesto de tra>ajo un 7o7ento+ etc3 En ese caso+ Eodr;a7os tener Ero>le7as+ Eues el arranque que se
real i =a se 9ace con Eer7i sos de usuari o root3
Entonces+ XEor qu< no Iiene Erotegido el gestor de arranqueY En la 7a?or Earte de los casos+ las Eersonas que tienen acceso f;sico al
equiEo+ tienen la Eosi>ilidad de acceder al 7is7o con 76ltiEles 7ecanis7os+ con lo que a4adir una ErotecciDn aqu;+ de entrada+ solo
co7Elica 7Gs la recuEeraciDn del siste7a3 En realidad+ donde se 9ace real7ente necesario Eroteger el arranque es en equiEos
co7Eartidos+ nor7al7ente en lugares de tra>ajo+ donde de>e7os esta>lecer 7u? >ien los Eer7isos ? roles de las diferentes Eersonas
que utili=arGn el 7is7o3
CD7o no Eod;a ser de otra 7anera+ nuestro !R'( nos EroEorciona 7ecanis7os Eara Eroteger esta ediciDn3 El 7ecanis7o Eor defecto
es 7u? restrictiIo: $o Eode7os ejecutar la entrada ? ta7Eoco editarla Uaunque se Euede suaIi=ar esta restricciDnV3 Pero333 XcD7o
Eode7os restringir tanto la ejecuciDn co7o la ediciDn de entradas en el !R'(Y DisEone7os de Iarias oEciones3 E7Ee=ar< Eor la 7Gs
si7Ele de todas3
Lo Eri7ero que de>e7os 9acer es editar el arc9iIo de configuraciDn de !R'(+ /boot/grub/grub.cfg3 Al ErinciEio del arc9iIo+
de>e7os indicar qu< usuarios disEondrGn de Eer7isos Eara ejecutar ? editar las entradas de !R'(3 Esto se 9ace esta>leciendo una
lista de usuarios+ seEaradas Eor co7as+ esEacios o Euntos ? co7as+ de la siguiente 7anera:
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
H
set supersusers="root,mary"
,a tene7os los usuarios que EodrGn ejecutar ? editar las entradas del 7en63 A9ora 9a? que indicar cuGl serG la claIe Eara estos
usuarios3 Ha? que tener en cuenta que no es la claIe de siste7a: El siste7a no 9a arrancado3 Es una claIe esEec;fica Eara !R'(3
Ade7Gs+ aEarte del usuario root+ Eode7os esta>lecer los que quera7os+ sin necesidad de que coincidan con los usuarios reales del
siste7a3 A4adi7os ta7>i<n una entrada Eor cada usuario+ con su claIe+ as; co7o usuarios que no quere7os que ejecuten todas las
entradas+ Eero s; las que esEecifique7os:
password root clave_root
password mary clave_mary
password usuario clave_usuario
A Eartir de aqu;+ sDlo los usuarios root ? 7ar ? EodrGn ejecutar todas las oEciones del 7en6 de !R'(3 Sus claIes serGn cl aIeZroot
? cl aIeZ7ar ?+ resEectiIa7ente3 La 6lti7a l;nea es Eara esta>lecer una claIe a usuari o+ que utili=are7os desEu<s3
Pero333 X$o 9a? algo @raroAY Pues s;+ l as cl aIes estGn esEeci fi cadas en te[to El ano3 Esto+ en un entorno de tra>ajo+ no es
reco7enda>le+ as; que Ia7os a generar un 9as9 Eara ocultar nuestra claIe3 Para ello de>e7os utili=ar un co7ando que nos
EroEorciona !R'(3 Ejecuta7os+ en la l;nea de Drdenes:
grub-mkpasswd-pbkdf2
$os solicitarG que introdu=ca7os una contrase4a ?+ desEu<s+ que la confir7e7os+ deIolIiendo algo si7ilar a esto:
$ grub-mkpasswd-pbkdf2
Introduzca la contrasea!
"eintroduzca la contrasea!
#l $as$ %&'()2 de su contrasea es
grub*pbkdf2*s$a+,2*,----*&2&./+(0122#/.)0+342/3+(#&5,3#-//5#-51,22(2..+)/20/4.3+),+).0(+#,33//
0.40&&&#4-1-)/1/./5520,51+4)4((2+5+2/-5.#.0)0001..33(&#(&+1*,0+,3./-.-0)/#&51221#2-/0),1-2-.)2
#52#2)+#-(45)2++2/,03-&05/(#2#+.5))33-&/5(,32&5(-(202//22/2+0)/+,,.1(.3)#00())51)))+5+2#.0.134
A9ora+ en lugar de Eoner la claIe en te[to Elano en el arc9iIo /boot/grub/grub.cfg+ de>e7os introducir el 9as9 deIuelto e
indicar que la claIe no estG en te[to Elano:
password_pbkdf2 root grub*pbkdf2*s$a+,2*,----*&2&./+(012***
***
%odas las entradas del 7en6 de !R'( estGn Erotegidas3 Aunque+ en ciertas ocasiones+ Euede que nos interese 9a>ilitar la ejecuciDn a
alg6n usuario en Earticular3 Para ello+ en la entrada a la que quera7os 9a>ilitar la ejecuciDn a alg6n usuario que no est< en la lista
superusers+ a4adi7os lo siguiente:
menuentry 64rc$ 7inu8, con 7inu8 core repo kernel6 --class arc$ --class gnu-linu8 --class gnu
--class os $menuentry_id_option 6gnulinu8-core repo kernel-true-2211d2-f-b055-/c/+-01f.-
+52,5-a,0caf6 --users usuario 9 : ;
Si quere7os que la entrada Eueda ser ejecutada Eor cualquier usuario:
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
S
menuentry 64rc$ 7inu8, con 7inu8 core repo kernel6 --class arc$ --class gnu-linu8 --class gnu
--class os $menuentry_id_option 6gnulinu8-core repo kernel-true-2211d2-f-b055-/c/+-01f.-
+52,5-a,0caf6 --unrestricted 9 : ;
En cualquier caso+ aunque todos los usuarios Euedan ejecutar esta entrada+ es decir+ no se Eide claIe Eara ejecutar+ solo los usuarios
esta>lecidos en la lista superusers EodrGn editarla3 Esto es igual Eara el caso anterior+ solo los usuarios indicados en --users
Eueden ejecutar la entrada+ Eero solo los superusers Eueden+ ade7Gs+ editarla3 Con estas oEciones+ Earece que ?a s; es ErGctico3
Desgraciada7ente+ el co7ando gru>5 7kconfi g no soEorta a4adir auto7Gtica7ente la restricciDn de usuarios Eor entrada3 As; que
Eode7os 9acer lo siguiente:
Edita7os el arc9iIo /etc/grub.d/00_e!der ? le a4adi7os la lista de usuarios ? claIes:
cat << #=)
set superusers="root"
password_pbkdf2 root <clave>
password_pbkdf2 usuario, <clave2>
password_pbkdf2 usuario2 <clave2>
***
#=)
Con esto+ tendr;a7os todas las entradas generadas Eor !R'( Erotegidas3 Las entradas en las que desee7os esEecificar a un gruEo
de usuarios o >ien+ que no est<n restringidas+ de>e7os a4adirlas 7anual7ente3 Para ello utili=are7os el arc9iIo
/etc/grub.d/"0_custo#+ donde de>e7os a4adir la entrada corresEondiente+ Eor eje7Elo:
menuentry 64rc$ 7inu8, wit$ 7inu8 core repo kernel unrestricted6 --class arc$ --class gnu-
linu8 --class gnu --class os $menuentry_id_option 6gnulinu8-core repo kernel-true-2211d2-f-
b055-/c/+-01f.-+52,5-a,0caf6 --unrestricted 9
load_video
set gf8payload=keep
insmod gzio
insmod part_msdos
insmod e8t2
set root=6$d-,msdos,6
if ? 8$feature_platform_searc$_$int = 8y @A t$en
searc$ --no-floppy --fs-uuid --set=root --$int-bios=$d-,msdos, --$int-efi=$d-,msdos,
--$int-baremetal=a$ci-,msdos, 2211d2-f-b055-/c/+-01f.-+52,5-a,0caf
else
searc$ --no-floppy --fs-uuid --set=root 2211d2-f-b055-/c/+-01f.-+52,5-a,0caf
fi
ec$o 63argando 7inu8 core repo kernel***6
linu8 BbootBvmlinuz-linu8 root=CCI(=2211d2-f-b055-/c/+-01f.-+52,5-a,0caf rw
clocksource=tsc Duiet splas$
ec$o 63argando imagen de memoria inicial***6
initrd BbootBinitramfs-linu8*img
;
Al ejecutar grub-mkconfig+ nos generarG Eor defecto las entradas que ?a ten;a7os ? estarGn Erotegidas Usolo los usuarios
esEecificados en la lista suEerusers EodrGn editarlas ? ejecutarlasV3 Ade7Gs+ una entrada que EodrG ser ejecutada sin necesidad de
introducir claIes3
)uentes:
9ttEs:WWLLL3gnu3orgWsoftLareWgru>W7anualWgru>39t7l
9ttEs:WWLiki3arc9linu[3orgWinde[3E9EW!R'(
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
F
CreaciDn de Eaquetes 3de>
'n si7Ele script que no requiere 7Gs que un si7Ele
@ejecutarA+ se distri>u?e 7u? fGcil7ente3 Pero Xqu<
sucede con las aElicaciones con gran cantidad de
arc9iIosY So>retodo+ con aquellas aElicaciones donde
un tarball no si7Elifica la tarea de reEartir los
fic9eros que de>an al7acenarse en rutas diIersas3 Sin
dudas+ sa>er crear un Eaquete De>ian+ es la for7a
7Gs segura de crear un instalador Eara nuestra
aElicaciDn3
Escrito Eor: Eugeni a (a9i t U!LAP Hacker & eTtre7e Progra77erV
Eugenia es Arqui tecta de SoftLare+ docente e instructora de tecnolog;as !LAP U!$'WLinu[+
AEac9e+ ?SML+ P?t9on ? PHPV ? Agil e coac9 U'%$V esEeciali=ada en Scru7 ? eTtre7e
Progra77i ng3 ie7>ro de la )ree SoftLare )oundati on+ %9e Li nu[ )oundation ? De>ian
Hackers3 Creadora de E?t9on5Erintr+ EuroEio Engine ? cola>oradora de Vi73 )undadora ? ResEonsa>le
Editorial de Hackers & DeIel oEers aga=i ne3
*e>s:
Cursos de Erogra7aciDn: LLL3cursosdeErogra7acionadistancia3co7
*e> Eersonal: LLL3eugenia>a9it3co7
Redes soci al es:
%Litter W #denti3ca: Peugeni a>a9i t
n ediciones anteriores de Hackers & DeIeloEers aga=ine+ co7entG>a7os acerca de cD7o distri>uir aElicaciones ?Wo 7Ddulos
P?t9on a traI<s del P?t9on Package #nde[ Eara luego instalarlos 7ediante un si7Ele pip install3 #ncluso+ 7Gs
adelante+ estuIi7os Iiendo cD7o se crean las EGginas 7an del anual de !$'WLinu[3 Para continuar con esta serie de Erocesos
>Gsicos que todo Erogra7ador e[Eerto de>e conocer+ 9o?+ en unos Easos 7u? sencillos+ to7are7os nota de cD7o se crean los
arc9iIos *deb
E
PreEarando l a estructura de di rectori os
Lo Eri7ero que se de>e tener >ien en claro+ es cuGl serG la ruta o rutas de destino de la aElicaciDn al 7o7ento de dese7Eaquetar
el 3de> resultante3 %eniendo en claro esto+ se de>e crear la estructura de directorios corresEondiente3 XCD7oY Pri7ero necesita7os
una carEeta donde tra>ajar:
mkdir myproEect
Dentro de esa carEeta+ es donde de>e7os e7ular Uo clonarV las rutas de destino de la aElicaciDn3 Por eje7Elo+ i7agine7os una
aElicaciDn *e> que de>e colocarse en el directorio BvarBwwwBmyapp Eero que ade7Gs+ requiere que en e directorio
BvarBlog se cree un directorio myapp:
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
J
mkdir -p myproEectBvarBwwwBmyapp
mkdir -p myproEectBvarBlogBmyapp
De esta for7a+ la estructura de directorios se Ier;a co7o la siguiente:
myproEectB
FGG var
HGG log
I FGG myapp
FGG www
FGG myapp
El siguiente Easo+ serG coEiar dentro de las carEetas creadas+ todos los arc9iIos que sean necesarios3 Es decir que+ si nuestra
aElicaciDn se encuentra en una carEeta lla7ada ?AEE0Z.Z/+ todo el contenido de esa carEeta+ de>er;a coEiarse dentro
myproEectBvarBwwwBmyapp3
!enerando un arc9i Io de control del Eaquete De>i an
%odo Eaquete De>ian Uarc9iIo 3de>V de>e contener un directorio DEBIAN con sus arc9iIos corresEondientes3 Lo Eri7ero entonces+
serG crear la carEeta $%&'() dentro de nuestro directorio de tra>ajo:
mkdir myproEectB(#&I4J
E[isten 08 ti Eos de arc9i Ios entre los que se @de>enA colocar ? los que se @EuedenA3 Esto significa que 7ientras algunos arc9iIos
serGn o>ligatorios+ otros+ serGn oEcionales a tal Eunto que en 7uc9os casos+ si no son estricta7ente necesarios+ se @de>eA eIitar
colocar dic9os arc9iIos en el Eaquete3
La lista de arc9iIos o>ligatorios Euede o>tenerse junto a su detalle corresEondiente+ ingresando en
9ttE:WWLLL3de>ian3orgWdocW7anualsW7aint5guideWdreq3es39t7l 7ientras que la de los oEcionales+ se encuentra en
9ttE:WWLLL3de>ian3orgWdocW7anualsW7aint5guideWdot9er3es39t7l3
Entre los arc9iIos que se @de>enA colocar+ se encuentra el arc9iIo control quien contiene ciertas directiIas que serGn utili=adas
Eor gestores de Eaquetes co7o apt+ aptitude ? dpkg 5entre otros5+ al 7o7ento de instalar Uo 7ejor dic9o+ @dese7EaquetarAV el
3de>3
Las directiIas co7Eletas del arc9iIo control+ se encuentran descritas en el CaE; tul o S del anual de Pol ; ti cas de De>i an+ el
cual Euede ser consultado desde 9ttE:WWLLL3de>ian3orgWdocWde>ian5Eolic?Wc95controlfields39t7l3
El arc9iIo control se encuentra di Ii di do en dos >l oques : el Eri7ero+ contiene infor7aciDn Eura ? e[clusiIa7ente so>re los
fuentes del Eaquete Uaquellos arc9iIos requeridos Eara ar7ar ? construir la aElicaciDn final que utili=arG el usuarioV+ 7ientras que el
segundo+ la contiene so>re el >inario de la aElicaciDn en s; 7is7a Ues decir+ la aElicaciDn que final7ente serG utili=adaV3
De las di recti Ias del arc9i Io DE(#A$Wcontrol + las 7Gs interesantes U? casi ineludi>lesV+ son las siguientes:
Package
$o7>re del >inario3 Sigue las 7is7as reglas de no7>re que la directiIa source del >loque 03
Pri ori t?
#ndica la i7Eortancia que la instalaciDn del Eaquete i7Elica Eara el usuario3 Los diferentes niIeles de Erioridades de un Eaquete
De>ian+ Eueden ser consultado en 9ttE:WWLLL3de>ian3orgWdocWde>ian5Eolic?Wc95arc9iIe39t7lQs5Eriorities3 $o o>stante+ los 7is7os no
necesitan ser de7asiado e[Elicados ?a que Eoseen no7>res su7a7ente descriEtiIos:
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
\
reDuired, important, standard, optional, e8tra*
Secti on
Rrea de aElicaciDn en la cual se 9a clasificado el Eaquete3 Las secciones Eueden ser:
admin, cli-mono, comm, database, debug, devel, doc, editors, education, electronics, embedded,
fonts, games, gnome, gnu-r, gnustep, grap$ics, $amradio, $askell, $ttpd, interpreters,
introspection, Eava, kde, kernel, libdevel, libs, lisp, localization, mail, mat$,
metapackages, misc, net, news, ocaml, oldlibs, ot$erosfs, perl, p$p, pyt$on, ruby, science,
s$ells, sound, tasks, te8, te8t, utils, vcs, video, web, 8,,, 8fce, zope
ai ntai ner
$o7>re ? correo electrDnico del desarrollador original3 De>e guardar el for7ato:
Jombre 4pellido <usuarioKdominio*foo>
Versi on
VersiDn del Eaquete >inario UEara entender 7ejor co7o Iersionar de 7anera estGndar una aElicaciDn+ te reco7iendo leer el Ane[o #
al final de este art;culoV3
Arc9i tecture
!eneral7ente suele utili=arse co7o Ialor any+ cuando el >inario se 9a escrito en lenguaje co7Eilado ? all+ si se tratase de un
lenguaje interEretado3 $o o>stante+ una referencia co7Eleta Euede o>tenerse en 9ttE:WWLLL3de>ian3orgWdocWde>ian5Eolic?Wc95
controlfields39t7lQs5f5Arc9itecture3
Descri Eti on
DescriEciDn de la aElicaciDn+ diIidida en dos sectores: descriEciDn corta UEri7era l;neaV ? descriEciDn larga Ul;neas siguientesV3 Los dos
sectores de descriEciDn+ de>en contener el siguiente for7ato:
descripciLn corta de $asta 2- caracteres
descripciLn larga, tabulada con espacios en blanco
Due ademMs, puede ser de varias lNneas*
DeEends+ Reco77ends+ Suggests
u? descriEtiIos los no7>res de estas directiIas+ indicarGn de cuGles Eaquetes deEende la aElicaciDn ? cuGles son reco7endados ?
sugeridos Eara el 7ejor funciona7iento de <sta3
Ho7eEage
La 'RL del Eaquete ? Ereferente7ente se reco7ienda colocar aquella de la cuGl el Eaquete Eueda ser descargado3
'n ej e7El o co7Eleto del arc9iIo DEBIAN/control+ Eodr;a Ierse de la siguiente 7anera:
%ackage! europiocli
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
8
%riority! e8tra
Oection! p$p
Paintainer! #ugenia &a$it <eba$itKmember*fsf*org>
Qersion! 5*2*,.
4rc$itecture! all
(escription! 3ommand 7ine Interface para #uropio #ngine
Interfaz de lNnea de comandos Due permite agilizar tareas de comunes
en #uropio #ngine, como crear o eliminar mLdulosA agregar modelos,
vistas y controladores, etc*
(epends! p$p+ R>=+*5*,-S, p$p+-cli R>=+*5*,-S, mysDl-server R>=+*+*-S
Tomepage! $ttp!BBeuropio*orgBsomeBdirBtoBdownloadBcurrent-package
Por faIor+ nDtese que las deEendencias son seEaradas Eor una co7a seguida de un esEacio en >lanco3
Entonces+ crea7os el arc9iIo control con el contenido anterior+ ree7Ela=ando el Ialor de cada directiIa seg6n corresEonda:
touc$ myproEectB(#&I4JBcontrol
Constru?endo el 3 de>
Para construir el Eaquete 3de> se utili=arG dp*g3 Para eIitar el uso de f!*eroot al 7o7ento de construir el Eaquete con dp*g es
necesario 7odificar el EroEietario de los arc9iIos de for7a recursiIa:
sudo c$own -" root!root myproEectB
Si dpkg-dev no se encuentra instalado+ de>e instalarse ?a que serG necesario Eara la construcciDn:
sudo apt-get install dpkg-dev
Para construir el Eaquete+ solo 9a>rG que situarse en el niIel suEerior del directorio de tra>ajo ? ejecutar:
dpkg -b myproEect destino*deb
Se Euede Ero>ar el Eaquete utili=ando la oEciDn 5i de dEkg:
dpkg -i mipaDuete*deb
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
0/
Ane[o # : EstGndar Eara asi gnar n67eros de Iersi ones
El n67ero de IersiDn de un SoftLare se encuentra confor7ado Eor cuatro co7Eonentes:
a?or ? 7enor n67ero de IersiDn
a?or ? 7enor n67ero de reIisiDn
a?or n67ero de Iersi Dn
El 7a?or n67ero de IersiDn+ de>e ser 7odificado cuando el ca7>io 9ec9o a la aElicaciDn+ requiere ca7>iar todo el Eaquete3
enor n67ero de Iersi Dn
Oste+ de>e ser 7odificado cuando se reali=an ca7>ios significatiIos en la aElicaciDn que requieran 7odificar una Earte i7Eortante
del Eaquete Eero no todo3
a?or n67ero de reIi si Dn
Ante cualquier ca7>io de sentido ?Wo significado UEor 7Gs 7;ni7o que seaV de la aElicaciDn+ el n67ero de reIisiDn 7a?or es
7odificado3
enor n67ero de reIi si Dn
Se 7odifica ante ca7>ios 7enores que general7ente tienen que Ier con Eeque4as cuestiones est<ticas o correcciones de errores de
7ecanografiado+ Eero que no i7Elican un ca7>io de sentido en la aElicaciDn3
Solo los 1 Eri7eros co7Eonentes del n67ero de IersiDn son los que i7Eortan ? tienen un Ierdadero significado3 )rente a
n67eros de IersiDn co7o .303/3/ se Erefiere utili=ar .303/ directa7ente3
En entregas Eosteriores+ intentare7os a>arcar el estudio de otros arc9iIos del directorio DE(#A$+ Erocurando a9ondar ade7Gs+ en la
ejecuciDn de ScriEts Eost5instalaciDn3
S# EL E$LACE DE LA #A!E$ $O )'$C#O$A+ POR )AVOR+ #$!RESA LA S#!'#E$%E 'RL: 9ttE:WWLLL39d7aga=ine3orgWdonar
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
00
Ataque ARP SEoofing: DetectGndolo
7ediante (as9 ScriEting
Cualquiera Euede ser I;cti7a de un ataque de ARP
SEoofing+ detecta este ataque 7ediante (as9
ScriEting3 Es i7Eortante entender co7o funciona este
tiEo de ataque Eara Eoder Erotegerse de <l3
Escrito Eor: Pa>l o !on=Gl e= P<re= UProject anagerV
#ngeniero %<cnico en #nfor7Gtica de Siste7as e #ngeniero en #nfor7Gtica Eor 'R2C3 Project anager en
00Pat9s+ e7Eresa Eerteneciente a %elefDnica Digital3 Pre7io E[traordinario )in de Carrera Eor la 'R2C
en #ngenier;a %<cnica en #nfor7Gtica de Siste7as en .//83 Pre7io al 7ejor e[Eediente de su Ero7ociDn
Eor la Escuela %<cnica SuEerior de #ngenier;a #nfor7Gtica de la 'R2C en .//83
)undador de )lu5Project3 Autor de: etasEloit Eara Pentesters ? Pentesting con Kali3
*e>s:
LLL3flu5Eroject3co7
Redes soci al es:
%Litter: PEa>l ogon=al e=Ee
n ataque ARP SEoofing es una de las t<cnicas 7Gs utili=adas Eara interceEtar una co7unicaciDn en redes LA$+ Local Area
$etLork3 %odos los disEositiIos de una red de ordenadores que utili=an direcciona7iento #PIH se co7unican 7ediante el niIel
de enlace+ ?a que se encuentran en la 7is7a red LA$3 Los disEositiIos necesitan conocer la direcciDn AC o direcciDn f;sica de
los otros equiEos de la red Eara Eoder enIiar la infor7aciDn entre dic9as 7Gquinas3 El Erotocolo ARP+ Address Resolution Protocol+
Eer7ite a Eartir de una direcciDn #P conocida descu>rir cuGl es la direcciDn f;sica asociada3 Los disEositiIos de una red disEonen de
una ta>la ARP+ donde se asocian las direcciones #P a direcciones f;sicas3 El Erotocolo disEone de dos tiEos acciones: request ? reEl?3 En
la acciDn request un disEositiIo no conoce la direcciDn f;sica asociada a una direcciDn #P Eor lo que enI;a un Eaquete request de ARP a
todos los disEositiIos de la red+ es decir reali=a >roadcast+ Ereguntando Eor una direcciDn #P3 SerG la 7Gquina con dic9a direcciDn #P la
6nica que contestarG al disEositiIo que generD el request3 Dic9a 7Gquina contestarG con un Eaquete de reEl? indicando su direcciDn
f;sica3
'
Ej e7El o de enIenena7i ento de ARP
'n ataque de ARP SEoofing es deno7inado an #n %9e iddle o #% ? Eer7ite a un usuario 7alicioso situarse en 7edio de una
co7unicaciDn en una red de Grea local3 El atacante+ al colocarse en 7edio de la co7unicaciDn Euede leer+ in?ectar o 7odificar
infor7aciDn de la co7unicaciDn entre dos 7Gquinas+ sin que ninguna de <stas cono=ca dic9a situaciDn3
En otras Eala>ras+ el atacante se colocarG entre el equiEo A ? el equiEo (3 Cuando el equiEo A enI;e trGfico al equiEo (+ dic9o trGfico
serG real7ente enIiado al equiEo del atacante3 El atacante reenIiarG el trGfico al equiEo (+ Eara que nadie Eierda infor7aciDn en la
co7unicaciDn+ Eor lo que nadie se darG cuenta de lo que sucede3
Se EroEone un eje7Elo teDrico Eara entender cD7o funciona el enIenena7iento:
- DirecciDn #P Router: 08.30F\3030 AC: CA:)E:CA:)E:CA:)E
- DirecciDn #P V;cti7a: 08.30F\30311 AC: )A:(A:DA:)A:(A:DA
- DirecciDn #P atacante 08.30F\3031S AC: AA:((:AA:((:AA:((
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
0.
SuEonga7os que la ta>la ARP del router tiene el siguiente asEecto:
#P Address AC Address
08.30F\30311 )A:(A:DA:)A:(A:DA
08.30F\3031S AA:((:AA:((:AA:((
La ta>la ARP de la I;cti7a tiene+ Eor eje7Elo+ el siguiente asEecto:
#P Address AC Address
08.30F\3030 CA:)E:CA:)E:CA:)E
El atacante enIiarG dos Eeticiones de tiEo reEl?+ una Eara el router ? otra Eara la I;cti7a3 El contenido del Eaquete es el siguiente:
- La EeticiDn reEl? que el atacante enI;a al router indica que la direcciDn AC de la I;cti7a 9a ca7>iado+ indicGndole que la
nueIa direcciDn AC es la del disEositiIo del atacante3 De esta 7anera el router @EiensaA que la direcciDn AC Eertenece al
equiEo de la I;cti7a3 Se Euede o>serIar co7o a9ora 9a? dos entradas en la ta>la con la 7is7a direcciDn f;sica3 Este 9ec9o es
un indicador de que algo e[tra4o sucede en la ta>la ARP3 La ta>la ARP del router+ tras el enIenena7iento queda de la
siguiente 7anera:
-
#P Address AC Address
08.30F\30311 AA:((:AA:((:AA:((
08.30F\3031S AA:((:AA:((:AA:((
- La EeticiDn reEl? que el atacante enI;a a la I;cti7a le indica que la direcciDn AC del router 9a ca7>iado+ indicGndole que la
nueIa direcciDn AC es la del disEositiIo del atacante3 La ta>la ARP del router+ tras el enIenena7iento queda de la
siguiente 7anera:
#P Address AC Address
08.30F\3030 AA:((:AA:((:AA:((
De esta 7anera todos los enI;os que realice la 7Gquina de la I;cti7a a #nternet+ lDgica7ente tendrGn que circular a traI<s del router
o gateLa?+ circularGn Eor la 7Gquina del atacante ? IiceIersa3
El atacante EodrG Iisuali=ar las credenciales que circulan 7ediante Erotocolos no seguros co7o H%%P o )%P+ EodrG reconstruir
i7Ggenes o arc9iIos de una co7unicaciDn entre la I;cti7a e #nternet+ EodrG reali=ar ro>os de sesiones 7ediante la interceEtaciDn de
cookies ? suElantaciDn de <stas+ entre otras 7uc9as cosas3 La t<cnica de ARP SEoofing es la >ase a otros 7uc9os ataques de redes que
se Eueden reali=ar3
Creaci Dn de Scri Et en (as9 Eara detectarl o
El cDdigo que se e[Eone a continuaciDn Eer7ite al usuario indicar cuGl es la direcciDn f;sica de su gateLa?+ la direcciDn #P de <ste ? la
interfa= de red Eor la que se naIega en #nternet3 El scriEt Ia a @IigilarA que en la ta>la ARP el Ialor de la direcciDn f;sica de dic9a #P
no ca7>ie3 En caso de que 9a?a una EeticiDn reEl? que indique dic9o ca7>io notificarG dic9a situaciDn al usuario ? @tu7>arGA la
interfa= Eara que la infor7aciDn no Eueda ser interceEtada Eor el atacante3
UVBbinBbas$

if ? $U -ne 5 @
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
01
t$en
ec$o "Csage *Bmitm*s$ <mac address> <ip router address> <network interface>"
exit
fi

mac=$,
router=$2
interface=$5
w$ile true
do
entrada"outer=$R arp -a W grep $router W cut -d6 6 -f/ S
if ? $entrada"outer V= "" @
t$en
if [ $mac != $entradaRouter ]
t$en
ec$o "?X@ Yarning! 4tento la Pac $a cambiado"
ec$o "?X@ (esconectado interface $interface"
ifconfig $interface down
break
fi
fi
sleep +
done
'na Ie= se codifica el scriEt se de>e configurar co7o ejecuta>le+ Eara ello se 9ace uso del co7ando c97od3
pabloKpablo-Qirtual&o8!Z$ c$mod uX8 detectPitm*s$
pabloKpablo-Qirtual&o8!Z$ ls -l detectPitm*s$
-rw8rw-r-- , pablo pablo 5+1 2-,5--1-2. 2,!+2 detectPitm*s$
En caso de que los EarG7etros de entrada solicitados no sean EroEorcionados+ el scriEt 7ostrarG infor7aciDn so>re su uso ? los
EarG7etros requeridos: direcciDn AC que no de>e ca7>iar+ direcciDn #P del disEositiIo que no de>e ca7>iar ? la interfa= Eor la que
se tiene la co7unicaciDn con la red3
pabloKpablo-Qirtual&o8!Z$ sudo *BdetectPitm*s$
Csage *Bmitm*s$ <mac address> <ip router address> <network interface>
pabloKpablo-Qirtual&o8!Z$ sudo *BdetectPitm*s$ d-!ae!ec!d+!1+!ac ,02*,21*,*, et$,
?X@ Yarning! 4tento la Pac $a cambiado
?X@ (esconectado interface et$,
pabloKpablo-Qirtual&o8!Z$
Cada cinco segundos el scriEt co7Erue>a la ta>la ARP con los EarG7etros indicados anterior7ente+ en caso de encontrarse que la
direcciDn AC 9a ca7>iado se notificarG Eor Eantalla+ se reali=arG un @doLnA so>re la interfa= de red ? se finali=arG la ejecuciDn del
scriEt3
Se reco7ienda utili=ar aElicaciones que 7onitoricen la ta>la ARP Eara Iisuali=ar ano7al;as en <sta o en el co7Eorta7iento de la red+
Eor eje7Elo de7asiados reEl? en un Eer;odo de tie7Eo Eeque4o3 Algunos Erofesionales Erefieren sus Eeque4os trucos ? scriEts Eara
lleIar a ca>o estas acciones3
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
0H
Pse#nt: 'na 9erra7ienta de
Erogra7aciDn indisEensa>le
En la ediciDn $o3 0 de H&D+ 7i co7Ea4era ilagros #nfante 9i=o
una e[celente introducciDn a esta estuEenda 9erra7ienta de
Erogra7aciDn en su art;culo: ]Pse#nt: 'na #nIitaciDn Eara entrar
en el 7araIilloso 7undo de la Erogra7aciDn^
0
3 En esta ocasiDn la
e[Elorare7os a Erofundidad ? Iere7os que su utilidad no
sola7ente se centra e[clusiIa7ente en el ca7Eo didGctico+ sino
que ta7>i<n nos Euede resultar 7u? EroIec9osa Eara la
reali=aciDn de Erue>as de conceEto ? docu7entaciDn de Ero?ectos
entre otros EroEDsitos3
Escrito Eor: ari o # IGn RuIal ca>a UProfesional %<cnico en #nfor7GticaV
ario #IGn RuIalca>a Ua3 k3 a3 PerseoV es estudiante de #ngenier;a en Co7EutaciDn+ Profesional %<cnico
en #nfor7Gtica ? Cofundador de _` DesdeLinu[3 'suario ? a7ante de !$'WLinu[+ idealista+ entusiasta ?
defensor del SoftLare ? Cultura Li>rea actiIista ? >logger3 Linu[ user: SHJHF\3
*e>s:
LLL3Eerseos>log3co7
Redes soci al es:
%Litter W #denti3ca: PicaroEerseo
in lugar a dudas+ el Eroceso de for7aciDn Eor el que tiene que Easar cualquier estudiante o entusiasta de la ingeniera de
softLare es largo ? Eaulatino3 Durante dic9o Eroceso se >usca desarrollar las 9a>ilidades >Gsicas necesarias Eara co7en=ar a
crear o dise4ar Eeque4os algorit7os que resuelIan de 7anera satisfactoria ciertos Ero>le7as esEec;ficos+ siendo los
di agra7as de fl uj o ? el EseudocDdi go las 9erra7ientas 7Gs utili=adas dentro del Earadig7a de la Erogra7aciDn estructurada o
7odular3 Pero afront<7oslo+ su naturale=a e7E;rica las IuelIe Eoco EoEulares o si7Ele7ente @tediosasA entre los e[Eertos ?Wo
futuros desarrolladores llegando a ser infraIaloradas o ignoradas Eor co7Eleto3
S
De>ido a lo anterior7ente e[Euesto+ el o>jetiIo ErinciEal de PSe#nt es EroEorcionar las 9erra7ientas necesarias Eara que el usuario
centre su atenciDn e[clusiIa7ente en los conceEtos funda7entales del dise4o de algorit7os+ Erescindiendo del conoci7iento EreIio
de alg6n lenguaje de Erogra7aciDn as; co7o ta7>i<n+ el Eoder o>serIar su funciona7iento de for7a ErGctica3 Otra Ientaja es que
una Ie= que 9a sido i7Ele7entado el algorit7o co7o una aElicaciDn este Eueda for7ar Earte de su docu7entaciDn3
XMu< es PSe# ntY
PSe#nt
.
UPSeudo #nt<rEreteV es una aElicaciDn 7ultiElatafor7a U!$'WLinu[ ? siste7as EriIatiIosV ? distri>uida co7o softLare li>re
>ajo licencia !PL+ que ofrece un entorno i ntegrado de desarrol l o
1
U#DEV+ el cual estG for7ado Eor: un editor de te[tos+ editor
de diagra7as de flujo+ int<rErete ? deEurador Ude>uggerV3 Aunado a lo anterior+ Pse#nt ta7>i<n Eer7ite el uso de Eerfiles e inclu?e
una e[tensa docu7entaciDn3
0 9ttE:WWLLL39d7aga=ine3orgWY7aga=inebHackersAndDeIeloEers&nu7b0
. 9ttE:WWEseint3sourceforge3netWslideWEseint39t7l
1 9ttEs:WWes3LikiEedia3orgWLikiWEntornoZdeZdesarrolloZintegrado
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
0S
La aElicaciDn es >astante rGEida ? ligera ?a que consu7e una 7;ni7a cantidad de 7e7oria RA U0HH k( aEro[i7ada7enteV ? la
aElicaciDn co7Eleta no so>reEasa los S ( en esEacio en disco duro3 Estas caracter;sticas lo 9acen ideal Eara equiEos Eoco Eotentes o
antiguos3
Otro gran acierto Eor Earte de Pse#nt es el EroEorcionar una interfa= sencilla+ lo cual le >rinda una i7agen de e[tre7a si7Elicidad de
uso Uque de 9ec9o lo esV en contraEartida a lo que Eodr;a7os esEerar de un clGsico #DE Uuna Ientana so>recargada de oEciones+
7en6s ? >arras de 9erra7ientas+ sin adentrarnos en el consu7o de recursosV3 Por otra Earte+ las diIersas funcionalidades se
encuentran 7u? >ien distri>uidas Eor toda la Ientana de la aElicaciDn+ sin que lleguen a resultar intrusiIas3
Edi tor de te[to
Ade7Gs de las t;Eicas caracter;sticas EroEias de un editor de te[tos Ure9acer+ des9acer+ >uscar+ ree7Ela=ar+ i7Eri7ir arc9iIo+ arc9iIos
Eor Eesta4as+ 7ostrar el n67ero de l;nea+ entre otrasV ta7>i<n Eosee las siguientes funcionalidades:
VerificaciDn+ resaltado+ autoco7Eletado de sinta[is e indentaciDn
H
auto7Gtica de EseudocDdigo3
%a7>i<n cuenta con la Eosi>ilidad de e[Eortar directa7ente el EseudocDdigo a cDdigo H%L con coloreado de sinta[is o a
cDdigo Ccc Uactual7ente esta funcionalidad a6n se encuentra en fase e[Eeri7entalV3
Los arc9iIos creados en Pse#nt se guardan co7o arc9iIos de te[to Elano utili=ando la e[tensiDn 3Esc+ Eor lo que Eueden a>rirse con
cualquier aElicaciDn que ad7ita este for7ato3
Docu7entaci Dn
Pse#nt Eone a nuestra disEosiciDn una Iasta docu7entaciDn 7is7a que Eode7os consultar en todo 7o7ento+ ?a sea que desee7os
o>tener a?uda so>re el funciona7iento del Erogra7a o acerca de las ErinciEales caracter;sticas del EseudocDdigo3 %a7>i<n es Eosi>le
o>tener el listado de OEeradores ? )unci ones arit7<ticosWlDgicos U7en6 lateral i=quierdoV o consultar la A?uda RGEi da US9ift
c )0V Eara o>tener 7Gs infor7aciDn acerca de alguna e[EresiDn o estructura de control deter7inada3
Dentro de la docu7entaciDn ta7>i<n es Eosi>le encontrar algunos eje7Elos de algorit7os co7o: conIertir n67eros enteros a
notaciDn ro7ana+ el juego de %a%e%i ? las torres de Hanoi3
Edi tor de di agra7as de fl uj o
Contraria7ente a lo que se Eodr;a llegar a Eensar+ a7>os editores no son indeEendientes el uno del otro ?a que tra>ajan de for7a
conjunta en el dise4o del algorit7o+ es decir que Euede dise4arse el algorit7o a traI<s de EseudocDdigo ? o>tener su reEresentaciDn
grGfica de for7a auto7Gtica co7o diagra7a de flujo o co7o diagra7a de $assi5S9neider7an
S
Uta7>i<n conocido co7o diagra7as de
C9aEinV ? IiceIersa3 'na Ie= o>tenido el diagra7a de flujo Euede escalarse ?Wo e[Eortarse co7o i7agen P$! o (P3
# nt<rErete
PSe#nt incorEora un int<rErete de EseudocDdigo Uen esEa4olV el cual se Erocesa co7o si se tratara de alg6n lenguaje de Erogra7aciDn
de alto niIel UC+ Ccc+ Pascal+ etc3V3
DeEurador Ude>uggerV
La ErinciEal finalidad de este co7Eonente del #DE es la de e[a7inar el EseudocDdigo en >usca de errores de sinta[is o lDgicos+ una
Ie= Ialidado darG Easo a la ejecuciDn del algorit7o3
'n asEecto i7Eortante es que el deEurador cuenta con la Eosi>ilidad de ejecutar el algorit7o Easo a Easo+ algo >astante 6til Eara
Eoder darle segui7iento al control de flujo dentro de nuestro algorit7o as; co7o el Eoder efectuar Erue>as de escri tori o3 La
infor7aciDn arrojada Eor el deEurador es de lo 7Gs Iariada ?a que Eodre7os Ier en tie7Eo real el contenido de Iaria>les ? otros
tiEos de datos co7o arreglos o Iectores3 Por si esto fuera Eoco+ Pse#nt cuenta con un @7odo esEecialA donde el int<rErete e[Elica con
lujo de detalles que acciones se estGn reali=ando en el Easo actual3
H 9ttEs:WWes3LikiEedia3orgWLikiW#ndentacidC1d(1n
S 9ttEs:WWes3LikiEedia3orgWLikiWDiagra7aZ$assi5S9neider7an
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
0F
El uso tanto de un int<rErete co7o de un deEurador es >astante significatiIo no solo Eor lo que ello reEresenta+ sino que ta7>i<n
resulta ser una introducciDn al uso de este tiEo de 9erra7ientas que se e7Elean en otros #DEes esEec;ficos Eara lenguajes de
Erogra7aciDn de alto niIel3
Perfi l es
Pse#nt cuenta con la funcionalidad de Eer7itir la Eersonali=aciDn o creaciDn de Iarias reglas Eara la utili=aciDn del EseudocDdigo
UEerfilesV3 Algunas de estas 7odificaciones son:
Esta>lecer la declaraciDn de Iaria>les co7o o>ligatorio3
$o Eer7itir el uso de Iaria>les u otras estructuras de datos sin iniciali=ar3
Requerir el uso del @aA co7o deli7itador de e[Eresiones3
De for7a Eredeter7inada+ la aElicaciDn inclu?e Iarios Eerfiles EroEorcionados Eor escuelas ? uniIersidades que lo 9an adoEtado
co7o 9erra7ienta didGctica3
# nstal aci Dn
Actual7ente no e[isten Eaquetes oficiales Eara las diIersas distri>uciones !$'WLinu[ URP+ DE(+ etc3V Eor lo que es necesario
descargar el arc9iIo 3tg= directa7ente desde su EGgina oficial
F
3 'na Ie= descargado dic9o arc9iIo+ >asta con desco7Eri7irlo ?
ejecutar el arc9iIo L[PSe#nt+ esto lan=arG la aElicaciDn ? crearG un acceso directo en nuestro 7en6 de aElicaciones de nuestra
distri>uciDn+ Eosterior7ente Euede ejecutarse directa7ente desde a9;3
PSe#nt se encuentra en constante desarrollo Eor lo que sie7Ere es reco7enda>le estar al tanto de las actuali=aciones 7is7as que
aEortan correcciones de errores ? nueIas caracter;sticas o funcionalidades3 En su EGgina de contacto
J
se Euede encontrar 7aterial
so>re EseudocDdigo ? Erogra7aciDn ade7Gs de contar con la Eosi>ilidad de reali=ar reEortes de errores+ sugerencias u oEiniones3
F 9ttE:WWEseint3sourceforge3netWinde[3E9EYEagebdescargas3E9E
J 9ttE:WWEseint3sourceforge3netWinde[3E9EYEagebcontacto3E9E
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
0J
Actual7ente+ los usuarios de SoftLare Li>re cuentan
con 9erra7ientas grGficas co7o #nkscaEe ? So=i Eara
la reali=aciDn de Eresentaciones en 7odo Iisual+ cu?o
resultado final se >asa en cDdigo 0//d declaratiIo3 En
esta ediciDn+ ilagros nos introduce en el cDdigo
fuente de estos arc9iIos SV! ? nos a>re el ca7ino a
lograr una ErecisiDn e[acta tanto en la di7ensiDn
co7o en la ani7aciDn de los ele7entos que co7Eonen
la EresentaciDn3
Escrito Eor: i l agros Al essandra # nf ante ontero UEst3 #ng3 #nfor7GticaV
Estudi ante de # ngeni er;a # nfor7Gtica 3 ie7>ro de la co7unidad de softLare li>re Lu7en9ack3
ie7>ro del equiEo de traducciDn al esEa4ol de !$OE3 AEasionada Eor el desarrollo de softLare+
tecnolog;a ? gadgets3 Defensora de tecnolog;as >asadas en softLare li>re ? de cDdigo a>ierto3
*e>s:
(log: LLL37ilale3net
Redes soci al es:
%Litter: P7i l al e
[isten 7uc9as 9erra7ientas que Eer7iten a los usuarios de SoftLare Li>re reali=ar Eresentaciones+ Eero 7uc9as de ellas+ les
ter7inan resultando un tanto a>urridas ? les quitan la li>ertad de Elas7ar sus ideas ? creatiIidad a un cien Eor ciento3 Sin
e7>argo+ los usuarios 9an logrado 9allar una soluciDn Eara ello+ 7ediante una co7>inaciDn que les Eer7ite crear diIertidas
Eresentaciones a4adi<ndole un toque Eersonal ? ade7Gs causando 7uc9o i7Eacto en quien las Ia?a a Ier3 Se trata de #nkscaEe ? el
co7Ele7ento So=i3
E
# nkscaEe
Este Eoderoso editor de grGficos Iectoriales es una de las 7ejores 9erra7ientas que e[isten3 Se caracteri=a Eor ser una gran
alternatiIa Eara lograr resultados incre;>lesa una de las ErinciEales caracter;sticas+ es el uso del estGndar de la *1C+ el for7ato de
arc9iIo de grGficos Iectoriales redi7ensiona>les USV!V3 Este for7ato es un l enguaj e de 7arcado Eara grGfi cos en dos
di 7ensi ones que nos Eer7itirG 7anejar i7Ggenes co7o ele7entos geo7<tricos Iectoriales ade7Gs de 7aEa de >its ? te[to3
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
0\
SV! Eer7ite la redi7ensiDn de una i7agen al ta7a4o sin E<rdida de calidad3
$o estG de7Gs indicar que al ser un Ero?ecto oEen source+ si estGs interesado en inIolucrarte ? cola>orar+ Euedes 9acerlo 7ediante el
reEorte de >ugs+ registrando un >lueErint ? 7Gs
\
3
So=i
So=i
8
es una e[tensiDn de #nkscaEe la cual+ en co7>inaciDn con <ste+ dan al usuario la oEortunidad de 9acer 7agia con las
Eresentaciones3 Esta 9erra7ienta estG >asada de estGndares a>iertos ? distri>uida >ajo licencia !PL 13/3 Las Eresentaci ones
resul tantes son arc9i Ios SV!+ en los cuales una secuencia de 7arcos reEresentadas Eor rectGngulos+ definirGn las regiones que
contendrGn todos los ele7entos que sean colocados en el esEacio de tra>ajo3
Se Euede decir que So=i es un EDster donde se colocan ele7entos li>re7ente ? luego de ello+ 7ediante acerca7ientos+ rotaciones ?
de7Gs+ se Euede enfocar todo lo que se desee3 , adiIinen+ Xqu< caracter;stica le da otro Elus a esta e[tensiDnY+ Eues+ que desde
cualquier naIegador co7Eati>le
0/
Euedes Iisuali=ar la EresentaciDn Usin necesidad de instalar ning6n co7Ele7ento 7GsV3
$ueIa7ente+ al ser un Ero?ecto li>re ? si te sientes interesado Eor contri>uir+ no dudes en inIolucrarte+ reEortando un Ero>le7a o
EroEoniendo una nueIa caracter;stica
00
3
# nstal aci Dn
Lo Eri7ero Eor 9acer es instalar el editor #nkscaEe ? la e[tensiDn so=i Eor seEarado ? en dic9o orden+ Eara eIitar conflictos de
deEendencias:
sudo apt-get install inkscape
sudo apt-get install sozi
Si se desea Ero>ar la reali=ar de una EresentaciDn sencilla a 7odo de eje7Elo+ una Ie= a>ierto #nkscaEe+ se accede al 7en6
Arc9iIo $ueIo desktoEZ\//[F// Eara co7en=ar la creaciDn3
A Eesar de que el SV! final tiene co7o resultado una sucesiDn de diaEositiIas+ el tra>ajo se reali=a en una sola 9oja3 Es i7Eortante
que conte7os co7o 7;ni7o con dos caEas+ ?a que una de ellas contendrG todos los ele7entos UgrGficos+ te[tos+ etcV ? la otra caEa
serG la de control o ani7aciDn3 Lo que esto Eer7ite+ es seEarar el Elano donde se tiene los o>jetos ? Eor otro lado+ los rectGngulos
que Ian a reEresentar cada una de las Eantallas3
CaEa de conteni do: DesEu<s de colocar todos nuestros ele7entos se de>e ir al 7en6 %ra?ecto O>jeto a tra?ecto+ lo
que significa que todo se 9a conIertido a Iector UEat9V3 ,a que si no se reali=a este ca7>io no se EodrG Iisuali=ar+ Eor
eje7Elo+ si el te[to no se conIierte a Iector+ se IerG la Eantalla de ani7aciDn Eero no lo que dice3 De>o recalcar algo 7u?
i7Eortante+ cuando inkscaEe conIierte a Iector a los ele7entos+ no i7Eorta el grado al que nos acerque7os+ lo real7ente
i7Eortante es que ?a es un Iector ? ?a no Eode7os editar el te[to Usi fuera el casoV+ si luego se desea editar esos ele7entos+
nos lleIa7os la sorEresa de que a9ora se editan co7o i7Ggenes ? Eode7os darle algunas for7as que si7ulen un ca7>io o
efecto3
Colocar todos los ele7entos que se quieran 7ostrar ? finali=ado ello+ e7Ee=ar a a4adirle ani7aciDn3
CaEa de control o ani 7aci Dn: Se e7Eie=a a 7arcar el orden de las diaEositiIas con recuadros UrectGngulos de
EreferenciaV+ se de>e colocar tantos rectGngulos co7o n67ero de Iistas se desee3 Se guardarG cada cuadro co7o si fuera una
\ 9ttEs:WWlaunc9Ead3netWinkscaEe
8 9ttE:WWso=i3>aierouge3frWLikiWen:install
0/ 9ttE:WWso=i3>aierouge3frWLikiWen:>roLsers
00 9ttEs:WWgit9u>3co7Wsens9uWSo=iWissues
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
08
diaEositiIa nueIa ? es aqu; donde So=i e7Eie=a en acciDn3 #re7os al 7en6 E[tensiones So=i+ aEarecerG un diGlogo que
diga: @eSo=ie en Eroceso+ esEere+ Eor faIor333A ? una Ientana en la que se de>e rellenar los datos necesarios Eara la ani7aciDn
Ujugue7os con cada dato Eara Ero>ar en que se diferencia cada Eerfil ? que @efectoA o>tene7osV3
El diGlogo: @eSo=ie en Eroceso+ esEere+ Eor faIor333A+ aEarece ?a que el siste7a de e[tensiones de #nkscaEe estG dise4ado Eor
e[tensiones @EfectoA3 'n efecto se i7Ele7enta co7o un scriEt que transfor7a el docu7ento ? deIuelIe el resultado a #nkscaEe3 Es
decir+ que desde que el Eroceso de transfor7aciDn e7Eiece+ el dialogo se 7ostrarG 9asta que el scriEt finalice3
So=i nos Eer7itirG ta7>i<n incrustar Iideos o audio3 Esto se encuentra en el 7en6 E[tensiones So=i e[tras Agregar Iideo o
audio3 De>e7os tener cuidado que al 7o7ento de elegir esta oEciDn no se encuentre ning6n ele7ento seleccionado+ ?a que se
crearG uno nueIo al 7arcarla3
Edi ci Dn de arc9i Ios SV!
Al a>rir el arc9iIo 3sIg con un editor de te[to+ Eode7os darnos cuenta que todo el cDdigo que se 9a generado es co7Eleta7ente
lenguaje declaratiIo+ donde estGn todas las instrucciones de So=i ? todas las instrucciones de la caEa de control ? Eor lo tanto
o>tene7os un cDdigo legi>le3 Es Eor ello+ que So=i+ al estar >asado en TL ? 2aIascriEt+ nos da la Eosi>ilidad de editar la
EresentaciDn en un editor de te[to3
La 9oja en la que se >asa la EresentaciDn+ tiene un asEecto si7ilar al siguiente:
<[8ml version=",*-" encoding="C\)-1" standalone="no"[>
<svg
<!--
Los espacios de nombre XML que se declaran a continuacin
son recomendaciones de la W3C que proporcionan elementos y
atributos (con nombre nico)
--
8mlns!dc="$ttp!BBpurl*orgBdcBelementsB,*,B"
8mlns!cc="$ttp!BBcreativecommons*orgBnsU"
8mlns!rdf="$ttp!BBwww*w5*orgB,000B-2B22-rdf-synta8-nsU"
8mlns!svg="$ttp!BBwww*w5*orgB2---Bsvg"
8mlns="$ttp!BBwww*w5*orgB2---Bsvg"
8mlns!sodipodi="$ttp!BBsodipodi*sourceforge*netB(\(Bsodipodi--*dtd"
8mlns!inkscape="$ttp!BBwww*inkscape*orgBnamespacesBinkscape"

<!-- !e indica el anc"o y altura de la p#$ina --
width="800px"
height="600px"
id="svg201+"
version=",*,"
inkscape!version="-*/1*/ r0050"
sodipodi!docname="$dmagazine_$oEa">
<defs
id="defs201." B>
<sodipodi!namedview
id="base"
<!-- se indican los colores y detalles del border--
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
<!-- se empie%a a declarar la opacidad& sombra& %oom& e'es--
inkscape!pageopacity="-*-"
inkscape!pages$adow="2"
inkscape!zoom="-*2"
inkscape!c8="/--"
inkscape!cy="5--"
inkscape!current-layer="capa--,"
inkscape!document-units="p8"
s$owgrid="false"
inkscape!window-widt$=",21-"
inkscape!window-$eig$t="./," B>
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
./
<metadata
id="metadata200-">
<rdf!"()>
<cc!York
rdf!about="">
<dc!format>imageBsvgX8ml<Bdc!format>
<dc!type
rdf!resource="$ttp!BBpurl*orgBdcBdcmitypeBOtillImage" B>
<dc!title><Bdc!title>
<Bcc!York>
<Brdf!"()>
<Bmetadata>
<g
id="capa--,"
inkscape!label="capa--,"
inkscape!groupmode="layer" B>
<Bsvg>
Cada ele7ento con todas sus caracter;sticas+ estarG definido de la siguiente for7a:
<g
<!--id& nombre y $rupo de la capa --
id="layer,"
inkscape!label="capa--,"
inkscape!groupmode="layer">
<!-- ruta del elemento --
<pat$
<!-- ('emplo de una espiral--
sodipoditype="spiral"
style="fill!noneAstroke!U------A stroke-widt$!,p8A stroke-linecap!buttA
stroke-lineEoin!miterAstroke-opacity!,"
id="pat$5-,2"
sodipodi!c8="+/+"
sodipodi!cy="5.-"
sodipodi!e8pansion=","
sodipodi!revolution="5"
sodipodi!radius=",-1"
sodipodi!argument="-,1"
sodipodi!t-="-"
d="m +/+,5.- c /*,.12,5*+-020 -2*2202,,.*52520 -+*15555,2*0//// -1*+.5/0,-,*,52,2
-,-*122/2,-,,*.02, -1*-+++2,-,1*2,,,, +*-2-11,-,2*,0.+0 2-*+.+0,,-,/*021 5,*51110,-0*,2222
,+*121/0,1*/++ ,0*,-,51,20*/./21 ,-*2...1,//*,2222 -,,*.2-/0,,0*+122/ -51*/,2.5,25*5,00/
-+2*0///+,,,*51110 3 /02*+,5-.,510*.-12 /11*2.,22,5+.*5+2-0 +-5*5555/,55+ c ,1*2/,.2,-2.*-.,5.
+2*551,1,-5,*1,20, 12*/0000,-,5*2,,,, 5-*15-.0,2,*/+/0, 52*-1-+2,2+*5,212 ,/*.2222,0+*2....
-2/*2+0,5/*+0+21 -./*20,0.,/-*5/0./ -,-1*-++++,,+*15555 -51*52/52,-2.*1+., -//*22210,-15*2./,1
-,2*0////,-,2-*15552 5,*-+,-/,-/2*,5+21 02*2+121,-/1*1010 ,55*2,,,,-,1*-++++ /+*0-0-5,5/*2/,02
+5*,..-+,,-,*2//1. ,0*,222.,,/2*51111"
transform="translateR2,*22222.,2,*22222.S" B>
<Bg>
Dic9o ele7ento es ani7ado usando so=i ? Eara ello+ el scriEt generado Eor so=i es >astante largo ? de>e7os recordar que se 7antiene
actiIo 7ientras se 9agan las 7odificaciones de estilos3
<style
ns,!version=",2*-2-,5,,-,,-"
id="sozi-style">Usozi-toc te8t9fill!UeffAfont-family!Qerdana,sans-serifAfont-
size!,2pt;Usozi-toc te8t!$over9fill!U-cfAcursor!pointer;Usozi-toc te8t*sozi-toc-
current9fill!Ufa/;Usozi-toc-background9stroke!U222Astroke-opacity!*,Astroke-
widt$!,-Afill!U222Afill-opacity!*0;*sozi-toc-arrow9fill!UeffAfill-
opacity!*.+Astroke!none;*sozi-toc-arrow!$over9fill!U-cf;Usozi-framenumber
circle9stroke!U222Astroke-opacity!*,Astroke-widt$!/Afill!U222Afill-opacity!*0;Usozi-
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
.0
framenumber te8t9fill!UeffAfont-family!Qerdana,sans-serifAfont-size!,2pt;<Bstyle>
<ns,!frame
<!-- se indica el per)il de animacin& el tiempo de espera& el %oom&
la duracin de la transicin& etc* --
ns,!transition-profile="strong-accelerate-decelerate"
ns,!timeout-enable="false"
ns1ti!eout-!s=""000.0"
ns1transition-#oo!-percent="$0.0"
ns,!title="$dsozi--,"
ns,!clip="true"
ns,!$ide="true"
ns1transition-duration-!s="$000.0"
id="frame,"
ns,!seDuence=","
ns,!refid="pat$5-,2" B>
De esta 7anera+ se a4eden los o>jetos ? ani7aciones efectuadas con so=i3 Mui=Gs Eara los scriEt de so=i+ Eueden a?udarse del que
aEarece al correr la e[tensiDn en #nkscaEe Eara e7Ee=ar a estudiarlo un Eoco ? Eosi>le7ente+ ta7>i<n 9acerle 7odificaciones Eara
7ejores ? 7Gs aIan=ados resultados3
Si se llega a reali=ar todo el eje7Elo desde el cDdigo+ la Ientaja ErinciEal con la que se contarG+ es e[actitud3 Por eje7Elo+ al
7o7ento de 9a>er definido Ialores ? no si7Ele7ente calculado a Euslo en la interfa=+ la ErecisiDn Euede ser un factor de
diferenciaciDn+ so>retodo cuando el dise4o que se reali=arG es 7uc9o 7Gs Erofesional3 En !oogle !rouEs+ Eueden encontrar a so=i5
users
0.
+ donde los 7ontones de usuarios llegan a reali=ar sus co7entarios+ dudas+ 7ejoras ? de7Gs3
Pueden a>rir su naIegador un eje7Elo sencillo que realic< con #nkscaEe ? So=i+ accediendo desde el siguiente enlace de 7i >log:
9ttE:WW7ilale3netWLE5contentWuEloadsW./01W0/W7ilagros3sIg
Para trasladarnos Eor las Iistas+ Eueden Eulsar la tecla fenterg+ el >otDn derec9o del ratDn+ desEla=aros con las flec9as adelante ?
atrGs+ o escri>ir el n67ero del slide en la direcciDn 'RL del naIegador UdesEu<s del s;7>olo QV3
0. 9ttEs:WWgrouEs3google3co7Wforu7WQhforu7Wso=i5users
HACKERS & DEVELOPERS A!A"#$E
PRESE$%A

con el aEo?o de:
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
.1
La i7Eortancia de estar
docu7entado K o=illa
DeIeloEer $etLork
La consulta de una >uena docu7entaciDn es
funda7ental Eara el correcto aErendi=aje de cualquier
tecnolog;a+ algo que 7uc9as Ieces se Easa Eor alto
cuando se tra>aja Eara la Le>3
Escrito Eor: Pa>l o (ernardo Uie7>ro Cola>orador de la )undaciDn o=illaV
Desarrol l ador *e> esEeciali=ado en !$'WLinu[+ PHP+ H%L+ CSS ? 2aIaScri Et 3 Director ?
Eresentador del Erogra7a Ql inu[# O en Desarrol l o*e>3 co73 ie7>ro Cola>orador de la
)undaci Dn o=il l a ? traductor en la o=i l l a DeIel oEer $etLork3 # nstructor de PHP en
escuela#%3 'suario ? Ero7otor de !$'WLinu[3 V# loIer3
*e>s:
*e> Eersonal: LLL3elkar7adelteclado3co7
Redes soci al es:
%Litter: PIo?l i nu[
o7o desarrollador o dise4ador Le>+ te Ies en la necesidad de tra>ajar casi a diario con tecnolog;as o caracter;sticas de los
lenguajes con las cuGles nunca lo 9a>;as 9ec9o antes3 Sales a >uscar infor7aciDn Eor internet Eero qui=G+ no le est<s Erestando
la i7Eortancia necesaria a esta Earte del Eroceso3 Estudiar correcta7ente en cada fase del aErendi=aje+ 7arcarG en el futuro la
diferencia entre ser un aut<ntico Erofesional o solo alguien que Easa el d;a @so>reIiIiendoA entre l;neas de cDdigo3
C
Ser conscientes de la importancia que tiene para un desarrollador el
proceso de estudio y documentacin, es una cuestin de responsabilidad.
La verdadera independencia de un desarrollador pasa por un proceso
imprescindible: un aprendizaje correcto.
AErender correcta7ente+ l eer docu7entaci Dn
%iene que aca>arse la costu7>re de coEiar ? Eegar cDdigo ? solo ca7>iar algunos datos3 De>e ser sustituida Eor un esfuer=o
consciente de entender cada cosa que esta7os 9aciendo3 #nternet estG lleno de 7alos eje7Elos+ Eero la >uena docu7entaciDn
ta7>i<n e[iste en a>undancia ? estG a9; disEoni>le Eara a?udarte a tra>ajar 7ejor3 Solo 9a? que sa>er dDnde >uscar ? todo Euede ser
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
.H
7Gs fGcil3
Cuando se trata de tecnolog;as Le>+ ?o so? un gran Eartidario de los tutoriales ? el auto aErendi=aje+ Eero suelo reco7endar que
Eri7ero se consulte docu7entaciDn Eara entender real7ente de qu< 9a>la7os ? qu< Eode7os 9acer con ello3 DesEu<s Eode7os
estudiar todos los eje7Elos necesarios ? 9acer todas las Erue>as3
Es fundamental que aquellas webs que se conviertan en una referencia
para ti, sean rigurosas, amplias, accesibles, estn vivas y en continua
ampliacin y actualizacin.
XMu< es o=i l l a DeIel oEer $etLorkY
Sie7Ere reco7iendo a 7is alu7nos que sean cuidadosos con el lugar del que e[traen la docu7entaciDn ? en concreto suelo re7itirles
a docu7entarse en o=illa DeIeloEer $etLork
01
U D$ V3 La 7a?or;a de las Ieces+ la resEuesta que 7e suelen dar al ca>o de solo unos
d;as de consultarla es: @Es incre;>le+ 9a? de todoA3
o=illa DeIeloEer $etLork es la EroEuesta de o=illa Eara ofrecer un lugar donde todo el 7undo Eueda acceder a docu7entaciDn
so>re tecnolog;as Le> ? aErender a crear3 Al contrario de lo que 7uc9a gente Eiensa al o;r 9a>lar de esta Le>+ o=illa DeIeloEer
$etLork no es solo una lugar en el que aErender so>re Eroductos ? tecnolog;as de o=illa3 Se trata de una e[tens;si7a *iki so>re
tecnolog;as Le> ? estGndares Le>3 Co7o Earte del esfuer=o de la )undaciDn o=illa Eor 7antener la Le> li>re ? accesi>le ? el
conoci7iento co7o algo a>ierto+ en D$ te ofrece7os la Eosi>ilidad de aErender so>re H%L
0H
+ CSS
0S
+ 2aIaScriEt
0F
? ade7Gs+ Eor
suEuesto+ so>re 7uc9as otras tecnolog;as ? caracter;sticas a>iertas EroEuestas Eor o=illa3
%odo l o que en D$ tene7os Eara ti
La docu7entaciDn incluida en D$ EroEone un aErendi=aje e i7Ele7entaciDn >asados en las >uenas ErGcticas3 $o se trata de una
Le> donde aErender el 6lti7o 9ack Eara 9acer funcionar algo en un naIegador concreto+ sino acerca de las >ases Eara tra>ajar con
cada lenguaje de 7anera correcta3 %al co7o 9a sido creado ? co7o de>e ser utili=ado Eara ser accesi>le al 7a?or n67ero de usuarios
Eosi>le3
D$ se constru?e en for7a de *iki+ Eor lo que cualquier Eersona que lo desee Euede contri>uir3 , esto no es una utoE;a+ sino algo
total7ente real que lleIa a4os funcionando ? se 7antiene Eor una co7unidad enor7e de Ioluntarios que lleIa7os a ca>o diferentes
tareas Eara 9acerlo realidad3 %odo el tra>ajo de este equiEo+ unido Eor la filosof;a ? Ialores de o=illa son una garant;a de que D$
es una docu7entaciDn IiIa+ en constante creci7iento+ actuali=aciDn+ 7ejora ? traducciDn3 Por eje7Elo+ Euedes consultar docu7entos
en D$ en 7Gs de treinta lenguas+ incluido el esEa4ol+ Eor suEuesto3
En o=illa tene7os claro que lo que quere7os es que todo el 7undo Eueda aErender a crear Eara la Le>3 Por eso la docu7entaciDn
de D$ Euede lleIarte a traI<s de todos los Easos del aErendi=aje3 Desde la docu7entaciDn 7Gs t<cnica+ 9asta los tutoriales Easo a
Easo ? las de7ostraciones en l;nea3
Algo que te gustarG 7uc9o de D$ es que+ a Eesar de tratarse de docu7entaciDn rigurosa+ su lectura no resulta Grida3 Por el
contrario es directa ? clara3 EncontrarGs un resu7en e[ElicatiIo del aEartado+ sinta[is+ eje7Elos de cDdigo ? notas aclaratorias Eara
eIitar a7>igiedad o errores de i7Ele7entaciDn3 As; 7is7o IerGs ta7>i<n que 9a>itual7ente se enla=a a la esEecificaciDn oficial+ as;
co7o a otros docu7entos tanto dentro co7o fuera de D$ que co7Ele7enten la infor7aciDn ofrecida3
Ade7Gs D$+ co7o todo en o=illa+ es a>ierto3 Puedes Ier qu< autores crearon el art;culo o cuando ? Eor qui<n fue actuali=ado o
incluso aEortar acerca de errores o Eosi>les 7ejoras3
01 9ttEs:WWdeIeloEer37o=illa3orgWesW
0H 9ttEs:WWdeIeloEer37o=illa3orgWesWdocsW*e>WH%L
0S 9ttEs:WWdeIeloEer37o=illa3orgWesWdocsW*e>WCSSWCSS1
0F 9ttEs:WWdeIeloEer37o=illa3orgWesWdocsW2aIaScriEt
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
.S
Concl usi Dn
Ha= un esfuer=o Eor ir a >uscar docu7entaciDn all; donde encuentres infor7aciDn de Ialor ? no solo en los Eri7eros resultados que
encuentres en tu >uscador3 'n truco que ?o utili=o es dejar una Eesta4a fija en )irefo[ con D$ de 7anera que tengo all; un 7anual
EreEarado a solo dos teclas de distancia3
%e inIito co7o desarrollador a que Eases unos d;as utili=ando D$ co7o 7aterial de consulta3 %e resultarG fGcil fa7iliari=arte con la
7anera intuitiIa en que se organi=a el contenido ? segura7ente se conIierta en un recurso >Gsico Eara ti3 VerGs que Eronto
e7Ee=arGs a disfrutar del aErendi=aje que se deriIa de una >ase >ien construida3
Si te gusta D$ Euedes a?udar reco7endGndole su contenido a otras Eersonas ? a?udando a Ero7ocionar el uso de >uena
docu7entaciDn3 , si aun as; quieres 7Gs+ 9a? 7uc9as 7aneras de contri>uir con D$
0J
+ no solo Erogra7ando3 %e ani7o a que te unas
a la co7unidad de o=illa HisEano
0\
? EarticiEes de la for7a que consideres 7Gs adecuada3 Cola>oradores encargados+ se EondrGn en
contacto contigo Ear guiarte en el Eroceso3
Aydanos a crear una web libre, accesible y segura para todos en la
poder trabajar, aprender, disfrutar y comunicarnos. !tiliza y
promociona la documentacin de "#$.
0J 9ttEs:WWdeIeloEer37o=illa3orgWesWdocsWProject:D$WContri>u?endoWCo7oZa?udar
0\ 9ttEs:WWLLL37o=illa59isEano3orgWdocu7entacionWCola>ora
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
.J
El softLare ? el Derec9o
Se cu7Elen 1/ a4os desde que el Ero?ecto !$' Iio la
lu= en un 7undo de oscuras restricciones a la naciente
cultura infor7Gtica3 uc9o de>e7os a los
7oIi7ientos li>eradores del softLarea Eotenciaron la
creatiIidad+ generaron innoIaciones a rit7os
acelerados ?+ entre otros logros+ 9an creado la
necesidad de reElantear la conceEciDn in7aterial
so>re todo lo que el ser 9u7ano 9a creado desde su
i7aginaciDn+ regido 9asta el d;a de 9o? Eor un siste7a
de nor7as de esE;ritu arcaico ? restrictiIo: el Derec9o
de Autor3
Escrito Eor: Si l Ii o essi na UDesarrollador *e> 5 Est3 de Derec9o+ 'niIersidad $ac3 de (uenos AiresV
SilIio es Desarrol l ador+ Profesor en %ecnol ogias *e>+ *ordEressero ? estudiante de
Derec9o orientado al estudio del CoE?rig9t+ ProEiedad #ntelectual+ SoftLare ? Cultura Hacker3 Defensor
de la EducaciDn a>ierta+ el auto desarrollo intelectual ? el li>re interca7>io3
*e>s:
*e> Eersonal: LLL3silIio7essina3co73ar
Redes soci al es:
%Litter: Ps7essi naZ
o7enajeando los 1/ a4os del Ero?ecto !$'+ Eresenta7os esta serie de art;culos en donde se e[ElicarGn las
caracter;sticas+ elecciDn+ uso ? aElicaciones de las licencias de SoftLare Li>re co7Eati>les con la !eneral Pu>lic
Licence U!PLI1V de !$'3 En esta Eri7er entrega+ antes de aIenturarnos en el estudio de las diIersas licencias
aElica>les al desarrollo de softLare ? afines+ nos Earece Erudente iniciar esta serie de art;culos 9aciendo una introducciDn
a los conceEtos jur;dicos que se aElican ? discuten en la te7Gtica so>re derec9os de autor3
H
Acl arando el Eanora7a
La industria del SoftLare es relatiIa7ente la 7Gs nueIa de las corrientes creadoras de los deno7inados @Eroductos intelectualesA+ es
decir aquellas cosas que surgen de la co7>inaciDn de i7aginaciDn+ conoci7iento+ a=ar ? lDgica constructiIa3 As; co7o la 76sica ? las
o>ras literarias son Eroductos ideales Ues decir que nacen de las ideasV+ Eara que estos circulen en el 7undo real+ son Elas7ados en
for7atos f;sicos que luego son distri>uidos al E6>lico3
El derec9o de autor aEarece en la 9istoria de los seres 9u7anos co7o una for7a de reconocer la EroEiedad del autor Ues decir+ ser
due4oV del Ialor intelectual que la o>ra conlleIa en su for7ato de distri>uciDn3
Aqu; aEarecen algunos t<r7inos que es conIeniente definirlos:
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
.\
Derec9o:
nor7as que regulan la conducta de los seres 9u7anos+ reconociendo los l;7ites ? Eotestades que <ste Eosee so>re s; 7is7o+
los terceros ? los o>jetos3
O>ra:
es el Eroducto resultante del tra>ajo art;stico+ lDgico+ cient;fico ?Wo intelectual3
Autor:
es toda Eersona que crea una o>ra3
ProEi edad:
es el derec9o de ejercer el Eoder so>re un o>jeto o un >ien+ otorgando la caEacidad de disEoner del 7is7o+ con los l;7ites
que la le? i7Eonga3
El derec9o de autor aEarece for7al7ente en el siglo TV###+ concreta7ente con el Estatuto de la Reina Ana de 0J0/ del Reino 'nidoa
aunque si >ien e[isten otros antecedentes+ fue en este Eunto donde for7al7ente se le da el reconoci7iento a las o>ras+ de ser
Erotegidas >ajo el derec9o de EroEiedad3 PreIio a esto+ las o>ras eran li>res de ser reEroducidasa Eero to7ando en cuenta que el
acceso a la cultura ? la educaciDn durante casi toda la 9istoria de la 9u7anidad no fue de carGcter uniIersal+ las o>ras constitu;an un
rol Eoco actiIo en las sociedades+ siendo incluso un Eroducto casi folclDrico de las altas clases sociales3
La aEariciDn de la i7Erenta generD lo que 7uc9os autores reconocen co7o la @Era de la Ra=DnA+ constitu?endo un 7edio de
reEroducciDn 7asiIo de las o>ras literarias ? Eer7itiendo que estas llegaran a 7Gs gente sin distinciDn de su clase social3 Aqu; es
donde ta7>i<n 9a? un quie>re en la 7entalidad de los autores+ denunciando que la i7Erenta Eer7it;a que sus o>ras fuesen
reEroducidas ? co7erciali=adas Eor terceros+ sin que ellos Eudieran EarticiEar ni Eerci>ir ganancias de dic9as transacciones3 Se
e7Ee=D a e[igir que las creaciones intelectuales fuesen reconocidas co7o Eroductos de igual enIergadura que los >ienes 7ateriales+
de7andando que los 7is7os derec9os de ejercer las EroEiedad fuesen aElica>les a las o>ras3
CoE?ri g9t: el candado de l a cul tura
El derec9o anglosajDn lo reconociD co7o CoE?rig9t+ cu?a traducciDn literal es @Derec9o de coEiaA ? que si >ien 9o? es ad7itido co7o
sinDni7o de Derec9o de Autor+ el CoE?rig9t es solo un derec9o in9erente dentro de todo el 7arco del Derec9o de Autor3
$o o>stante+ el correr del tie7Eo 9a lleIado a asociar al derec9o de autor co7o el derec9o de lucro Eor so>re la o>ra creada+
EriIilegiando el Ialor econD7ico Eor so>re el Ialor cultural ? acad<7ico que las o>ras lleIan en si 7is7aa el cual se fue 7oldeando
Eor la aEariciDn de nueIas for7as de Elas7ar las o>ras en for7atos que la sociedad e7Eie=a a @consu7irA+ for7atos i7Eulsados Eor
industrias que+ sin des7erecer las innoIaciones tecnolDgicas que aEortaron al 7undo+ 9an 7antenido en un c;rculo cerrado los
7edios Eara Eroducir nueIas o>ras3
El softLare aEarece en el Elano jur;dico al 7is7o niIel que los inIentos ? las o>ras cient;ficas+ Eero que dada sus cualidades+ fue
dotando la conceEciDn del Eroducto ideal con nueIos Euntos de Iista3
Los dos Euntos 7Gs controIersiales son:
SoftLare co7o Eroducto:
esta conceEciDn reconoce al softLare co7o una o>ra co7Eleta de la que se Euede tener disEosiciDn co7Eleta so>re su
funciona7iento+ sus Erestaciones ? su co7EosiciDn3
SoftLare co7o 7edi o:
en esta el softLare es un serIicio que se Eresta >ajo los t<r7inos de uso esta>lecidos+ deter7inando los l;7ites ? alcances de
su utili=aciDn3
Entre a7>os e[tre7os 9a? un sin fin de co7>inaciones+ co7o una >alan=a que oscila entre las li>ertades otorgadas al usuario ? los
l;7ites deter7inados Eor el autor3
P./0.5./01 HACKERS & DEVELOPERS A!A"#$E @CHA$!EA Q00 5 ***3HDA!A"#$E3OR! K CREA%#VE COO$S A%R#('C#&$ $O COERC#AL COPAR%#R #!'AL 13/ '$POR%ED
PARA PROD'C# R 0/// K! DE PAPEL SE '%# L# "A$ 0//3 /// L# %ROS DE A!'A , SE %ALA$ J RR(OLES DE 0S T /+ H/ %S
E$ HD AS'#OS EL COPRO#SO DE CA(#AR3 %' %A(#O$ P'EDES3 $O #PR#AS ES%A PR!#$A S# $O ES ES%R#C%AE$%E $ECESAR#O3
.8
SoftLare: el a>stracto 7otor del Erogreso
La ciencia infor7Gtica es caracteri=ada Eor su naturale=a de creci7iento dinG7ico+ acelerado ? 7era7ente intelectual ? la
i7Ele7entaciDn del CoE?rig9t so>re los logros que <sta Eroduce+ conlleIa a una li7itaciDn a la disEoni>ilidad ? eIentual eIoluciDn3
$o es casualidad que casi todo el softLare e[istente se 9a?a gestado con ErGcticas que estGn Eor fuera del Derec9o de Autor+
ErGcticas que se conIirtieron en iconos de la cultura Hacker3
Esta dicoto7;a fue la que insEirD a Ric9ard Stall7an Eara crear una alternatiIa al siste7a oEeratiIo 'ni[+ dando naci7iento al
Ero?ecto !$'3 Pero 7Gs allG del @EroductoA+ !$' es la corriente reiIindicatoria de que se Euede desarrollar+ distri>uir ? eIolucionar
Eor I;as alternatiIas a las le?es del CoE?rig9t3 !racias al Ero?ecto !$' ? a otras corrientes li>eradoras del softLare+ los Hackers+ 9o?
conta7os con 9erra7ientas legales que nos Eer7iten continuar con las ErGcticas de li>ertad ?+ al 7is7o tie7Eo+ dotar a las o>ras de
una ErotecciDn jur;dica acorde a su Ialor intelectual3
En alg6n Eunto+ el Ero?ecto !$' ? los de7Gs Ero?ectos afines 9an Iuelto a Eoner en discusiDn el conceEto de @Derec9o de AutorA ?+
es Eor ello que cele>ra7os este cli7a de ca7>io e[Elicando los aEortes jur;dicos que el Ero?ecto !$' 9a generado en el Derec9o3
En las siguientes entregas+ se Eu>licarGn una serie de art;culos dedicados a las Licencias del SoftLare que se sustentan en las
ErGcticas de li>ertad ? cola>oraciDn3 Co7o adelanto de lo que se Iiene+ la Eri7era reIisiDn+ serG so>re la licencia @adreA que
configura el estGndar de li>ertad en 7ateria de softLare: la licencia !$' !PL I13
j$os Ie7os en la ErD[i7a entregah
HECHO POR HACKERS DE %ODO EL '$DO PARA PRO)ES#O$ALES DE %ODO EL PLA$E%A
PROD'C#DO E$ LA REPC(L#CA AR!E$%# $A

You might also like