Ensayo sobre Software de licencia Libre, Apuntes de Desarrollo de Algoritmos y lenguajes de Programación
miércoles, 9 de mayo de 2012
martes, 1 de mayo de 2012
Capitulo I
I.1. Definición de lenguaje
De acuerdo con el diccionario de la Lengua Española.
Lenguaje:
[1] http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=lenguaje
I.3. Definición de algoritmo
Para el tema de este manual definiremos algoritmo de la siguiente manera:
2. Determinar el título del libro
3. Dirigirse a una librería
4. Preguntar por el libro
5. Si tienen el libro en venta entonces
5.1 Comprarlo
5.2 Si no
5.3 Regresar al paso 3
6. Fin
2. Pedir el número
3. Si el residuo de dividir el numero entre 2 es igual a 0 entonces
3.1 El número es par
3.2 Sin no
3.3 El número es impar
4. Fin
Escritos:
Algoritmo para conocer si un número es par.
1. Inicio
2. Pedir el número
3. Si el residuo de dividir el numero entre 2 es igual a 0 entonces
3.1 El número es par
3.2 Sin no
3.3 El número es impar
4. Fin
Gráficos:
Como podemos ver ambos nos conducen a través de una serie de
pasos en secuencia hacia un resultado, sin importar cuantas veces los
recorramos.
· Determinar los datos de entrada.
· Determinar los datos de salida.
· Formulas y procedimientos para el proceso de los datos
De acuerdo con el diccionario de la Lengua Española.
Lenguaje:
Conjunto de
sonidos articulados con que el hombre manifiesta lo que piensa y siente.[1]
Conjunto de
signos y reglas que permiten la comunicación con un ordenador.
Lenguaje de Programación:
Lenguaje
que facilita la comunicación con un computador mediante signos convencionales
cercanos a los de un lenguaje natural.
Con estos conceptos podemos
comprender que nuestro concepto de Lenguaje quedaría de la siguiente
manera:
Conjunto
de signos y reglas que permiten establecer una comunicación entre el usuario y
la computadora.
Tomando en
cuenta que la comunicación se forma entre un emisor y un receptor, contando con
un medio de comunicación y el mensaje, contemplando que el mensaje corre en un
sentido, alternando los papeles de emisor, receptor y el sentido del mensaje
según se necesite.
[1] http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=lenguaje
I.2. Historia y aplicación de los lenguajes
algorítmicos
El lenguaje
algorítmico permite la comunicación entre el programador y la computadora,
siguiendo esta las indicaciones que se encuentren en dicho algoritmo, terminado
podemos crear un programa, trasladando la estructura del algoritmo a un
lenguaje de programación.
A los primeros
lenguajes de programación se les conocieron como lenguaje ensamblador, estos
son una representación simbólica de códigos binarios, el cual representa de
manera muy similar del código maquina especifico para cada arquitectura. Por
esto es llamado de “Bajo Nivel”.
El lenguaje
ensamblador fue usado en los inicios del desarrollo de programas, ya que aun no
se contaba con los lenguajes de “Alto Nivel”, quienes contemplan sintaxis y/o
palabras reservadas similares a las usadas en nuestro lenguaje común, también contienen
módulos que nos permiten crear programas con imágenes y cuadros de diálogos, de
manera fácil y rápida.
La aplicación de los algoritmos
no se encuentra limitada a la creación de programas de computadora, se pueden
emplear en todas las aéreas del conocimiento, donde sea necesario crear un
proceso que contenga inicio, desarrollo y fin, logrando cumplir con un resultado
siempre igual, sin importar cuantas veces se aplique el procedimiento.
Un algoritmo debe tener las
siguientes características.
Contar con un Inicio, tener un
Desarrollo que deberá ser Preciso, Definido y Finito, y tener un Fin.
o
Preciso
o
Definido
o
Finito
Para el tema de este manual definiremos algoritmo de la siguiente manera:
Secuencia de pasos lógicos, precisos, definidos y finitos para resolver
un problema, de la manera más obvia y fácil.
I.4. Tipos de algoritmos
Los podemos dividir en dos, algoritmos cotidianos y
algoritmos computacionales. Ambos pueden ser escritos en pseudocódigo y
diagrama de flujo.
Algoritmos cotidianos:
Son aquellos donde el que realiza los pasos es la persona,
como ejemplo:
Algoritmo para comprar
un libro. (escrito en pseudocódigo)
1. Inicio2. Determinar el título del libro
3. Dirigirse a una librería
4. Preguntar por el libro
5. Si tienen el libro en venta entonces
5.1 Comprarlo
5.2 Si no
5.3 Regresar al paso 3
6. Fin
Algoritmos computacionales:
Son aquellos que se ejecutan en una computadora, como
ejemplo:
Algoritmo para conocer
si un número es par. (escrito en
pseudocódigo)
1.
Inicio2. Pedir el número
3. Si el residuo de dividir el numero entre 2 es igual a 0 entonces
3.1 El número es par
3.2 Sin no
3.3 El número es impar
4. Fin
Como podemos ver ambos cumplen con las características
mencionadas en el tema I.2.
I.5. Lenguajes algorítmicos
Símbolos y reglas que se utilizan para describir de manera
ordenada y clara un proceso, para ello dividiremos los lenguajes algorítmicos
en Escritos
y Gráficos.
o Escritos: (pseudocódigo)
Presentación en forma de texto de los paso a realizar dentro del algoritmo.
o Gráficos: (diagrama de flujo)
Es la representación grafica de los pasos a realizar dentro del algoritmo.
Ejemplos:
o Escritos: (pseudocódigo)
Presentación en forma de texto de los paso a realizar dentro del algoritmo.
o Gráficos: (diagrama de flujo)
Es la representación grafica de los pasos a realizar dentro del algoritmo.
Ejemplos:
Escritos:
Algoritmo para conocer si un número es par.
1. Inicio
2. Pedir el número
3. Si el residuo de dividir el numero entre 2 es igual a 0 entonces
3.1 El número es par
3.2 Sin no
3.3 El número es impar
4. Fin
Gráficos:

I.6. Definición del problema
Indudablemente el problema se
encuentra en el correcto planteamiento del enunciado del problema, es necesario
tener un conocimiento claro y preciso de lo que se requiere realice la
computadora.
Crear un programa tiene mucho de
creatividad, imaginación, conocimiento, pero aun más de certeza de la solución
esperada a través de la comprensión del problema.
Podemos estructurar una secuencia
de pasos lógicos para el diseño de un programa pero no deja de ser algo
meramente esquemático.
I.6. 1. Analizar el Problema:
Comprendido el resultado esperado
del futuro programa.· Determinar los datos de entrada.
· Determinar los datos de salida.
· Formulas y procedimientos para el proceso de los datos
Recordar que es de gran utilidad
tomar el lugar de la computadora para una rápida comprensión de las órdenes a
recibir y los mensajes a enviar al usuario, así como la secuencia de las órdenes.
I.6.2. Diseño del Algoritmo:
Ver el punto (I.2.
Historia y aplicación de los lenguajes algorítmicos)
I.6.3. Crear Código:
Utilizar un lenguaje de
programación adecuado que nos permita crear el programa de la manera más
eficiente y segura.
I.6.4. Ejecutar:
La ejecución consiste en abrir el
archivo compilado de nuestro programa y revisar todos los puntos que se
involucran entre el programa y el usuario y los puntos que el usuario no
observa pero que se desarrollan dentro del programa para cumplir con el
resultado esperado.
Podemos agregar un paso que es la
depuración
del programa, para solventar las deficiencias encontradas, así como agregar las
líneas de código necesarias para evitar que el usuario ingrese datos no
correctos.
I.6.5. Documentación:
Esta parte es la recopilación de todo el trabajo creado, ya
que el programa puede ser modificado o adaptado por otra persona.
De aquí saldrá el manual del usuario.
Introduccion
INTRODUCCION
Dentro del
mundo de la informática, el desarrollo de programas ocupa un lugar muy especial,
ya que éste es el motor del avance de la misma, por lo que todo inicio debe
contener, el conocimiento adecuado y correcto del desarrollo de los algoritmos.
El
principiante debe entender que la programación de aplicaciones requiere del
desarrollo de pensamientos lógicos para ser aplicados a un problema y obtener
la solución adecuada, y que estos pensamientos ya se encuentran dentro de
nuestro pensar diario, solo hay que encontrarlo, sacarlo, pulirlo y plasmarlo
en un algoritmo.
La lógica de
programación no exige conocimientos de computación ni la presencia de alguna
aplicación, ya que esta forma de pensamiento se consigue a través de la práctica
continua de la resolución de problemas, siguiendo un proceso metódico de la solución
por algoritmos.
Este manual se
enfocará al principiante, para ayudarlo a conseguir la solución de los
algoritmos, de manera obvia y fácil.
Podemos garantizar
que la lectura completa y la práctica de los ejercicios propuestos en este
manual llevarán al participante a encontrar los pensamientos lógicos para la
solución de algoritmos.
Manual Algoritmos
INDICE DE CONTENIDO
I.1. Definición de lenguaje
I.2. Historia y aplicación de los lenguajes algorítmicos
I.3. Definición de algoritmo
I.4. Tipos de algoritmos
I.5. Lenguajes algorítmicos
I.6. Definición del problema
I.1.1. Análisis del problema
I.1.2. Diseño del algoritmo
I.1.3. Crear Código
I.1.4. Ejecutar
I.1.5. Documentación
I.7. Ejercicios
martes, 24 de abril de 2012
Bibliografia
Bibliografia
Conceptos de Liciencia Libre
http://es.wikipedia.org/wiki/Software_libre
http://es.wikipedia.org/wiki/Licencia_de_software
http://www.gnu.org/philosophy/free-sw.es.html
http://www.gnu.org/licenses/licenses.es.html
http://www.principiolegal.com/licencias.php
http://www.maestrosdelweb.com/editorial/licencias-libres-de-software-i/
Software de Licencia Libre
http://www.openoffice.org/
http://es.libreoffice.org/descarga/
http://www.kingsoftstore.com/kingsoft-office-freeware.html
http://www.getpaint.net/
http://www.bloodshed.net/devcpp.html
Conclusiones
Conclusiones
Uno de los puntos más
sobresalientes fue la facilidad de encontrar los diferentes programas en la
Web, (algunas excepciones marcadas en las tablas) solo basta teclear las palabras “software libre” en un buscador de la Web,
y aparece una gran variedad de alternativas, luego podemos ir filtrando la
búsqueda, agregando diferentes palabras como: “Procesador de palabras”, y el
buscador de la Web, nos mostrara una amplia gama de alternativas para elegir la
nos parezca mejor.
La descarga de los software
libres, no es complicado, solo es necesario tener una banda de 1 Mbs un poco de
tiempo y desde la página oficial del software elegido descargarlo.
Recomiendo hacerlo
desde las paginas oficiales o de los propietarios ya el software está libre de virus, publicidad y de
diferentes aplicaciones que se instalan antes o después del software elegido.
Todas las
aplicaciones fueron descargadas,
instaladas y ejecutas en la PC sin que esta sufriera daño o problemas de
rendimiento.
Otra de las cosas
que se evaluaron de forma implícita, fue que todo el software de ofimática
tuviera compatibilidad con el software de venta, ya que la gran mayoría de las
empresas usan este ultimo.
Como podemos ver en
las tablas anteriores los softwares libres evaluados contemplan un punto muy
importante para el usuario, el soporte, el cual se brinda desde la aplicación
misma y desde sus diferentes páginas web oficiales, (algunos en español) o desde los muy
utilizados Foros.
Este documento es libre de copiar y difundir, salvo los datos protegidos por derechos de autor, mencionados textual o implicitamente.
Este documento es libre de copiar y difundir, salvo los datos protegidos por derechos de autor, mencionados textual o implicitamente.
Capitulo III
Capitulo Tres
3.1 Características principales a evaluar de
un Procesador de Palabras.
- Open Office Writer ®
- Kingsoft Writer Free 2012 ®
3.2 Características principales a evaluar de
un Software para Crear y Editar Presentaciones.
-
Impress, incluido en la suite ofimática
OpenOffice.org.
-
Presentation Free 2012.
lunes, 23 de abril de 2012
Capitulo II
Capitulo Dos
2.1 Alternativas de Software de licencia libre para las Materia que requiere de un software que efectué la tarea de “Procesador de palabras”.
· Open Office Writer ®
· Word Perfect ®
· Lotus WordPro ®
· Kingsoft Writer Free 2012 ®
2.2 ¿Qué es un Procesador de Palabras?
Un procesador de palabras es un tipo programa (software), que sirve para crear documentos de texto, y que permite introducir, además de diversos formatos al texto, imágenes, gráficas, tablas, sonidos y hasta animaciones y video. Este “tipo” de programas puede variar, dependiendo del fabricante y de la versión; algunos procesadores son muy básicos y existen los especializados que ofrecen más funciones para el manejo de alguna herramienta específica.
La ventaja común de los procesadores es la facilidad de escribir y/o introducir datos a un documento, sin tener que imprimir cada letra (y borrar en caso de errores) como se tenía que hacer con las máquinas de escribir.
Existen algunos pasos que, gracias a los avances tecnológicos, ya no se tienen que seguir estrictamente en orden: Captura del texto; teclear la información para que esta sea reconocida por la computadora y aparezca en la pantalla, Edición de textos; agregar o eliminar lo escrito para refinar y reacomodar, Formato de texto; da un formato específico al documento, permite definir márgenes, alineaciones, estilo y tipo de letra etc.. Revisión del documento; permite tener una vista completa del documento para verificar la impresión que da el documento como si estuviera impreso, Guardar el documento en el disco; para poder tener acceso al documento cuando se desee sin necesidad de imprimir y así poder cambiar la edición en un futuro, Impresión del documento.
En la actualidad, los procesadores contienen herramientas que actúan como asistentes para el escritor: los “Revisores Ortográficos” le evitan las tareas de recurrir al diccionario, ya que el programa trae consigo, no sólo el de la lengua en que está escrito, sino que contiene una amplia gama de lenguas para corregir o revisar la ortografía y gramática del documento; los “Buscadores de Sinónimos” que son herramientas muy utilizadas por editores y trabajadores de medios de comunicación; “Referencias Digitales”, que se puede acudir a ellas desde el procesador para obtener información o bien, introducirla al documento; “Procesadores de Ideas o Bosquejos” que muestran un formato predeterminado al escritor para crear organizadamente el documento.
2.3 Alternativas de Software de licencia libre para las Materia que requiere de un software que efectué la tarea de “Crear y Editar Presentaciones”.
· Impress, incluido en la suite ofimática OpenOffice.org.
· Presentation Free 2012.
2.4 ¿Qué es un Creador y Editor de Presentaciones.
Un programa de presentación es un paquete de software usado para mostrar información, normalmente mediante una serie de diapositivas.
Típicamente incluye tres funciones principales: un editor que permite insertar un texto y darle formato, un método para insertar y manipular imágenes y gráficos y un sistema para mostrar el contenido en forma continua.
2.5 Alternativas de Software de licencia libre para las Materia que requiere de un software que efectué la tarea de “Editor de Imágenes”.
· Paint.NET
· Photoscape
· Tux Paint
· OpenPaint
· Open Office Draw
2.6 ¿Que es un Editor de Imágenes?
La edición digital de imágenes se ocupa de la edición apoyada en computadores de imágenes digitales, comúnmente un gráfico rasterizado, en la mayoría de los casos fotos o documentos escaneados. Estas imágenes son modificadas para optimizarlas, manipularlas, retocarlas, etc., con el fin de alcanzar la meta deseada.
Una de las metas puede ser eliminar las fallas que pueden haberse producido durante el escaneo o al fotografiar, por ejemplo sobre exposición, baja exposición, falta de contraste, ruido en la imagen, efecto de los ojos rojos, paradoja de las líneas paralelas en perspectiva, etc. Estas fallas se producen por defectos técnicos en los aparatos fotográficos, escáner, condiciones de trabajo precarias, fallas en la operación u originales defectuosos.
Las imágenes al lado derecho muestran algunas de las potencialidades de la edición de imágenes: la imagen superior se ve oscura, el texto difuso y el motivo fuera de centro. La imagen inferior está corregida y se ve más nítida, mejor iluminada y el objeto, puesto más al centro, se ve más presente.
El retoque tradicional es reemplazado cada vez más por la edición digital, a menudo la edición de imágenes digitales está incluida dentro del proceso de impresión digital.
No se debe confundir la edición de imágenes con el procesamiento digital de señales ni con el diseño gráfico.
2.7 Alternativas de Software de licencia libre para las Materia que requiere de un software que efectué la tarea de “Hoja de Cálculo”.
· Gnumeric
· Kingsoft Spreadsheets Free 2012
· Open Office Calc
2.8 ¿Qué es una Hoja de Cálculo?
Una hoja de cálculo es un programa, más precisamente una aplicación, que permite manipular datos numéricos y alfanuméricos dispuestos en forma de tablas compuestas por celdas (las cuales se suelen organizar en una matriz bidimensional de filas y columnas). La celda es la unidad básica de información en la hoja de cálculo, donde se insertan los valores y las fórmulas que realizan los cálculos. Habitualmente es posible realizar cálculos complejos con fórmulas y funciones y dibujar distintos tipos de gráficas.
2.9 Alternativas de Software de licencia libre para las Materia que requiere de un software que efectué la tarea de “Diagrama de Flujo de Datos”.
· DFD 1.1
2.10 ¿Qué es un Software para Diagramas de Flujo de Datos?
Un diagrama de flujo de datos (DFD por sus siglas en español e inglés) es una representación gráfica para la maceta del "flujo" de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó" para mostrar más detalles del sistema que se está modelando.
Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original del diseño estructurado, basado en el modelo de computación de Martin y Estrin: "flujo gráfico de datos" . Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales tendrán que ser informados y consultados en todas las etapas de una evolución del sistema. Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el sistema funcione, lo que el sistema va a lograr, y cómo el sistema se pondrá en práctica. El antiguo sistema de diagramas de flujo de datos puede ser elaborado y se comparó con el nuevo sistema de diagramas de flujo para establecer diferencias y mejoras a aplicar para desarrollar un sistema más eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una idea física de cómo resultarán los datos a última instancia, y cómo tienen un efecto sobre la estructura de todo el sistema. La manera en que cualquier sistema es desarrollado puede determinarse a través de un diagrama de flujo de datos. Modelo de datos.
Niveles:
· Nivel 0: Diagrama de contexto.
· Nivel 1: Diagrama de nivel superior.
· Nivel 2: Diagrama de detalle o expansión.
2.11 Alternativas de Software de licencia libre para las Materia que requiere de un software que efectué la tarea de “Programación en C”.
· Dev C++
· wxDev C++
2.12 ¿Qué es un software para Lenguaje de Programación en C?
C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL.
Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.
Se trata de un lenguaje débilmente tipificado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.
La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portátil entre plataformas y/o arquitecturas.
Uno de los objetivos de diseño del lenguaje C es que sólo sean necesarias unas pocas instrucciones en lenguaje máquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecución. Es muy posible escribir C a bajo nivel de abstracción; de hecho, C se usó como intermediario entre diferentes lenguajes.
En parte a causa de ser de relativamente bajo nivel y de tener un modesto conjunto de características, se pueden desarrollar compiladores de C fácilmente. En consecuencia, el lenguaje C está disponible en un amplio abanico de plataformas (seguramente más que cualquier otro lenguaje). Además, a pesar de su naturaleza de bajo nivel, el lenguaje se desarrolló para incentivar la programación independiente de la máquina. Un programa escrito cumpliendo los estándares e intentando que sea portátil puede compilarse en muchos computadores.
C se desarrolló originalmente (conjuntamente con el sistema operativo Unix, con el que ha estado asociado mucho tiempo) por programadores para programadores. Sin embargo, ha alcanzado una popularidad enorme, y se ha usado en contextos muy alejados de la programación de software de sistema, para la que se diseñó originalmente.
Capitulo I
Capitulo Uno:
1.1. ¿Qué es una licencia de software?
Una licencia de software es un contrato entre el licenciante (autor/titular de los derechos de explotación/distribuidor) y el licenciatario del programa informático (usuario consumidor /usuario profesional o empresa), para utilizar el software cumpliendo una serie de términos y condiciones establecidas dentro de sus cláusulas.
Las licencias de software pueden establecer entre otras cosas: la cesión de determinados derechos del propietario al usuario final sobre una o varias copias del programa informático, los límites en la responsabilidad por fallos, el plazo de cesión de los derechos, el ámbito geográfico de validez del contrato e incluso pueden establecer determinados compromisos del usuario final hacia el propietario, tales como la no cesión del programa a terceros o la no reinstalación del programa en equipos distintos al que se instaló originalmente.
Elementos personales de una licencia de software
Licenciante
El licenciante o proveedor-licenciante es aquel que provee el software más la licencia al licenciatario, la cual, le permitirá a este último tener ciertos derechos sobre el software. El rol de licenciante lo puede ejercer cualquiera de los siguientes actores:
· Autor: El desarrollador o conjunto de desarrolladores que crea el software son por antonomasia quienes en una primera instancia poseen el rol de licenciante al ser los titulares originales del software.
· Titular de los derechos de explotación: Es la persona natural o jurídica que recibe una cesión de los derechos de explotación de forma exclusiva del software desde un tercero, transformándolo en titular derivado y licenciante del software.
· Distribuidor: Es la persona jurídica a la cual se le otorga el derecho de distribución y la posibilidad de generar sublicencias del software mediante la firma de un contrato de distribución con el titular de los derechos de explotación.
Garantía de titularidad
Es la garantía ofrecida por el licenciante o propietario, en la cual, asegura que cuenta con suficientes derechos de explotación sobre el software como para permitirle proveer una licencia al licenciatario.
Licenciatario
El licenciatario o usuario-licenciatario es aquella persona física o jurídica que se le permite ejercer el derecho de uso más algún otro derecho de explotación sobre un determinado software cumpliendo las condiciones establecidas por la licencia otorgada por el licenciante.
- Usuario consumidor: Persona natural que recibe una licencia de software otorgada por el licenciante, la cual, se encuentra en una posición desventajosa ante los términos y condiciones establecidas en ella.
- Usuario profesional o empresa: Persona natural o jurídica que recibe una licencia de software otorgada por el licenciante, la cual, se encuentra en igualdad de condiciones ante el licenciante para ejercer sus derechos y deberes ante los términos y condiciones establecidos en la licencia.
Elementos objetivos de una licencia de software
Plazo
El plazo determina la duración en el tiempo durante la cual se mantienen vigentes los términos y condiciones establecidos en licencia. Las licencias en base a sus plazos se pueden clasificar en:
· Licencias con plazo específico.· Licencias de plazo indefinido.
· Licencias sin especificación de plazo.
Precio
El precio determina el valor el cual debe ser pagado por el licenciatario al licenciante por el concepto de la cesión de derechos establecidos en la licencia.
1.2. Derechos de autor.
El derecho de autor es un conjunto de normas jurídicas y principios que regulan los derechos morales y patrimoniales que la ley concede a los autores (los derechos de autor), por el solo hecho de la creación de una obra literaria, artística, musical, científica o didáctica, esté publicada o inédita. Está reconocido como uno de los derechos humanos fundamentales en la Declaración Universal de los Derechos Humanos.
En el derecho anglosajón se utiliza la noción de copyright (traducido literalmente como "derecho de copia") que —por lo general— comprende la parte patrimonial de los derechos de autor (derechos patrimoniales).
Una obra pasa al dominio público cuando los derechos patrimoniales han expirado. Esto sucede habitualmente trascurrido un plazo desde la muerte del autor (post mortem auctoris). El plazo mínimo, a nivel mundial, es de 50 años y está establecido en el Convenio de Berna. Muchos países han extendido ese plazo ampliamente. Por ejemplo, en el derecho europeo, se cuentan 70 años desde la muerte del autor. Una vez pasado ese tiempo, dicha obra entonces puede ser utilizada en forma libre, respetando los derechos morales.
La protección del derecho de autor abarca únicamente la expresión de un contenido, pero no las ideas. Para su nacimiento no necesita de ninguna formalidad, es decir, no requiere de la inscripción en un registro o el depósito de copias, los derechos de autor nacen con la creación de la obra.
Son objeto de protección las obras originales, del campo literario, artístico y científico, cualquiera que sea su forma de expresión, soporte o medio. Entre otras:
- Libros, folletos y otros escritos;
- Obras dramáticas o dramático-musicales;
- Obras coreográficas y las pantomimas;
- Composiciones musicales con o sin letra;
- Obras musicales y otras grabaciones sonoras;
- Obras cinematográficas y otras obras audiovisuales;
- Obras de dibujo, pintura, escultura, grabado, litografía;
- Historietas gráficas, tebeos o cómics, así como sus ensayos o bocetos;
- Obras fotográficas;
- Gráficos, mapas y diseños relativos a la geografía, a la topografía o a las ciencias;
- Los proyectos, planos, maquetas y diseños de obras arquitectónicas y de ingeniería.
- Programas informáticos.
- Entrevistas
- Sitios web
- Trabajos que no han sido fijados en una forma de expresión tangible. Por ejemplo: obras coreográficas que no han sido escritas o grabadas, o discursos improvisados o presentaciones que no han sido escritas o grabadas.
- Títulos, nombres, frases cortas y lemas, símbolos o diseños familiares, meras variantes de decoración tipográfica, letras o colores; meras listas de ingredientes o contenidos.
- Ideas, procedimientos, métodos, sistemas, procesos, conceptos, principios, descubrimientos, aparatos, como diferenciaciones de una descripción, explicación o ilustración.
- Obras que consisten totalmente de información que es de conocimiento público y no representan un trabajo que tenga un autor original. (Por ejemplo: calendarios, tablas de peso y estatura, cintas métricas o reglas, y listas o tablas obtenidas de documentos públicos u otras fuentes de uso común).
- Las leyes, reglamentos y demás normas. Se pueden publicar pero no dan exclusividad: otros pueden también publicar ediciones de las leyes. En los casos de obras como concordancias, correlaciones, comentarios y estudios comparativos de las leyes, sí pueden ser protegidas en lo que tengan de trabajo original del autor.
- Reproducir la obra en copias o fonogramas.
- Preparar obras derivadas basadas en la obra.
- Distribuir copias o fonogramas de la obra al público vendiéndolas o haciendo otro tipo de transferencias de propiedad tales como alquilar, arrendar o prestar dichas copias.
- Presentar la obra públicamente, en el caso de obras literarias, musicales, dramáticas y coreográficas, pantomimas, películas y otras producciones audiovisuales.
- Mostrar la obra públicamente, en el caso de obras literarias, musicales, dramáticas coreográficas, pantomimas, obras pictóricas, gráficas y esculturales, incluyendo imágenes individuales de películas u otras producciones audiovisuales.
- En el caso de grabaciones sonoras, interpretar la obra públicamente a través de la transmisión audiodigital.
La protección del derecho de autor existe desde que la obra es creada de una forma fijada. El derecho de autor sobre una obra creada se convierte inmediatamente en propiedad del autor que creó dicha obra. Sólo el autor o aquellos cuyos derechos derivan del autor pueden reclamar propiedad.
Los autores de una obra colectiva son co-dueños del derecho de autor de dicha obra a menos que haya un acuerdo que indique lo contrario.
El derecho de autor de cada contribución individual de una publicación periódica o en serie, o cualquier otra obra colectiva, existen a parte del derecho de autor de una obra colectiva en su totalidad y están conferidos inicialmente al autor de cada contribución. La mera posesión de un libro, manuscrito, pintura o cualquier otra copia o fonograma le otorga al dueño el derecho de autor.
Los menores de edad pueden reclamar derecho de autor, pero las leyes específicas pueden reglamentar cualquier transacción relacionada con este tema donde ellos sean parte.
Clases de derechos de autor
Dentro de la tradición jurídica del Derecho continental, Derecho internacional, y Derecho mercantil, se suelen distinguir los siguientes tipos de derechos de autor:
- Derechos patrimoniales: son aquellos que permiten de manera exclusiva la explotación de la obra hasta un plazo contado a partir de la muerte del último de los autores, posteriormente pasan a formar parte del dominio público pudiendo cualquier persona explotar la obra.
- Derechos morales: son aquellos ligados al autor de manera permanente y son irrenunciables e imprescriptibles.
- Derechos conexos: son aquellos que protegen a personas distintas al autor, como pueden ser los artistas, intérpretes, traductores, editores, productores, etc.
- Derechos de reproducción: es un fundamento legal que permite al autor de la obra impedir a terceros efectuar copias o reproducciones de sus obras.
- Derecho de comunicación pública: derecho en virtud del cual el autor o cualquier otro titular de los derechos puede autorizar una representación o ejecución viva o en directo de su obra, como la representación de una pieza teatral o la ejecución de una sinfonía por una orquesta en una sala de concierto. Cuando los fonogramas se difunden por medio de un equipo amplificador en un lugar público, como una discoteca, un avión o un centro comercial, también están sujetos a este derecho.
- Derechos de traducción: para reproducir y publicar una obra traducida se debe solicitar un permiso del titular de la obra en el idioma original.
México
Según la Ley Federal del Derecho de Autor, los derechos patrimoniales de autor están vigentes durante toda la vida del autor más 100 años tras el final del año de la muerte del autor más joven o de la fecha de publicación en caso de los gobiernos federal, estatal o municipal. Existen dos excepciones a esta regla:
1.- Las obras que ingresaron al dominio público antes del 23 de julio de 2003
2.- Las obras que por su naturaleza, están protegidas por una reserva de derechos.
En general, esto significa obras creadas por alguien fallecido antes del 23 de julio de 1928 (75 años antes).
La legislación mexicana reconoce y protege tres tipos de derechos: derechos patrimoniales, derechos morales y derechos conexos.
Tratados internacionales
En marzo del 2002 entró en vigencia el Tratado de la OMPI sobre Derecho de Autor (WCT) y en mayo del 2002 el Tratado de la OMPI sobre Interpretación o Ejecución y Fonogramas (WPPT).
Ambos «Tratados de Internet» (como se les conoce) fueron acordados en 1996 por la Organización Mundial de la Propiedad Intelectual. Actualizan y complementan el Convenio de Berna e introducen elementos de la sociedad digital. Tomó un total de 6 años (1996 - 2002) conseguir la ratificación de estos nuevos tratados por parte de 30 países, el mínimo exigido para su aplicación.
1.3 ¿Qué es el software de licencia con costo?
Una licencia es aquella autorización formal con carácter contractual que un autor de un software da a un interesado para ejercer "actos de explotación legales". Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el licenciatario.
Software de licencia con costo es aquel programa informático que para usarlo, debemos de adquirir unas licencia a través de un contrato con el propietario, el cual obtendrá una remuneración económica.
Dentro del contrato realizado el usuario obtendrá los derechos de uso, modificación, adición, distribución etc., el no apegarse al contrato el usuario estaría cometiendo un delito.
1.4 ¿Qué es el software de licencia libre?
El software libre (en inglés free software, aunque esta denominación también se confunde a veces con "gratis" por la ambigüedad del término "free" en el idioma inglés, por lo que también se usa "libre software" y "logical libre") es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, modificado, y redistribuido libremente. Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, 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 este, 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.
Texto tomado de http://es.wikipedia.org/wiki/Software_libre
1.5 Diferentes tipos de licencias.
Según los derechos que cada autor se reserva sobre su obra
Licencia de software de código abierto permisivas
Se puede crear una obra derivada sin que ésta tenga obligación de protección alguna. Muchas licencias pertenecen a esta clase, entre otras:
- Academic Free License v.1.2.
- Apache Software License v.1.1.
- Artistic License v.2.0
- Attribution Assurance license.
- BSD License.
- MIT License.
- University of Illinois/NCSA Open Source License.
- W3C Software Notice and License.
- Zope Public License v.2.0
- Open LDAP License v.2.7
- Perl License.
- Academic Free License v.3.0
- Python License v.2.1
- PHP License v.3.0
- Q Public License v.1.0
Licencia de software de código abierto robustas
Estas licencias aplican algunas restricciones a las obras derivadas, haciendo que según el grado de aplicación se puedan dividir a su vez en dos subcategorias:
Licencias de software de código abierto robustas fuertes
Las licencias de software de código abierto robustas fuertes o con copyleft fuerte, contienen una cláusula que obliga a que las obras derivadas o modificaciones que se realicen al software original se deban licenciar bajo los mismos términos y condiciones de la licencia original.
Entre las licencias de esta categoría están:
- Common Public License v.1.0.
- GNU General Public License v.2.0.
- GNU General Public License v.3.0.
- Eclipse Public License.
- eCos License v.2.0
- Sleepycat Software Product License.
- Affero License v.1.0
- Affero License v.2.0
- OpenSSL License.
Licencias de software de código abierto robustas débiles
Las licencias de software de código abierto robustas débiles, con copyleft débil/suave o híbridas, contienen una cláusula que obliga a que las modificaciones que se realicen al software original se deban licenciar bajo los mismos términos y condiciones de la licencia original, pero que las obras derivadas que se puedan realizar de él puedan ser licenciadas bajo otros términos y condiciones distintas.
Entre las licencias de esta categoría están:
- GNU Lesser General Public License v.2.1.
- Mozilla Public License
- Open Source License.
- Apple Source License v.2.0
- CDDL.
- EUPL.
Licencia de software de código cerrado
Estas licencias también se conocen con el nombre de software propietario o privativo. En ellas los propietarios establecen los derechos de uso, distribución, redistribución, copia, modificación, cesión y en general cualquier otra consideración que se estime necesaria.
Este tipo de licencias, por lo general, no permiten que el software sea modificado, desensamblado, copiado o distribuido de formas no especificadas en la propia licencia (piratería de software), regula el número de copias que pueden ser instaladas e incluso los fines concretos para los cuales puede ser utilizado. La mayoría de estas licencias limitan fuertemente la responsabilidad derivada de fallos en el programa.
Los fabricantes de programas sometidos a este tipo de licencias por lo general ofrecen servicios de soporte técnico y actualizaciones durante el tiempo de vida del producto.
Algunos ejemplos de este tipo de licencias son las llamadas CLUFs: Contrato de Licencia para Usuario Final o EULAs: End User License Agreement, por sus siglas en Inglés.
Software de dominio público (sin licencia)
Se permite uso, copia, modificación o redistribución con o sin fines de lucro.
Según su destinatario
Licencia de Usuario Final
En inglés EULA o End User License Agreement, es una licencia por la cual el uso de un producto sólo está permitido para un único usuario (el comprador).
En este tipo de contrato, el dueño de los derechos de un producto insta al usuario final de éste a que reconozca tener conocimiento de las restricciones de uso, de los derechos del autor (copyright), de las patentes, etc. y que acepte de conformidad.
El conocimiento del contenido de los contratos es difícil antes de la compra del producto ya que las cajas de los productos raramente contienen una copia completa del mismo, dándose que el comprador en la mayor parte de las ocasiones conoce su contenido después de la compra.
En ocasiones se exige al usuario el renunciar a realizar reclamos o demandas legales por diversos motivos (tales como posibles daños producidos por el producto o fallos en él) o aceptar la restitución de la mercancía en la forma y monto que la compañía decida.
Este tipo de acuerdo expresa los usos qué se pueden dar y cuáles no al producto, ya que quien lo compra no es, legalmente, en ninguna forma dueño del producto, sino sólo de una licencia para su uso, considerándose esto último por algunas personas como una limitación a los derechos del consumidor
Este tipo de acuerdos son unilaterales pues el usuario no tiene más opción que aceptar o rechazar el contenido del mismo (en algunos países existen organizaciones de protección al consumidor que autorizan ciertas excepciones).
Licencia de distribuidores
En este tipo de contrato, se le asigna derechos restringidos a un comerciante de tipo comisionario para que venda el producto(software) dando una remesa o comisión al fabricante. La misma puede ser por primera venta o licencia de renovación de contrato. No se trata de una licencia de uso en términos jurídicos, sino mas bien en un acuerdo comercial en la que no tiene porque ser cedido el derecho de distribución necesariamente. Puede darse el caso de simple actividad comercial en la que el distribuidor ni siquiera tenga contacto con el software, y éste como elemento y la licencia de uso en si sea directamente suscrita y puesta a disposición por parte del fabricante. Encargándose el distribuidor del correspondiente cobro al usuario y pago al fabricante menos su margen.
Suscribirse a:
Entradas (Atom)