domingo, 26 de agosto de 2012

Encuentro con el "padre del software libre" para mejorar servicios informáticos con el Estado

PCM organizó encuentro con el "padre del software libre" para mejorar servicios informáticos con el Estado



Richard Stallman.

Richard Stallman

Con el propósito de mejorar y optimizar los servicios que brindan las instituciones estatales en el ámbito de la informática, la Presidencia del Consejo de de Ministros (PCM) a través de la Oficina Nacional de Gobierno Electrónico e Informática (ONGEI), organizó hoy miércoles un encuentro a cargo del fundador del proyecto GNU y de la Fundación de Software Libre, Richard Stallman, considerado también como el "padre  del software libre".

La conferencia, realizada en la sede de la PCM, fue dirigida a los responsables de las áreas de informática y oficiales en seguridad de la información de las principales entidades públicas de más de 70 instituciones estatales quienes escucharon deStallman, las nuevas herramientas que los países han adoptado para mejorar sus servicios y focalizar la atención de sus problemas de gestión a través del uso de software libre.

Durante la cita, el experto informático resaltó la experiencia de Ecuador en la migración de las agencias del Estado al software libre. Asimismo, se refirió a los principios, procesos y proyecciones del Software Libre en el mundo.

A su turno, el jefe de la ONGEI, Ronal Barrientos, expuso las políticas gubernamentales que apuntan a una optimización en la Gestión del Estado a través del “Software Público” en donde el Estado apuntará a tener sistemas de atención que optimicen la eficiencia, transparencia y productividad en sus instituciones.

Por la tarde, Stallman se reunió con el equipo de la ONGEI donde presentó sus recomendaciones y las ventajas del uso de software libre en las entidades públicas.

Así, mencionó que el software libre es una cuestión de la libertad de los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Más precisamente, significa que los usuarios de programas tienen cuatro libertades esenciales, como son  libertad de ejecutar un programa para cualquier propósito; libertad de estudiar cómo trabaja el programa; libertad de redistribuir copias para ayudar al prójimo y libertad para distribuir copias de sus versiones modificadas a terceros.

Cabe señalar que Richard Matthew Stallman, nacido en Nueva York, Estados Unidos, viene al Perú, dentro de las actividades que realiza su fundación en Latinoamérica. En nuestro país realizará diversas conferencias en las ciudades de Ayacucho, Callao, Chiclayo, Huacho, Lima, Tacna y Trujillo.

Fuente: http://www.larepublica.pe/22-08-2012/pcm-organizo-encuentro-con-el-padre-del-software-libre-para-mejorar-servicios-informaticos-con-el-es

miércoles, 5 de octubre de 2011

Open Hardware 1.0, más hardware libre



Parece que los de Arduino no son los únicos que quieren hardware libre. Otro proyecto ha salido, el Open Harware 1.0, que más que algo físico es un proyecto que sienta las bases teóricas de cómo debe ser y qué reglas debe seguir el hardware libre, animando también a la gente para que empiece con ello.
Las similitudes del harware libre con el software libre son muchas.
Para empezar, la documentación de un proyecto de hardware libre, debe ser abierta, es decir, estar a disposición de cualquiera que desee verla. Eso incluye diseños de los circuitos, materiales usados etc. Además, todos los datos relativos al proceso de construcción deben estar disponibles, es decir, no sólo qué elementos lo componen sino de dónde vienen y cómo se han implementado.
Si ese hardware requiere de algún software integrado específico para funcionar, ese software debe ser libre. Algo lógico por otra parte.
A partir de aquí, se adaptan algunas ideas de la licencia Creative Commons.
Los trabajos derivados deben llevar la misma licencia que el original, para mantener el proyecto libre. Y esas mejoras o modificaciones por tanto, estarán a disposición de todo el mundo. Además se debe reconocer el derecho de mención del autor. Es decir que puede usar cualquier parte o componente para tus fines siempre y cuando reconozcas el trabajo anterior y no te lo apropies para ti.
No se permitirá discriminación hacia personas o grupos concretos. Tampoco se permitirá discriminar en cuanto al uso que se le vaya a dar a ese hardware, incluido el uso comercial del mismo, siempre que la licencia siga activa.
Parece que el uso de software no libre utilizado a posteriori, es decir, software no básico para el uso del hardware, estará permitido.
Debe ser tecnológicamente neutral.
Quizá en algunos años podamos comprar ordenadores a la carta, con el hardware que necesitemos de las características que necesitemos y pagando lo que consideremos justo. Sería la manera de librarnos definitivamente de los caprichos de la industria privada del hardware, que está lacrando el desarrollo del software libre con su política de controladores cerrados.
Tengo confianza en proyectos como este. Esperemos que salgan adelante.

 

Hardware libre contra hardware abierto: el debate

Hardware libre contra hardware abierto: el debate


Para bien o para mal, las mismas diferencias que dividen las aguas entre los defensores del "software libre" y el "software de código abierto" también se reproducen al discutir alternativas al "hardware propietario".

En este post, utilicé como "disparador" un artículo de Bruce Perens que habla, precisamente, de estas diferencias. Al final, incluyo algunas observaciones y reflexiones que, estimo, te dejarán pensando.

Hardware libre vs. hardware abierto Bruce Perens (co-fundador de la Open Source Initiative) opinó acerca de la diferencia entre lo que él llama el hardware libre y el hardware abierto. Mucha gente ha comparado el debate a la diferencia entre el software libre y el software de código abierto, y están preocupados porque este debate podría llegar a ser igualmente polémico.

La pregunta que queda pendiente es si ambos conceptos son necesariamente mutuamente excluyentes o si pueden coexistir armoniosamente.

Según plantea Bruce, el hardware libre es aquél que viene con sus especificaciones técnicas, de modo que el usuario pueda crear él mismo una réplica, y el hardware abierto es aquél que viene con las especificaciones completas de modo que el usuario pueda interactuar con él sin ningún tipo de sorpresas desagradables y sin necesidad de saber lo que pasa dentro.

El hardware libre es mejor (desde la perspectiva del usuario), pero el hardware abierto es definitivamente un paso en la dirección correcta.

El hardware libre, inevitablemente, se basa en el hardware abierto. Por ejemplo, uno puede tener todas las especificaciones de un circuito simple integrado, como un temporizador 555, sin tener la información necesaria para construir uno.

En el caso de un tornillo, por ejemplo, es más fácil y útil conocer sus especificaciones técnicas (rosca, diámetro, longitud, tipo de cabeza, resistencia a la tracción, resistencia general a la corrosión, etc), y más difícil conocer la composición exacta de la aleación utilizada para crearlo, saber cómo fue templado, etc. En este sentido, todos los componentes electrónicos más simples serían hardware abierto.

Llevado a un extremo, la pretensión del hardware libre podría eventualmente significar que es preciso contar con las instrucciones precisas y detalladas para crear, por ejemplo, un auto, partiendo de un grupo de átomos... lo cual es obviamente un absurdo.


Análisis y reflexiones varias La primera impresión que me llevé al leer las líneas escritas por Bruce es que, en el fondo, está intentando plantear, una vez más, una diferenciacion entre lo que predica su movimiento (la OSI) y el de Richard Stallman (la FSF).

Por un lado, están los defensores del «hardware libre», que quieren conocer todas las especificaciones del hardware, incluso al punto de lo ridículo (la composición atómica del auto). Por el otro, los bonachones seguidores de la OSI, que apenas quieren conocer las especificaciones técnicas imprescindibles para saber cómo funciona ese dispositivo, sin que ello implique saber cómo construirlo, copiarlo o reproducirlo.

En realidad, además de que dicha contraposición es ridícula y no se ajusta a la discusión «realmente existente», lo cierto es que no sirve, puesto que el hardware no se puede copiar/construir tan fácilmente como el software. En ese sentido, cabe preguntarnos si es posible aplicar al hardware los mismos conceptos que utilizamos para el software.

En principio, es evidente que uno puede construir un software apenas con una computadora de escritorio y unos mínimos conocimientos de programación, pero es mucho mas complicado construir una tarjeta de video o un procesador. No sólo por los conocimientos técnicos necesarios sino, especialmente, por los materiales que se precisan o los métodos de trabajo (cuasi)imposibles de replicar en forma solitaria en el confort hogareño, etc.

En la medida en que copiar, reproducir o construir hardware es tan difícil, la lucha por tratar de hacerlo en forma «libre», como en el software, se vuelve trivial. La libertad para copiar y modificar software es un derecho importante ya que es fácil de copiar -cualquier usuario de a pie puede hacerlo- y de modificar, así como también es muy fácil compartir esas modificaciones.

¿Entonces? El Open Hardware Specification Program (OPSP) propone que el «hardware abierto» es aquel que cuenta con «...suficiente documentación para que un programador pueda escribir un controlador del dispositivo». Dicha documentación debe cubrir todas las características de la interfaz del dispositivo.

Por su parte, Richard Stallman (RSM) plantea que, en términos estrictos, las ideas del software libre se pueden aplicar a los dibujos, documentación, etc. necesarios para el diseño y especificación del hardware, pero no al hardware en sí.

No obstante, plantea que sin importar que el diseño interno de un dispositivo sea libre, es absolutamente vital que las especificaciones de sus interfases sean libres. De no ser así, sería muy difícil escribir software libre que pueda correr bajo ese hardware. En otros términos, lo que plantea RSM es que es más importante que sus drivers sean libres, así como toda la documentación necesaria para construirlos, modificarlos e incluso mejorarlos.

En conclusión, en el fondo ambas posturas plantean lo mismo: la utilización del término «hardware abierto» o «hardware libre», como se prefiera, es en realidad una metáfora (debido a las dificultades para copiar, modificar o construir hardware). Yo creo que si bien se trata de un término todavía muy discutido y sin un significado claro, lo cierto es que lo que se quiere decir al hablar de «hardware libre/abierto» es que toda la documentación necesaria para escribir un controlador del dispositivo debe ser libre o, en el mejor de los casos, que el propio controlador lo sea. En síntesis, se define al hardware libre no por la libertad del hardware en sí mismo sino de la documentación y del software (los controladores) que lo acompañan y que permiten su utilización.

En estos términos, además, la diferencia entre el hardware libre y el hardware gratuito (si es que tal cosa existe) es aún más tajante. Es obvio que el hardware libre deberá adquirirse pagando un precio por él, puesto que sus costos de fabricación, transporte, etc. son muy altos en comparación con los del software. No obstante, es muy probable que este precio sea ostensiblemente menor que el de las alternativas "privativas" actualmente existentes, y que los costos de desarrollo de hardware disminuyan sensiblemente. Claro, nada de esto beneficia a las empresas que prefieren patentar sus diseños y beneficiarse del monopolio temporal que esas patentes brindan.

Fuente: Computer World & Linux Today

http://usemoslinux.blogspot.com/2011/08/hardware-libre-vs-hardware-abierto-el.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+UsemosLinux+%28Usemos+Linux%29


viernes, 30 de septiembre de 2011

Definición de Software Libre

La definición de software libre estipula los criterios que se tienen que cumplir para que un programa sea considerado libre. De vez en cuando modificamos esta definición para clarificarla o para resolver problemas sobre cuestiones delicadas. Más abajo en esta página, en la sección Historial, se puede consultar la lista de modificaciones que afectan la definición de software libre.

El «software libre» es una cuestión de libertad, no de precio. Para entender el concepto, debería pensar en «libre» como en «libre expresión», no como en «barra libre».
El software libre es una cuestión de la libertad de los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Más precisamente, significa que los usuarios de programas tienen las cuatro libertades esenciales.
  • La libertad de ejecutar el programa, para cualquier propósito (libertad 0).
  • La libertad de estudiar cómo trabaja el programa, y cambiarlo para que haga lo que usted quiera (libertad 1). El acceso al código fuente es una condición necesaria para ello.
  • La libertad de redistribuir copias para que pueda ayudar al prójimo (libertad 2).
  • La libertad de distribuir copias de sus versiones modificadas a terceros (la 3ª libertad). Si lo hace, puede dar a toda la comunidad una oportunidad de beneficiarse de sus cambios. El acceso al código fuente es una condición necesaria para ello.
Un programa es software libre si los usuarios tienen todas esas libertades. Entonces, debería ser libre de redistribuir copias, tanto con o sin modificaciones, ya sea gratis o cobrando una tarifa por distribución, a cualquiera en cualquier parte. El ser libre de hacer estas cosas significa, entre otras cosas, que no tiene que pedir o pagar el permiso.
También debería tener la libertad de hacer modificaciones y usarlas en privado, en su propio trabajo u obra, sin siquiera mencionar que existen. Si publica sus cambios, no debería estar obligado a notificarlo a alguien en particular, o de alguna forma en particular.
La libertad de ejecutar el programa significa la libertad para cualquier tipo de persona u organización de usarlo en cualquier tipo de sistema de computación, para cualquier tipo de trabajo y propósito, sin estar obligado a comunicarlo a su programador, o alguna otra entidad específica. En esta libertad, el propósito de los usuarios es el que importa, no el propósito de los programadores. Como usuario es libre de ejecutar un programa para sus propósitos; y si lo distribuye a otra persona, también es libre para ejecutarlo para sus propósitos, pero usted no tiene derecho a imponerle sus propios propósitos.
La libertad de redistribuir copias debe incluir las formas binarias o ejecutables del programa, así como el código fuente; tanto para las versiones modificadas como para las no lo están. (Distribuir programas en forma de ejecutables es necesario para que los sistemas operativos libres se puedan instalar fácilmente). Resulta aceptable si no existe un modo de producir una formato binario o ejecutable para un programa específico, dado que algunos lenguajes no incorporan esa característica, pero debe tener la libertad de redistribuir dichos formatos si encontrara o programara una forma de hacerlo.
Para que la 1ª y 3ª libertad, para realizar cambios y publicar versiones mejoradas, tengan sentido; debe tener acceso al código fuente del programa. Por consiguiente, el acceso al código fuente es una condición necesaria para el software libre. El «código fuente» ofuscado no es código fuente real, y no cuenta como código fuente.
La 1ª libertad incluye la libertad de usar su versión modificada en lugar de la original. Si el programa se entrega con un producto diseñado para ejecutar versiones modificadas de terceros, pero rechaza ejecutar las suyas, una práctica conocida como «tivoization» o «lockdown o «arranque seguro» (en la terminología perversa de los que la practican); la 1ª libertad se convierte más en una ficción teórica que en una libertad práctica. Esto no es suficiente. En otras palabras, estos binarios no son software libre, incluso si se compilaron desde un código fuente que es libre.
Una manera importante de modificar un programa es fusionando subrutinas y módulos libres disponibles. Si la licencia del programa dice que no puede fusionar un módulo existente con una debida licencia, así como si le requiere ser el titular de los derechos de autor de lo que agregue, entonces la licencia es demasiado restrictiva para calificarla como libre.
La 3ª libertad incluye la libertad de liberar sus versiones modificadas como software libre. Una licencia también puede permitir otras formas de relicenciarlas, en otras palabras, no tiene que ser una licencia de copyleft. No obstante, una licencia que requiera que las versiones modificadas no sean libres, no se puede considerar como una licencia libre.
Para que estas libertades puedan ser reales, deben ser irrevocables siempre que usted no cometa ninguna equivocación; si el programador del software tiene el poder de revocar la licencia, o de cambiar retroactivamente sus términos, sin que usted se haya equivocado para justificarlo, el software no es libre.
Sin embargo, ciertos tipos de reglas sobre la manera de distribuir software libre son aceptables, cuando no entran en conflicto con las libertades principales. Por ejemplo, el copyleft (definido muy resumidamente) es la regla en base a la cual, cuando redistribuye el programa, no puede agregar restricciones para denegar a las demás personas las libertades principales. Esta regla no entra en conflicto con las libertades principales; más bien las protege.
«Software libre» no significa «que no sea comercial». Un programa libre debe estar disponible para el uso comercial, la programación comercial y la distribución comercial. La programación comercial de software libre ya no es inusual; tal software libre comercial es muy importante. Puede haber pagado dinero para obtener copias de software libre, o puede haber obtenido copias sin costo. Pero sin tener en cuenta cómo obtuvo sus copias, siempre tiene la libertad de copiar y modificar el software, incluso de vender copias.
Si una modificación constituye una mejora es un asunto subjetivo. Si sus modificaciones se limitan, en esencia, a los cambios que otra persona considera una mejora, eso no se trata de libertad.
No obstante, las reglas acerca cómo empaquetar una versión modificada son aceptables si no limitan substancialmente su libertad para publicar versiones modificadas, o su libertad para hacer y usar versiones modificadas en privado. Así que es aceptable que una licencia le obligue a cambiar el nombre de la version modificada, eliminar el logotipo o a identificar sus modificaciones como suyas. Son aceptables siempre y cuando esas obligaciones no sean tan agobiantes que le dificulten la publicación de sus modificaciones. Como ya está aplicando otras modificaciones al programa, no le supondrá un problema hacer algunas más.
Las normas del estilo «si pone a disposición su versión de este modo, también debe hacerlo de este otro modo» también pueden ser, bajo la misma condición, admisibles. Un ejemplo de una norma admisible, sería una que planteara que si ha distribuido una versión modificada, y uno de los programadores de versiones anteriores le pide una copia, deberá mandarle una (tenga en cuenta que esta norma le sigue permitiendo elegir si distribuye, o no, su versión.). Las normas que obligan a liberar el código fuente a los usuarios de las versiones que publica también son admisibles.
En el proyecto GNU, usamos copyleft para proteger legalmente estas libertades para todos. Pero también existe software libre sin copyleft. Creemos que existen razones importantes por las que es mejor usar copyleft, pero si su programa es software libre sin copyleft, sigue siendo ético de todos modos. (Vea en categorías del software libre una descripción de cómo «software libre», «software con copyleft» y otros tipos de software libre se relacionan).
En algunos casos las regulaciones de control de exportación y las sanciones comerciales pueden limitar sus libertades de distribuir copias de programas intencionalmente. Los desarrolladores de software no tienen el poder de eliminar o pasar por alto estas restricciones, pero lo que pueden y deben hacer es rechazar imponerlas como condiciones para el uso del programa. De este modo, las restricciones no afectarán a las actividades ni a las personas fuera de las jurisdicciones de dichos gobiernos. Por ende, las licencias de software libre no deben requerir la obediencia a ninguna regulación de exportaciones como condición de cualquiera de las libertades esenciales.
La mayoría de las licencias de software libre están basadas en el copyright, y existen límites en los tipos de requisitos que pueden ser impuestos a través del copyright. Si una licencia basada en el copyright respeta la libertad en las formas antes mencionadas, es poco probable tener otro tipo de problema que no hayamos anticipado (a pesar de que esto ocurre ocasionalmente). Sin embargo, algunas licencias de software libre están basadas en contratos, y los contratos pueden imponer un rango mucho más grande de restricciones posibles. Esto significa que existen muchas maneras posibles de que tal licencia pueda ser inaceptablemente restrictiva y que no sea libre.
Posiblemente no podamos enumerar todas las formas en las que eso puede pasar. Si una licencia basada en un contrato restringe al usuario de un modo que no puedan hacer las licencias basadas en el copyright, y que no está mencionado aquí como legítimo, tendremos que pensar sobre ello; y probablemente concluyamos que no es libre.
Cuando se habla de software libre, es mejor evitar usar términos como «regalar» o «gratuito», porque dichos términos implican que el asunto pasa por el precio, no la libertad. Algunos términos comunes como «piratería» implican opiniones con las que esperamos no concuerde. Vea palabras y frases confusas que vale la pena evitar para el debate sobre esos términos. También tenemos una lista de traducciones de «software libre» a varios idiomas.
Finalmente, tenga en cuenta que los criterios, como los establecidos en esta definición de software libre, requieren pensar con cuidado su interpretación. Para decidir si una licencia de software específica es una licencia de software libre, la juzgamos en base a estos criterios para determinar si concuerda su espíritu, conjuntamente con la terminología precisa. Si una licencia incluye restricciones demasiado grandes, la rechazamos, incluso si no anticipamos la cuestión en este criterio. Algunas veces, los requisitos de una licencia muestra una cuestión que hace necesaria una reflexión más profunda, incluyendo la discusión con un abogado, antes que podamos decidir si el requisito es aceptable. Cuando llegamos a una conclusión sobre una nueva cuestión, solemos actualizar estos criterios para que resulte más fácil ver por qué ciertas licencias se califican o no.
Si está interesado en saber si una licencia específica califica o no como licencia de software libre, vea nuestra lista de licencias. Si la licencia que busca no está en la lista, puede preguntarnos enviándonos un correo electrónico a licensing@gnu.org

Si está contemplando escribir una nueva licencia, por favor contacte a la FSF escribiendo a esa dirección. La proliferación de distintas licencias de software libre significa mayor trabajo para los usuarios para entender esas licencias; podemos ayudarle a encontrar una licencia de software libre que ya exista que satisfaga sus necesidades.
Si eso no es posible, si realmente necesita una nueva licencia, con nuestra ayuda puede asegurarse que la licencia sea realmente una licencia de software libre y evitar varios problemas prácticos.

Fuente: www.gnu.org

Definición de Hardware Libre

Se llama hardware libre a los dispositivos de hardware cuyas especificaciones y diagramas esquemáticos son de acceso público, ya sea bajo algún tipo de pago o de forma gratuita. La filosofía del software libre (las ideas sobre la libertad del conocimiento) es aplicable a la del hardware libre. Se debe recordar en todo momento que libre no es sinónimo de gratis. El hardware libre forma parte de la cultura libre. Un ejemplo de hardware libre es la arquitectura UltraSparc cuyas especificaciones están disponibles bajo una licencia libre.
Algo del ímpetu para el desarrollo del hardware libre fue iniciado en 2001 con el

Challenge to Silicon Valley publicado por Kofi Annan.Debido a que la naturaleza del hardware es diferente a la del software, y debido a que el concepto de hardware libre es relativamente nuevo, aún no ha surgido una definición exacta del hardware libre.
Dado que el hardware tiene asociados a él costos variables directos, ninguna definición de software libre se puede aplicar directamente sin modificación. En cambio, el término hardware libre se ha usado principalmente para reflejar el uso del software libre con el hardware y el lanzamiento libre de la información con respecto al hardware, a menudo incluyendo el lanzamiento de los diagramas esquemáticos, diseños, tamaños y otra información acerca del hardware. De todos modos, incluye el diseño del hardware y la distribución de los elementos en la tarjeta madre.
Con el auge de los dispositivos de lógica programable reconfigurables, el compartir los diseños lógicos es también una forma de hardware libre. En vez de compartir los diagramas esquemáticos, el código HDL es compartido. Esto difiere del software libre. Las descripciones HDL son usadas comúnmente para instalar sistemas SoC en FPGA o directamente en diseños ASIC. Los módulos HDL, cuando se distribuyen, son llamados semiconductor intellectual property cores, o núcleos IP.

Fuente: Wikipedia