jueves, 29 de abril de 2010

Que te impide migrar de Win$ a Linux

A continuación despliego una lista de aplicaciones que hay en Linux y que son iguales a las de Win$, no entiendo porque muchos nos ponemos recios al cambio veo que siempre le ponemos un pero a todo en especial algunos amigos que siempre han desarrollado en Wi$ y han gastado miles de colones en software según ellos, cosa que no creo auque eso le caiga muy mal alguno de ellos pues nada aqui vamos porfavor si estoy equivocado en algun consepto le agradecere me lo comente para repararlo gracias.

Lista de aplicaciones para migrar de Windows a Linux
Función Windows Ubuntu
Administración de archivos Explorador de Windows Nautilus, Dolphin
Navegación web Windows Internet Explorer Firefox, Konqueror Correo electrónico Windows Live Mail, Microsoft Outlook Evolution, KMail
Mensajería instantánea Windows Live Messenger Pidgin,aMSN,Kopete
Descarga de archivos GetRight, Download Accelerator Plus GNOME Trans/Manager, KGet
Peer to peer eMule, Ares aMule,MLDonkey, FrostWire
Ofimática Microsoft Office OpenOffice.org, KOffice
Diagramas Microsoft Visio Dia, Umbrello
Autoedición y maquetación Adobe InDesign Scribus
Diseño vectorial Corel Draw Inkscape
Edición de imagen Adobe Photoshop The GIMP
Reproducción de audio Windows Media Player, Winamp Rhythmbox,Amarok
Reproducción multimedia Windows Media Player Totem, MPlayer,Kaffeine
Edición de audio Adobe Audition Audacity
Edición de video Adobe Premiere, Media Studio Pro Cinelerra, Avidemux, Kino
Compresión de audio/ripeo de CD CDex Gnormalize
Compresión de ficheros WinRAR, 7zip File Roller, Ark
Creación de planos Autocad Qcad
Diseño 3D 3D Studio Max Blender
Diseño web No se en realidad Bluefish, Quanta Plus
Diseño web WYSIWYG Macromedia DreamweaverMicrosoft Frontpage Nvu
Grabación de CD/DVD Nero GnomeBaker, K3b
Particionado del disco duro PowerQuest, Partition Magic GParted, QtParted
OCR Omnipage Kooka

Y sin duda alguna deben haber muchisimas mas que desconosco.

Podría ser peor

¿Pasarías un día con 15 minutos de Internet?

¿Caminarías 20 km para conseguir conexión a Internet?

¿Arriesgarías tu vida para conectarte a Internet?

¿Usarías Internet aunque se cortara continuamente?

¿Pagarías el 15% de tus ingresos familiares por la factura de Internet?

La versión «peor» de este infierno geek es la que aparece cuando se sustituye la palabra Internet por la palabra agua.

Esa es la situación en la que viven millones de personas.

Que esperas? Unete a Gnu/Linux

Hace algun tiempo un amigo me dijo que debia estar loco al querer cambiarme a usar Linux pues bien hace un rato que estoy buscando algo de información y me tope con un blog llamado Be Linux my friend leyeyendo un poco encontre la respuesta a las inquietudes de Ronald y aqui se las dejo:

Intentando convencer a una "amiga" para que migrara a Ubuntu, me expuso sus razones (en mi opinión, simples excusas) para no hacerlo. La gran mayoría de ellas han sido relacionadas con los programas que utiliza normalmente; Winamp, Dreamweaver, Photoshop, Power Translator, FreeHand, Nero, BSPlayer, mIRC, Emule, BitTorrent, Messenger...

Tras esa conversación he recordado dos tres artículos que he leído recientemente en mis feeds y pueden ayudar, y mucho, a migrar a todos aquellos que aun están indecisos en dar el salto a cualquiera de las distribuciones GNU/Linux existentes.

1.- El primero de los artículos que recomiendo esta relacionado con el tema al que más importancia se le dio en la conversación; Programas de uso cotidiano.
Todos los que lleváis un tiempo en el sistema del pingüino sabéis que existen alternativas a los programas que se usan en Windows de manera habitual. Pongo como ejemplos a Winamp, Photoshop, BSPlayer, mIRC, Emule y Nero.

Winamp (reproductor de audio): Amarok o xmms.
Photoshop (edición de imagenes): Sin lugar a dudas GIMP.
BSPlayer (reproductor de video): MPlayer o Totem.
mIRC (cliente IRC): X-Chat
Emule (descargas p2p): Amule o XMule
Nero (copia de CD/DVD): Brasero o k3b. Incluso la versión para Linux de Nero, aunque es de pago :P

En relación a este primer punto, Maverick ha publicado recientemente una "Tabla de alternativas" entre los programas de Windows y su versión para Linux.


2.- El segundo punto seria; ¿Por donde empiezo?
Muchas veces por falta de iniciativa, tiempo o "miedo?" no damos el paso a cambiamos de hábitos. Linux es fácil, aunque quizás no todo lo fácil y comodón que espera alguien que ha estado durante años usando Windows. Se instala de manera intuitiva, gracias a las versiones LiveCD de muchas de las distribuciones existentes. Incluso se puede ver su aspecto y comprobar su fácil manejo y estabilidad usando la opción anterior. También tenemos la posibilidad de usar una versión web "básica"de Ubuntu, con Wubuntu.

Para todos aquellos que queréis empezar a experimentar con alguna distribución de Linux os recomiendo Ubuntu (GNOME) o Kubuntu (KDE), y por lo tanto también la "Guía Rápida de Ubuntu", creada por Cesarius, donde te explica lo básico a saber para no perder el tiempo buscando información. Y si lo que queréis es migrar de manera progresiva, teniendo en el disco duro una partición Windows y otra Linux, Cesarius también os puede ayudar en eso.

¿Qué le falta a Linux para destronar a Windows?

Leyendo algunos de los blog que siempre frecuento me encontré con este articulo que me parece muy interesante y me gustaría compartirlo con ustedes mis amigos fue escrito por Jairo Acosta Solano el cual reproduzco a continuación:

La respuesta a este interrogante es subjetiva por varias razones:
Si se es un usuario novato que jamás ha usado el Winbugs, la respuesta más factible es que no le falta nada.
Si somos usuarios esporádicos de un PC, prácticamente ni nos daríamos cuenta que tenemos al frente como sistema operativo.
Si somos usuarios de Winbugs algo frecuentes por cuestiones de trabajo o somos adictos a los juegos, diríamos que a Linux le faltan más juegos y suites ofimática. Tenemos la venda puesta y no vemos que esta situación esta cambiando, o quizás tenemos miedo de verlo. Openoffice es una herramienta que nada tiene que envidiare a Office y en cuanto a los juegos tenemos varios excelentes títulos nativos de Linux o podemos emular una gran cantidad de los de Winbugs.
Si somos usuarios exigentes que nos gusta exprimir nuestro PC al máximo y lo más importante si somos “inteligentes y libres” la elección natural es Linux. No quiere decir que los que no usen Linux sean “brutos” solamente se pierden de algo bueno.
Algunos un poco más vivaces tienen un sistema de arranque dual Linux-Winbugs pero su sistema principal es Linux. Otros mucho más vivaces emulan Winbugs con una máquina virtual en Linux.

Personalmente opino que lo único que le falta a Linux para destronar a Winbugs es que los fabricantes de dispositivos liberen las especificaciones de los mismos para que la comunidad linux haga los drivers, ya que a la mayoría les da flojera entregar dichos drivers o tienen un pacto con Winbugs para no hacerlo. Hay que recalcar que este problema se sale de las manos de la comunidad linuxera, aunque tenemos buenos programadores que le hacen “ingeniería inversa” a los dispositivos, obviamente esto hace que el avance en esta metería sea mas lento pero con paso de gigante.

¿Usted que opina los comentarios quedan abiertos?

¿Cómo saber si tu hardware está soportado?

Mi amigo william nieves me pregunto hace un par de días como se sabe si nuestro hardware es soportado por Ubuntu, revisando mi lector de noticias encontré la respuesta a su pregunta gracias a Utopianegra y en realidad es bastante sencillo solo tienes que abrir tu terminal y escribir lo siguiente:

$ lspci -n

El resultado que arroje lo debes pegar en el formulario que te da este enlace:

http://kmuto.jp/debian/hcl/

Una vez copiado en el formulario le das en el botón check y listo dirá si está soportado y el driver que se debe utilizar.

Yo tambien Apoyo la iniciativa ¡Cámbiando a Linux!

Solo Linux se une a la gran cruzada en que las web ObtengaLinux.org y Think Ubuntu estan realizando. ObtengaLinux.org es un portal donde se le presenta a los usuarios de sistemas operativos de pago o privativos en que consiste Linux y algunas ventajas que no se supieron valorar por los mismos acerca del porque es importante el Software Libre y que les aporta a los usuarios finales.

De mi parte deceo que cosechen muchos éxitos con el proyecto así mismo me enlazaré con ellos para así poner mi granito de arena y apoyar en lo que se pueda.

Un agradecimiento especial al amigo cccordoba que me pidio información sobre la ventajas de usar Ubuntu Linux gracias a esto me entere del proyecto.

Nautilus, funsiones ocultas

Existen algunas opciones que nos son muy útiles e indispensables que no vienen instaladas por defecto en Nautilus (el navegador de archivos de Gnome).

Las funciones de las que les mentaré son:

* Si selecciono una imagen y se le da click derecho se despliega el menú en el cual nos aparece la opción de establecer dicha imagen como fondo de pantalla (wallpaper) inclusive rotar o redimencionar etc todo con un click.

* Si estoy en algún directorio y necesitas abrir una terminal dentro de cierta carpeta podemos hacer click derecho y seleccionar la opción “abrir en la terminal” y automáticamente tendremos nuestra terminal dentro del directorio seleccionado esto incluye la opción de abrir como root.

* Pero eso no es todo además podemos enviar / compartir archivos, convertir imágenes y archivos de audio y muchas cosas más.

La instalación de estas funciones es super fácil, basta con abrir un terminal copiar y pegar lo siguiente:

sudo apt-get install nautilus-actions nautilus-gksu nautilus-image-converter nautilus-open-terminal nautilus-script-audio-convert nautilus-script-collection-svn nautilus-script-manager nautilus-sendto nautilus-share nautilus-wallpaper

Cómo respaldar y restaurar particiones en Linux

Pateando piedras en la blogósfera, como siempre, me topé el otro día con este señor llamado NTFS. Fue en un post de Claudio Bustos que trataba sobre el respaldo de particiones de este sistema de archivos, obviamente en nuestro querido Linux. Claudio explica cómo hacerlo con ntfsclone, un pequeño programa que es parte de ntfsprogs, y dice así.

Para crear la imagen:

$ sudo ntfsclone -s -o IMAGEN PARTICION

por ejemplo,

$ sudo ntfsclone -s -o win_c.img /dev/hda1

Y restaurarla:

$ sudo ntfsclone -r -O PARTICION IMAGEN

o sea,

$ sudo ntfsclone -r -O /dev/hda1 win_c.img

Perfecto. Simple y preciso.

Pero después de leer el post me acordé de una pequeña aplicación que solía usar hace un tiempo. Un pequeño gran programa llamado Partition Image (partimage), que no sólo te permite respaldar y restaurar particiones en NTFS, sino también las de los otros sistemas de archivos (Ext3, Reiser, FAT, etc). Y eso no es todo.


Con Partimage puedes, además, copiar las imágenes desde y hacia un servidor en la red. Es decir, podrías usarlo para hacer respaldos mensuales (o semanales si quieres) de tu disco y copiarlas a un servidor. O quizás usarlo para clonar PCs vacíos con la misma configuración. De hecho, esta fue la razón por que llegué a Partimage. Tuve que clonar varios notebooks, y para no tener que abrirlos hice todo el proceso a través de la red interna. Creé las particiones usando el maravilloso Parted y con Partimage copié las imágenes respectivas.

Eso sí, para usar Partimage a través de la red tienes que instalarlo también en el servidor, y ejecutarlo en modo demonio (daemon) para que quede corriendo de fondo. Así podrás conectarte remotamente desde el PC y transferir los archivos. Partimage es bastante auto-explicativo, pero si quieres saber más de cómo funciona puedes leer alguna de las tantas guías que hay dando vueltas.

Lo último: claro está que Partimage no es la única forma en que puedes restaurar particiones a través de la red. Podrías, por ejemplo, usar dd, el mismo ntfsclone junto a smbfs (montando una carpeta compartida en red por samba), o bien rsync para hacer los respaldos. Yo como siempre, voto por la manera más simple: Partimage. Tiene todo incluído y prácticamente no hay que configurar nada.

William ,¿Dónde habre dejado el PenDrivers?

El PC con Linux más pequeño del mundo

Space cube, asi se llama esta pequeña maravilla de tamaño comparable al de una manzana:


Sus especificaciones técnicas son las siguientes:

Este inusual pc cuenta con un modesto micro con una velocidad de reloj de 200 MHz pero que, tal como afirman en Pc Pro, puede ser subida a 250 MHz e incluso 300 MHz de modo sencillo. Space Cube cuenta con 16 MB de flash-memory en la placa y el S.O. elegido es una versión de la distribucion Red Hat que han instalado en una tarjeta CompactFlash de 1GB. Space Cube incluye también 64MB DDR SDRAM, estando muy lejos de los portátiles o pc’s más modestos, actualmente.

Siendo un diseño claramente dirigido al campo de la movilidad, la caja de Space Orbit es metálica y muy sólida, pudiendo soportar algunos golpes.

Las conexiones de la placa están mayoritariamente en dos lados: lector de tarjetas, usb, entrada de red ethernet, conexión vga para el monitor, etc. Todo ello consumiendo la pequeña cantidad de energía de 5W.

Crea tu propio servidor de video vigilancia en Ubuntu

Esta mañana mientras buscaba información sobre la interfaz Video4Linux (v4l) me topé con un programa llamado Motion. Se trata de un software de detección de movimiento que podemos encontrar en los repositorios de nuestra distribución favorita :D Ya sabéis:

sudo aptitude install motion

Bien, aún no lo he trasteado mucho y no conozco al detalle todas las posibilidades que tiene, pero tiene muy buena pinta :) Hay que recalcar que este programa carece de cualquier tipo de interfaz gráfica, por lo que todo lo deberemos hacer desde la consola. Os explico un poco por encima. Para arrancar el programa de detección de movimiento escribimos en la consola lo siguiente:

motion

Toda la configuración de dicho programa se hace mediante el fichero de configuración que, por defecto para Ubuntu, se encuentra en la ruta /etc/motion/motion.conf. No obstante, esto podemos modificarlo a nuestro antojo y, por ejemplo, poner dicho fichero colgando del directorio de nuestro usuario. Para editar la configuración que usará nuestro programa escribimos lo siguiente en la consola:

sudo gedit path_donde_se_encuentre_el_fichero_motion.conf

Por defecto vienen algunas de las siguientes opciones:

* videodevice: Donde se especifica la ruta de nuestra webcam (la mía es /dev/video0)

* target_dir: Indica la ruta en la que se almacenarán las imágenes o vídeos cuando se detecte algún tipo de movimiento en el campo de visión de la webcam. Yo cambié el que venía por defecto a un directorio dentro de mi usuario para no tener que ejecutar motion con Poderes de Super Vaca ;)

* webcam_port: Si está a 0 se encuentra desactivado. Si tiene un valor dentro del rango 0 – 65535, ese será el puerto que utilice el mini-servidor http que tiene integrado para ofrecer las imágenes de la webcam a través de internet :D Esta es una de las cosas que más me gusta. Si te vas de vacaciones y dejas tu servidor de video vigilancia montado y conectado a la red, podrás obtener imágenes en tiempo real de tu hogar y ver lo que ocurre a cada momento :D ¿No es genial? Con respecto a esto, aún no he encontrado la forma de que se autorefresque la imagen que ofrece el servidor. Seguiré investigando…

* webcam_localhost: Para poder ver las imágenes por internet esta opción debe estar off. Si está on, sólo podremos verlas desde el localhost.

* locate: Esta opción también es una de mis preferidas :) Si está on el programa enmarcará en un recuadro la zona del campo de visión de la webcam en la que haya detectado movimiento. Obviamente, si está off no lo hará :P

Estas son sólo algunas de las muchas opciones que tiene. Hay algunas muy interesantes, como por ejemplo, permitir el control remoto de un dispositivo conectado por puerto serie para mover la cámara. El listado completo de opciones podéis encontrarlo aquí.

En la siguiente imagen podéis ver una secuencia de imágenes captudas al detectar el movimiento de mi mano. El recuadro en blanco alrededor de mi mano es el resultado de la opción locate on en el fichero de configuración.

Código fuente de Windows 98

Acabo de descubrir que un grupo de hackers han obtenido el código fuente del viejo windows 98, no tiene desperdicio ninguno :P

#include “Win30.h”
#include “Win31.h”
#include “Win95.h”
#include “AlgoMas.h”
#include “CodigoAntiguo.h”
#include “NormasDeBillGates.h”
#include “CosasDeRelleno.h”
#include “Monopoly.h”

#define INSTALAR TODO_SIN_EXCEPCION_Y_A_LO_BESTIA
#define CASCAR -5483021548692487811456214478252114545621

static char Escritorio[16000000]; /* 16 Mb */
static char Accesorios[8000000]; /* 8 Mb */
static char Explorer4[4000000]; /* 4 Mb */
static char ProgramasDeUsuario[2000000]; /* 2 Mb */
static char MemoriaLibre[2000000]; /* 2 Mb */

int main()
{
while (NoCasque()) {
MostrarMensajeCopyright();
MostrarMensajeNormasBillGates();
DesactivarBotonReset();
BucleParaNoHacerNada();

if (PRIMERA_INSTALACION) {
while (TamanyoDiscoSwap() < (ESPACIO_PARA_WINDOWS_ENTERITO * 5)) {
Ocupar50MbParaDiscoDeSwap();
BucleParaNoHacerNada();
}

EliminarSistemaDeArchivosHPFS();
EliminarCualquierRastroDeOS2();

DeshabilitarInstalacionDeNetscape();

DeshabilitarInstalacionDeRealPlayer();

if (QuedaAlgunRastroSospechoso())
ColgarSistema();
}

MostrarAlgunaCosaBonitaPeroInutil();
MostrarMensajeCopyrightOtraVez();
BucleParaNoHacerNada();
HacerVerQueHaceAlgo();

if (SigueSinCascar()) {
MostrarMensajeCopyrightOtraVez();
BucleParaNoHacerNada();
EjecutarWin31();

if (AunSigueSinCascar())
EjecutarWin30();

BucleParaNoHacerNada_1();
BucleParaNoHacerNada_2();
BucleParaNoHacerNada_3();

BucleParaNoHacerNada_Etcetera();
}

if (UsuarioNoAceptaWindowsComoAlgoUtil())
goto VETE_A_SABER_DONDE;

if (SeHaDetectadoCache())
DeshabilitarCache();

if (CPU_Rapida()) {
EstablecerEstadosDeEspera(MUCHISIMOS);

EstablecerRaton(VELOCIDAD, MUY_LENTO);
EstablecerRaton(ACCION, DESPLAZARSE_A_SALTOS);
EstablecerRaton(REACCION, A_VECES);

EstablecerTeclado(VELOCIDAD_PARPADEO, MUY_LENTO);

EstablecerTeclado(VELOCIDAD_REPETICION, MUY_LENTO);
}

/* printf(”Bienvenido a Windows 3.0″); */
/* printf(”Bienvenido a Windows 3.1″); */
/* printf(”Bienvenido a Windows 95″); */
printf(”Bienvenido a Windows 98″);

if (CPU != INTEL) {
DeshabilitarRaton();
DesconfigurarTeclado();

ColgarSistema(INDICADOR_MSDOS);
} else {
MemoriaDeSistema = open(”a:swp0001.swp”, O_CREATE);

while (NoHayaSuficienteEspacioEnDisco())
printf(”Inserte un nuevo disco en la unidad A:”);
}

while (NOS_SALGA_DE_LOS_HUEVOS) {
sleep(5000);
ObtenerEntradaUsuario();
sleep(5000);
ReaccionarAPeticionUsuario();
}

if (ObtenerNumeroAlAzar() != BINGOOOO)
GenerarErrorDeProteccionGeneral();

/* Fin de bucle principal */
}

/* Finalizar sesión */

if (AunNoHaCascadoDelTodo()) {
if (ObtenerOtroNumeroAlAzar() != BINGOOOO) {
MandarExplorerALaMierda();

if (HayAlgoAbierto()) {
Accion = MostrarMensaje(”¿Desea guardar los datos?”);
if (Accion == SI)
GuardarDatos_JAJAJA();

MandarloTodoAlCarajo();
}
}

printf(”Windows se está cerrando”);

while (HAYA_PRISA)
sleep(5000);

if (UsuarioYaLlegaTardeDondeTeniaQueIr())
printf(”Ahora puede apagar el equipo.”);
}

return ((int)((long)((float)((double)((re double)CASCAR)))));

Incrementa la duración de la batería de tu portatil y reduce su temperatura


Muchas veces notamos que el rendimiento de la batería puede resultarnos un tanto corto cuando usamos Linux a pesar de contar con buenas herramientas para la administración de energía. También se puede presentar un notable recalentamiento que puede ser bastante perjudicial para la vida útil de nuestro laptop.

Existe una forma de solventar estos problemas con la simple instalación de un módulo llamado CPUFREQD que nos controla automáticamente la velocidad del procesador dependiendo de la exigencia que le demos, con esto evitamos utilizar ciclos de procesamiento innecesariamente elevados en tareas simples como editar textos.

Para esto hacemos los siguientes pasos (válidos para cualquier versión de Ubuntu):

1- Abrimos una terminal y pegamos este código que nos desinstala el servicio de powernowd que nos será innecesario

sudo apt-get remove powernowd

2- Ahora instalamos el cpufreqd

sudo apt-get install cpufreqd

Puede que necesites habilitar los repositorios Universe para que se instale correctamente este paquete

3- Reiniciamos para que nuestro servicio de CPUFREQD se cargue en nuestro arranque.

Ahora nuestro sistema escalará la velocidad de procesamiento de acuerdo a la tarea y asi nos ahorraremos batería y mejoraremos la temperatura considerablemente.

También puede interesarte una entrada de hace ya algún tiempo: “Ahorra Bateria, Apaga tu pantalla con un click”

Actualización de Matrix


Buenísima la tira

Fuente: TiraEcol

Instalar OpenOffice 3 desde repositorios de intrepid ibex


Si queremos tener la última versión de la suite ofimática, tan solo debemos actualizar nuestro sources.list:

Desde un terminal, editamos el fichero:

$ sudo gedit /etc/apt/sources.list

Y añadimos las siguientes líneas al final del fichero:

#Openoffice
deb http://ppa.launchpad.net/openoffice-pkgs/ubuntu intrepid main

Una vez editado el fichero, bastará con hacer un update y se nos notificará en el gestor de descargas que la nueva versión está disponible:

$ sudo apt-get update && sudo aptitude upgrade

HOSTING

Espacios gratuitos en donde puedes alojar tu página WEB

En castellano

www.paisvirtual.com

www.ciudad.com.ar

www.dynamo.com.ar

www.lycos.com.ar

www.brujula.com.ar

www.starmedia.com

www.elsitio.com

En inglés

www.geocities.com/home

www.xoom.com/home

www.tripod.com
www.freeservers.com

GALERÍA DE HACKERS FAMOSOS

"La revolución de la computación ha sido lograda gracias a los hackers", afirman categóricamente los famosos investigadores de virus informáticos y pioneros de la era de la micro computación Rob Rosenberg y Ross Greenberg.

Toda revolución tecnológica, es sorprendentemente innovativa y de constante dinámica evolutiva. Muchas personas en el mundo, ingresaron a la era de la computación en diversas etapas, y no son pocos los advenedizos que se limitaron a imitar o repetir lo que escuchaban o leían.

De esta "evolución de conceptos" no se escapó el término "hacker", el cual empezó a ser satanizado por los medios, sin real conocimiento de causa, motivado por las grandes corporaciones que necesitaban hacer crecer sus mercados en una sociedad de consumo. Y había que buscar una palabra que identificara al chivo expiatorio causante de muchos de sus males.

Rob Rosenberg, es el autor de "Mitos y Leyendas de Virus de Computadoras" y experto en "Virus Hoaxes".

De acuerdo a la historia de la era de la Computación, la primera persona sindicada como "hacker" fue una respetable y sabia mujer: la Almirante de la Armada de los Estados Unidos Grace Hooper, con la cual empezamos nuestra Galería. Obtenga sus propias conclusiones.

En esta Galería se incluyen además algunos casos de "piratas", "crackers" y "lamers" tristemente famosos.

GALERÍA DE HACKERS FAMOSOS


Grace Hooper La Almirante, creadora del Lenguaje COBOL



Los autores del COREWAR Precursores de los creadores de virus informáticos


Fred Cohen Primer investigador y autor de los virus de la historia


Dennis Ritchie y Ken Thompson Creador del Lenguaje C, y ambos co-creadores del SO UNIX


Gary Kildall Autor del sistema operativo CMP y CPM/86


Tim Paterson Autor del Quick & Dirty DOS, un clone, hackeado, del CPM/86


Bill Gates Muchos lo tildan de "hacker". Saque sus propias conclusiones.


Robert Morris Autor del virus "The tour of the Worm" en Internet


Kevin Mitnick El hacker más buscado por el FBI


Phiber Optik Líder juvenil convertido en símbolo de los hackers


Richard Stallman Impulsor del "software gratuito" y el GNU


Johan Helsingius El primer conductor de un Remailer Anónimo


Chen Ing-Hou Autor del virus CIH o Chernobyl


Sir Dyistic Autor del Back Orifice


David L. Smith Autor del virus Melissa


Reonel Ramonez Autor principal del virus LoveLetter


Vladimir Levin Robó electrónicamente 10 millones de dólares al Citibank


Hackers en Hollywood Copyright Cable News Inc.


HBK de Brasil Co-autor del MTX, Toal, Shatrix, etc., miembro de Coderz y Matrix


Autor de Melissa es condenado 20 meses de prisión y 3 años de libertad supervisada


The Deceptive Duo Robert Lyttle, hacker y empresario desde los 14 años


Adrian Lamo Un hacker osado o un Cruzado de la Seguridad en Internet?


Carnivore Lo bueno, lo malo y lo feo del software de vigilancia del FBI


[K]alamar Autor del Visual Basic Script Worm Generator


ElGranOscarin Autor del troyano CABRONATOR y muchas herramientas de hacking


PHCrulez Portal de Peruvian Hackers & Crackers clausurado por piratear software legal


Hackers Escolares Jóvenes alumnos de una escuela acusados de alterar notas de exámenes


Caso ZAP Antivirus La Piratería no paga, la Justicia tarda pero llega.


Caso Lamer Emarts FBI cierra portal de lamer peruano que distribuía software legal gratuitamente


Hackers chilenos (??) Hackean portal del Poder Judicial del Perú con la complicidad de PowHACK Revolution Team


Hackean web del Congreso Hackean portal del Congreso de la República


Symantec y Kaspersky usan Rootkitss (??) Symantec y Kaspersky acusados de usar temibles técnicas de oculmatiento similares a los "Rootkits"

Gestor de ventanas

Un gestor de ventanas o en inglés window manager, es un programa que controla la ubicación y apariencia de las aplicaciones bajo el sistema X Window.

Los ordenadores modernos suelen ofrecer una interfaz gráfica de usuario que facilita la interacción con el sistema operativo.

Las plataformas Windows y Macintosh ofrecen métodos de visualización y control de las ventanas e interacción con las aplicaciones, estandarizados por sus vendedores. En cambio el sistema gráfico X Window, popular en el ámbito de sistemas Unix y similares, como GNU/Linux, permite al usuario escoger entre varios gestores según sus gustos o necesidades. Los gestores de ventanas difieren entre sí de muchas maneras, incluyendo apariencia, consumo de memoria, opciones de personalización, escritorios múltiples o virtuales y similitud con ciertos entornos de escritorio ya existentes, por ejemplo.

Gestores de ventanas populares

* AfterStep, basado en FVWM y de apariencia similar a NeXTSTEP.

* AmiWM (Amiga Window Manager).

* Blackbox.

* CTWM.

* Enlightenment (también llamado 'E'), basado originalmente en fvwm2.

* Fluxbox, derivado de la versión 0.61.1 de Blackbox.

* FVWM.

* FVWM95, versión modificada de fvwm2.x para que tome el aspecto de Windows 95.

* IceWM.

* Ion WM

* Kwin, gestor de ventanas de KDE.

* Metacity, el gestor de ventanas ligero de algunas versiones de GNOME 2.

* Metisse, gestor de ventanas en 3D basado en otro gestor de ventanas, FVWM),

* MWM (Motif Window Manager).

* OLWM/OLVWM (OpenLook Window Manager / OpenLook Virtual Window Manager).

* quartz-wm, gestor de ventanas de Apple, de aspecto similar a Aqua, para el sistema X Window (X11) en Mac OS X.

* Sawfish, originalmente conocido como Sawmill.

* SCWM. Sitio Oficial de SCWM

* TWM/ VTWM (Tab Window Manager, también llamado Tom's Window Manager / Virtual TWM).

* WindowMaker, emula la interfáz de NeXT, como AfterStep.

* wm2/wmx.

Otros gestores de ventanas

* 3Dwm, con aspecto tridimensional.

* 4Dwm, MWM mejorado de SGI.

* 5dwm

* 9wm

* aewm, basado en 9wm.

* aewm++, también basado en aewm pero con características más modernas.

* Alloywm, otro gestor de ventanas basado en aewm.

* Amaterus

* awm (Ardent Window Manager)

* B4step, un gestor de ventanas para Linux y Solaris.

* BadWM, un gestor de ventanas minimalista con un buen control por teclado.

* Clementine, un pequeño y rápido gestor de ventanas basado en aewm pero reescrito en C++.

* dxwm

* Eclipse (gestor de ventanas), escrito totalmente en Lisp.

* Efsane II

* EPIwm

* Evilwm, un gestor de ventanas minimalista derivado de aewm, con algunas adiciones en el área del control por teclado.

* flwm (Fast Light Window Manager), basado en wm2.

* Framer, un simple gestor de ventanas para el entorno de escritorio ROX.

* Golem (gestor de ventanas), un gestor de ventanas pequeño que soporta temas, plugins y visualización multi-pantalla.

* GWM (Generic Window Manager), un viejo gestor de ventanas extensible.

* GwML

* Hackedbox, una versión hackeada de blackbox, con barra de herramientas.

* HaZe, basado en mlvm.

* Heliwm

* hpwm (HP's Window Manager), con aspecto 3D es el precursor de mwm.

* Interface WM, escrito en objective-c y optimizado para aplicaciones GNUstep.

* Ion, gestor de ventanas tabulado pensado para usuarios del teclado.

* JWM (Joe's Window Manager), un simple gestor de ventanas basado en Xlib.

* Kahakai basado en Waimea con soporte de scripts para varios idiomas.

* larswm, otro hack de 9wm.

* lwm (Lightweight Window Manager), sin iconos y ni barra de botones.

* m_swm (Sigma Window Manager)

* Maewm, otro hack de aewm.

* Matchbox, un gestor de ventanas pequeño, sólo requiere Xlib, diseñado para
ordenadores con pantallas pequeñas, incluyendo PDAs y teléfonos.

* Mavosxwm, un gestor de ventanas minimalista.

* MIWM (Microscopic Window Manager), un gestor de ventanas minimalista escrito en C++ y con soporte para escritorios virtuales.

* mlvwm (Macintosh Like Virtual Window Manager), un gestor de ventanas virtual con apariencia similar al Mac OS clásico.

* Mosquito (gestor de ventanas), otro pequeño gestor de ventanas.

* mvwm, un gestor de ventanas virtual estilo vtwm.

* mwm 2.0, esta versión de mwm incluye soporte para múltiples 'workspaces'.

* NCDwm, el gestor de ventanas local para terminales NCD con aspecto similar al mwm.

* NovaWM, un gestor de ventanas muy nuevo.

* Openbox, basado en Blackbox, con varias ventajas incluyendo fuentes 'anti-alising'.

* Oroborus, un simple gestor de ventanas con soporte GNOME, temas y control total por teclado.

* OSWM, el gestor de ventanas versión OPENSTEP de Sun (OPENSTEP está basado en NeXT y Sun).

* PAWM (Puto Amo Window Manager), diseñado para ser simple, pequeño y funcional.

* Pekwm, otro basado en aewm++ con 'ventanas tabuladas' (grupo de ventanas juntas en un sólo marco), menus jerarquizados, y Xinerama.

* Perlwm, escrito en Perl.

* Phluid, otro basado en aewm.

* piewm, versión de tvtwm que ofrece 'Menús Pastel' (pie menus).

* PLWM (Pointless Window Manager), gestor de ventanas altamente modularizado escrito en Python.

* pmwm IXI's Panorama version of MWM offers olvwm-like features.

* pswm. Basado en PostScript de Sun pswm es parte de OpenWindows.
* Puppet, escrito en Java.

* PWM, un gestor de ventanas ligero.

* PyWM (Python Window Manager), gestor de ventanas pequeño y programable basado en FLWM.

* QLWM, un gestor de ventanas pequeño y eficiente basado en Qt 2.x.

* qvwm, de apariencia similar a Windows 95.

* Ratpoison, un gestor de ventanas simple sin gráficos fantásticos ni ventanas decorativas.

* rtl, gestor de ventanas de Siemen.

* Stumpwm, escrito en Lisp.

* sswm (Solbourne's swm).

* Swm (Small Window Manager), diseñado para entornos con poca memoria y pantalla pequeña tales como ordenadores portátiles y PDAs.

* tekwm (Tektronix's Window Manager).

* Treewm

* TrsWM, basado en Ion permite de manera fácil manejar las ventanas usando sólo el teclado.

* tvtwm (Tom's Virtual Tab Window Manager), basado en Tab Window Manager.

* Ultimate Window Manager (uwm), un gestor basado en pie menus (menus circulares)

* uwm (Universal Window Manager), el gestor de ventanas simple.

* vuewm, gestor de ventanas de HP basado en MWM HP's que ofrece 'workspaces'
configurables.

* w9wm, gestor de ventanas w9wm con pantallas virtuales.

* Waimea, un gestor de ventanas rápido y altamente personalizable que usa la biblioteca de gráficos Cairo.

* Webwm, Un gestor de ventanas para páginas web.

* WindowLab, gestor de ventanas pequeño y simple basado en aewm, con algunas adiciones nuevas.

* wm, un gestor de ventanas muy primitivo, originalmente diseñado como ayuda para la depuración del servidor X11. Desfasado con X11R2.

* wmG, A small GTK-based window manager that is GNOME-compliant, partially Mwm compliant, and fully ICCCM compliant.

* WMI, combina las mejores características de larsWM, Ion, evilwm, y ratpoison.

* WWM (Weird Window Manager), bastante básico no ha sido actualizado durante mucho tiempo.

* XDSwm

* XIGE (Xilicius Graphical Environment), un gestor de ventanas nuevo y rápido optimizado para programadores.

* XWEM, escrito en Emacs Lisp.

* xwm, posiblemente el primer gestor de ventanas (fechado en 1985), antes incluso que el propio X11 (el Sistema X Window).

* YWM, un gestor de ventanas intuitivo y rápido.

* ZWM, basado en SDL.

Gestores de ventanas libres

* AfterStep

* Blackbox

* FVWM

* FVWM95

* Fluxbox

* IceWM

* JWM

* KWin

* Metacity

* Openbox

* Window Maker

* Xfwm

CAMBIAR LA MAC DE TU DISTRO


Como cambiar una direccion MAC por un ratico

Para todo esto hay que ser root, asi que tecleamos en consola

sudo -s

ponemos la contraseña

y hacemos

ifconfig eth0 down

con ello desconectamos la interfaz de red pero hay programas como el llamado network manager reactivan la interface, asÃi que si lo tienes instalado desactivalo luego solo basta con:

ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx

Donde ifconfig se refiere a la configuracion de la interface de red

eth0 se refiere a la interfaz de red y hw es el parametro que requiere el comando ifconfig para modificar la MAC activa, luego donde estaran las x ponemos la MAC que suplantara a nuestra a la actual por un rato dado que la MAC esta definida por el hardware es un tanto dificil cambiarla definitivamente

si no da fallos, simplemente damos de alta la interfaz:

ifconfig eth0 up

Recordad la MAC es un identificador unico de cada interfaz de red en el mundo (cada dispositivo, en este caso tarjeta de red tiene uno irrepetible si por casualidad el cambiar este numero usurpa la identidad de otro dispositivo activo podria darse un caso de robo de informacion o una colision de datos asi como tambien problemas con los dispositivos que se guian por este identificador para poder trasmitir a un solo punto la informacion.

Los siete mejores hackers informáticos

Bordeando la fina línea entre hacker y cracker, una lista de los mejores siete hackers de todos los tiempos, traducida con más detalle en El Concepto es el Concepto como Top 7 Hackers, procedente del original Top 7 Hackers Ever donde hay amplísima información:

Kimble – Condenado a dos años por colarse en servidores de empresas y redes telefónicas.

John Draper – a.k.a. Captain Crunch, el phreaker mas famosos de todos los tiempos, inventor de las blue boxes para llamar gratis (también encarcelado).

Eric Gordon Corley – a.k.a. Emmanuel Goldstein, activista, divulgador y editor de 2600.

DVD Jon – Jon Lech Johansen, llevó a cabo la ingeniería inversa de la protección de los DVDs, entre otros sistemas.

Adrian Lamo – Famoso por entrar en AOL, Yahoo, Microsoft y el The New York Times pero avisando de los fallos de seguridad a sus responsables.

Solo – Gary McKinnon, se supone que se metía en los ordenadores del ejército, pidieron su extradición desde Reino Unido a EE.UU. pero todavía no se sabe bien qué será de él.

Kevin Mitnick – El hacker mas famoso de todos los tiempos, también pasó un buen tiempo en la sombra.

Para mi gusto hubiera intercambiando algunos de estos nombres por los de otros héroes hackers tipo Wozniak, digamos más del lado «positivo» que del lado de «¡Ops! tomé algunas elecciones equivocadas y pasé una temporada a la sombra», pero en cualquier caso todas sus historias tienen su encanto.

Recuperar entorno gráfico

Si haz tratado de o al menos intentado instalar los drivers de la tarjeta de video y al final te sale un pantallazo negro, al momento de que intentaste activar xgl pues algo no hiciste bien... En mis inicios varias veces me sucedió, despúes de algunos intentos infructuosos al final siempre me salía la pantalla negra como la noche sin poder salir de ahí reinstalaba el sistema (que bárbaro dirás pero así es la vida...no se crean soy un novatillo que a base de errores y metidas de pata es que se aprende un poco)

Pienso que un sano método anticipando el cambio o modificación de algo que comprometa al sistema es modificar el nivel de inicio o arranque no se como se llama exactamente.

Ojo: Si no tienes experiencia en el uso de la Consola esto puede acarrearte algunos problemas graves.

Editando lo siguiente:

Abres una consola y digitas esto:

$ /etc/inittab

como root, con cualquier editor, por ejemplo kate: sudo kate /etc/inittab

Allí en una de las primeras líneas debes encontrar un 5 rodeado de palabras.

Debes de cambiar ese 5 por un 3, y la próxima vez que iniciemos el sistema será en modo consola.

Ahora es recomendable hacer una copia de seguridad del archivo de configuración sax2:

$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf-BACKUP

Si tu sistema no es estable, el backup no te servirá de mucho.

Ahora sólo queda reiniciar el equipo ingresando tu login y contraseña luego inicias el entorno gráfico tecleando:

$ startx

o también puedes usar:

$ init 5

Después de esto si no te inicia el escritorio despúes de tratar de intalar los drivers de ati x ejemplo reinicias completamente el sistema y con ctrl + Alt + F1 entras en modo de texto y tecleas lo siguiente:

sudo cp /etc/X11/xorg.conf-BACKUP /etc/X11/xorg.conf

Con esto restauras el xorg.conf y con Ctrl + Alt + BackSpace reinicias el entorno gráfico luego deshaces el primer cambio:

sudo vi /etc/inittab (esto en modo texto)

sudo gedit /etc/inittab (esto en modo gráfico)

Y cambias el 3 por el 5.

vi y gedit son editores en modo consola vi y gedit en modo Gráfico.

Luego cambias lo que hiciste mal con el sistema y a ver que pasa.

Ojalá que a alguien le sirva de algo, bueno a mi me funcionó, imagínense cuántas horas de sueño hubiera disfrutado. Siempre antes de formatear investiga un poco puede que encuentres una solución sencilla al problema.

“Linux para los más pequeños”

Qimo 1.0

Qimo es una simpática distribución Linux basada en la popular Ubuntu y que va dirigida a un público muy concreto, los niños.

Cuenta con programas para tareas habituales como dibujar, retocar imágenes, ver vídeos, escuchar música, navegar por la red o chatear, además de juegos y actividades para los más jóvenes de la casa.

Qimo puede probarse sin necesidad de instalación (sólo necesitas grabar la imagen ISO en un CD), y si te gusta podrás instalarlo en tu ordenador.

Descargar

Cómo leer y escribir en particiones NTFS

Si instalaste Ubuntu u otra distro de Linux pensando que inmediatamente podrías escribir sobre tus particiones NTFS (de Windows), te tengo malas noticias: de que se puede, se puede, pero no lo lograrás con sólo un click.

La culpa, en todo caso, no es nuestra.

Resulta que Microsoft nunca liberó las especificaciones de cómo funciona internamente este sistema de archivos, a diferencia de lo que hizo con FAT. Esto significa que para FAT sí hay soporte nativo en Linux, mientras que para NTFS no, al menos no para escritura. Esto, obviamente, ha llevado a varios programadores a lograr el desafío, desarrollando todo en ingeniería inversa, de adelante hacia atrás.

Hoy, después de mucho ensayo y error, se puede hacer sin problemas (un aplauso para los desarrolladores!).

¿Cómo lograrlo? Aquí va el Resumen Resumido™.

La primera, Captive NTFS

Ésta fue el primer proyecto que permitió leer y escribir en las particiones NTFS, y eso lo hace el proyecto más maduro de todos. Sin embargo, la compatibilidad la logran usando Wine y algunos archivos originales de Windows, lo que dificulta la instalación ya que no es absolutamente “limpia”. De hecho, para poder funcionar Captive te pide que “le consigas” ntfs.sys, ntoskrnl.exe y otros archivos más, ya que por un tema de licencias éstos no pueden venir incluídos en el paquete de Captive.

Por todo esto no recomiendo usar este método, pero si te interesa probarlo, así se usa:

Primero, obviamente bajarlo e instalarlo. Después correr captive-install-acquire para obtener los archivos necesarios (puedes sacarlos de tu instalación de Windows, o bien bajarlos desde el sitio de Microsoft). Ahora, para montar una partición (digamos que la quieres montar en /media/win):

$ sudo mkdir /media/win
$ sudo mount -t captive-ntfs /dev/hda1 /media/win

Y para que quede montada automáticamente cuando bootees, agrega esta línea a /etc/fstab:

/dev/hda1 /media/win captive-ntfs rw,umask=002,nls=utf8

Dependiendo de dónde esté tu partición NTFS tendrás que cambiar hda1 por lo que necesites. Si se trata de la tercera partición del segundo disco, por ejemplo, debería ser hdb3 (la fórmula es hd + orden del disco + número de partición).

Otro dato: éstos últimos comandos son genéricos, es decir también funcionan con los otros drivers, sólo tienes que cambiar ‘captive-ntfs’ por ‘ntfs’ o ‘ntfs-3g’. Pero ya llegaremos a eso.
La segunda, con el driver de linux-ntfs

Este método es el más fácil, aunque no el ideal. El driver viene incluído en la mayoría de las distribuciones y ya es prácticamente un estándar, básicamente porque es bien seguro. La razón de esto es que, si bien permite leer archivos y sobreescribir en los existentes, no permite crear nuevos archivos ni borrar los antiguos. Personalmente uso este método sólo cuando necesito leer algún archivo de la partición donde está Windows instalado (por ejemplo para acceder al escritorio, que está en Documents&Settings).

Demás está decir que no tienes que instalar nada.

Bueno, para montar la partición, usa los mismos comandos de arriba, pero reemplazando captive-ntfs por sólo ntfs. Es decir:

$ sudo mount -t ntfs /dev/hda1 /media/win

Y para que quede montada automáticamente cuando bootees, en /etc/fstab agregar:

/dev/hda1 /media/win ntfs rw,umask=002,nls=utf8

Y la tercera, con el nuevo ntfs-3g

Esta es la última versión del driver linux-ntfs, y en mi opinión es el método ideal. Primero, porque es completamente abierto (a diferencia de Captive que usar partes propietarias de Windows), segundo porque puedes hacer absolutamente todo (copiar, borrar, editar, etcétera), y por último: es rápido. Bien rápido. Al menos así dicen las primeras pruebas que se hiceron con el driver, que incluso lo situaron por sobre ext3, el sistema de archivos estándar de Linux (Reiser ganó por lejos).

Este driver eventualmente llegará a ser parte del kernel (por lo que tendremos soporte nativo después de todo), pero por ahora hay que instalarlo a mano para echarlo a andar.

Todo lo que tienes que hacer es instalar fuse y después ntfs-3g. Por ahora no hay paquetes .DEB para hacerlo vía Synaptic, pero puedes hacerlo compilándolo vía consola. No te asustes, son sólo un par de comandos simples. Yo ya lo hice y he ha funcionado perfecto.

UPDATE: Ya tenemos paquetes para Ubuntu, así que no te costará nada hacerlo funcionar.

Primero, agrega los siguientes repositorios a /etc/apt/sources.list:

deb http://flomertens.keo.in/ubuntu/ dapper main
deb-src http://flomertens.keo.in/ubuntu/ dapper main

Ahora instala el paquete ntfs-3g, después de actualizar el listado con Synaptic. Y para montar la partición:

$ sudo mount -t ntfs-3g /dev/hda1 /media/win

Por último, si quieres que quede montada automáticamente cuando bootees, en /etc/fstab agrega:

/dev/hda1 /media/win ntfs-3g rw,umask=002,nls=utf8

OPCIONAL: Si quieres instalar ntfs-3g compilándolo:

Sólo asegurate que (si tienes Ubuntu) tengas el paquete build-essentials instalado. Ahí viene todo lo necesario para compilar un programa. Puede que también necesites el kernel-headers o quizás el pkgbuild, dependiendo de tu distribución.

¿Listo? Después de bajar y descomprimir ambos paquetes (fuse y ntfs-3g, en ése orden), haz ésto:

$ ./configure
$ make
$ sudo make install

¿Ves que no es nada difícil? El primer comando verifica que todo esté en orden y configura las rutas de acceso para compilar el módulo. El segundo efectivamente lo compila (lo “hace”, por “make”); y el tercero lo instala. Si nunca antes habías compilado un programa, bueno, ahora lo acabas de hacer. :)

Ahora, para montar las particiones, usa el mismo método de arriba pero reemplaza “ntfs” por “ntfs-3g”. Todo listo.

Letras en Ascii

No puedes popner una palabra o frase en binario directamente, porque el código binario es numérico y tu nombre alfabético.

Sin embargo el código ASCII permite representar con 7 bits las letras del alfabeto inglés.

La tabla siguiente te puede ayudar. Muestra 8 bits porque se deriva del sistema hexadecimal y las computadoras de 8 bits. El código ASCII extendido, de 8 bits, acomoda las letras del alfabeto español.

Por ejemplo:

01000001 A
01000010 B
01000011 C
01000100 D
01000101 E
01000110 F
01000111 G
01001000 H
01001001 I
01001010 J
01001011 K
01001100 L
01001101 M
01001110 N
01001111 O
01010000 P
01010001 Q
01010010 R
01010011 S
01010100 T
01010101 U
01010110 V
01010111 W
01011000 X
01011001 Y
01011010 Z


Fuente(s):
www.neurophys.wisc.edu/comp/docs/ascii.h...

Hacker != Cracker

Un hacker no es un cracker, ni tampoco un phreaker. ¿Cuál es la diferencia?

Habría muchas formas de clasificar a los habitantes del ciberespacio, pero la más corriente es aprovechando los conocimientos de que disponen del medio en el que circulan. Así, hay usuarios de «andar por casa», hay gente más o menos informada sobre el funcionamiento de las cosas, usuarios medios, usuarios avanzados, técnicos, programadores de todos los niveles... y hackers.

No existe una traducción exacta de la palabra hacker. Algunos utilizan «pirata informático», pero eso no hace justicia a la idea original, de modo que habrá que remitirse a una de las fuentes mejor documentadas: el Archivo Jargon (jerga) de Internet, que también puede encontrarse en forma de libro altamente recomendable como «El Diccionario del Hacker»: The New Hacker's Dictionary, Third Edition (Eric S. Raymond; octubre 1996).

Transcribo a continuación la definición. He respetado el formato original, que consiste en dejar en negrita las referencias a otros términos del diccionario (enlazados al original disponible en Internet). Me he tomado la libertad de, como se comenta en el diccionario y es habitual en las redes -y entre los hackers- «verbalizar» los nombres, de modo que al hablar sobre los hackers se puedan emplear expresiones como «hackear» o «hacer un buen hackeo.»

Hacker [originalmente, alguien que fabrica muebles con un hacha] n. 1. Persona que disfruta con la exploración de los detalles de los sistemas programables y cómo aprovechar sus posibilidades; al contrario que la mayoría de los usuarios, que prefieren aprender sólo lo imprescindible. 2. El que programa de forma entusiasta (incluso obsesiva). 3. Persona capaz de apreciar el valor del hackeo. 4. Persona que es buena programando de forma rápida. 5. Experto en un programa en particular, o que realiza trabajo frecuentemente usando cierto programa; como en «es un hacker de Unix.» (Las definiciones 1 a 5 están correlacionadas, y la gente que encaja en ellas suele congregarse.) 6. Experto o entusiasta de cualquier tipo. Se puede ser un «hacker astrónomo», por ejemplo. 7. El que disfruta del reto intelectual de superar o rodear las limitaciones de forma creativa. 8 [en desuso] Liante malicioso que intenta descubrir información sensible cotilleando por ahí. De ahí vienen «hacker de contraseñas» y «hacker de las redes». El término correcto en estos casos es cracker.

El término «hacker» suele implicar también participación como miembro en la comunidad global definida como «la red». (Ver la red y direcciones internet.) Para aprender más sobre las bases de esta cultura, se puede consultar el Documento de Preguntas Frecuentes, >FAQ: Cómo Convertirse en un Hacker. El término también implica que la persona descrita suele suscribir alguna versión de la ética del hacker. (ver Ética del hacker, más abajo).

Es mejor ser descrito como un hacker por otros que describirse a uno mismo de ese modo. Los hackers se consideran a si mismos algo así como una élite (en la que los méritos se basan en la habilidad), aunque suelen recibir amablemente a nuevos miembros. Por lo tanto, hay una parte de satisfacción del ego en considerarse a si mismo un hacker (si dices ser uno y luego no lo eres, rápidamente te etiquetarán como falso.) Ver también quiero-y-no-puedo.

Este término parece haber sido adopotado originalmente como etiqueta cultural en los años 60 por la cultura hacker creada alrededor del TMRC y el Laboratorio de Inteligencia Artificial del MIT. Existen menciones de la utilización del término más o menos como aquí se ha descrito por parte de quinceañeros radioaficionados y amantes de la electrónica a mediados de los años 50.

Por su parte, la otra definición importante dice así:

Cracker n. El que rompe la seguridad de un sistema. Acuñado hacia 1985 por hackers en defensa ante la utilización inapropiada por periodistas del término hacker (en su acepción número 8.) Falló un intento anterior de establecer «gusano» en este sentido en 1981-1982 en Usenet.

La utilización de ambos neologismos refleja una fuerte repulsión contra el robo y vandalismo perpretado por los círculos de crackers. Aunque se supone que cualquier hacker auténtico ha jugado con algún tipo de crackeo y conoce muchas de las técnicas básicas, se supone que cualquiera que haya pasado la etapa larval ha desterrado el deseo de hacerlo con excepción de razones prácticas inmediatas (por ejemplo, si es necesario pasar por alto algún sistema de seguridad para completar algún tipo de trabajo.)

Por lo tanto, hay mucho menos en común entre el mundo de los hackers y de los crackers de lo que el lector mundano, confundido por el periodismo sensacionalista, pueda suponer. Los crackers tienden a agruparse en grupos pequeños, muy secretos y privados, que tienen poco que ver con la poli-cultura abierta y enorme que se describe en este diccionario; aunque los crackers a menudo se definen a sí mismos como hackers, la mayor parte de los auténticos hackers los consideran una forma de vida inferior.

Consideraciones éticas aparte, los hackers consideran que cualquiera que no sea capaz de imaginar una forma más interesante de jugar con su ordenador que romper los sistemas de algún otro ha de ser bastante perdedor. Algunas de las otras razones por las que se mira con desprecio a los crackers se describen en las entradas sobre cracking y phreaking (crackers telefónicos). Ver también samurai, hackers del lado oscuro, y la ética del hacker. Para un retrato del clásico cracker quinceañero, ver warez d00dz.

Estas definiciones de hacker y cracker explican muchas cosas y también dan una idea de la forma en que se expresan los hackers (las palabras en negrita enlazadas apuntan, como habrás visto si has seguido los enlaces, a otras partes del diccionario de la jerga de los hackers).

En resumen: un hacker es simplemente alguien capaz de manejar con gran habilidad cualquier sistema (aparato, dispositivo - no necesariamente un ordenador), con el fin de sacarle más partido o divertirse. ¿Qué hay hoy en día que no sea programable y hackeable? Desde el reloj de pulsera hasta el vídeo, la radio del coche, el sistema de correo postal, el teléfono móvil, el sistema de reservas de entradas de cine por teléfono, la cámara de fotos, el sistema de riego del jardín, la máquina de fichar de la oficina... Todos esos pequeños aparatos y sistemas pueden ser programados, mejorados y «hackeados» para que hagan cosas que se supone que no pueden hacer.
¿Por qué los hackers están tan mal considerados?
En general, los medios informativos han hecho un flaco favor a los hackers al hablar sin conocimientos sobre ellos y los asuntos en los que se ven envueltos. Los hackers son muy diferentes de los crackers. Como dice la definición del diccionario, los crackers son en realidad hackers maliciosos cuyo objetivo es introducirse ilegalmente en sistemas, crear virus, robar información secreta y todo tipo de acciones similares - pero no por aprender o divertirse, sino con fines realmente malignos e ilegales.

Los crackers maliciosos utilizan mal sus conocimientos, y suelen meterse en problemas por hacer precisamente eso: un mal uso de su «fuerza» (de ahí el simil con el «Lado Oscuro de la Fuerza» de Star Wars, otro clásico de la cultura hacker). Hay muchos crackers que han acabado en prisión por sus andanzas, a pesar de que la ley nunca fué demasiado explícita (al menos hasta los años 90) sobre las acciones que podrían considerarse ilegales. Introducirse en un sistema a través del teléfono no es lo mismo que atravesar una puerta de una empresa, y esto ha permitido que en muchas ocasiones estos personajes salieran impunes.

Entre las variantes de crackers maliciosos están los que realizan Carding (Tarjeteo: uso ilegal de tarjetas de crédito), Trashing (Basureo, obtención de información en cubos de basura, tal como números de tarjetas de crédito, contraseñas, directorios o recibos); Phreaking y Foning (uso ilegal de las redes telefónicas) y los clásicos y llanamente llamados Piratas (gente del Warez) que se dedican a copiar software legal, música o vídeos, para revenderlo por ahí. Estos últimos son sin duda los luserazos más patéticos de todos.

La Ética del Hacker

Esta es (o era) la definición original de la ética del hacker:

* El acceso a los ordenadores, y a cualquier cosa que pudiera enseñarte algo sobre cómo funciona el mundo debería ser ilimitado y total
* Básate siempre en el imperativo de la práctica
* Toda información debería ser libre
* Desconfía de la autoridad, promueve la descentralización
* Los hackers deberían ser juzgados únicamente por su habilidad en el hackeo, no por criterios sin sentido como los títulos, edad, raza o posición social
* Se puede crear arte en un ordenador
* Los ordenadores pueden cambiar tu vida a mejor

Estas son otras definiciones y/o «sentidos» de la Ética del Hacker, actualizadas (¿simplificadas? ¿mejores? ¿más del siglo XXI y del software libre?):

* La creencia en que compartir información es un bien poderoso y positivo, y que es tarea ética de los hackers compartir sus experiencias escribiendo código abierto («open source») y facilitando el acceso a la información y los recursos de computación siempre que sea posible
* La creencia de que romper sistemas por diversión y exploración está éticamente bien siempre que el cracker no cometa un robo, un acto de vandalismo o vulnere la confidencialidad

¿Cómo colocar una imagen en GRUB?

Hola, este tutorial está pensado para los usuarios de Debian y distros derivadas del mismo, esto se debe a algunos comandos, pero no te preocupes que funciona para cualquiera.

Para colocar una imagen en el grub, ésta debe estar en el formato .xpm, con un máximo de 14 colores, a una resolución de 640x480 y comprimida en .gz

Para asegurarse de que estén en 14 colores las imágenes, en GIMP es en:

Imagen → Modo → Indexado

y en la ventana que abre donde dice 255 cambien a 14.

Bien, ya que tengan su imagen guardada comprimanla y cambien el nombre si es preciso para que quede como esto:

grub3.xpm.gz

El resto es casi todo en modo consola:

$ Vayan a la carpeta donde tengan su .xpm.gz
$ sudo mkdir /boot/grub/imagenes
$ sudo mv *.xpm.gz /boot/grub/imagenes
$ sudo gedit /boot/grub/menu.lst

OJO: Este es el archivo de configuración de GRUB por lo que les recomiendo tener cuidado de no mover algo de más, ya que si lo hacen mal pueden inutilizar su menú de arranque.

Inserten al principio del Archivo menu.lst :

splashimage=(hd0,2)/boot/grub/imagenes/grub3.xpm.gz

En mi caso el nombre del archivo es grub3.xpm.gz pero lo tienen que cambiar dependiendo del archivo que ustedes tengan.

Tambien puede cambiar (hd0,2) ya que es donde yo tengo el boot, puede cambiar a (hd0,0) (hd0,3) , u (hd1,0) etc... Todo depende de donde tengan ustedes su particion “/”.

Les recomiendo hacer un:

$ sudo fdisk -l

Para facilitarles la busqueda.

Para aclarar un poco voy a explicar lo que se acaba de hacer.

Bueno, lo primero fue crar una carpeta llamada imagenes dentro del subdirectorio /boot/grub.

Después se copio la imagen grub3.xpm.gz a la carpeta recién creada, esto es en /boot/grub/imagenes

Lo siguiente fue la modificación que se le hizo al archivo menu.lst, que es el de configuración del grub. Se le coloco el texto anterior (splashimage=(hd0,2)/boot/grub/imagenes/grub3.xpm.gz)

Eso es básicamente lo que se hizo en modo consola. Espero que se haya entendido un poco mejor y les recuerdo que aplica para cualquier distro.

Y si quieres meterle colores a las letras del menu basta con las siguientes opciones al principio del menu.lst
CODE

foreground=ff4e00
background=c30000

Los valores hexadecimales puedes cambiarlos por los que tu quieras...

Hola mundo en diferentes lenguajes

En informática, un programa Hola mundo (o Hello World, en inglés) es el que imprime el texto «¡Hola, mundo!» en un dispositivo de visualización (generalmente una pantalla de monitor). Se suele usar como introducción al estudio de un lenguaje de programación, siendo un primer ejercicio típico.

El Hola Mundo se caracteriza por su sencillez, especialmente cuando se utiliza en programas de línea de comandos. En interfaces gráficas este programa suele tener una complejidad mayor.

Un programa Hola Mundo puede ser útil como prueba de configuración para asegurar que el compilador, que el entorno de desarrollo, y que el entorno de ejecución están instalados correctamente y funcionando. Configurar un conjunto de herramientas básicas completo desde cero hasta el punto donde hasta los programas triviales puedan ser compilados y ejecutados, puede involucrar una cantidad de trabajo sustancial. Por esta razón, generalmente es usado un programa muy simple para probar un conjunto de herramientas nuevo.

En los sistemas basados en microcontroladores empleados para el aprendizaje, se suele considerar "Hola mundo" al programa que permite poner en modo intermitente un diodo emisor de luz.[1] El programa consiste en mandar alternativamente un nivel alto y uno bajo por uno de los puertos del sistema, dando a cada uno de dichos niveles un valor de retardo.

Ejemplos en diferentes lenguajes

En ABAP/IV

REPORT HOLAMUNDO.
WRITE '¡Hola, mundo!'.

En ABC

WRITE "¡Hola mundo!"

En ActionScript

trace("¡Hola, mundo!");

En ActionScript 3.0

var txtField = new TextField();
txtField.text = "¡Hola, Mundo!";
txtField.autoSize = "left";
var format = new TextFormat("Arial",40,"#000000");
txtField.setTextFormat(format);
addChild(txtField);

En Ada

with Ada.Text_IO;

procedure Hola_Mundo is
begin
Ada.Text_IO.Put("¡Hola, mundo!");
end Hola_Mundo;

En ALGOL

BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY E [0:12];
REPLACE E BY "HOLA MUNDO!";
WHILE TRUE DO
BEGIN
WRITE (F, *, E);
END;
END.

En AppleScript

display dialog "Hola, Mundo!" buttons {"OK"} default button {"OK"}

En ASP

(>HTML>< BODY>
<%

Response.Write("Hola Mundo")

%>


En AutoIt

MsgBox(0,"","Hola Mundo!")

En Autoplay Media Studio

Dialog.Message("Noticia", "Hola, Mundo!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

En AWK

#!/bin/awk -f
BEGIN{
print "¡Hola, mundo!";
}

En Bash

#!/bin/bash
echo "Hola mundo"

En Basic

print "Hola Mundo"

En Batch

Primera Forma

@echo off
msg * ¡hola mundo!

Segunda Forma

@echo off
set wikipedia=Hola Mundo &echo %wikipedia%.

tercera Forma

@echo off
echo Hello World
pause > nul
exit

Cuarta Forma

@echo off
set h=Hola
set m=Mundo
echo %h% %m%

En Brainfuck

++++++++++
[ Bucle para iniciar el vector
>+++++++>+++++++++++>++++>+++>+<<<<<-
]
>++. imprime 'H'
>+. 'o'
---. 'l'
-----------. 'a'
>++++. coma
>++. ' '
<<<+++++. 'M'
>++++++++++++++++++++. 'u'
-------. 'n'
----------. 'd'
+++++++++++. 'o'
>>+. '!'
>. \n

En C

#include
#include
int main()
{
printf("¡Hola, mundo!\n");
system("pause");
return 0;
}

En C++

#include
using namespace std;

int main() {
cout << "¡Hola, mundo!" << endl;
return 0;
}

En C++/CLI
Opción 1

int main()
{
System::Console::WriteLine("Hola, mundo!");
return 0;
}

Opción 2

#include
using namespace std;
void main()
{
cout << "Hola mundo\n";
}

En C#

class MainClass
{
public static void Main()
{
System.Console.WriteLine("¡Hola, mundo!");
}
}

En Centura

Call SalMessageBox('Hola Mundo', 'Saludo', MB_IconExclamation | MB_Ok)

En Clipper

? "Hola Mundo!"

En CLIPS

(printout t "Hola Mundo" crlf)

En COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
DISPLAY "Hola mundo".
STOP RUN.

En ColdFusion


#variable#

En Delphi

program PHolaMundo;
uses
Dialogs;
begin
MessageDlg('Hola Mundo', mtInformation, [mbOK], 0);
end.

En Div Games Studio y Fenix GNU

PROGRAM Hola Mundo;
PRIVATE fuente1;
BEGIN
fuente1 = load_fnt("help\help.fnt");
write(fuente1, 160, 100, 4, "Hola Mundo");
LOOP
FRAME;
END
END

En DOS

En sistemas operativos de la familia DOS como MS-DOS o PC-DOS que usan como shell el intérprete de comandos COMMAND.COM o CMD.EXE (OS/2 y Windows de la rama NT) se pueden crear archivos de proceso por lotes con extensiones .BAT y .CMD respectivamente, con el siguiente contenido:

@echo ¡Hola, Mundo!

En Eiffel

class HOLA_MUNDO
create
make
feature
make is
do
io.put_string("%nHola mundo%N")
end
end -- HOLA_MUNDO

En ensamblador de PowerPC para Mac OS X

# hola-ppc.S para Mac OS X
# gcc -nostdlib hola-ppc.S -o hola-ppc
.data ; datos

hola:
.ascii "Hola, mundo!\n"
hola_len = . - hola

.text ; aquí vive el codigo
.globl start

start:
li r0, 4 ; llamada al sistema 4 (sys_write)
li r3, 1 ; arg. 1: descriptor de archivo (stdout)
lis r4, ha16(hola) ; arg. 2: puntero a la cadena (parte alta)
addi r4, r4,lo16(hola) ; sumamos la parte baja del mismo
li r5, hola_len ; arg. 3: longitud de la cadena
sc ; llamamos al sistema
nop
li r3, 0 ; el valor que vamos a devolver
li r0, 1 ; llamada al sistema sys_exit
sc
nop

En ensamblador de PowerPC para GNU/Linux

# hola-ppc.S para GNU/Linux
# gcc -nostdlib hola-ppc.S -o hola-ppc
.data # datos

hola:
.string "Hola, mundo!\n"
hola_len = . - hola

.text # aqui vive el codigo
.global _start

_start:
li 0, 4 # llamada al sistema 4 (sys_write)
li 3, 1 # arg. 1: descriptor de archivo (stdout)
lis 4, hola@ha # arg. 2: puntero a la cadena (parte alta)
addi 4, 4,hola@l # sumamos la parte baja del mismo
li 5, hola_len # arg. 3: longitud de la cadena
sc # llamamos al sistema
nop
li 3, 0 # el valor que vamos a devolver
li 0, 1 # llamada al sistema sys_exit
sc
nop

En ensamblador de x86 para DOS

.model small
.stack
.data
Cadena1 DB 'Hola Mundo.$'
.code
programa:
mov ax, @data
mov ds, ax
mov dx, offset Cadena1
mov ah, 9
int 21h
end programa

En ensamblador de x86 para GNU/Linux (nasm)

section .data

msg db "¡Hola Mundo!", 0Ah
len equ $ - msg

section .text

global _start

_start:
mov eax, 04h
mov ebx, 01h
mov ecx, msg
mov edx, len
int 80h
mov eax, 01h
mov ebx, 00h
int 80h

En Erlang

-module (hola).
-export([hola_mundo/0]).

hola_mundo() -> io:fwrite("Hola mundo!\n").

En Fortran

PROGRAM HOLA
PRINT *, '¡Hola, mundo!'
END

En Groovy

println "Hola Mundo!"

En GWBasic

print "Hola Mundo"

En Haskell

holaMundo :: IO ()
holaMundo = do putStrLn ("Hola mundo!")

En HQ9+

H

En HTML



Hola Mundo


¡Hola Mundo!





En IDL

print,'Hola Mundo!'

En INTERCAL

PLEASE NOTE Hola mundo en INTERCAL
DO ,1 <- #13
DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #28
DO ,1 SUB #3 <- #192
DO ,1 SUB #4 <- #176
DO ,1 SUB #5 <- #82
DO ,1 SUB #6 <- #48
PLEASE DO ,1 SUB #7 <- #78
DO ,1 SUB #8 <- #8
DO ,1 SUB #9 <- #56
DO ,1 SUB #10 <- #80
DO ,1 SUB #11 <- #48
DO ,1 SUB #12 <- #114
DO ,1 SUB #13 <- #52
PLEASE READ OUT ,1
PLEASE GIVE UP

En IHTML




:message


¡:message



En Java

public class HolaMundo {
public static void main(String[] args) {
System.out.println("¡Hola, mundo!");
}
}

En JavaScript



En JCL

//Paso1 EXEC PGM=T9971591
//DDUNO DD IN
%% Hola mundo

En JSP



<%! String hola = "hola mundo"; %>

<br /> <%= hola %> <br />


<%= hola %>


En Korn Shell

#!usr/bin/ksh
print "Hola Mundo";

En LabVIEW

Archivo:LVholamundo.png

[editar] En Liberty BASIC

print "¡Hola, mundo!"

En LISP

(format t "¡Hola, mundo!")

En Logo
Opción 1

escribe [¡Hola mundo!]


Opción 2

Rotula "Hola GD 90 sl av 50 Rotula "mundo

En LOLCODE

HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE

En Lua
Opción 1 (PC)

print("¡Hola, Mundo!\n")

Opción 2 (PSP)

screen:print(x, y, "Hola, Mundo!")

En Malbolge

(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCAA@98\6543W10/.R,+O<

En Maple

"hola mundo";

[editar] En Mathematica
[editar] Opción 1

hola mundo


Opción 2

Print["hola mundo"]

En MATLAB

disp('hola mundo'); % muestra el mensaje

En mIRC Scripting

on 1:start: {
echo ¡Hola Mundo!
}

En Modula-2

MODULE Hola;
FROM InOut IMPORT WriteString;
BEGIN
WriteString ("Hola Mundo");
END Hola.

En Natural

WRITE "HOLA MUNDO"

En NetLinx

send_string 0,'Hola Mundo'

En NetREXX
Opción 1: Con REXX clásico

Utilizando la instrucción say que proviene de REXX clásico:

say "Hola Mundo"


Opción 2: Con clases y métodos Java

Utilizando clases y métodos Java:

System.out.println("¡Hola mundo!");

En ObjectPAL

method holaMundo()
msgInfo( "", "¡hola mundo!")
endMethod

En Object Pascal

procedure tform1.button1click (sender:tobject);
//Despues de crear y presionar el botón "button1"
begin
showmessage('HOLA MUNDO');
end;
end.

En Object REXX
Opción 1: Con REXX clásico

Utilizando los métodos de REXX clásico:

say "Hola Mundo"
call lineout , 'Hola, mundo.'
call charout , 'Hola, mundo.'||eol


Opción 2: Utilizando objetos

Utilizando objetos:

.output~say('Hola, mundo.')
.output~lineout('Hola, mundo.')
.output~charout('Hola, mundo.'||eol) -- eol definido previamente

En Ocaml

print_string "Hola mundo";;

En Ook!

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook?
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook?
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook.
Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.

En OpenInventor

#Inventor V2.1 ascii
Text3 {
string "Hola mundo"
}

En Oz

declare
{Browse 'Hello World'}

En Pascal

Program HolaMundo;
Begin
Write('¡Hola, Mundo!');
End.

En Pauscal

'Pauscal: Lenguaje de programación en español
Importar "Pauscal.prp"
Mensaje("¡Hola Mundo!")

En Pawn

main () {
print("Hola, mundo!\n");
}

En Perl

print "Hola, mundo\n";

En Perl v5.10

say 'Hola, mundo';

En PHP



En PL/1

Hola: procedure options(main);
put skip list('¡Hola Mundo!');
end Hola;

En PL/SQL

BEGIN
DBMS_OUTPUT.Put_Line( 'Hola Mundo' );
END;

En Prolog

write('Hola mundo').

En Python

print "¡Hola Mundo!"

En Python 3.0
Opción 1

print ('Hola mundo')


Opción 2

print ("Hola mundo")

En QBasic

PRINT "Hola mundo"

En RapidQ

ShowMessage("Hola, mundo!")

En REXX

say "Hola Mundo"

En Ruby

puts "Hola Mundo"

En SAPScript

MAIN
P1 Hola Mundo
/

En Scheme

(let ((HOLA MUNDO
(lambda ()
(display "Hola, mundo")
(newline))))
(hola-mundo))

o, simplemente

(display "Hola, mundo\n")

En Scratch

Archivo:HolaMundoScratch.png

En Seed7

$ include "seed7_05.s7i";

const proc: main is func
begin
writeln("Hola Mundo");
end func;

En Smalltalk

Transcript show: '¡Hola, mundo!'

En SQL

Variante de Oracle:

SELECT 'HOLA MUNDO'
FROM DUAL;

Otros SQL (MySQL, Microsoft SQL Server, etc.)

SELECT 'HOLA MUNDO';

En Tcl

puts "Hola mundo"

En Template Toolkit

[% GET "Hola mundo!"; %]

En TiBasic

Disp "Hola Mundo"

En TrueBasic

print "Hola Mundo"

En Unlambda

```s``sii`ki
``s``s`ks
``s``s`ks``s`k`s`kr
``s`k`si``s`k`s`k
`d````````````.H.o.l.a.,. .m.u.n.d.o.!
k
k
`k``s``s`ksk`k.*

En Visual Basic

Sub Form_Load()
Msgbox "Hola Mundo"
End Sub

En Visual Basic .NET

Private Sub Form_Load() Handles Form1.Load
Messagebox.show("¡Hola, mundo!")
End Sub

'modo consola.
Private Sub Main()
Console.WriteLine("¡Hola, mundo!")
End Sub

En Visual FoxPro

? "Hola Mundo"

En X3

SubProg HOLAMUNDO()
Infbox "Hola Mundo"
End

En xBase

? "Hola Mundo"
Fuente: Wikipedia

LICENCIA PÚBLICA GENERAL GNU

Copyright (C) 2007 Free Software Foundation, Inc.

Se permite la copia y distribución de copias literales de esta licencia, pero no está permitido modificarla.
Preámbulo

La Licencia Pública General GNU (GNU GPL) es una licencia libre, sin derechos para software y otro tipo de trabajos.

Las licencias para la mayoría del software y otros trabajos prácticos están destinadas a suprimir la libertad de compartir y modificar esos trabajos. Por el contrario, la Licencia Pública General GNU persigue garantizar su libertad para compartir y modificar todas las versiones de un programa--y asegurar que permanecerá como software libre para todos sus usuarios. Nosotros, La Fundación de Software Libre, usamos la Licencia Pública General GNU para la mayoría de nuestro software; y también se aplica a cualquier trabajo realizado de la misma forma por sus autores. Usted también puede aplicarla a sus programas.

Cuando hablamos de software libre, nos referimos a libertad, no a precio. Nuestras Licencias Públicas Generales están destinadas a garantizar la libertad de distribuir copias de software libre (y cobrar por ello si quiere), a recibir el código fuente o poder conseguirlo si así lo desea, a modificar el software o usar parte del mismo en nuevos programas libres, y a saber que puede hacer estas cosas.

Para proteger sus derechos, necesitamos evitar que otros le nieguen esos derechos o le pidan renunciar a ellos. Por lo tanto, usted tiene ciertas responsabilidades cuando distribuye copias del software, o si lo modifica: responsabilidades que persiguen respetar la libertad de otros.

Por ejemplo, si distribuye copias de tales programas, gratuitamente o no, debe transmitir a los destinatarios los mismos derechos que usted recibió. Debe asegurarse que ellos también reciban o puedan conseguir el código fuente. Y debe mostrarles estos términos y condiciones para que conozcan sus derechos.

Los desarrolladores que usen la GPL GNU protegen sus derechos de dos formas: (1) imponen derechos al software, y (2) le ofrecen esta Licencia para que legalmente lo copie, distribuya y/o modifique.

Para proteger a desarrolladores y autores, la GPL expone claramente que no existe garantía alguna para este software libre. Para beneficio de ambos, usuarios y autores, la GPL establece que las versiones modificadas deberán estar identificadas como tales, para que cualquier problema no sea atribuido por error a los autores de versiones anteriores.

Algunos dispositivos están diseñados para negar al usuario la instalación o la ejecución de versiones modificadas del software que usan internamente, aunque el fabricante sí pueda hacerlo. Esto es completamente incompatible con el objetivo de proteger la libertad de los usuarios para modificar el software. Este tipo de abuso sistemático ocurre con productos de uso personal, que es precisamente donde es menos aceptable. Por tanto, hemos diseñado esta versión de la GPL para prohibir estas prácticas en esos productos. Si apareciesen problemas similares en otros ámbitos, estaremos preparados para extender estas prestaciones a las próximas versiones de la GPL, tanto como sea necesario para proteger la libertad de los usuarios.

Por último, todo programa está constantemente amenazado por las patentes de software. Los estados no deberían permitir que las patentes restrinjan el desarrollo y el uso de software en ordenadores de uso general; pero en aquellos que lo hagan, esperamos evitar el especial peligro que suponen las patentes, que aplicadas a un programa libre puedan hacerlo propietario en la práctica. Para prevenir eso, la GPL establece que las patentes no pueden usarse para convertir un programa en no-libre.

A continuación se exponen los términos y condiciones para la copia, distribución y modificación.
TÉRMINOS Y CONDICIONES
0. Definiciones.

En adelante “Esta Licencia” se refiere a la versión 3 de la Licencia Pública General GNU.

"Copyright" también significa "leyes similares al copyright" que son aplicables a otro tipo de trabajos, tales como las máscaras de semiconductores.

"El Programa" se refiere a cualquier trabajo con copyright al que se haya aplicado esta Licencia. Cada beneficiario es asimilable a "usted". "Beneficiarios" y "destinatarios" pueden ser personas físicas u organizaciones.

"Modificar" un trabajo significa copiar o adaptar todo o parte de un trabajo, exceptuando la copia exacta, de manera que se requiera permiso de copyright. El trabajo resultante se denomina "versión modificada" de un trabajo anterior o trabajo "basado en" el trabajo anterior.

Un "trabajo amparado" puede ser tanto el Programa no modificado como un trabajo basado en el Programa.

"Difundir" un trabajo significa hacer cualquier cosa con él, sin permiso, que le haga directa o indirectamente responsable de infringir leyes cubiertas por copyright, excepto la ejecución en un ordenador o la modificación de una copia privada. La difusión incluye la copia, distribución (con o sin modificaciones), distribución pública, y en algunos países también otras actividades.

"Distribuir" un trabajo implica cualquier tipo de difusión que permite a la otra parte hacer o recibir copias. La mera interacción con un usuario mediante una red de ordenadores, sin transferir copia alguna, no se considera "distribución".

Una interfaz de usuario interactiva muestra "Avisos Legales Apropiados" siempre y cuando incluya características visuales apropiadas y destacadas que (1) muestren un aviso de copyright apropiado, y (2) indiquen al usuario que no existe garantía alguna para el trabajo (exceptuando las garantías que se hayan podido establecer), que los beneficiarios deben distribuir el trabajo según se establece en la presente Licencia, y cómo se puede ver una copia de esta Licencia. Si la interfaz muestra una lista de opciones o comandos, tales como menús, un elemento destacado en dicha lista cumple estos criterios.
1. Código Fuente.

El "código fuente" de un trabajo es el formato preferido para realizar modificaciones sobre él. "Código objeto" se refiere a cualquier formato del trabajo que no sea código fuente.

Una "Interfaz Estándar" se refiere a una interfaz que sea o bien un estándar oficial definido por una institución de estándares reconocida, o bien, en el caso de interfaces específicos para una determinado lenguaje de programación, una cuyo uso esté generalizada entre los desarrolladores que trabajan con ese lenguaje.

Las "Bibliotecas de Sistema" de un trabajo ejecutable incluyen a cualquier elemento, que no sea el trabajo completo, que (a) esté incluida/o de la misma forma que un componente principal, pero que no forme parte de ese componente principal, y (b) sólo sirva para habilitar la utilización del trabajo a través de ese componente principal, o para implementar un Interfaz Estándar para el cual está disponible una implementación pública en código fuente. Un "Componente Principal", en este contexto, se refiere a un componente principal y esencial (núcleo, sistema de ventanas y similares) del sistema operativo particular (en su caso) sobre el cual funcione el ejecutable, o un compilador utilizado para generar el trabajo, o un intérprete del código objeto utilizado para ejecutarlo.

La "Fuente Correspondiente" de un trabajo en código objeto se refiere a todo código fuente necesario para generar, instalar, y (en el caso de trabajos ejecutables) ejecutar el código objeto y modificar el trabajo, incluyendo guiones que controlen esas actividades. Sin embargo, no se incluyen las Bibliotecas de Sistema del trabajo, o herramientas de propósito general o programas gratuitos habitualmente disponibles y usados sin ninguna modificación para realizar estas actividades pero que no forman parte del trabajo. Por ejemplo, la Fuente Correspondiente incluye los archivos de definición de interfaz asociados con archivos fuente del trabajo, y el código fuente de las bibliotecas compartidas o subprogramas enlazados dinámicamente que el programa requiere por diseño, como la comunicación de datos intrínseca o el control de flujo entre esos subprogramas y otras partes del trabajo.

La Fuente Correspondiente no incluye necesariamente aquello que los usuarios pueden regenerar automáticamente a partir de otras partes de la Fuente Correspondiente.

La Fuente Correspondiente de un trabajo en código fuente es ese mismo trabajo.
2. Permisos Básicos.

Todos los derechos garantizados por esta Licencia se otorgan como copyright del Programa, y se proporcionan de manera irrevocable siempre y cuando se cumplan las condiciones establecidas. Esta Licencia afirma explícitamente su permiso ilimitado para ejecutar el Programa sin modificaciones. El resultado de la ejecución de un programa amparado está cubierto por esta Licencia sólo en el caso de que la salida, por su contenido, constituya un trabajo amparado. Esta Licencia reconoce sus derechos de uso razonable u otro equivalente, tal y como determina la ley de copyright.

Usted podrá realizar, ejecutar y difundir trabajos amparados que no distribuya, sin condición alguna, siempre y cuando no tenga otra licencia más restrictiva. Podrá distribuir trabajos amparados a terceros con el mero objetivo de que ellos hagan modificaciones exclusivamente para usted, o para que le proporcionen ayuda para ejecutar esos trabajos, siempre que cumpla los términos de esta Licencia distribuyendo todo el material de cuyo copyright no posee el control. Aquellos que realicen o ejecuten los trabajos amparados para usted deben hacerlo exclusivamente en su nombre, bajo su dirección y control, con términos que les prohíban realizar copias de su material con copyright al margen de la relación con usted.

La distribución bajo otras circunstancias se permite únicamente bajo las condiciones establecidas más abajo. No está permitido sublicenciar; la claúsula 10 lo hace innecesario.
3. Protección de Derechos Legales de los Usuarios frente a Leyes Anti-Burla.

Ningún trabajo amparado debe considerarse parte de una medida tecnológica efectiva, a tenor de lo establecido en cualquier ley aplicable que cumpla las obligaciones expresas en el artículo 11 del tratado de copyright WIPO adoptado el 20 de diciembre de 1996, o leyes similares que prohíben o restringen la burla de tales medidas.

Cuando distribuya un trabajo amparado, renuncia a cualquier poder legal para prohibir la burla de medidas tecnológicas mientras tales burlas se realicen en ejercicio de derechos amparados por esta Licencia respecto al trabajo amparado; además, usted negará cualquier intención de limitar el uso o modificación del trabajo con el objetivo de imponer, al trabajo de los usuarios, sus derechos legales o de terceros para prohibir la burla de medidas tecnológicas.
4. Distribución de copias literales.

Usted podrá distribuir copias literales del código fuente del Programa tal y como lo ha recibido , por cualquier medio, siempre que publique de forma clara y llamativa en cada copia el correspondiente aviso de copyright ; mantenga intactos todos los avisos que establezcan que esta Licencia y cualquier término no-permisivo añadido y acorde con la cláusula 7 son aplicables al código; mantenga intactos todos los avisos de ausencia de garantía; y proporcione a todos los destinatarios una copia de esta Licencia junto con el Programa.

Usted podrá cobrar cualquier importe o no cobrar nada por cada copia que distribuya, y podrá ofrecer soporte o protección de garantía mediante un pago.
5. Distribución de Versiones Modificadas de Código.

Usted podrá distribuir un trabajo basado en el Programa, o las modificaciones que lo producen a partir del Programa, como código fuente en virtud de los términos establecidos en la cláusula 4, siempre que cumpla todas las condiciones siguientes:

* a) El trabajo debe incluir avisos destacados indicando que usted lo ha modificado y dando una fecha pertinente.
* b) El trabajo debe incluir avisos destacados indicando que está realizado a tenor de lo dispuesto en la presente Licencia y en cualquier otra condición añadida en virtud de la cláusula 7. Este requisito modifica el requisito de "mantener intactos todos los avisos" expuesto en la claúsula 4.
* c) En virtud del presente documento, usted deberá aplicar la licencia al trabajo completo, como un todo, a cualquier persona que esté en posesión de una copia. Por lo tanto, esta Licencia se aplicará junto con cualquier otra condición adicional aplicable de la cláusula 7, al conjunto completo del trabajo y todas y cada una de sus partes, independientemente de como sean agrupadas o empaquetadas. Esta Licencia no permite ser aplicada al trabajo de ninguna otra forma, pero no se anula dicho permiso si usted lo ha recibido por separado.
* d) Si el trabajo tiene interfaces de usuario interactivos, cada uno debe mostrar Avisos Legales Apropiados; sin embargo, si el Programa tiene interfaces interactivos que no muestran Avisos Legales Apropiados, su trabajo no tiene porqué modificarlos para que lo hagan.

Un conjunto o recopilación formado por un trabajo amparado y otros trabajos distintos e independientes, que por su naturaleza no sean ampliaciones del trabajo amparado, que no se combinen con él de alguna forma para dar lugar a un programa mayor, y que estén ubicados en un medio de distribución o almacenamiento, se denomina "paquete" si la recopilación y su copyright al completo no son usados para limitar el acceso o los derechos legales de los usuarios de la recopilación, más allá de lo que permita el trabajo individual. La inclusión de un trabajo amparado en un paquete no hace aplicable esta Licencia al resto de elementos del paquete.
6. Distribución de código No-fuente.

Usted podrá distribuir el código objeto de un trabajo amparado en virtud de los términos de las cláusulas 4 y 5, siempre que también distribuya las Fuentes Correspondientes en código máquina, de acuerdo con los términos establecidos en esta Licencia, de alguna de las siguientes maneras:

* a) Distribuir el código objeto en, o embebido en, un producto físico (incluyendo medios de distribución físicos), acompañado de las Fuentes Correspondientes en un medio físico duradero y que sea utilizado habitualmente para el intercambio de software.
* b) Distribuir el código objeto en, o embebido en, un producto físico (incluyendo medios de distribución físicos), acompañado de una oferta por escrito, válida al menos durante tres años y válida durante el tiempo en el que usted ofrezca recambios o soporte para ese modelo de producto, con el fin de ofrecer al poseedor del código objeto (1) una copia de las Fuentes Correspondientes a todo el software del producto que esté cubierto por esta Licencia, en un medio físico duradero habitual para el intercambio de software, a un precio no mayor que su coste razonable por distribuir físicamente las fuentes, o (2) acceso para copiar las fuentes correspondientes desde un servidor de red sin coste alguno.
* c) Distribuir copias individuales del código objeto junto con una copia de la oferta por escrito para/con el fin de proporcionar las Fuentes Correspondientes. Esta alternativa sólo está permitida ocasionalmente, pero no de forma comercial, y solamente si usted recibió el código objeto junto con una oferta parecida, de acuerdo con la subcláusula 6b.
* d) Distribuir el código objeto ofreciendo acceso desde un lugar determinado (gratuitamente o mediante pago), y ofrecer acceso equivalente a las Fuentes Correspondientes de la misma forma y en el mismo lugar sin cargo añadido. No es necesario exigir a los destinatarios que copien las Fuentes Correspondientes junto con el código objeto. Si el lugar para copiar el código objeto es un servidor de red, las Fuentes Correspondientes pueden estar en un servidor diferente (gestionado por usted o terceros) que ofrezca facilidades de copia equivalentes, siempre que mantenga instrucciones claras junto al código objeto especificando dónde encontrar las Fuentes Correspondientes. Independientemente de qué servidores alberguen las Fuentes Correspondientes, usted seguirá obligado a asegurar que estarán disponibles durante el tiempo necesario para cumplir estos requisitos.
* e) Distribuir el código mediante transferencias entre usuarios, siempre que informe a otros usuarios dónde se ofrecen el código objeto y las Fuentes Correspondientes de forma pública sin cargo alguno, tal y como se establece en la subcláusula 6d.

Una parte separable del código objeto, cuyo código fuente esté excluido de las Fuentes Correspondientes como Biblioteca de Sistema, no necesita ser incluida en la distribución del código objeto del trabajo.

Un "Producto de Usuario" es tanto (1) un "producto de consumo", que se refiere a cualquier propiedad personal tangible habitualmente utilizada para fines personales, familiares o domésticos, o (2) cualquier cosa diseñada o vendida para ser incorporada como extensión/expansión para otro producto. Para determinar si un producto es un producto de consumo, los casos dudosos se resolverán favoreciendo el amparo. En el caso de un producto concreto recibido por un usuario particular, "de uso habitual" se refiere al uso típico o corriente de ese tipo de producto, independientemente de la situación del usuario particular o de la forma en que el usuario concreto utilice, o pretenda o se espere que pretenda utilizar, el producto. Un producto es un producto de consumo independientemente de si el producto tiene usos sustancialmente comerciales, industriales o distintos del consumo, a menos que tales usos representen la única forma posible de utilizar el producto.

Las "Instrucciones de Instalación" para un Producto de Usuario se refieren a cualquier método, procedimiento, clave de autorización, u otro tipo de información necesaria para instalar y ejecutar una versión modificada de un trabajo amparado en ese Producto de Usuario a partir de una versión modificada de las Fuentes Correspondientes. Las instrucciones deben ser suficientes para asegurar el funcionamiento continuo del código objeto modificado sin ningún tipo de condicionamiento o intromisión por el simple hecho de haber sido modificado.

Si, bajo las premisas de esta cláusula, usted distribuye el código objeto de un trabajo en, o con un Producto de Usuario o específicamente para ser usado en el mismo, y la distribución forma parte de una transacción donde los derechos de posesión y uso del Producto de Usuario se transfieren al destinatario a perpetuidad o durante un plazo fijo de tiempo (independientemente de las características de la transacción), las Fuentes Correspondientes distribuidas bajo estos supuestos deben acompañarse de las Instrucciones de Instalación. Sin embargo, estos requerimientos no se aplican si ni usted ni terceros tienen posibilidad de instalar el código objeto modificado en el Producto de Usuario (por ejemplo, el trabajo ha sido instalado en memoria de sólo lectura, ROM):

El requerimiento de proporcionar Información de Instalación no incluye el hecho de continuar proporcionando servicio de soporte, garantía, o actualizaciones para un trabajo que haya sido modificado o instalado por el destinatario, o para el Producto de Usuario en el que se haya modificado o instalado. El acceso a la red puede ser denegado cuando la propia modificación afecte materialmente y de forma adversa a la operación de la red o viole las reglas y protocolos de comunicación en la red.

Las Fuentes Correspondientes distribuidas, y las Instrucciones de Instalación proporcionadas de acuerdo con esta cláusula, deben figurar en un formato documentado públicamente (y con una implementación disponible para el público en código fuente), y no deben necesitar claves de acceso especiales para la descompresión, lectura o copia.
7. Condiciones adicionales.

Los "Permisos Adicionales" son condicionantes que amplían los términos de esta Licencia permitiendo excepciones a una o más de sus condiciones. Los Permisos Adicionales que son aplicables al Programa completo deberán ser tratados como si estuviesen incluidos en esta Licencia, hasta los límites de validez impuestos por las leyes aplicables. Si los permisos adicionales se aplicasen sólo a una parte del Programa, esa parte podría ser usada de forma independiente en virtud de dichos permisos, pero el Programa completo seguiría estando afectado por esta Licencia con independencia de los permisos adicionales.

Cuando distribuya una copia de un trabajo amparado, usted podrá opcionalmente eliminar cualquier permiso adicional de esa copia, o de alguna parte del mismo. (Los permisos adicionales pueden haber establecido que sea requerida su eliminación en ciertos supuestos si usted modifica el trabajo.) Usted puede establecer permisos adicionales en material añadido por usted a un trabajo amparado, sobre el cual tiene o podrá aportar sus permisos de copyright correspondientes.

Sin contravenir cualquier otra estipulación en esta Licencia, usted podrá, para el material que añada a un trabajo amparado, (si está autorizado por los poseedores de copyright de ese material) añadir condiciones a esta Licencia con los siguientes términos:

* a) Ausencia de garantía o limitación de responsabilidad diferente de los términos establecidos en las cláusulas 15 y 16 de esta Licencia; u
* b) Obligación de mantener determinados avisos legales razonables o atribuciones de autoría en el material o en los Avisos Legales Correspondientes mostrados por los trabajos que lo contengan; o
* c) Prohibir la tergiversación del origen del material, o solicitar que las diferencias respecto a la versión original sean señaladas de forma apropiada en las versiones modificadas del material; o
* d) Limitar la utilización de los nombres de los autores o beneficiarios del material con fines divulgativos; o
* e) Negarse a ofrecer derechos afectados por leyes de registro para el uso de marcas empresariales, registradas o de servicio; o
* f) Exigir indemnización a los autores y poseedores de la licencia de ese material, por parte de cualquier persona que distribuya el material (o versiones modificadas del mismo), estableciendo obligaciones contractuales de responsabilidad sobre el destinatario, para cualquier responsabilidad que estas obligaciones contractuales impongan directamente sobre los autores y poseedores de licencia.

Cualesquiera otras condiciones adicionales no-permisivas son consideradas "otras restricciones" en el contexto de la cláusula 10. Si el Programa, tal cual lo recibió, o cualquier parte del mismo, contiene un aviso indicando que está amparado por esta Licencia junto a una cláusula de restricción posterior específica, usted podrá suprimir esa cláusula. Si un documento de licencia contiene una restricción de este tipo pero permite modificar la licencia o la distribución en virtud de la presente Licencia, usted podrá añadirla al material de un trabajo amparado por los términos de ese documento de licencia, siempre que dicha restricción no se mantenga tras la modificación de la licencia o la distribución.

Si añade condiciones para un trabajo amparado, a tenor de lo establecido en la presente cláusula, usted deberá ubicar, en los archivos fuente involucrados, una declaración de los términos adicionales aplicables a esos archivos, o un aviso indicando dónde localizar los términos aplicables.

Las condiciones adicionales, permisivas o no, deben aparecer por escrito como licencias separadas, o figurar como excepciones; de todas formas, los requisitos anteriores siempre son aplicables.
8. Cancelación.

Usted no podrá distribuir o modificar un trabajo amparado salvo de la forma en la que se ha previsto expresamente en esta Licencia. Cualquier intento diferente de distribución o modificación será considerado nulo, y automáticamente cancelará sus derechos respecto a esta Licencia (incluyendo cualquier patente conseguida según el párrafo tercero de la cláusula 11).

Sin embargo, si deja de violar esta Licencia, entonces su licencia desde el poseedor del copyright correspondiente será restituida (a) provisionalmente, a menos que y hasta que el poseedor del copyright dé por terminada explícita y permanentemente su licencia, y (b) permanentemente, si el poseedor del copyright no le ha notificado por algún cauce de la violación no después de los 60 días posteriores al cese.

Además, su licencia desde el poseedor del copyright correspondiente será restituida permanentemente si el poseedor del copyright le notifica de la violación por algún cauce, es la primera vez que recibe la notificación de violación de esta Licencia (para cualquier trabajo) de ese poseedor de copyright, y usted subsana la violación antes de 30 días desde la recepción del aviso.

La cancelación de sus derechos según esta cláusula no da por canceladas las licencias de terceros que hayan recibido copias o derechos a través de usted con esta Licencia. Si sus derechos han finalizado y no han sido restituidos de forma permanente, usted no está capacitado para recibir nuevas licencias para el mismo material en virtud de la cláusula 10.
9. Aceptación no obligatoria por tenencia de copias.

No está obligado a aceptar esta Licencia por recibir o ejecutar una copia del Programa. La distribución de un trabajo amparado surgida simplemente como consecuencia de la transmisión entre usuarios para obtener una copia tampoco requiere aceptación. Sin embargo, únicamente esta Licencia le otorga permiso para distribuir o modificar cualquier trabajo amparado. Estas acciones infringen el copyright si usted no acepta las los términos y condiciones de esta Licencia. Por lo tanto, al modificar o distribuir un trabajo amparado, usted indica que acepta la Licencia.
10. Herencia automática de licencia para destinatarios .

Cada vez que distribuya un trabajo amparado, el destinatario recibirá automáticamente una licencia desde los poseedores originales, para ejecutar, modificar y distribuir ese trabajo, al amparo de los términos de esta Licencia. Usted no será responsable de asegurar el cumplimiento por terceros de esta Licencia.

Una "transacción de entidad" es una transacción que transfiere el control de una organización, o todos los bienes sustanciales de una, o subdivide una organización, o fusiona organizaciones. Si la distribución de un trabajo amparado surge de una transacción de entidad, cada parte involucrada en esa transacción que reciba una copia del trabajo, también recibe todas y cada una de las licencias existentes del trabajo que la parte interesada tuviese o pudiese ofrecer según el párrafo anterior, además del derecho a tomar posesión de las Fuentes Correspondientes del trabajo a través de la parte interesada, si está en poder de dicha parte o se puede conseguir con un esfuerzo razonable.

Usted no podrá imponer restricciones posteriores en el ejercicio de los derechos otorgados o concedidos en virtud de la presente Licencia. Por ejemplo, usted no puede imponer a la licencia pagos, derechos u otros cargos por el ejercicio de los derechos otorgados según esta Licencia; además no podrá iniciar litigios (incluyendo demandas o contrademandas en pleitos) alegando que se infringen patentes por cambiar, usar, vender, ofrecer en venta o importar el Programa, o cualquier parte del mismo.
11. Patentes.

Un "colaborador" es un poseedor de copyright que autoriza el uso del Programa o un trabajo en el que se base el Programa bajo los términos y condiciones establecidos en la presente Licencia. El trabajo con esta licencia se denomina "versión en colaboración" con el colaborador.

Todas las reivindicaciones de patentes en posesión o controladas por el colaborador se denominan "demandas de patente original", ya sean existentes o adquiridas con posterioridad, que hayan sido infringidas de alguna forma permitida por esta Licencia, al hacer, usar o vender la versión en colaboración, pero sin incluir demandas que sólo sean infracciones como consecuencia de modificaciones posteriores de la versión en colaboración. Para aclarar esta definición, "control" incluye el derecho de conceder sublicencias de patente de forma que no contravenga los requisitos establecidos en la presente Licencia.

Cada colaborador le concede a usted una licencia de la patente no-exclusiva, global y libre de derechos bajo las reivindicaciones de patente de origen del colaborador, para el uso, modificación, venta, ofertas de venta, importación y otras formas de ejecución, modificación y redistribución del contenido de la versión en colaboración.

En los siguientes tres párrafos, una "licencia de patente" se refiere a cualquier acuerdo o compromiso expreso y manifiesto, cualquiera que sea su denominación, que no imponga una patente (como puede ser el permiso expreso para ejecutar una patente o acuerdos para no imponer demandas por infracción de patente). "Conceder" estas licencias de patente a un tercero significa llegar a tal tipo de acuerdo o compromiso que no imponga una patente al tercero.

Si usted distribuye un trabajo amparado, conociendo que está afectado por una licencia de patente, y no están disponibles de forma pública para su copia las Fuentes Correspondientes, sin cargo alguno y bajo los términos de esta Licencia, ya sea a través de un servidor de red público o mediante cualquier otro medio, entonces usted deberá o bien (1) permitir que sean públicas las Fuentes Correspondientes, o (2) tratar de eliminar los beneficios de la licencia de patente para este trabajo en particular, o (3) tratar de extender, de una forma que no contravenga los requisitos de esta Licencia, la licencia de patente a terceros. "Conocer que está afectado" significa que usted tiene conocimiento real de que, para la licencia de patente, la distribución del trabajo amparado en un determinado país, o el uso del trabajo amparado por sus destinatarios en un determinado país, infringiría una o más patentes existentes en ese país que usted considera aplicables por algún motivo.

Si, de conformidad con alguna transacción o acuerdo(o en un proceso relacionado con ellos), usted distribuye o distribuye con fines de distribución , un trabajo amparado, concediendo una licencia de patente para algún tercero que reciba el trabajo amparado, y autorizándole a usar, distribuir, modificar o distribuir una copia específica del trabajo amparado, entonces la licencia de patente que usted otorgue se extiende automáticamente a todos los receptores del trabajo amparado y cualquier trabajo basado en el mismo.

Una licencia de patente es "discriminatoria" si no incluye dentro de su ámbito de cobertura, prohíbe el ejercicio, o está condicionada a no ejercitar uno o más de los derechos que están específicamente otorgados por esta Licencia. Usted no debe distribuir un trabajo amparado si está implicado en un acuerdo con terceros que estén relacionados con el negocio de la distribución de software, en el que usted haga pagos relacionados con su actividad de distribución del trabajo, y donde se otorgue, a cualquier receptor del trabajo amparado, una licencia de patente discriminatoria (a) en relación con las copias del trabajo amparado distribuido por usted (o copias hechas a partir de éstas), o (b) directa o indirectamente relacionadas con productos específicos o paquetes que contengan el trabajo amparado, a menos que usted forme parte del acuerdo, o que esa licencia de patente fuese otorgada antes del 28 de marzo de 2007.

Ninguna disposición de esta Licencia se considerará como excluyente o limitante de la aplicación de cualquier otra licencia o defensas legales contra la violación de las leyes de propiedad intelectual a que pudiera tener derecho bajo la ley de propiedad intelectual vigente.
12. No condicionamiento de la libertad de terceros.

Si a usted le son impuestas condiciones que contravienen las estipuladas en la presente Licencia (ya sea por orden judicial, acuerdo u otros), no quedará eximido de cumplir las condiciones de esta Licencia. Si usted no puede distribuir un trabajo amparado cumpliendo simultáneamente sus obligaciones con esta Licencia y con cualquier otra pertinente, entonces no podrá distribuirlo de ninguna forma. Por ejemplo, si usted se compromete con términos que le obligan a obtener derechos por la distribución a terceros, la única forma de satisfacer ambos condicionantes y esta Licencia es abstenerse completamente de distribuir el Programa.
13. Uso conjunto con la Licencia Pública General Affero GNU.

Sin contravenir las disposiciones de la presente Licencia, usted tendrá permiso para enlazar o combinar cualquier trabajo amparado con otro trabajo amparado por la versión 3 de la Licencia Pública General Affero GNU y formar un solo trabajo combinado, y distribuir el trabajo resultante. Los términos de esta Licencia seguirán siendo aplicables a la parte formada por el trabajo amparado, pero los condicionantes especiales de la Licencia Pública General Affero GNU, en su cláusula 13, relativos a la interacción mediante redes, serán aplicables a la combinación de ambas partes.
14. Versiones Revisadas de esta Licencia.

La Fundación para el Software Libre podrá publicar revisiones y/o nuevas versiones de la Licencia Pública General GNU de vez en cuando. Esas versiones serán similares en espíritu a la versión actual, pero podrán diferir en algunos detalles para afrontar nuevos problemas o situaciones.

A cada versión se le da un número distintivo. Si el Programa especifica que le es aplicable cierto número de versión de la Licencia Pública General o "cualquier versión posterior", usted tendrá la posibilidad de adoptar los términos y condiciones de la versión indicada o de cualquier otra versión posterior publicada por la Fundación para el Software Libre. Si el Programa no especifica un número de versión de la Licencia Pública General, usted podrá elegir cualquier versión que haya sido publicada por la Fundación para el Software Libre.

Si el Programa especifica que un apoderado/representante puede decidir qué versiones de la Licencia Pública General pueden aplicarse en el futuro, la declaración pública de aceptación que el apoderado/representante haga de una versión le autoriza a usted con carácter permanente a elegir esa versión para el Programa.

Versiones posteriores de la licencia podrán otorgarle permisos adicionales o diferentes. Sin embargo, no podrán imponerse obligaciones adicionales a cualquier autor o poseedor de copyright como consecuencia de que usted adopte una versión posterior.
15. Ausencia de Garantía.

EL PROGRAMA NO TIENE GARANTÍA ALGUNA, HASTA LOS LÍMITES PERMITIDOS POR LAS LEYES APLICABLES. SALVO CUANDO SE ESTABLEZCA LO CONTRARIO POR ESCRITO, EL POSEEDOR DEL COPYRIGHT Y/O TERCEROS PROPORCIONARÁN EL PROGRAMA "TAL CUAL" SIN GARANTÍA DE NINGÚN TIPO, YA SEA EXPLÍCITA O IMPLÍCITA, INCLUYENDO, PERO SIN LIMITARSE A, LAS GARANTÍAS IMPLÍCITAS MERCANTILES Y DE APTITUD PARA UN PROPÓSITO DETERMINADO. USTED ASUMIRÁ CUALQUIER RIESGO RELATIVO A LA CALIDAD Y RENDIMIENTO DEL PROGRAMA. SI EL PROGRAMA FUESE DEFECTUOSO, USTED ASUMIRÁ CUALQUIER COSTE DE SERVICIO, REPARACIÓN O CORRECCIÓN.
16. Limitación de Responsabilidad.

EN NINGÚN CASO, SALVO REQUERIMIENTO POR LEYES APLICABLES O MEDIANTE ACUERDO POR ESCRITO, PODRÁ UN POSEEDOR DE COPYRIGHT, O UN TERCERO QUE MODIFIQUE O DISTRIBUYA EL PROGRAMA SEGÚN LO INDICADO ANTERIORMENTE, HACERLE A USTED RESPONSABLE DE DAÑO ALGUNO, INCLUYENDO CUALQUIER DAÑO GENERAL, ESPECIAL, OCASIONAL O DERIVADO QUE SURJA DEL USO O LA INCAPACIDAD DE USO DEL PROGRAMA (INCLUYENDO PERO SIN LIMITARSE A LA PÉRDIDA DE DATOS O LA PRESENTACIÓN NO PRECISA DE LOS MISMOS O A PÉRDIDAS SUFRIDAS POR USTED O TERCEROS O AL FALLO DEL PROGRAMA AL INTERACTUAR CON OTROS PROGRAMAS), INCLUSO EN EL CASO DE QUE EL POSEEDOR O UN TERCERO HAYA SIDO ADVERTIDO DE LA POSIBILIDAD DE TALES DAÑOS.
17. Interpretación de las cláusulas 15 y 16.

Si la ausencia de garantía y la limitación de responsabilidad descrita anteriormente no tuviesen efecto legal a nivel local en todos sus términos, los juzgados aplicarán las leyes locales que más se aproximen a la exención de responsabilidad civil en lo relativo al Programa, a menos que la copia del Programa esté acompañada mediante pago de una garantía o compromiso de responsabilidad.

FIN DE TÉRMINOS Y CONDICIONES
Cómo aplicar estas condiciones a sus nuevos programas

Si usted desarrolla un nuevo programa, y quiere darle al público el mayor uso posible del mismo, la mejor forma de conseguirlo es hacerlo software libre para que cualquiera pueda redistribuirlo y modificarlo bajo estas condiciones.

Para ello, adjunte los siguientes avisos al programa. Es más seguro adjuntarlos al inicio de cada archivo fuente para hacer más explícita la ausencia de garantía; y cada archivo debería tener al menos la línea de "copyright" y un enlace a la versión completa del aviso.


Copyright (C)

Este programa es software libre: usted puede redistribuirlo y/o modificarlo
bajo los términos de la Licencia Pública General GNU publicada
por la Fundación para el Software Libre, ya sea la versión 3
de la Licencia, o (a su elección) cualquier versión posterior.

Este programa se distribuye con la esperanza de que sea útil, pero
SIN GARANTÍA ALGUNA; ni siquiera la garantía implícita
MERCANTIL o de APTITUD PARA UN PROPÓSITO DETERMINADO.
Consulte los detalles de la Licencia Pública General GNU para obtener
una información más detallada.

Debería haber recibido una copia de la Licencia Pública General GNU
junto a este programa.
En caso contrario, consulte .

Incluya además información de cómo contactar con usted por correo electrónico y ordinario.

Si el programa es interactivo, haga que muestre un breve aviso como el siguiente cuando se inicie en modo interactivo:

Copyright (C)
Este programa se ofrece SIN GARANTÍA ALGUNA;
escriba 'show w' para consultar los detalles.
Es software libre, y usted puede redistribuirlo bajo ciertas condiciones;
escriba 'show c' para más información.

Los hipotéticos comandos 'show w' y 'show c' deberían mostrar las partes correspondientes de la Licencia Pública General. Por supuesto, los comandos en su programa podrían ser diferentes; en un interfaz gráfico de usuario, podría usar un mensaje del tipo "Acerca de".

También debería conseguir que su empresa (si trabaja como programador) o escuela, en su caso, firme una "renuncia de copyright" sobre el programa, si fuese necesario. Para más información a este respecto, y saber cómo aplicar y cumplir la licencia GNU GPL, consulte .

La Licencia Pública General GNU no permite incorporar sus programas como parte de programas propietarios. Si su programa es una subrutina en una biblioteca, resultaría mucho más útil habilitar el enlace de aplicaciones propietarias a la biblioteca. Si es esto lo que quiere hacer, utilice la Licencia Pública General Reducida GNU en vez de esta Licencia. Pero por favor, consulte primero .