Por: Xtingray
Aprendiendo Sobre el Software
¿Qué es Software?
La palabra "Software" es un término general para definir a todo el conjunto de "Programas" que son utilizados a través de un Computador o de dispositivos similares (PDA's, Teléfonos Celulares, etc).
Los programas son herramientas a través de las cuales podemos desarrollar diferentes actividades (desde hacer una carta hasta recrearnos a través de un juego). Cada vez que damos click con el ratón del computador sobre un ícono en nuestro computador estamos ejecutando un programa, estamos interactuando con software.
Los Sistemas Operativos tambíen hacen parte del mundo del Software. Un Sistema Operativo es la aplicación base que requiere un usuario para utilizar un computador. La misión del Sistema Operativo es servir de intermediario entre el usuario y las diferentes partes físicas del computador (La pantalla, la cpu, el ratón, el teclado, etc).
Un ejemplo sencillo de Sistemas Operativos muy conocidos son GNU/Linux y Windows. Aunque en realidad existe una gran cantidad de Sistemas Operativos alrededor del mundo.
Un ejemplo sencillo de "Programas" de computador son el navegador de páginas Web "Firefox" y el editor de texto "Word". Pero, ¿Cómo se hace el Software?
¿Cómo se hace el Software?
Para entender de manera sencilla como se crea un Programa de computador, veamos la siguiente metáfora:
Para crear un pastel, el primer paso a seguir es adquirir o crear una receta. Una receta es un listado de ingredientes y una especificación de pasos mediante los cuales dichos ingredientes son procesados para conseguir el producto final: Un pastel, en este ejemplo.
En el campo de la programación, a la definición de un conjunto de instrucciones para conseguir un objetivo específico se le conoce como ALGORITMO. En otras palabras, una receta de cocina es un algoritmo escrito.
Siguiendo con la analogía, el papel del cocinero recae sobre el programador, quien en su papel de "chef informático" diseña y construye (programa) la receta (el algoritmo) que dará como resultado un programa, en el caso de nuestro cocinero: un pastel.
pasteles
Las instrucciones que conforman un algoritmo son escritas en un lenguaje formal, conocido como Lenguaje de Programación (en la actualidad existen miles de ellos). Dichas instrucciones son almacenadas en archivos del mismo tipo en los que cualquier usuario guarda una carta o un documento en su computador. Las recetas de cocina se escriben en papel, las recetas de los programas se almacenan en archivos. Dichos archivos aún no son el programa en sí, sólo la receta. A este conjunto de archivos (que generalmente son varios por cada Programa a crear) se le conoce como CÓDIGO FUENTE.
¿Cómo se llega del algoritmo al programa?, ¿Cómo se pasa del código fuente a la aplicación final? Es aquí donde el papel del horno se hace imprescindible para fusionar los ingredientes de la receta y así transformarlos en el producto final: un delicioso pastel. Los "hornos" de los programadores se denominan COMPILADORES y no son otra cosa que programas especializados en crear otros programas; un compilador transforma el código fuente de un algoritmo en un programa (el producto final). Dentro de ese contexto, definamos los siguientes términos:
Derechos de Autor: Son aquellos derechos de propiedad que posee el autor de cualquier clase de obra/producto sobre su creación. El Software también se considera un producto dentro del contexto legal.
Licencia de Software: Es el contrato legal que define las libertades, deberes y derechos que el creador de un Programa define para todo aquel que desee utilizar o distribuir dicho Software. La licencia es el mecanismo mediante el cual el autor del Programa protege o comparte sus derechos sobre su creación.
En la actualidad existen 2 grandes clases de licencias de Software:
Licencias Privativas
Es el tipo de licencias que debe adquirir cualquier usuario para utilizar un programa privativo a través del pago de una cantidad determinada de dinero al autor del software en cuestión. Generalmente la licencia es sustentada por un documento o contrato que la casa distribuidora de software entrega al usuario para que este pueda sustentar ante las entidades de control la legalidad en la adquisición de los programas que utiliza. Uno de los ejemplos mas conocidos sobre licencias privativas es el caso de las licencias que cubren a productos como Microsoft Windows XP (TM) y Microsoft Office (TM). Es importante tener en cuenta que las Licencias Privativas no permiten la distribución de copias sobre el Software que cubren, en otras palabras, si usted paga por una Licencia de Windows XP, usted tiene derecho a usar una copia del mismo, más sin embargo no puede hacer copias del instalador y mucho menos distribuirlas (ni gratuitamente, ni cobrando).
Licencias Abiertas y del Software Libre
Es el tipo de licencia que permite que ciertos programas sean de libre uso para cualquier usuario. Adicionalmente este tipo de licencias permiten otras libertades como la distribución y modificación del Software entre los usuarios sin ningun tipo de requisito económico. Más alla de ser simplemente Software gratuito, el Software Libre ha sido concebido por sus creadores para que sea propiedad de todo el mundo.
Fedesoft: Es la entidad oficial en Colombia, encargada del cumplimiento de las leyes que protegen los derechos de autor sobre productos de software.
Dentro de sus funciones, Fedesoft debe sancionar a los infractores que utilizan Software de Licencia Privativa sin haber pagado por su uso. Las penas aplicables van desde multas de algunos cientos de miles de pesos, pasando por cientos de millones, hasta condenas de cubren varios años de cárcel.
Software Privativo: Son todos aquellos programas diseñados y creados por una casa de software y cuya licencia no es gratuita, ni de libre distribución. Para adquirir legalmente este tipo de programas, cualquier persona debe pagar por ellos. Ejemplos de este tipo de Software son: Microsoft Office, Windows95 / 98 / 2000, Corel Draw, etc.
Software Libre: Son todos aqellos programas cubiertos por Licencias de Software abiertas. En otras palabras, los creadores de este tipo de programas han decidido compartir sus derechos de uso y de propiedad sobre sus creaciones con el resto del mundo. El Software Libre no sólo permite su libre uso, sino también el acceso a su código fuente; a estudiarlo y a modificarlo para crear nuevas versiones del mismo y distribuirlas libremente. Ejemplos de este tipo de Software son: GNU/Linux (Sistema Operativo), Firefox (Navegador de Internet), Thunderbird (Cliente de Correo), etc. Generalmente el Software Libre puede ser adquirido a través de Internet, en muchos sitios web desde los cuales es descargable sin ningún costo.
Piratería: Término popular con el que se conoce al acto de hacer uso y distribución de Software Privativo sin realizar ningún tipo de pago a las empresas autoras y propietarias de los derechos sobre dicho software. La "piratería de software" es una actividad ilegal y es sancionada judicialmente en todo el mundo: es un delito.
Es importante anotar que el uso y la distribución de Software Libre no es un delito y no tiene que ver con "pirateria" de Software, dado que la licencia que cubre dichos programas permite legalmente estas actividades.
Pero, ¿Quién hace el Software?
¿Quién hace el Software?
Como vimos en la sección "¿Cómo se hace el Software?", existen 2 tipos de licenciamiento de Software: El Privativo y el Libre.
...Y quién hace el Software Privativo?
Alrededor de todo el mundo existen diferentes empresas dedicadas al diseño y creación de programas privativos. Dentro de las más conocidas en nuestro medio podemos mencionar a Microsoft (la creadora y propietaria del Sistema Operativo Windows) y Corel (La creadora de Corel Draw), entre otras.
Estas compañías se sostienen a través de la venta y el soporte técnico de sus programas. En otras palabras, si usted como usuario desea utilizar alguno de los productos de estas casas de software, entonces debe pagar para adquirirlo: es el procedimiento legal. De la misma manera en que se adquiere un electrodoméstico o cualquier artículo en el mercado, el software privativo en nuestro contexto nacional actual es un producto comercial, protegido por leyes y artículos constitucionales.
...Y quién hace el Software Libre?
El Software Libre es desarrollado a nivel mundial por grupos de diferente indole, entre ellos se cuentan:
- Empresas de Software cuyo modelo de negocio no implica vender licencias privativas de Software o cuyo modelo se encuentra orientado a los servicios alrededor del Software.
- Grupos de Desarrollo Universitarios interesados en investigar y en compartir los programas que crean.
- Fundaciones interesadas en impulsar Proyectos de Software Libre.
- Programadores voluntarios que en su tiempo libre trabajan desarrollando proyectos de Software Libre con el ánimo de compartir su conocimiento y sus programas.
Muy bien, y si yo creo un Programa y deseo asignarle una Licencia de Software, ¿Qué tipos de Licencias existen? Para ello, visitemos el enlace: Tipos de Licenciamiento de Software
Tipos de Licenciamiento de Software
En la actualidad, existen un gran número de Licencias de Software de diferente tipo. Sin embargo y como lo mencionamos en enlaces anteriores, podemos agruparlas en 2 grandes grupos:
- Licencias privativas: Establecen las condiciones en las cuales un usuario final puede utilizar la aplicación. Están pensadas para limitar la libertad del usuario.
- Licencias libres: Establecen las condiciones en las cuales cualquiera puede utilizar el software. Garantizan la libertad del usuario.
EULA
(End User License Agreement/Acuerdo de Licencia de Usuario Final): es un contrato legal entre el autor de una aplicación de software o su distribuidor (licenciador) y el usuario de la aplicación (licenciatario). El EULA, muchas veces es referida como la "Licencia de Software", es similar a un acuerdo de renta en el que el usuario acepta pagar por el privilegio de usar el software, y se compromete con el autor del mismo a cumplir con todas las restricciones establecidas en dicho contrato. El usuario es invitado a "Aceptar" los términos de el EULA en el momento en que abre la caja en donde vienen los instaladores, en que rompe el sello del empaque del CD, en que envía una notificación a quien distribuye el software, en que instala el Software o en el que lo ejecuta. El usuario puede rechazar el acuerdo mediante la devolución del software o escogiendo la opción "No Acepto" cuando la aplicación le pregunte si acepta las condiciones del contrato, en cuyo caso el programa se cerrará.
GNU GPL
La licencia pública general de GNU (en inglés GNU General Public License) es la licencia libre mas utilizada a nivel mundial, utilizada en el proyecto GNU y por software tan importante como Linux, es comúnmente conocida solo como "GPL". Se caracteriza por garantizar a los usuarios las siguientes libertades:
- La libertad de utilizar el programa.
- La libertad de distribuír el programa.
- La libertad de estudiar el programa (El acceso al código fuente es un requisito).
- La libertad de modificar el programa y de distribuír las nuevas versiones del mismo.
Esta es una licencia de tipo "copyleft" (izquierdo de copia), lo que significa que obliga al licenciatario a proveer las mismas libertades a cualquiera que reciba una copia del software por su intermedio. En la práctica, esto significa que todos los proyectos que se deriven de un programa con licencia GPL deben heredar el mismo tipo de licencia. En otras palabras, si yo hago una nueva versión de un programa que es GPL, no puedo utilizar una licencia diferente a la GPL para mi versión modificada.
Otras Licencias Libres
Dentro de la lista de Licencias Abiertas encontramos la BSD, la de Apache, la de Mysql, etc, etc, etc.
Para un listado exahustivo de sus definiciones específicas consulte: La página de OSI (Open Source Initiative)
Muy bien, ya tengo claro que existen 2 grandes grupos de Licencias de Software, ahora hablemos de aplicaciones, ¿Qué puedo encontrar en el mundo del Software Privativo? ¿Qué puedo encontrar en el mundo del Software Libre?
Para ello, miremos en el siguiente titulo.
Las opciones de Software del mundo libre y del mundo privativo
Aunque tradicionalmente el Software Privativo es más conocido que el Software Libre a nivel mundial, en la actualidad el número de aplicaciones que existen en ambos grupos es realmente extenso en todas las categorias de software más populares, como por ejemplo:
- Software sobre Ofimatica (Editores de Texto, Hojas de Cálculo, Editores de Presentaciones, etc)
- Software sobre Internet (Navegadores, Clientes de Correo, Clientes de Mensajería Instantanea, etc)
- Software sobre Multimedia (Reproductores de Video, Reproductores de Sonido, Juegos, etc)
- Software sobre Educación (Enciclopedias, Diccionarios, etc)
Todavia hay mucha gente que piensa que el único software que existe en el mundo es el creado por Microsoft (TM), sin embargo, esa afirmación no es cierta, existen otras grandes empresas desarrolladoras de software privativo como Sun Micro Systems (TM), Macintosh (TM), IBM (TM), entre otras. Adicional a esto, el movimiento del Software Libre se esta haciendo popular cada vez más, por lo que no es extraño ver que Colegios y Universidades ya lo estan utilizando en sus salas de computo (algunas desde hace varios años).
Si quieres saber que aplicaciones libres puedes utilizar para llevar a cabo las mismas tareas que realizabas con Software Privativo, te invitamos a revisar la siguiente Lista Comparativa (aunque esta en Inglés, es enorme!).
Esperamos que este pequeño artículo te haya servido para conocer un poco más acerca del mundo del Software!
Ademas si quieres empezar a usar Software libre y no sabes como, puedes leer: ¿Cómo_empezar_a_usar_Software_Libre?
Listados en Español para contribuir
En SLEC se está construyendo un listado de comparación en español, bienvenid@ a consultar, colaborar y depurar Alternativas libres
