sábado, 21 de mayo de 2011

Intelectuales con Licencia



Licencia LGPL - “Lesser Gnu Public Licence”

Si bien la licencia GPL ofrece grandes beneficios, hay algunas veces en la que ofrece ciertas restricciones. Un ejemplo es que un software que utiliza algún componente GPL, debe sí o sí ser licenciado bajo la misma, es decir no se pueden utilizar partes o bibliotecas de software GPL en un software propietario o distribuido bajo otra licencia.

Estas restricciones traen algunos problemas. Por ejemplo si una empresa comercial desea utilizar únicamente una biblioteca GPL pequeña dentro de su software, estaría obligada a distribuir todo su software bajo GPL, lo cual posiblemente no decida hacer y para algunos casos como el de bibliotecas de propósitos generales esto tampoco ayuda a la mejora de la propia biblioteca ya que no sería elegida por ejemplo para convertirse en un estándar. Por eso apareció la licencia LGPL, en un primer momento llamada Library GPL en referencia a que fue especialmente utilizada para bibliotecas, pero luego se popularizó y comenzó a utilizarse inclusive en muchos programas completos debido a sus beneficios comerciales (permite utilizarse junto a software no libre) y cambió su nombre a Lesser GPL que significa GPL menos restrictiva.

Licencias BSD y BSD modificada – originalmente de “Berkley Software Distribution”

La licencia BSD es similar a las anteriores, aunque más permisiva y que como principal característica permite también el enlace con software no libre (tal como lo permite LGPL), por ser sin copyleft.

Una de sus principales desventajas es una cláusula que indica que debe incluirse una frase específica junto con el software que se distribuya. La cláusula en cuestión es la siguiente:

All advertising materials mentioning features or use of this software must display the following acknowledgement:This product includes software developed by the University of California, Berkeley and its contributors.
Esto trajo algunos inconvenientes porque esa frase en algunos casos debía incluirse una vez por cada componente de licencia BSD que incluyera el software. Lo que se hizo fue modificar la licencia a partir de 1999 apareciendo la llamada licencia BSD modificada sin la cláusula de publicidad.

Licencia MIT – Originalmente X11

Es una licencia originaria del Massachusetts Institute of Technology. Permite usar el software libremente, copiarlo, publicarlo, distribuirlo, sub-licenciarlo, siempre que se incluya la nota de copyright en todas las distribuciones.

Licencia Artística - Licencia Artística 2.0

Es otra de las licencias mas utilizadas, aunque en mucho menor medida que las anteriores y de la que hay distintas versiones. Propone "algun control artístico por parte del autor". Algunas de las características son ciertas restricciones al modificar el software o modificarlo con menos restricciones para usarlo dentro de una organización (y en ese caso no distribuirlo), dejar bien claras diferencias entre la llamada "versión estándar" del software que es el original o modificado bajo restricciones especificadas y otras versiones. Es una licencia ligada a algunos programas desarrollados bajo el lenguaje Perl y es una licencia que se utiliza también en la distribución de ese lenguaje. Estas no son las únicas licencias sobre software libre o semi libre sino que existe una larga lista de licencias que se ajustan mejor a uno u otro caso.

domingo, 15 de mayo de 2011




LOS FACTORES DE LA CALIDAD DEL SOFTWARE Y LOS DEFECTOS

Originalmente, la calidad de un programa o sistema se evaluaba de acuerdo al número de defectos por cada mil líneas de código.
En 1988, un estudio realizado en los EEUU, demostró que se introducían cerca de sesenta defectos por cada mil líneas de código (60 def/KLOC), hoy se le adicionan otros factores a la calidad del software.
Los factores que determinan la calidad del software se clasifican en tres grupos:

Operaciones del producto: características operativas
Corrección: Grado en que un programa satisface sus especificación y logra los objetivos marcados por el usuario. (¿Hace lo que se le pide?).
Fiabilidad: Grado en que se puede esperar que un programa lleve a cabo las funciones esperadas con la precisión requerida. (¿Lo hace de forma fiable todo el tiempo?).
Eficiencia: Cantidad de recursos de computadoras y de código requeridos por el programa para realizar sus funciones con los tiempos de respuesta adecuados. (¿Qué recursos hardware y software necesito?).
Integridad: Grado en que puede controlarse el acceso al software o a los datos por usuarios no autorizados. (¿Puedo controlar su uso?).
Facilidad de uso: Esfuerzo necesario para aprender, utilizar, preparar las entradas e interpretar las salidas de un programa. (¿Es fácil y cómodo de manejar?).

Revisión del producto: capacidad para soportar cambios.
Facilidad de mantenimiento: Esfuerzo requerido para localizar y arreglar un error en un programa. (¿Puedo localizar los fallos?).
· Flexibilidad: Esfuerzo requerido para modificar un programa. (¿Puedo añadir nuevas opciones?).
· Facilidad de prueba: Esfuerzo requerido para probar un programa de forma que se asegure que realiza la función requerida. (¿Puedo probar todas las opciones?).
Transición del producto: adaptabilidad a nuevos entornos.

· Portabilidad: Esfuerzo requerido para transferir un programa desde un entorno HW y/o SW a otro. (¿Podré usarlo en otra máquina?).
· Reusabilidad: Grado en que un programa o componente SW se puede reutilizar en otras aplicaciones. (¿Podré utilizar alguna parte del software en otra aplicación?).
· Interoperatividad: Esfuerzo requerido para acoplar un sistema con otras aplicaciones o sistemas. (¿Podrá comunicarse con otras aplicaciones o sistemas informáticos?).

martes, 5 de abril de 2011

SL Realidad o Moda?





El Software Libre no es una moda



El tema del Software Libre y los Sistemas de Código Abierto (Open Source) no es nuevo en el mundo informático. Casi que aparecen desde el propio origen de la computación, cuando se realizaban los primeros proyectos de desarrollo, aunque comenzó a tomar realmente forma en la década del los 80 del pasado siglo, cuando Richard Stallman formuló su proyecto GNU constituyendo la base fundamental de todo el movimiento en favor del Software Libre.
Stallman se oponía rotundamente a la comercialización de los software, sobre la base de que esto implicaba limitar las “libertades” de utilización de los resultados alcanzados y su propio desarrolllo. Como buen programador de sistemas se dedicó a crear un sistema operativo que denominó GNU (GNU is Not Unix cuya traducción es GNU no es Unix, donde Unix referencia al conjunto de los principales y más potentes sistemas operativos de la época, para mini y microcomputadoras, que aún hoy se mantienen) y que es la base del proyecto de igual nombre, acompañando al mismo de una licencia donde recogió los derechos que debían tener los usuarios del sistema, titulada Licencia Pública General de GNU (GPL por sus siglas en inglés).
El Proyecto GNU, gestado en 1984, había logrado un alcance global y ya bastante popularidad cuando un estudiante de la Universidad de Helsinki, Linus Torvalds, desarrolló un nuevo sistema operativo al que denominó LINUX, que fue rapidamente aceptado internacionalmente y recibió la colaboración gratuita de muchos programadores de todas partes del mundo para probarlo, mejorarlo e incorporarle nuevas herramientas. Es posible que este sea el logro más importante del trabajo de Torvalds, al haber logrado el aporte de la comunidad integrada en favor de un proyecto para el beneficio de todos.
LINUX se convirtió en el más popular sistema operativo de Código Abierto bajo las licencias de Software Libre, a partir del cual se generaron disímiles versiones y distribuciones de nuevos sistemas operativos. Se habían sentado las bases para el desarrollo de sistemas con el apoyo de toda la comunidad y al margen de las empresas.
Sobre estas mismas bases se han desarrollado desde entonces muchas aplicaciones y sistemas de diversa índole, algunos de los cuales han alcanzado notable popularidad en los últimos años, como es el caso del navegador de páginas Web en Internet Firefox desarrollado por Mozilla, que ha logrado arrebatarle al monopólico Internet Explorer de Microsoft casi un 30% del mercado, pasando por encima de todos los recursos invertidos por Microsoft en publicidad y acciones de mercadeo.
El número de microcomputadoras que a nivel mundial utilizan sistemas operativos del tipo LINUX, o aún teniendo instalados sistemas como Windows, utilizan heramientas de Código Abierto y Software Libre, como los programas Firefox, Thunderbird, VLC, entre otros, crece por día y en muchos casos no solo por lo que económicamente puede representar el cambio, sino porque en rendimiento suelen ser superiores y con mayores posibilidades que sus similares controlados por empresas y consorcios de manera privativa.







domingo, 3 de abril de 2011

En momentos del Software Libre...



Definición:



"El software libre es aquel que puede ser distribuido, modificado, copiado y usado; por lo tanto, debe venir acompañado del código fuente para hacer efectivas las libertades que lo caracterizan". Dentro de software libre hay, a su vez, matices que es necesario tener en cuenta. Por ejemplo, el software de dominio público significa que no está protegido por el copyright, por lo tanto, podrán generarse reversiones no libres del mismo, en cambio el software libre protegido con copyleft impide a los redistribuidores incluir algún tipo de restricción a las libertades propias del software así concebido,es decir, garantiza que las modificaciones seguirán siendo software libre. También es conveniente no confundir el software libre con el software gratuito, este no cuesta nada, hecho que no lo convierte en software libre, porque no es una cuestión de precio, sino de libertad. Para Richard Stallman el software libre es una cuestión de libertad, no de precio. Para comprender este concepto, debemos pensar en la aceptación de libre como en “libertad de expresión" , por lo cual se exponen las siguientes libertades:


0: libertad para utilizar el programa para cualquier propósito.


1: libertad para poder estudiar cómo funciona el programa. Implica acceso al código fuente del mismo.


2: libertad para redistribuir el programa.


3: libertad para hacer modificaciones y distribuir las mejoras. Implica también acceso al código fuente del mismo.

Stallman, Richard M. Software libre para una sociedad libre. Ed. Traficantes de Sueñoos. Españaa. 2004. p.99.