domingo, 29 de abril de 2012

SOFTWARE LIBRE!

DEFINICION


Software Libre en Inglés es "Free Software", cosa que puede llevar a confusión dado que "Free" significa tanto gratis corno libre. Sin embargo el Software Libre no tiene porque ser gratuito, es posible hacer negocio con este modelo.

Debido a estos problemas de lenguaje, Eric Raymond junto a Todd Anderson, Chris Peterson (de! Feresight Institute), John Hall, Larry Augustin (ambos de Linux International) y Sarn Ockman (del Siiicon Valley Linux User's Group) el 3 de Febrero de 1998 en Palo Alto California, decidieron buscar una nueva forma de nombrar este tipo de Software, con el objetivo de no llevar a confusión y que fuese. un término más sencillo de usar por empresas. De esa reunión nació e! término Open Source..Unús dio su apoyo a la ¡dea pero Richard Stallman se mostró en contra, argumentando que este no denota libertad y carece de! espíritu fundamental de! Software Libre. 

Finalmente OSi o la Open Source Iniciative se es tablece corno una organización sin ánimo de lucro, ia cual tiene una tendencia más bien práctica en la defensa de la metodología, mientras que la Free Software Foundation afirma que el software debe ser libre por derecho social/universal 

Según la Free Software Foundation (respaldado por ei proyecto GNU), un programa libre debe ofre cer las siguientes 4 libertades: 

Libertad para ejecutar el programa, con cual quier propósito y sin restricciones. No es posi ble obligar a ejecutarlo sólo en un numere determinado de máquinas o en unas condicio nes específicas. 

Libertad para modificar el programa para adaptarlo a sus necesidades o para estudiar su funcionamiento. Como cualquier programado!" sabe, para que esta libertad sea efectiva, se debe tener acceso al código fuente, intentar modificar un programa sin disponer cíe él es muy complejo. 

Libertad para redistribuir copias tanto gratis como cobrando por ellas.

Libertad para distribuir versiones modificadas del programa, de tal manera que todo e! mundo pueda beneficiarse con sus mejoras. 

En todo caso hay que tener en cuenta que son libertades y no obligaciones, el usuario puede hacer uso cié ellas siempre que lo considere nece sario pero no tiene porque utilizarlas forzosamente (excepto si hace una modificación y distribuye e! ejecutable, entonces debe publicar los cambios).
La definición de Open Source es muy similar aun que más explícita. La distribución de software Open Source debe cumplir los siguientes criterios: 

> Redistribución libre

> Debe ser permitida la distribución del código fuente y del compilado.  

> Debe ser permitida la creación de trabajos derivados, los cuales podrán ser distribuidos bajos los mismos términos de la licencia. 

> Es posible restringir la distribución de código modificado siempre. 

El objetivo es poder asociar siempre un respon sable que mantiene el software que usamos y marcar, de forma independiente, todos los par ches con funcionalidades no oficiales. (Punto diferente a la definición de la Free Software Foundation)


PERSONALIZACION DEL ESCRITORIO

FONDO DE ESCRITORIO.-Es el cambio más vistoso y también el más fácil de hacer.
  • 1. Haga clic con el botón derecho del ratón en cualquier lugar vacío de! escritorio. 
  • 2. Seleccione Cambiar el fondo del escritorio. 
  • 3.Elija la imagen de la lista o bien pulse el botón Añadir para buscar una imagen en el equipo.
  • 4. Si queremos especificar un esquema de colores. tenemos las siguientes opciones:Color sólido,Degradado horizontal,Degradado vertical.



APLICAR UN TEMA.
  • 1, Hacernos clic en el menú Sistema del panel superior. 
  • 2, Seleccionamos Preferencias y luego apariencia 
  • 3, En la ventana de Preferencias de la apariencia elegimos el que nos parezca. Podemos afinar la configuración pulsando el botón Personalizar...
VENTANA DE ENTRADA.-Podemos cambiar la pantalla de entrada al es critorio. La manera de hacerlo es la siguiente:
  • 1.Vamos al menú Sistema en el panel superior
  • 2. Seleccionamos Administración y luego Ventana de entrada. 
  • 3. Introducimos nuestra contraseña si asi se nos solicita. En Preferencias de la ventana de en
  • trada elegimos la pestaña Local 
  • 4. En Estilo seleccionamos en la lista desplegable "Con temas"
  • 5. En "Tema" elija "Sólo los seleccionados" o bien "aleatorios entre los seleccionados" 
  • 6. Seleccione uno o varios temas de la lista. 
  • 7. Configure también un mensaje de bienvenida personalizado si lo desea.

SALVAPANTALLAS.-Es una aplicación que se activa automáticamente cuando el ordenador esta un tiempo inactivo, su función es evitar que el monitor sufra daños.
  •  En el panel! superior vaya al menú Sistema -Preferencias - Salvapantallas 
  • Seleccione uno cualquiera de la lista, en la ventana derecha verá una pre visualización. 
  • Establezca ahora sus preferencias
  • Pulse el botón cerrar

PARTES DE UBUNTU


INICIAR SESION.-A diferencia de lo que ocurre cuando Ubuntu se está ejecutando desde el CD ahora para entrar en, el sistema necesitará registrarse, es decir, facilitar su nombre de usuario y contraseña., Esto permi tirá que el sistema le identifique y le asigne los pri vilegios de acceso conformes con su cuenta, protegiendo Su confidencialidad de los datos y la seguridad del propio sistema

APAGAR EL SISTEMA.-El sistema debe apagarse correcta mente a fin de no causarle daños que pueden llegar a ser importantes. Para ello vaya al icono cambiar de usuario o apagar ubicado en el extremo derecho del panel superior, lo puede reconocer más fácilmente porque en el icono se visualiza el nombre del usuario que ha iniciado la sesión.

ESCRITORIO.-El escritorio es la primera pantalla que vemos una vez que se ha iniciado Ubuntu y la que permanece siempre de fondo.GNOME es uno de los escritorios más utilizado en sistemas GNU/Linux. Surge en agosto de 1997 como proyecto liderado por el mexicano Miguel de Icaza para crear un entorno de escritorio amigable

ELEMENTOS:
  • Paneles: son las barras grises situadas en la parte superior e inferior de la pantalla
  • Fondo de escritorio: es el espacio comprendido entre los dos paneles, es la zona más amplia de la pantalla y está de corado en tonos marrones.
PANEL SUPERIOR

Menú Aplicaciones: es la forma .más,fácil de . acceder a los programas instalados en el ordenador. 

Menú Lugares: incluye accesos directos a los principales espacios del sistema.
  • Carpeta personal: En este lugar guardaremos todos nuestros documentos
  • Escritorio: Carpeta que corres ponde a nuestro escritorio
  • Equipo: Muestra dispositivos y par ticiones a las que es posible acce der en nuestro sistema
  • Servidores de red: Si su ordenador está co nectado a una red local podemos ver desde aquí las carpetas de los otros equipos a las que tengamos permiso para acceder.
  • Conectar con el servidor: Nos permite esta blecer distintos tipos de conexión
  • Buscar archivos. Es una herramienta para buscar archivos y carpetas 
  • Documentos recientes. Contiene una lista de los últimos documentos a los que hemos accedido.
Menú Sistema.-Contiene la configuración de preferencias, aplicaciones de administración y distintos tipos de ayuda.
  • Preferencias: Configuración del escritorio GNOME. 
  • Administración: Configuración del sistema Ubuntu.
Iconos de acceso directo a aplicaciones.

Área de notificación. Es el espacio que utili zan algunas aplicaciones para informar sobre su actividad.

Control de volumen.

Fecha y hora

Botón salir.- permite Apagar y reiniciar el ordenador 



VENTAJAS Y DESVENTAJAS


HISTORIA SOFTWARE LIBRE


HISTORIA

Allá por 1971, cuando la informática todavía no había sufrido su gran boom, las personas que ha cían uso de ella, en ámbitos universitarios y empre sariales, creaban y compartían el software sin ningún tipo de restricciones. 

Con la llegada de los años 80 la situación empezó a cambiar. Las computadoras más modernas co­menzaban-a utilizar sistemas operativos privativos o sea sistemas que imponían fuertes restricciones a! usuario final, forzando a los usuarios a aceptar condiciones restrictivas que impedían realizar mo dificaciones a dicho software. 

Esta situación provocó la destrucción de comunida des cooperativas donde el software era compartido y cualquiera podía mejorarlo sin restricciones. 

Richard M. StaHman, trabajador del laboratorio de Inteligencia Artificial del MIT (Massachusetís Insti-tute of Technology), se percató que la sociedad es taba cambiando peligrosamente. El mismo Richard StaHman cuenta que por aquéllos años, en el labo ratorio habían recibido una impresora donada por una empresa externa. El dispositivo, que era utili zado en red por tocios los trabajadores, parecía no funcionar a la perfección dado que cada cierto tiempo e! papel se atascaba. Como agravante, no se generaba ningún aviso que se enviase por red e informase a ios usuarios de la situación. 

La perdida de tiempo era constante, ya que en oca siones, los trabajadores enviaban por red sus traba jos a imprimir y al ir a buscarlos se encontraban la impresora atascada y una cola enorme de trabajos pendientes. 

Richard StaHman decidió arreglar el problema, e ¡m-plementar e! envío de un aviso por red cuando la impresora se bloqueara. Para ello necesitaba tener acceso al código fuente de los controladores de la impresora. Pidió a la empresa propietaria de a im presora lo que necesitaba, comentando, sin pedir nada a cambio, que era lo que pretendía realizar. La empresa se negó a entregarle el código fuente. 

En ese preciso instante, Richard Stallrnan se vio en una encrucijada, debía elegir entre aceptar el nuevo software privativo firmando acuerdos de no revela ción, y acabar desarrollando más software,privativo con licencias restrictivas, que a su vez deberían ser más adelante aceptadas por sus propios colegas. 

Richard StaHman se negó a aceptar el nuevo soft ware privativo, dado que este le obligaría a firmar acuerdos de no revelación. Quería evitar acabar contribuyendo a la expansión de ese tipo de soft ware, el cual solo conseguía generar una sociedad más dividida y con menos libertades. 

Abandonó el MIT en 1984, para evitar problemas de propiedad de! software, e inició un proyecto para intentar formar una comunidad de personas, en las que compartir el código volviese a ser algo natural.

El proyecto fue denominado GNU (GNU's A/oí Unix), su finalidad era la construcción de un sistema operativo compatible con UNIX pero completa mente libre, además escribió la ucencia GPL. Más tarde construiría junto a diversos hackers cíe su en torno lo que se conoce actualmente corno la Free Software Foundation, una fundación sin ánimo de iu.crc.que tiene como objetivo proteger y defender ei software libre y sus usuarios/programadores. 

Hacia 1990, gran parte de los componentes, de un_: sistema informático completo estaban ya listos como software ubre. Por un lado ei proyecto GNU y por otro las distribuciones BSD habían completado ¡a mayor parte de las aplicaciones que componen un sistema operativo. 

Pero para tener un sistema completo construido sólo con software libre faltaba únicamente un com ponente: e! núcleo. Dos esfuerzos separados e in dependientes vinieron a rellenar este hueco: sD y GNU/Linux. 

1.386BSD.-La comunidad BSD estaba también en camine hacia un núcleo libre. En la distribución Net-2 sólo faltaban 6 ficheros para tenerlo (el resto ya había sido construido por e! CSRG o sus colaboradores), En 1992 Bill Jolitz completa esos ficheros y distri buye 386BSD, un completo sistema operativo tipo UNIX que funciona sobre arquitectura Intel 386/486, y que con el tiempo dará lugar a los proyectos NetBSD, FreeBSD y OpenBSD. 

El desarrollo durante los meses siguientes es rá pido, y a finales de año ya es suficientemente esta-, ble como para ser usado en producción en entornos no críticos, incluyendo ya, por ejemplo, un entorno de ventanas gracias ai proyecto XFree (que había portado X VVindow a la arquitectura Í386) o un com pilador de gran calidad, GCC, la mayor parte del sistema se distribuye bajo la licencia BSD. 

Gnu/Linux.-En Hnlandia, Linus Torvalds, estudiante de informá tica de la universidad cíe Helsinki, decidió realizar la cuantiosa inversión de $ 35'OG para adquirir un nuevo PC 386 (33 Mhz, 4MB de RAM). E! pago lo realizaría a plazo's pues no disponía de tal cantidad de dinero en efectivo. 

Corno sistema operativo descartó un DOS limitado que incorporaba y pidió un Minix por $ 168, la va riante de Unix para estudiantes de Andrew Tanen-baum. Habitualmente utilizaba su ordenador para acceder a la computadora de su universidad, pero por desgracia no ie gustaba nada ei emulador de terminal (entre otras cosas) incorporado en el sis tema operativo Minix, así que decidió crear uno ei ' mismo. Como realmente le interesaba aprender el funcionamiento de su nuevo 386, decidió aprove char esta oportunidad para realizar.un programa a bajo nivel prescindiendo de este sistema'-operativo. De forma privada, Linux nombraba "Linux" a su nuevo sistema operativo. 

Linus Torvalds comenzó a desarrollar un núcleo ubre que permitió completar el sistema GNU, anun ciaba que estaba empezando a crear ¡o que luego fue Linux en ei grupo de News comp.os.rninix. En él explica cómo lleva trabajando en su núcleo desde abril y cómo ya ha integrado algunas herra mientas del proyecto GNU sobre él (concretamente, menciona Bastí y GCC). Es así que el 17 de sep tiembre cíe 1991 libera la primera versión 0.01 de Linux con 10.000 líneas de código (en ía actualidad tiene más de 10 Millones). A partir de ese momento Linux empezó a evolucionar rápidamente, con tando ya con casi todas las piezas para convertirse en un sistema completo similar a Unix: compilador de C (GCC), editor (Emacs), sistema de ventanas (X Window), etc. 

Linus Torvalds quería plasmar e! espíritu científico en su trabajo, ya que se estaba basando en las ideas de otros. Como su intención era conseguir que otras personas lo ayudasen a mejorar Linux, era necesario que toda modificación hecha por ter ceros tuviese que ser pública, evitando así que al guna compañía vendiese código modificado sin aportar nada. 

Como se indicó, una de las herramientas que utili zaba su sistema, era el compilador GCC que tenía una licencia (elaborada por Richard Stallman) que especificaba todas las condiciones cié uso que Linux quería. Linux desarrolló el kernel Linux pero se apoyó en las herramientas implementadas por el proyecto GNU como el compilador GCC, el depu rador GNU Debugger, etc... Es por este motivo que cuando se tiene un sistema completo (kernel + utilidades -básicas) es llamado GNU/Linux.

A mediados de la década de 1990 ei software libre ofrece ya entornos completos (distribuciones de GNU/Ljnux, sistemas *BSD) que permiten e! tra bajo diario de mucha gente, sobre todo de desarrolladores de software. Aún hay muchas asignaturas pendientes (la mayor de ellas, el disponer de mejo res interfaces gráficas de usuario, en una época donde Windows 95 es considerado el estándar)", pero ya hay unos cuantos miles de personas, en todo el mundo, que solo usan software libre-en su trabajo diario. 

Los anuncios de nuevos proyectos se suceden y el software libre comienza su largo camino hacia las empresas, los medios de comunicación y, en gene ral, ei conocimiento público. 

Con el tiempo, unas distribuciones han ido sucediéndose a otras como las más populares. Entre todas ellas, cabe destacar algunas: 
  • Debían, desarrollada por una comunidad de desabolladores voluntarios. 
  • Red Hat Linux, primero desarrollada interna mente por la empresa Red Hat, pero adoptando más adelante un modelo más comunitario, dando lugar a Federa Core, 
  • Suse que dio lugar a OpenSuSE, en una evolución simiiar a la de Red Hat. 
  • Mandriva (sucesor de Mandreake Linux y de Conectiva)
  • Ubuntu, derivada de Debían, producida a par tir de ella por la empresa Canonical.


jueves, 12 de abril de 2012

SOFTWARE



TIPOS DE SOFTWARE 


Software de traducción: Con el que los programa-dores pueden crear otro software. Supervisa y controla todas las actividades de I/O (input-output, entrada-salida) y procesamiento de un sistema de computación. Todo el hardware y el software se controlan por medio del sistema opera tivo. 

Software de uso general: Ofrece la estructura para un gran número de aplicaciones empresaria les, científicas y personales. La mayoría del software de este tipo se vende como paqueteras decir, con software y documentación orientada al usuario. 

Software de aplicación: Sirve como herramienta para elevar la productividad de los usuarios en la resolución de problemas. Está diseñado y escrito para realizar tareas específicas personales, empre sariales o científicas. El software de este tipo pro cesa datos y genera información, 

Software del sistema: Coordina las operaciones de hardware y lleva a cabo las tareas ocultas que el usuario rara vez observa. Controla o respalda a los otros tipos de software. Dentro de este tipo de soft ware se encuentran el sistema operativo: es e! nú cleo de cualauier sistema de computación: 


Software multiuso: Los paquetes de software inte grado cuentan con varias aplicaciones diseñadas para trabajar en conjunto; estos paquetes suelen incluir como mínimo, S^tipos de aplicaciones: pro cesador de textos, base de datos, planilla de cál culo, gráficos y telecomunicaciones. Los paquetes integrados ofrecen varias ventajas: Permiten trans ferir datos entre las aplicaciones con rapidez y faci lidad. 

Software vertical: Aplicaciones diseñadas especí ficamente para una empresa o industria en particu lar. Son mucho más costosas que las aplicaciones de mercado masivo. 

Software a medida: Es el que se programa espe cíficamente para determinados clientes.





LENGUAJES DE PROGRAMACIÓN 


Un lenguaje de programación consiste en un conjunto de órdenes o comandos que describen el proceso deseado. Cada lenguaje tiene sus instrucciones y enunciados verbales propios, que se combinan para formar los programas de cómputo. 

Características de la programación Un programa útil tiene 5 atributos: 

1. Exactitud y precisión: Un programa debe aceptar datos, procesarlos y generar resultados sin errores de sintaxis o de lógica. 

2. integridad o compleíitud: Un programa es completo sólo si ejecuta todas las operaciones que el usuario espera al procesar un conjunto de datos. 

3. Generalidad: Debe ser general para que las instrucciones no se limiten a un número específico de transacciones en el conjunto de datos. 

4. Eficiencia: Debe asegurarse que las instrucciones para procesar datos se seleccionen tan
rápida y fácilmente como sea posible. 

5. Documentación: Consiste en la inclusión de auxiliares que explican con claridad como ocurre el procesamiento de los datos en un programa. La documentación incluida en un programa es de dos tipos: Externa o Interna 

Los lenguajes de programación se dividen en 2 ca tegorías fundamentales: 

Lenguajes de bajo nivel: Son dependientes de la máquina, están diseñados para ejecutarse en una determinada computadora. Éste lenguaje está es tructurado en código binario (O y 1). 

Lenguajes de alto Nivel: Son independientes de la máquina y se pueden utilizar en una variedad de computadoras. Los lenguajes de más alto nivel ofrecen una interacción programador/cornputadora más avanzada. Cuanto más alto es el nivel del len guaje, más sencillo es comprenderlo y utilizarlo. 

Los programas de computación son conjuntos o es tructuras de instrucciones u órdenes codificados que hacen que la computadora efectúe una seriede operaciones para alcanzar un propósito especí fico. 

Programa almacenado, fuente y objeto 


Fuente: Es el programa de cómputo escrito en un lenguaje de programación. Todos los pro gramas fuente deben compilarse o traducirse antes que el sistema ios pueda ejecutar. 

Objeto: Se llama programa o código objeto ai programa de cómputo luego que ha sido tradu cido al lenguaje de máquina. El programa ob jeto es la salida del proceso de compilación. 


Traductores, compiladores e intérpretes 


Los traductores son programas elaborados que convierten los programas escritos en un lenguaje de programación en lenguaje de máquina. Los programas de traducción pueden ser: 

Compiladores: El programa compilador traduce las instrucciones en un lenguaje de alto nivel a instrucciones que la computadora puede interpretar y ejecutar. Para cada lenguaje de programación se requiere un compila dor separado. El compilador traduce todo el programa antes de ejecutarlo. 

Intérpretes: Es un programa que desempeña la misma función que un compilador, pero en forma diferente. En lugar de traducir todo el programa fuente en un solo paso, traduce y ejecuta cada instrucción del programa fuente antes de traducir y ejecutar la siguiente. 

La ventaja es que un error en la sintaxis "salta" inmediatamente a la vista del programador. 

La desventaja es que no produce un programa objeto, por lo que debe realizar el proceso de traducción cada vez que se ejecuta un programa.