martes, 25 de noviembre de 2008


Hola a todos!

Ciertamente el control de calidad y pruebas son parte esencial de cualquier desarrollo de software, ya que permite comprobar la correcta ejecucion y desenvolvimiento de una aplicacion.

Este punto es sumamente importante al hablar de software libre, dado que en el desarrollo de cualquier aplicacion de SL, la participacion de muchos programadores, asi como ayuda para un software de calidad, requiere un mayor control de dicha calidad, en el sentido que debe ser mas riguroso el probar y validar la correctitud de la aplicacion.

Uno de los terminos empleados, que a mi punto de vista, es uno de los mas importantes, referenciados por la bibliografia, es el de pruebas de usalibilidad, como desarrollador, asumimos algunas veces, que el usuario ya sabe manejar la herramienta, y ese error es grave, dado que se debe pensar mucho en el usuario a la hora de desarrollar y hacer lo mas usable posible la aplicacion, de forma que se reduzca el impacto que tenga la aplicacion hacia el usuario, esto tambien permite que se minimice el rechazo del usuario, que en algunas ocasiones puede causar que no utilice la aplicacion.

Se referencian varias pruebas de software, caja negra, caja blanca, por ejemplo, si bien cada una es importante, a mi parecer hay que estudiar bien cual aplicar, porque por ejemplo una aplicacion que posee muchas lineas de codigo (millones), una prueba de caja blanca, puede consumir mucho tiempo, pero dependiendo de lo critico de la aplicacion, es posible que debe realizarse obligatoriamente.

Honestamente no sabia a detalle lo que era Bugzilla, me parecio interesante que exista una herramienta, y ademas open source, que permite controlar este tipo de pruebas, fallas, todas estas herramientas nos indican, que no hay excusas a la hora de realizar pruebas de calidad, las herramientas existen, solo queda aplicar un plan de pruebas adecuado, realizar la documentacion respectiva y corregir de ser necesario cualquier detalle que se presente.

jueves, 13 de noviembre de 2008

UML


Hola a todos!

En pregrado utilice UML tanto para proyectos de algunas materias como en la tesis de grado.

No es novedad que a muchos programadores no nos guste hacer los diagramas, pero lo que si es cierto es que estos diagramas ayudan muchisimo a la hora de entender y desarrollar un sistema.

La ventaja que veo de UML, es que no hace falta conocer de programacion a fondo para entender un sistema por medio de los diagramas. La forma en que estan desarrollados los diagramas ayudan a que visualmente, entendamos como funciona e interactua el sistema de una forma bastante sencilla, a su vez, desde el punto de vista del programador, ayuda a entender que metodos, atributos y el comportamiento que tienen los componentes del sistema.

Para mi tesis de pregrado, empleamos una variante de UML, UML Extendido, la idea es tomar UML y añadirle mas funcionalidades especificas de la plataforma en que se quiere desarrollar siguiendo la notacion UML, asi por ejemplo la extension de UML que usamos fue enfocada a aplicaciones web, donde se podia representar en el diagrama un nivel de detalle que llegaba a definir si era una pagina web, un servlet o base de datos. Asi tambien existen UML Extendido para web services, XML,entre otros.

Lo importante para mi, es que un modelo UML bien realizado, ayudara a entender el comportamiento de un sistema, tanto para el usuario como para el desarrollador. Ya que como se muestra en las lecturas, la nomenclatura usada y las formas empleadas son muy intuitivas (especialmente los casos de uso y diagramas de estado).

domingo, 2 de noviembre de 2008


Propiedad Intelectual
La propiedad intelectual, desde el punto de vista de la tradición continental europea y de los principales países latinoamericanos, supone el reconocimiento de un derecho de propiedad especial en favor de un autor u otros titulares de derechos, sobre las obras del intelecto humano.

En los términos de la Declaración Mundial sobre la Propiedad Intelectual (votada por la Comisión Asesora de las políticas de la Organización Mundial de la Propiedad Intelectual (OMPI), el 26 de junio del año 2000, es entendida similarmente como "cualquier propiedad que, de común acuerdo, se considere de naturaleza intelectual y merecedora de protección, incluidas las invenciones científicas y tecnológicas, las producciones literarias o artísticas, las marcas y los identificadores, los dibujos y modelos industriales y las indicaciones geográficas.

La propiedad intelectual se divide en dos categorías: la propiedad industrial, que incluye las invenciones, patentes, marcas, dibujos y modelos industriales e indicaciones geográficas de origen; y el derecho de autor, que abarca las obras literarias y artísticas, tales como las novelas, los poemas y las obras de teatro, las películas, las obras musicales, las obras de arte, tales como los dibujos, pinturas, fotografías y esculturas, y los diseños arquitectónicos. Los derechos relacionados con el derecho de autor son los derechos de los artistas intérpretes o ejecutantes sobre sus interpretaciones o ejecuciones, los derechos de los productores de fonogramas sobre sus grabaciones y los derechos de los organismos de radiodifusión sobre sus programas de radio y de televisión

El Día Mundial de la Propiedad Intelectual se celebra el 26 de abril.

Según la Organización Mundial de la Propiedad Intelectual (OMPI), la propiedad intelectual es un tipo de propiedad, esto significa que su propietario o titular puede disponer de ésta como le plazca y que ninguna otra persona física o jurídica podrá disponer legalmente de su propiedad sin su consentimiento. 

Naturalmente, el ejercicio de este derecho está sujeto a limitaciones.

Propiedad industrial: comprende las invenciones, patentes, marcas, dibujos y modelos industriales e indicaciones geográficas de origen.

Derechos de Autor: que comprende las obras literarias y artísticas, tales como las novelas, los poemas, las obras de teatro, las películas, las obras musicales, las obras de arte, los dibujos, pinturas, fotografías, esculturas, y los diseños arquitectónicos.

Derechos Conexos: comprende las interpretaciones o ejecuciones de los artistas, la producción de fonogramas y las actividades de los organismos de radiodifusión

 Propiedad Industrial

La propiedad industrial es un conjunto de derechos que puede poseer una persona física o jurídica sobre una invención (patente, modelo de utilidad, topografía de productos semiconductores, certificados complementarios de protección de medicamentos y productos fitosanitarios), un diseño industrial, un signo distintivo (marca o nombre comercial), etc.

Otorga dos tipos de derechos: en primer lugar el derecho a utilizar la invención, diseño o signo distintivo, y en segundo lugar el derecho a prohibir que un tercero lo haga.

El derecho de prohibir (ius prohibendi) es la parte más destacada de la propiedad industrial y permite al titular del derecho el solicitar el pago de una licencia. Posee límites temporales, pues casi todos los derechos de propiedad industrial tienen una duración máxima, y territoriales pues sólo tienen validez en el territorio donde se han concedido (normalmente, pero no exclusivamente, un país)

Otros límites al derecho de prohibir son el agotamiento del derecho, por el cual una vez comercializado con permiso del titular o habiendo cobrado la indemnización no se puede impedir la posterior venta; el uso con fines experimentales y no comerciales, la entrada temporal en el país de un medio de locomoción matriculado en el extranjero, etc.

El Convenio de la Unión de París y el Acuerdo sobre Derechos de la Propiedad Intelectual relacionados con el Comercio son los dos acuerdos internacionales de mayor peso sobre la propiedad industrial.

La Propiedad Industrial es una rama de la Propiedad Intelectual y no podríamos ampliar sobre la Propiedad Industrial sin antes expresar elconcepto de Propiedad Intelectual la cual tiene que ver con las creaciones de la mente: las invenciones, las obras literarias y artísticas, lossímbolos, los nombres, las imágenes, los dibujos y modelos utilizados en el comercio 

Entiendase por tal la que recae sobre el uso de un nombre comercial, marcas de fábrica, de comercio y agricultura, dibujos y modelos industriales, secretos de fábrica y patentes de invención

La propiedad industrial designa los derechos sobre bienes inmateriales que se relacionan con la industria y con el comercio y a su vez determina que los nuevos productos o procedimientos que por su originalidad y utilidad deben ser de provecho exclusivo para su inventor

El derecho de la propiedad industrial, de acuerdo al artículo 1 de la ley de propiedad industrial es un derecho que se encarga de:

Proteger los Derechos de los inventores, descubridores e introductores, sobre las creaciones, descubrimientos o inventos que tengan relación con la industria; y de los productores, fabricantes o comerciantes sobre las frases o signos especiales que acojan para distinguirse de los demás

La propiedad industrial viene a ser una protección a los productos del ingenio humano, pero no a los objetos en sí mismos, sino al derecho que tiene el inventor sobre esos bienes, pues el individuo como inventor debe tener una ventaja sobre los terceros, ésta se traduce, en poder obtener provecho económico por compartirlo con los demás.

De igual manera, la propiedad industrial protege al inventor o descubridor de cualquier individuo que desee robar su idea, no por el hecho de jactarse de robar un invento, sino para obtener el provecho económico.

Esto quiere decir, que el hombre en su afán de resolver problemas, pone a trabajar su imaginación y luego convierte sus planes en acción coherente, para luego obtener un resultado original, útil y provechoso para la sociedad y a la vez para sí mismo.

Licenciamientos en Software Libre

Las siguientes licencias pueden considerarse de software libre, y son compatibles con la GNU GPL:

Licencias de software libre compatibles con GPL

La Licencia Pública General de GNU, o GNU GPL para abreviar.
Es una licencia de software libre, y de tipo copyleft. Recomendada para la mayoría de los paquetes de software.

La Licencia Pública General Reducida de GNU, o GNU LGPL para abreviar.
Es una licencia de software libre, pero no tiene un copyleft fuerte, porque permite que el software se enlace con módulos no libres.

La licencia X11.
Es una licencia de software libre simple y permisiva sin copyleft pero compatible con la GNU GPL. XFree86 usa la misma licencia. A veces se le llama la licencia del "MIT", pero ese término es engañoso puesto que el MIT ha utilizado muchas licencias para su software.

El dominio público
Estar en el dominio público no es una licencia. Al contrario, esto significa que el contenido en cuestión no está protegido y no necesita licencia. En la práctica, si un trabajo está en el dominio público, es como si tuviera una licencia de software libre totalmente permisiva y sin copyleft. La presencia en el dominio público es compatible con la GNU GPL.

La licencia BSD modificada.
Es la licencia BSD original, modificada por la eliminación de la cláusula de publicidad. Es una licencia de software libre simple y permisiva sin copyleft pero compatible con la GNU GPL.

El aviso y la licencia de software del W3C.
Es una licencia de software libre compatible con la GNU GPL.

La Licencia de Python, versiones 2.0.1, 2.1.1 y posteriores.
Es una licencia de software libre compatible con la GNU GPL. Advierta, no obstante, que las versiones intermedias de Python (de la 1.6b1 a la 2.0, más la 2.1) están bajo otras licencias (vea más abajo).

La licencia de Perl.
Esta licencia plantea una disyuntiva entre la Licencia Artística y la GNU GPL. Dicho de otro modo, se puede elegir entre cualquiera de las dos licencias. Es una licencia de software libre pero puede no ser realmente de tipo copyleft. Es compatible con la GNU GPL ya que ésta es una de las alternativas.

La Licencia Artística 2.0
Es una licencia de software libre compatible con la GNU GPL. Según tenemos entendido, ya no está en uso; pero está siendo considerada en Perl 6 como parte de su esquema de licencia dual.

La Licencia de Código Abierto de Intel
Es una licencia de software libre compatible con la GNU GPL.

La licencia de Javascript de Netscape
Es una disyuntiva entre la Licencia Pública de Netscape y la GNU GPL. Por lo tanto es una licencia de software libre compatible con la GNU GPL, pero no tiene un copyleftfuerte.

Esta licencia es una buena elección si quiere hacer su código compatible con la GPL y la MPL. 

También obtendría el mismo resultado usando la LGPL o la licencia de Guile.


Licencias de software libre incompatibles con la GPL

Las siguientes licencias son de software libre pero no son compatibles con la GNU GPL:

La licencia BSD original.
Es una licencia de software libre simple y permisiva sin copyleft con un grave defecto: la irritante "cláusula publicitaria de BSD". El defecto no es fatal ya que el software sigue siendo libre, pero provoca problemas prácticos, en particular, incompatibilidad con la GNU GPL.

Common Development and Distribution License (CDDL)
Es una licencia de software libre.Tiene un esquema de copyleft similar al de la Licencia Pública de Mozilla, lo que la hace incompatible con la GPL de GNU. Esto significa que un modulo cubierto por la GPL y un modulo cubierto por la CDDL, no pueden estar enlazados legalmente.

La licencia de OpenSSL.
La licencia de OpenSSL es una combinación de dos licencias: la propia licencia de OpenSSL y la de SSLeay. Han de cumplirse ambas. La combinación tiene como resultado una licencia de software libre de tipo copyleft incompatible con la GNU GPL. Tiene una cláusula de publicidad al igual que la licencia BSD original y la licencia de Apache.

La Licencia Libre Académica (AFL), versión 1.1
Es una licencia de software libre sin copyleft e incompatible con la GNU GPL en varios aspectos. La presentan como una "actualización compatible" para "licencias tales como la BSD y la MIT", pero no es así; la licencia BSD revisada y la licencia MIT son compatibles con la GPL, pero la AFL no lo es.

La Licencia de Software Abierto, versión 1.0.
La Licencia de Software Abierto (OSL), versión 1.0, es una licencia de software libre. Sus autores dicen que se trata de una licencia de tipo copyleft, pero encontramos dificultades para determinar si las garantías de copyleft indicadas son válidas. Es incompatible con la GNU GPL en varios aspectos.

La Licencia de Apache, versión 2.0
Es una licencia de software libre pero incompatible con la GPL porque tiene un requisito concreto que no tiene la GPL: contempla algunos casos, que la GPL no requiere, en los que puede rescindirse la licencia por problemas de patentes.

La Licencia Pública de IBM, versión 1.0
Es una licencia de software libre pero es incompatible con la GPL. La Licencia Pública de IBM es incompatible con la GPL porque tiene varios requisitos específicos que no están en la GPL.

Licencia Pública Común versión 1.0
Es una licencia de software libre pero es incompatible con la GPL porque tiene varios requisitos específicos que no están en la GPL.

La Licencia Pública del Proyecto LaTeX (LPPL)
Esta licencia no contiene todos los términos de la distribución de LaTeX. Según lo que se puede leer, se trata de una licencia de software libre, pero incompatible con laGPL porque tiene muchos requisitos que no están en ésta.

Esta licencia contiene restricciones complejas y molestas sobre cómo publicar una versión modificada, incluyendo un requisito que la sitúa en el límite de lo aceptable: el hecho de que cualquier archivo modificado debe ser renombrado.

La Licencia Pública de Mozilla (MPL).
Es una licencia de software libre, pero no tiene un copyleft fuerte. A diferencia de la licencia X11, tiene algunas restricciones complejas que la hacen incompatible con laGNU GPL. De hecho, no se puede, legalmente, enlazar un módulo cubierto por la GPL con un módulo cubierto por la MPL. 

La Licencia Pública de Sun.
Es esencialmente igual a la Licencia Pública de Mozilla: una licencia de software libre incompatible con la GNU GPL No confundir con la Licencia "Sun Community Source" ya que ésta no es de software libre.

La Licencia Pública de Netscape (NPL)
Es una licencia de software libre, sin un copyleft fuerte, e incompatible con la GNU GPL. Consiste en la Licencia Pública de Mozilla con una cláusula añadida que permite a Netscape usar el código que usted añada incluso en sus versiones privativas del programa. 

La Licencia para el Código Fuente según los Estándares Industriales de Sun, versión 1.0
Es una licencia de software libre, sin un copyleft fuerte, e incompatible con la GNU GPL por pequeños detalles más que por su política principal.

La Licencia Pública Q (QPL), versión 1.0
Es una licencia de software libre sin copyleft e incompatible con la GNU GPL. También es causa de importantes inconvenientes prácticos, pues las fuentes modificadas sólo pueden distribuirse como parches.

La licencia FreeType
Es una licencia de software libre sin copyleft, incompatible con la GNU GPL por razones técnicas.

La Licencia de PHP, versión 3.0.
Esta es la licencia usada por la mayor parte de PHP4. Es una licencia de software libre sin copyleft, incompatible con la GNU GPL.

La Licencia de Fuente Pública de Apple (APSL), versión 2
Es una licencia de software libre incompatible con la GNU GPL.