Bienvenidos a CódiGeek

Donde el Desarrollo y las buenas practicas son nuestra razón de ser.

Todo sobre Desarrollo

Tips, consejos, experiencias y más.

El futuro esta en tus manos

Aprende tecnicas, trucos para sacarle provecho a tu trabajo.

Pages

lunes, 26 de mayo de 2014

IPv6 - El futuro de la Internet.





Muy buenas tardes, hoy procederé a darles una breve introducción de unos de los temas que como estudiante me ha dado más curiosidad y del cual me fue más difícil aprender en su momento, intentaré no extenderme demasiado (ya que un tema demasiado extenso) pero si compartiré con ustedes los libros que encontré en Internet en aquella época, el cual me ayudo a comprender bien que era y como se comportaba IPV6. También les dejaré un ejemplo de cómo realizar un túnel en IPv6.

IPv6 o Protocolo de Internet Versión 6 (RFC 2460) nace con la finalidad de dar solución a la falta de direcciones IP que ha generado el mercado en los últimos años. Esto debido al auge digital que el Internet a supuesto en la última década donde; Teléfonos Móviles, Tabletas, PC, Laptop, Tevisores, Consolas de video juegos e incluso automóviles son capaces de conectarse a Internet a través de los distintos proveedores a nivel mundial. La IANA o Internet Assigned Numbers Authority, quien es la encargada de la asignación de direcciones IP informo en 2010, que solo el 10% del total de direcciones IP quedaban sin asignación. Debido a esto Steve Deering y Craig Mudge han diseñado esta magnífica infraestructura de 64 Bit, la cual permitirá un margen casi infinito de direcciones de IP de cara al futuro. 

IPv6 cuenta con 128 Bit, los cual permite cubrir 3.402823669e38 direcciones en la red (Casi infinito, verdad...) vs los 32 Bit que ofrece IPv4. También cuenta con una capa mayor de seguridad proporcionada por IPSEC o Internet Protocol Security, el cual brinda una mayor seguridad a la información mediante encriptación de la data transmitida.

Sus tipos de entregas se pueden realizar mediante unicast, anycast y multicast:

"Una dirección unicast identifica un único interface de red. El protocolo de Internet entrega los paquetes enviados a una dirección unicast al interface específico.
  • Una dirección anycast es asignada a un grupo de interfaces, normalmente de nodos diferentes. Un paquete enviado a una dirección anycast se entrega únicamente a uno de los miembros, típicamente el host con menos coste, según la definición de métrica del protocolo de encaminamiento. Las direcciones anycast no se identifican fácilmente pues tienen el mismo formato que las unicast, diferenciándose únicamente por estar presente en varios puntos de la red. Casi cualquier dirección unicast puede utilizarse como dirección anycast.
  • Una dirección multicast también es usada por múltiples hosts, que consiguen la dirección multicast participando en el protocolo de multidifusión (multicast) entre los routers de red. Un paquete enviado a una dirección multicast es entregado a todos los interfaces que se hayan unido al grupo multicast correspondiente." Wikipedia 2014.
El tradicional Broadcast se ve reemplazado con Multicast, la cual se comporta como grupos. Si un mensaje o paquete es enviado a un grupo Multicast, todos los host conectados a dicho grupo recibirán el paquete o mensaje.

Bloque de direcciones:

Las direcciones IPv6 por su parte se representan en hexadecimal, las cuales se representan como un octal de 4 dígitos y se ven representadas de la siguiente forma:

2001:0db8:85a3:08d3:1319:8a2e:0370:7334 (Se puede comprimir cuando existen grupos de 0s como 0000 por la notación ::)
 
 Identificador por tipos de direcciones más utilizados son: 
  • ::/128 La dirección con todo ceros se utiliza para indicar la ausencia de dirección.
  • ::1/128 La dirección loopback.
  • ::1.2.3.4/96 La dirección IPv4 compatible.
  • ::ffff:0:0/96 La dirección IPv4 mapeada.
  • fe80::/10 Prefijo de enlace local.
  • fec0:: Prefijo de emplazamiento local.
  • ff00::/8 Prefijo de multicast.

Recomiendo leer este enlace sobre direccionamiento: http://en.wikipedia.org/wiki/IPv6_address (Creo que existe ya una versión en español del artículo, pero su traducción no es muy buena)

Otras de las tantas ventajas de IPv6 frente a IPv4 las podemos apreciar mediante un encabezado de protocolo más eficiente y sencillo, procesamiento simplificado en los Router, Mayor movilidad al evitar el ruteo triangular, autoconfiguración de direcciones de estado,  y muchas más ventajas son las que presentan IPv6.

IPv6 aún no está en su auge ya que muy pocos países (en su mayoría Asía y Oceanía) lo han implementado y en muchos otro aún está en pruebas. Nuestro país por ejemplo, por falta de motivación de los entes encargados aún no se ve su aplicación, algo que sin duda nos deja mal parados en un mundo tecnológico que crece cada día más.

Una forma de poder hacer compatible IPv6 con IPv4  podría ser mediante la realización de un Túnel, el cual te permitirá revestir un paquete IPv6 en una red IPv4. A continuación procederé a dejarles una guía de cómo realizar un túnel en Windows para que puedan experimentar cómo será el mañana. Estos métodos ayudarán mientras exista esta transición entre ambos protocolos y espero les sea de ayuda para la implementación en sus equipos.


Como realizar un túnel en IPv6 guia: https://mega.co.nz/#!UAURgK4B!YrgxElxvyV3qQFw_e2sQiTNQodYQCZBblozJ_Rn6MEw

lunes, 19 de mayo de 2014

Un ejercicio sencillo pero completo en GNS3


Buenas, en esta oportunidad traigo un ejercicio en GNS3 que explicare detalladamente en este post; antes de comenzar al final del post encontraran un link para la imagen que se utilizo para trabajar en el GNS3 y de la carpeta con las imágenes enumeradas en forma secuencial que ilustran cada uno de los pasos que daré a conocer, debido a que son alrededor de 20 decidí mejor hacerlo de esta manera.

En el link al final del post contiene una carpeta comprimida con todas las imágenes referentes al ejercicio, recomiendo descargarla e ir leyendo paralelamente con las imágenes para una mejor y más rápida comprensión del ejercicio, también se encuentra la imagen comprimida del tipo de router 3600 que utilizo en el GNS3 si poseen otra pueden usarla normalmente.  


El ejercicio consta de una topología sencilla donde se pide comunicación entre ambos SA(sistemas autónomos)y que las subredes sean invisibles para cualquier SA diferente al que pertenecen las mismas.




Bueno comencemos con la topología, usaremos los router 3600, swtichs ethernet y como se muestra en la imagen (2 – Agregar un vínculo), seleccionamos la opción FastEthernet para el enlace que unirá al switch con el router y para el enlace que comunicara a 2 routers, seleccionaremos  Serial.


Notaremos que a diferencia en las demás imágenes los enlaces que hemos trazado no tienen ningún nombre, para poder ver el nombre de cada uno seleccionamos en el menú la opción junto a Agregar un enlace, como se muestra en la imagen (3 – Ver etiquetas de los enlaces).

Nota: para poder cambiar el nombre a los switchs o routers, damos click derecho sobre el componente al cual deseamos renombrar y seleccionamos la opción Cambiar el nombre del host, los demás componentes que contienen las imágenes como: los cuadrados que delimitan los sistemas autónomos (101,102) y como colocarles nombres (etiquetas) están en la barra del menú (imagen 4 – complementos).

Una vez terminada la topología (imagen 5), comenzaremos con los preparativos para comenzar a configurar las redes, lo primero que debe hacerse es iniciar el router tal y como se muestra en su respectiva imagen, luego seleccionamos con click derecho la opción que dice "IDL pc", y seleccionamos de la lista que nos aparece, la opción que tiene un asterisco “ * ” (si no nos sale ninguna no es de alarmarse y se selecciona cualquiera de las opciones; de igual manera si varias opciones tienen  “ * ”), esto se hace con el fin de mejorar el rendimiento de la pc en la que estemos trabajando ya que el GNS3 por defecto asigna muchos recursos de la pc al manejo de los routers, lo que estamos haciendo nos ayuda a que haga un análisis y asigne justo lo requerido.

Luego procedemos a seleccionar la opción de iniciar router nuevamente presionando click derecho sobre él; en ocasiones nos puede salir el mensaje que dice “would you like to enter the initial configuration dialog? [yes/no]” tal y como se muestra en la imagen correspondiente, si nos llega a salir este mensaje siempre escribiremos “no” o en su defecto “n”.
Luego que lo hallamos activado se nos abrirá una consola negra como la nativa de windwows con el nombre del router, en caso de que no nos salga el nombre del router que le asignamos previamente en la consola seguida de un “#”, escribiremos “enable” y presionamos Enter  y ya podremos empezar con las configuraciones básicas, luego escribimos conf t que es la abreviación de configure terminal presionamos enter, luego escribiremos si deseamos el comando “hostname nombre que deseamos” y observaremos que ahora la palabra Router# cambio a el nombre que deseamos#.

Procedemos con la configuración de las interfaces FastEthernet (switchs), el primero comando que escribiremos en “int f0/0” (nombre de la conexión que comunica el swtich 1 con el router para este ejemplo los nombres varían en cada conexión y proyecto pero siempre que seleccionemos como se mostró previamente en “ver nombre de las interfaces” no tendremos problemas en identificarlas).  Luego escribimos el comando “ip add 192.168.100.1 255.255.25.192” (abreviación de ip address) ya que es el rango de direcciones ip y mascara para este ejerció, seguidamente escribimos “no sh“ (abreviación de no shutdown) para que nos active o levante la interfaz y este funcional ya que por defecto se encuentran apagas / desactivadas, finalmente escribimos “exit” y nuestra interfaz F0/0 esta finalmente configurada y repetimos el procedimiento para todas las interfaces Fast Ethernet conectadas a ese router únicamente.




Continuamos con la configuración de la interfaz Serial, la que comunica a nuestro Logf1(Router 1) con LogF2(Router 2) de la siguiente manera; “int s1/0” el comando es igual que el nombre de una interfaz FastEthernet solo que hay que fijarnos en que las interfaces seriales su nombre comienza con una “ s “ y las de las FastEthernet con una “ f ” respectivamente, luego “ip add 10.0.0.1 255.255.255.252”, a continuación los routers en el GNS3 por una configuración por defecto apagan / desactivan las conexiones seriales tras unos segundos de activadas y por lo tanto no nos dejan comunicar con otros routers, para solucionar este inconveniente escribiremos “encap hdlc”, proseguimos con “no sh” y “exit”, nótese que la configuración es exactamente igual a diferencia del rango de direcciones ip y que se debe agregar el “encap hdlc”, al activarla con el "no sh" igual nos aparecera que esta caida la interfaz pero cuando configuremos el otro extremo en el router con el que comunica nos saldra un mesaje de que se ha levantado exitosamente.

Luego de haber configurado ya todas las interfaces, configuramos finalmente el router con el protocolo de comunicación que nos pide el ejercicio que para este caso es eirgp, “escribimos el comando “router eigrp 101” y así le damos nombre y apellido a nuestro router, luego “redistribute static” por ahora colocamos esto para que nos redistribuya las comunicaciones de la manera por defecto, más adelante se observara mejor para que nos sirve esto, seguimos con  “no auto-summary” para que no nos sumarise por defecto las redes, la sumarizacion es cuando ocultamos a los demás routers la existencia de nuestras subredes (conexiones FastEthernet / swithcs) ya que en este mundo de la informática existen personas que podrían causarle daño a la empresa o simplemente robar información de tu computador ò ayudarse a ello sabiendo esta sencilla información, continuamos con “net 192.168.100.0 0.0.0.63” fíjese que la máscara en la configuración del router esta invertida, repetimos para todas las conexiones Fastethernet y Seriales y finalizamos con un “exit”.

Para no perder la configuración de lo que hemos hecho en nuestro proyecto, escribimos el comando “copy run star” para guardar temporalmente la configuración de ese router(en caso de que decidamos cerrar esa terminal más NO DETENER EL DISPOSITIVO  esto solo lo debemos hacer cuando decidamos ya no trabajar más y si no hemos guardado la configuración en nuestra pc, todo lo realizado se perderá, para poder cerrar el proyecto completamente sin perder nuestra configuración nos iremos a la opción del menú que dice ”Importar / Exportar Startup Configs” y luego si procedemos a la opción Archivo / guardar; ¿porque no hacer eso desde el comienzo siendo más rápido? Porque si seleccionamos “archivo / guardar” solo se nos guardar a nuestra topología esto quiere decir solo el orden y posición d nuestros iconos con forma de routers, switchs, conexiones f y s cuadros y demás, con la opción importar / exportar guardamos en nuestra carpeta las configuraciones hechas.

Hecho esto repetimos el procedimiento para el router 2, con los router 3 y 4 (GwPrin y GwAcceso respectivamente) habrá unos ligeros cambios en su configuración que procederé a explicar.
Comenzaremos con “router eigrp 101” dándole nombre y apellido y el siguiente comando que usaremos será “redistribute eigrp 102” ya que el enunciado nos indica que hay 2 SA (sistemas autónomos) como son diferentes haremos que tanto 101 como 102 puedan comunicarse a pesar de desconocerse el uno al otro redistribuyendo los paquetes de información salientes del uno al otro; seguimos con “no-autosummary” -> “net 10.0.0.4 0.0.0.3” -> “exit”.

Aquí mismo configuraremos la comunicaciones entre ambos configurando otro protocolo e comunicación en el mismo route, “router eigrp 102” -> “redistribute eigrp 101” -> “no auto-summary” -> net 10.0.0.8 0.0.0.3” -> “exit”.

Luego haremos exactamente lo mismo salvo un detalle con el router GwAcceso ya que este debe comunicarse como nos pide el enunciado tanto con eigrp como con ospf, y se hace de la siguiente forma: “router eigrp 102” -> “redistribute ospf 102 métrica 1000 100 255 1 1500” podemos trabajar con estos valores en la métrica para comunicarnos con el ospf; esto es conocimiento que debemos tener para poder realizar el ejercicio, los valores que coloque sirven para este caso son básicos pero no explicaré cada uno de ellos aquí ya que no son el objetivo de este post; para mayor información leer sobre los protocolos EIGRP y OSP respectivamente -> “no auto-summary” -> net 10.0.0.8 0.0.0.3” -> “exit”.

Luego configuraremos el protocolo ospf de la siguiente forma: “router ospf 102” -> “redistribute eigrp 101 subnets” -> “net 192.168.12.0 0.0.0.255 área 0” fíjense que el comando es exactamente igual al del protocolo eigrp salvo por las palabras “área 0” esto es porque el protocolo eigrp no trabaja con SA (sistemas autónomos” sino con áreas  -> “exit o Ctrl + z” y hemos finalizado la configuración de nuestro último router.




Con esto acabamos las configuraciones básicas que nos piden,  podemos comprobar en cada router con el comando “show ip ro” como quedo cada una de las configuraciones en cada router hasta este punto y verán que todas las redes y subredes son visibles para todo el mundo, también podemos usar el comando “ping dirección ip que deseemos” para comprobar que haya comunicación, tanto de un routers son sus propias subredes como con otros routers o subredes ajenas.

Ahora para nuestro ejercicio haremos invisibles para los demás routers las subredes que no pertenezcan a su SA correspondiente, esto lo haremos en los router frontera de cada SA.

 Comenzaremos con LogF2; abrimos de nuevo la consola de LogF2 en si la tenemos minimizada o iniciamos la consola con el botón derecho sobre el router en caso de que lo hallamos cerrado más NO DETENIDO, si la consola la tenía minimizada y desapareció toda la información que teníamos escrita, no hay que asustarse GNS3 tiene un macabro sentido del humor, simplemente que aunque no aparezca si esta guardada ya sea en memoria con “copy run star” o en la computadora propiamente con Importar / Exportar, escribimos nuevamente “enable” -> “conf t” –> “int s1/1” ya que la sumarizacion debe realizarse en las interfaces seriales -> “ip summary-address eigrp 101  192.168.100.0. 255.255.255.0” -> “exit”.  
Repetimos el procedimiento anterior en el router frontera GwPrin: “int s1/1” -> ip summary-address eirgp 102  192.168.10.0 255.255.248.0” -> “exit”.

Y listo ya tenemos nuestras subredes invisibles para los SA vecinos, pero aun no hemos acabado, tras haber hecho esto debemos finalmente poder comunicar a nuestras subredes invisibles con los demás routers o subredes, ¿porque si ya nos molestamos en que no nos vean ahora debemos hacer que se puedan hablar a ciegas?, porque aunque también aísla la visión de las personas potencialmente dañinas también aísla a las personas que podrían ayudarnos o que pertenecen a nuestra empresa / vivienda y tampoco podrán comunicarse con nosotros.

Para poder finalmente comunicarse a ciegas debemos usar una lista de acceso para permitir el paso de información o paquetes de información, esto lo haremos en nuestro router frontera que comunica a ambos SA escribiendo el comando: “access-list  1 permit 192.168.100.0 0..0.0.255” -> “Access-list  1 deny any” a diferencia de cuando configuramos un router para que hable a través de un protocolo en específico como “router eigrp 101” este 1 que acompaña al acceess-list no es un nombre sino en un numero como un identificar que le indica cómo debe comportarse, para informarnos más sobre esto los invito a profundizar en las listas de acceso.

Y hemos terminado finalmente nuestro ejercicio fue algo extenso pero muy completo, podemos comprobar cómo han quedado nuestros routers ahora después de agregar estos últimos pasos usando el comando “sho ip ro” y verán que las subredes de un diferentes SA son invisibles para el otro y si usamos el comando desde un router en uno de los SA y hacemos un “ping dirección que deseamos probar” del otro SA veremos que hay comunicación.

Espero les sea de ayuda este post para su vida, estudios, o simplemente su curiosidad cualquier duda comentarla y hare todo lo posible por aclararlas, un saludo.

Imagenes del Ejercicio:

https://mega.co.nz/#!lo9GiKKY!qHjBl0R6QZYUucna_uhydIaP-oPFO_rUxGI8Zw3mJq0

martes, 13 de mayo de 2014

Mis primeros pasos en C#


Revisando mi disco duro externo en busca de material del cual hacer mención, me he encontrado con la carpeta de Programación II. Dentro de esta carpeta veo mucho material, del cual logro apreciar los libros con los cuales aprendí a utilizar C# o C Sharp, como quieran llamarlo. C Sharp es un lenguaje Orientado a Objetos (muy parecido a Java) producido por Microsoft, utilizado en lo modelos de objetos de la plataforma .NET.

Si no mal recuerdo en aquel tiempo se nos pidió programar Pac-Xon (El hermano perdido de Pac-Man) en dicho lenguaje, para lo cual se nos dio un tiempo aproximado de 2 meses. Googleando un poco pude conseguir material que me fue de bastante utilidad en mis primeros pasos en C Sharp de .NET. También vale decir que yo, ya contaba con conocimiento previo de Java y gracias a las similitudes no se me hizo difícil entender el contenido de los libros.
 
Debido a que en estos días recibí algunas preguntas sobre C Sharp en Aks.fm, he decidido compartirles el material mediante el cual yo he estudiado y que espero les sea de utilidad. También si este material puede ayudar a alguien que necesite aprender de manera rápida el lenguaje, como yo, pueda hacerlo.

Otra manera de aprender sobre C Sharp que les  puedo recomendar es directamente en MVA (Microsoft Virtual Academy), donde puedes encontrar un curso muy completo sobre .NET de manera gratuita, así como otras tantas herramientas de Microsoft para el desarrollo de software.

Link para descarga del material:  https://mega.co.nz/#!hBlQwSJZ!TNPz-2Z-tpOxxVvBXKlajm1sINgd7T3HiWh8jQGhrI8

Imagen tomada de: Josue Nerd

martes, 6 de mayo de 2014

Video - El como y porque del Sistema Operativo Linux






En estos días me he percatado que ya cumplo por esta época 3 años utilizando Sistemas Operativos basados en linux. Tras que mis inicios con el SO no fueron los mejores, he tenido profesores los cuales aceleraron mi gusto por distribuciones como: Ubuntu, Debian o Fedora. Así que he decidido hoy compartir parte de lo que es linux; historia, participes relevantes, ideas del proyecto y beneficios que este ha brindado al mundo desde su lanzamiento.

Linux nace como iniciativa del trabajo de Linus Torvalds (Quien curiosamente nació en 1969, mismo año que UNIX), quien tras utilizar MINIX de UNIX en su Universidad y con el conocimiento técnico en "Lenguaje C" decidió comenzar una iniciativa propia, un sistema operativo para uso personal, el cual termino lanzando como proyecto cooperativo en la red el 17 de septiembre de 1991, bajo la versión 1.0.  El nombre pasó de Freax (nombre elegido por Linus) a linux, debido a que uno de los colaboradores pensó que linux llamaría más la atención y lo hizo público, desechando el nombre elegido por su creador. 

El proyecto salió a la luz con la idea de que miles de programadores a través de Internet mandarán soluciones y complementarán el desarrollo, claro, todos estos cambios aceptados por Linus para ser incluidos. El proyecto Linux trabaja bajo la premisa de código ciento por ciento ejecutable "el objetivo no es programar y reprogramar por siempre", por eso Linus Torvalds es exigente con la inclusión de código al proyecto en la comunidad, al exigir código legible y perdurable.

Pero no todo se quedó en manos de Linux Torvalds. Para la salida de Linux al mercado como lo conocemos, también tenemos que nombrar a Richard Stallman, quien contribuyo con la creación del nucleó por parte de GNU (proyecto iniciado por Stallman en 1983. Stallman quien no consideraba el nucleó llamado Hurd aún lo suficiente maduro para usarse, comenzaron a usar Linux a modo de continuar desarrollando el proyecto GNU, naciendo así lo que hoy conocemos como GNU/Linux. También tenemos que destacar que es gracias a Stallman lo que es hoy la cultura del Software Libre, tras la liberación de Linux bajo las siglas GPL o Licencia Pública General de Linux; bajo el cual todo su código fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera. Sin duda las contribuciones del Stallman han significado grandes avances a la cultura del software libre y la defensa de la libertad de conocimiento.

"Stallman insiste en la utilización del término «software libre», y no código abierto, porque lo importante es la libertad del usuario que se pierde." Wikipedia 2014

La iniciativa del proyecto GNU/Linux también ha significado un gran avance en lo que a colaboración de desarrollo se refiere. Cada día son más y más quienes se unen a proyectos de software libre o de cualquier índole y colaboran en comunidad, bajo la premisa del que el conocimiento es universal y debe ser compartido. Incluso este tipo de desarrollo se ha convertido en un hobbi para los desarrolladores de todo el mundo a quienes les gusta ayudar a los demás a generar soluciones.

Una de las razones por la que Linus comenzó su proyecto personal fue también el de tener un sistema operativo el cual necesitara menos equipo para ejecutarse. Esto lo lograron mediante la creación de un kernel que usase más eficientemente la memoria del equipo. 

El máximo competidor para Linux desde sus inicios ha sido Microsoft y su monopolio de software privativo. Sin duda Linux logró una gran conmoción en sus inicios donde Microsoft parecía dominar el mercado, y cualquier idea de código libre parecía una locura. Sin embargo, las ideas de que el proyecto GNU/Linux fuera FREE o libre resultó una buena jugada para Linus Torvalds, quien poco a poco fue ganando adictos en el mercado y hoy por hoy, es el máximo dolor de cabeza de Microsoft.
La cuota de mercado para Linux principalmente se basa en servidores, donde se ha convertido en la apuesta más segura. En los ordenadores personales aunque su uso al usuario común puede resultar un tanto complicado, gracias a distribuciones como Ubuntu, hoy Linux gana adeptos y es mucho más conocido.

Para finalizar, tal vez, una de las más grandes equivocaciones que tiene la gente se ha debido a la traducción de la palabra FREE en Ingles, libre o gratis. Si bien es así que se ha tratado de dar vueltas económicas e incluso políticas al Software Libre. Para tener más en claro esto me permití buscar la siguiente definición: 

"Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, y estudiar el mismo, e incluso modificar el software y distribuirlo modificado. 

El software libre suele estar disponible gratuitamente, o al precio de costo de la distribución a través de otros medios; sin embargo no es obligatorio que sea así, por lo tanto no hay que asociar «software libre» a «software gratuito» (denominado usualmente freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente (software comercial). Análogamente, el software gratis o gratuito incluye en ocasiones el código fuente; no obstante, este tipo de software no es «libre» en el mismo sentido que el software libre, a menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa. 

Tampoco debe confundirse software libre con «software de dominio público». Éste último es aquel software que no requiere de licencia, pues sus derechos de explotación son para toda la humanidad, porque pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este software sería aquel cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de éste, habitualmente 70 años. Si un autor condiciona su uso bajo una licencia, por muy débil que sea, ya no es del dominio público." Wikipedia 2014

Por ultimo me tomo la potestad de decir que aunque el software libre es visto con connotación política, esto es falso. El software libre tiene como intención garantizar que el conocimiento a través del software sea libre y pueda ser modificado o mejorado, por el contrario de connotaciones políticas que suelen darle como el Gobierno de Venezuela, el cual intenta darle una visión de propaganda a su uso.

Como usuario Linux con ya 3 años usando el Sistema Operativo les recomiendo dar una oportunidad a cualquiere de sus distribuciones. Sé que al principio cuesta acostumbrarse a usar la consola para instalar programas, administrar carpetas o modificar la apariencia. Sin embargo, como informático les digo que no hay mejor satisfacción, que el tener 100% de personalización de tu PC.

Les dejo un video que trata aún más a fondo los puntos hoy expuesto. 


“Las obras de conocimiento deben ser libres, no hay excusas para que no sea así“ Richard Stallman

Feliz semana para tod@s!

Imagenes tomadas de: Google y Wikipedia

Licencia Creative Commons