Home

Mar. 1st, 2030

  • 10:43 PM
IBSN, blog, id
hit counter "No sabemos qué sistema operativo usa Dios, pero nosotros usamos Linux"
 Hermana Judith Zoebelein
Webmaster del Vaticano
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."

Me encanta la fotografía nocturna

  • Jul. 11th, 2009 at 1:04 PM
IBSN, blog, id



Cada día me gusta más la fotografía nocturna y las fotos que hace la CANON EOS 50d, esta la he tomado con los siguientes parámetros:

Exposición: 30 segundos
Apertura: f 5.0
Longitud focal: 50 mm
Sensibilidad: 100 ASA

Por supuesto, esta imagen se ha tomado con trípode y disparador, con balance de blancos en automático y seleccionando manualmente la abertura y la velocidad.

IMG_1534

El resto de las fotos de esta serie están en:

Fotos nocturnas tomadas con la Canon EOS 50D
.


"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id



Durante el pasado discurso de investidura, el Presidente Zapatero dijo algo sobre la Comunidad de Extremadura que me llamó la atención y llenó de satisfacción, dada mi implicación en el proyecto Linex, proyecto que siempre he considerado un referente mundial y una de las mejores iniciativas tecnológicas entre las llevadas a cabo en España en los últimos años, al menos, unas de las que ha tenido una mejor relación coste/eficacia:

La virtud es que la autonomía política permite a los menos desarrollados tener voz política, fuerza política. ¿O alguien piensa que si tuviéramos hoy un Estado centralizado Extremadura estaría a la cabeza de la extensión de la sociedad de la información por ejemplo en el ámbito educativo y en el ámbito de la escuela? Yo, sinceramente, pienso que no sería así. Pero gracias a la autonomía política y a la capacidad de tener recursos en defensa de su Comunidad y de su territorio, una región como Extremadura -y me siento bien orgulloso de ello- está a la cabeza en la extensión de la sociedad de la información en el sistema público educativo en beneficio de sus jóvenes y de sus adolescentes.


Está bien, el Presidente Zapatero no dice nada de Linux o de Linex en su discurso, pero todos sabemos que ese milagro extremeño se ha producido gracias a Linex y por el duro trabajo de algunos visionarios que lo hicieron posible, como el Presidente Ibarra o de Carlos Castro, padres del proyecto. En este punto, me pregunto; ¿estarán a la altura los que vienen detrás para seguir y dar continuidad a ese magnífico legado cultural y tecnológico extremeño?, por el bien de Extremadura, tierra a la que amo, espero que así sea.

No entraremos ahora en polémica, y no diremos nada sobre si
Bill Gates elogió o no, dicha iniciativa basada en Software Libre ante el Presidente Zapatero, pero abundando en este mensaje a favor del Software Libre, el actual Presidente Extremeño, D. Guillermo Fernández Vara, no es la primera vez que elogia los efectos del mismo en la Región Extremeña. Por ejemplo, durante su intervención en la primera jornada del Debate sobre la Orientación de la Política General de la Administración Autonómica, conocido tradicionalmente como "Debate del Estado de la Región", reiteró su firme apuesta por la sociedad de la información, por la tecnología de fibra óptica, por el software libre y por una nueva generación digital en la Escuela.Sin embargo, a pesar de estos claros mensajes de nuestros destacados políticos, nos encontramos con noticias tan inquietantes como estas:

Vara se reune con la Presidenta de Microsoft España, quien ha anunciado colaboraciones en Sanidad, e-Administración y Educación. Durante esa reunión se hizo el ofrecimiento por parte de Microsoft, de facilitar a los universitarios software y contactos con sus redes de clientes y páginas y todo ello, de forma gratuita.

Ahora nos encontramos que Microsoft está llegando a un acuerdo con el Gobierno para forzar la presencia de una licencia de Windows y Office en cada ordenador de primaria. Eso sí, a un precio inferior al de la "comida basura", bueno, mejor dicho, de una comida en "un autoservicio". Pero ¿se puede vender algo por debajo de su precio de mercado en Europa?. Aquí hay dos enlaces en los que se habla de esto:

Microsoft mete cuchara en la Escuela 2.0 del PSOE

Microsoft pide que el Plan Escuela 2.0 no se limite a repartir ordenadores

Creo que lo más destacado de lo que ha dicho Garaña a la Agencia EFE es esto:

"Es muy importante que los niños puedan utilizar el ordenador en el colegio pero también en su casa, por lo que la empresa no pondría ningún problema a que lleven dos sistemas operativos (Dual-Boot), uno de Microsoft y otro de código abierto."


No creo que sea de recibo que una empresa pudiera poner pegas a lo que lleven los ordenadores de primaria. También hay que recordar que estamos hablando de un ordenador para la educación, algo que debe cumplir con los criterios de economía, eficacia y eficiencia, no de un todoterreno. Más o menos, Garaña nos justifica que el Windows está muy bien para usarlo en casa, quizás para jugar o para conectar el iPod, algo que no justifica su instalación de Windows en un ordenador educativo, ni el sobrecoste para la Administración, o para las familias que no lo van a usar.

Si alguien quiere instalar un Windows + Office a su ordenador ¿qué impide que lo ponga de su propio bolsillo?. Está bien Señora Garaña, haga una oferta ventajosa a las familias, pero no fuerce a que se instale su software en todos los ordenadores de la educación española, como usted bien sabe eso no tiene justificación. Es más, permita que el cliente elija la versión de Windows que más le convenga, no la que más le conviene a su empresa en este momento.

Pero tampoco tiene desperdicio esta afirmación de Garaña, que es inquietante, si pensamos en el libre mercado, la competencia y en la necesaria y deseada independencia tecnológica:

"El precio que va a ofrecer Microsoft por su sistema operativo y el Office que llevarán los ordenadores va a ser espectacular, menor que una comida en un autoservicio."


No debemos olvidar, un euro multiplicado por miles, implica miles de euros y estamos ante un enorme número de licencias. Seamos prácticos "invitar" a una "comida rápida" a todos los niños de primaria, no tiene demasiada justificación y menos, en esta época de crisis, cuando no hay una poderosa razón que lo justifique y cuando sabemos que no a todos les apetece "comer hamburguesa". Por ejemplo, Extremadura ha demostrado que no hace falta el software privativo y mucho menos, los arranques duales, para lograr un notable éxito en la educación y en las nuevas tecnologías. Por otra parte, no es comparable, cara a la educación, lo que supone un mero sistema operativo y un paquete ofimático, si lo comparamos con lo que nos ofrece el Software Libre, desde paquete ofimáticos a herramientas de desarrollo, todo al alcance de la mano.

Pero Garaña tampoco nos dice lo que va a vender a menos del precio de un menú de hamburguesería. ¿Estamos hablando de XP, Vista, o de Windows 7?, puesto que no son lo mismo y cada opción podría tener sus ventajas e inconvenientes. No es lo mismo un utilitario que un deportivo ni todos funcionan con igual soltura con determinado hardware, ¿o también nos van a imponer un hardware mínimo?. Si nos venden Windows XP ¿qué soporte le queda a este sistema operativo?, si es Vista, podríamos hablar de la poca aceptación que ha tenido este sistema operativo, de hecho, Administración española podemos decir que funciona casi de forma exclusiva con Windows XP y si hablamos de Windows 7, que todavía no está en el mercado, ¿qué resultado, compatibilidad y aceptación va a tener esa nueva versión?. Yo no lo veo claro y menos, en este momento en el que hay productos a punto de ser abandonados y productos pendientes de salir al mercado, con uno entre medias, que casi nadie quiere y el que lo tiene es por venir "de serie" con el ordenador que se acaba de comprar.

Visto lo anterior, creo que hay una grave inconsistencia entre los discursos de los presidentes Zapatero y Vara y lo que se está planeando hacer en la educación española. Sinceramente, no creo que Extremadura hubiera sido merecedora de los notables elogios, nacionales e internacionales, que ha recibido a lo largo de los últimos años, ni se habría convertido en un referente mundial en las nuevas tecnologías, si se hubiera optado por los arranques duales en la educación, o si no hubiera apostado tan fuerte por el uso del software y mal no ha salido, cuando otras regiones como Andalucía o Valencia, con mayor o menor éxito e intensidad, se han apuntado al carro del Software Libre que inició Extremadura. ¿Estamos dispuestos a tirar todo esto a la basura y además, pagando dinero por ello?.

Sin duda, otra persona que explica bastante bien lo que quiero expresar, es el Presidente Lula da Silva, que en el pasado
Congreso FISL en Brasil dijo lo siguiente:

"El Software Libre es un poco de eso, o sea, es darle a las personas la oportunidad de hacer cosas nuevas, de crear cosas nuevas, de valorizar la individualidad de las personas. Porque no hay nada que garantice más la libertad que si uno garantiza la libertad individual, que las personas permitan aflorar su creatividad, su inteligencia, sobre todo en un país nuevo como Brasil, en el que la creatividad del pueblo posiblemente sea, sin ningún menosprecio a otros pueblos, el pueblo con la más grande creatividad en el siglo XXI."


Pero el Presidente Lula también habló de democratizar la información, algo que bien se podría aplicar a la creación colaborativa de contenidos educativos libres,
de la misma forma que se están publicando libros y con éxito comercial, con licencias libres:

"Entonces pienso que estamos viviendo un momento revolucionario de la humanidad, en el que la prensa ya no tiene más el poder que tenía hace unos años atrás, la información ya no es más algo exclusivo en el que los detentores de la información pueden dar un golpe de Estado, la información ya no es algo privilegiado. El noticiero de la noche ya está viejo frente a Internet, el periódico queda hiper viejo frente a Internet, y queda tan viejo, que todos los periódicos crearán blogs para informar junto con los internautas de todo el mundo. Bueno, esas cosas, esas cosas todos nosotros no sabemos adonde van a parar, no lo sabemos. Sé que cada vez que hablo con ustedes, me quedo imaginando que si mi generación fuera tan inteligente y creativa como la de ustedes, ya estaríamos mucho mejor de lo que estamos hoy, porque la máquina publica es algo complicada. Está llena de vicios, de normas, entienden, que vienen desde la época del Imperio. Para ir cambiando esas cosas, un burócrata tiene un manual, y el manual solo dice lo que se puede y lo que no se puede. Si le muestras algo nuevo, está prohibido. Él no es capaz de decir: "bueno, tenemos algo nuevo por acá, voy a tratar de intermediar", no. Él te dice qué se puede o qué no se puede. Y todo eso tomó tiempo para que el gobierno empezara a crear las condiciones para llegar al nivel al cual llegamos."


La diputada del PSOE Dña.
Lourdes Muñoz Santamaría [POR], que también estuvo en Brasil en representación de su partido político, dijo:

"El uso de las tecnologías libres garantiza y fortalece la democracia en todos los sectores de la sociedad. Durante los últimos cuatro o cinco años, España ha progresado mucho en la construcción de políticas públicas que garantizan el avance de las tecnologías libres en la dirección correcta. El Software Libre en la administración pública permite generar justicia e igualdad social y también permite crear nuevos mercados y puestos de trabajo. Apostar por el Software Libre es una oportunidad económica y social para todos los países, principalmente en unos momentos de crisis como los que estamos viviendo ahora, el Software Libre representa una opción económica que está al alcance de todos."


Estamos ante una encrucijada en la que se nos muestran dos caminos, uno hacia la libertad y otro hacia el catetismo y la eterna dependencia tecnológica, como en Matrix cuando Morfeo ofrece a Neo la pastilla roja y la azul, es el momento de elegir. Desde mi punto de vista, si tenemos en cuenta las notables experiencias en torno al uso del Software Libre en la educación en Extremadura y la opinión de notables políticos y expertos nacionales e internacionales, la elección es bien sencilla.

Señores, dejen de negociar con multinacionales e instalen Software Libre en los ordenadores de primaria, es lo más sensato, puesto que ya está demostrado que es lo mejor para todos, pero también será lo más coherente con lo que estábamos haciendo en regiones como Extremadura, Andalucía o Valencia y con los escasos mensajes positivos que están enviando nuestros políticos a la sociedad.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."

Debilidad del SHA-1

  • Jul. 1st, 2009 at 6:34 PM
IBSN, blog, id




Hace unos años investigadores chinos
habían logrado reducir la complejidad del algoritmo SHA-1 a 2^69, es decir, habían logrado reducir su complejidad en 2^11 en relación con el ataque de cumpleaños de 2^80, dicho de otro modo, Shandong, Wang, Yin y Yu, durante la "Cripto Conference" de 2004, demostraron que habían debilitado el SHA-1 en un factor de 2048, lo que no es poco.

Ahora, según he podido leer en un boletín de Hispasec, unos investigadores australianos han logrado reducir su complejidad a 2^52, lo que es un logro impresionante, puesto que por cada unidad en la que se reduce el exponente, se reduce la fortaleza del algoritmo en un 50%. Dicho de otro modo, a fecha de hoy podemos decir que el algoritmo SHA-1 se ha debilitado en más de un 99% en relación con su fortaleza inicial derivada del ataque de cumpleaños, lo que es muy significativo, aunque nos parezca que 2^52 es una cifra suficientemente grande...

Si ya en el 2004/2005 se aconsejaba abandonar el SHA-1, con este nuevo avance logrado por los australianos, su sustitución por otros algoritmos más resistentes se hace indispensable. Una posible solución, hasta que se publique el SHA-3, es decir, el algoritmo que está llamado a sustituirlo, sería usar dos algoritmos consecutivos, por ejemplo SHA-1 Y RIPEMD-160, puesto que una colisión en SHA-1 es virtualmente imposible que coincida también en RIPEMD-160. Esta solución de la firma múltiple tiene como ventajas que usa algoritmos disponibles en sistemas criptográficos de todo tipo y no implica un excesiva computación.

Hay que señalar, que los documentos que hayamos firmado usando SHA-1 y que deban tener vigor en el tiempo, puede que no sean seguros dentro de unos meses. Como norma general, deberíamos usar algoritmos criptográficos que estimemos que vayan a ser seguros en un tiempo equivalente a la esperanza de vida de la persona que los utiliza y un 50% más.

Una caída del estándar SHA-1 también afectaría a la seguridad de los certificados digitales, puesto que sería factible generar certificados con el mismo fingerprint que otros, lo que permitiría suplantar la personalidad de personas, o de páginas web.

Hay que señalar, que el e-DNI se han establecido mecanismos que permiten construir el "PAHT" de Certificación (Cadena de Confianza) utilizando SHA-1 o SHA-256, para dar soporte a aquellos sistemas operativos que no contemplan el uso de SHA-256 como algoritmo de "hash" o resumen. Desgraciadamente, este mecanismo que depende del sistema operativo que estamos usando, es transparente al usuario la mayoría de las veces, siendo complicado saber la forma en la que se establece el "path" de confianza, sin embargo el e-DNI siempre usa el inseguro SHA-1 para firmar los documentos, según aparece en la página web oficial del mismo.

También hay que tener en cuenta, que las claves de los e-DNI de los usuarios están firmadas usando SHA-1, lo que puede ser un problema de seguridad a medio y largo plazo y con independencia de la validez en el futuro de los documentos que firmemos, o que hayamos firmado anteriormente, usando el omnipresente algoritmo SHA-1. Sin embargo, las claves raíz y subordinadas del e-DNI, con una vida de 30 y 15 años respectivamente, están firmadas usando SHA-1 y SHA-256, por lo que las podemos considerar seguras en este momento.

Ni que decir que ya he configurado mi GPG para que use la función SHA-256 en la firma de documentos y correos electrónicos, aunque también es cierto que en los correos uso siempre firma doble, GPG y de la FNMT, para que no haya problemas.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"

ACTUALIZACIÓN:

Recomiendo leer este documento de la Autoridad de Certificación española ANFAC que aunque es anterior a los logros del equipo australiano, dice cosas muy sensatas y que con la situación actual, debemos tener muy presentes:

Ataque SHA-1 [PDF]

Asimismo, recomiendo leer estas recomendaciones de Debian-administración ante los problemas surgidos con el SHA-1

Recomendaciones de Debian-administración ante el problema del SHA-1
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id




En el
artículo anterior de esta serie dedicada a la interoperabilidad vimos algunas estrategias que nos permitían mejorar nuestra capacidad de comunicación con otros usuarios y la seguridad de nuestra información. Estas estrategias se basaban en uso de estándares abiertos y las podemos poner en práctica, sin muchos problemas, en nuestro ámbito doméstico. Sin embargo, lograr la interoperabilidad en las organizaciones es mucho más complicado de lo que parece. Está claro que las medidas y estrategias que vimos en el artículo anterior son un buen comienzo para cualquier organización y son sencillas de implantar en las estaciones de trabajo, pero en las organizaciones, con independencia de su tamaño, es necesario ir más lejos y tener una visión de conjunto, ya que el escenario puede ser muy complejo.

Lo primero que necesita una organización para lograr la interoperabilidad es ser consciente del problema y tomar las medidas adecuadas para solucionarlo. Como ya hemos dicho, el elemento clave para lograr la interoperabilidad es el factor humano. Debemos tener en cuenta que nuestra interoperabilidad dependerá de las decisiones tecnológicas que tome una persona, o grupo de personas, en nuestra organización. Una vez que seamos conscientes del problema, es fundamental la especialización de los responsables de las tecnologías de la información de la organización y la formación de los usuarios.

Debemos estar convencidos de que la interoperabilidad interna y externa de las organizaciones, son claves para el desarrollo eficiente y sostenido de la organización. No creo que sea una buena política el perder un porcentaje de clientes, aunque sea pequeño, por problemas de interoperabilidad, que además, se pueden solucionar sin invertir más dinero, o incluso, ahorrando dinero. Igualmente, ninguna organización puede ser competitiva si arrastra un pesado lastre de "legacy", o si no puede optar libremente por las tecnologías que más le interesen en cada momento.

Desgraciadamente, la realidad es muy distinta y los monopolios tecnológicos han provocado que un elevado porcentaje de organizaciones públicas y privadas sean víctimas del "legacy" y por lo tanto, cautivas de tecnologías privativas, dificultando seriamente su capacidad de innovación, poniendo en riesgo el acceso a su conocimiento e información y limitando su capacidad de comunicación interna o externa.

El marco de interoperabilidad

Una vez que somos conscientes del problema de la interoperabilidad, una buena práctica es elaborar un documento que defina la forma en la que vamos a lograrla en nuestra organización. Este documento recibe diversos nombres, como esquema de interoperabilidad, arquitectura técnica de referencia, marco de interoperabilidad, pero eso es lo de menos. Lo que debemos contestar de forma prioritaria es la pregunta ¿qué es lo que debe contener este importante documento?.

Muchas organizaciones se empeñan en relacionar en sus marcos de interoperabilidad las aplicaciones "estándar" a utilizar en la organización, lo que no es una buena idea, puesto que las aplicaciones cambian con el tiempo, suelen estar ligadas a un determinado marco tecnológico y la mayoría de ellas, permiten usar estándares abiertos y formatos privativos de forma indistinta. Por lo tanto, si no se definen y establecen adecuadamente los estándares abiertos a utilizar en el marco de interoperabilidad, este documento no será muy útil para lograr nuestros objetivos.

Un buen marco de interoperabilidad ha de tener presente el concepto de "neutralidad tecnológica" y debe relacionar con claridad meridiana los estándares abiertos que se usarán en nuestra organización. Además, estos estándares deberían estar clasificados como emergentes o recomendados, obligatorios o normalizados y en abandono, como referencia para los usuarios y desarrolladores de lo que está por venir y de lo que debemos ir abandonando, para no quedar desfasados y no poner en riesgo el acceso, o la seguridad de nuestra información en el futuro.

Por lo tanto, este documento ha de estar vivo y debe estar sometido a cambios y a las sugerencias de los usuarios. De nada sirve un marco de interoperabilidad si no es dinámico y capaz de adaptarse a las nuevas tecnologías y a los nuevos estándares con el paso del tiempo. Asimismo, debe contener una serie de normas claras y positivas que nos permitan lograr la interoperabilidad dentro de la organización de forma transparente y natural.

Una de las tareas más complicadas para establecer un buen marco de interoperabilidad es el establecimiento uno los criterios, normas y estándares, que sean adecuados para la finalidad que pretendemos. Para facilitar este trabajo, lo mejor es definir unos principios básicos a los que someteremos el contenido de todo el documento. Por ejemplo, podemos establecer los siguientes principios:

  1. Neutralidad tecnológica y capacidad de adaptarse sin problemas a las nuevas tecnologías.
  2. Eliminación del "legacy" y de la dependencia tecnológica de empresas, tecnologías o proveedores.
  3. Facilitar el acceso a los servicios de la organización.
  4. Lograr la transparencia tecnológica.
  5. Eficacia y eficiencia de los métodos y procedimientos.
  6. Lograr la interoperabilidad vertical, horizontal y en el tiempo.
  7. Mejorar la cooperación y coordinación entre los distintos departamentos de la organización.
  8. Mejorar la participación efectiva de los miembros de la organización y en la generación y transferencia de conocimiento dentro y/o fuera de la organización.

Además, un buen marco de interoperabilidad debería cumplir con los siguientes objetivos básicos:

  1. Garantizar la comunicación electrónica y el acceso a los servicios de la organización, sin dependencias tecnológicas. Es decir, el marco de interoperabilidad ha de apostar claramente por la eliminación de todas las barreras tecnológicas que pueden existir en la organización, mediante el uso de estándares abiertos y un serio compromiso con la neutralidad tecnológica, pero sin caer en las utopías irrealizables, o en una mera declaración de intenciones. No es un buen marco de interoperabilidad aquel que tiene recomendaciones que no se pueden llevar a cabo, o el que es tan rígido, que no permite poner en práctica proyectos piloto, o iniciativas para la mejora de la infraestructura tecnológica. El marco de interoperabilidad ha de ser un mecanismo flexible y dinámico de coordinación y un instrumento objetivo y positivo para todos los miembros de la organización, conteniendo unas normas claras y precisas, que puedan ponerse en práctica a todos los niveles.
  2. Garantizar la interoperabilidad de los servicios y sistemas de información, tanto para la relaciones internas como para las externas.
  3. Preservar el conocimiento generado, asegurando el acceso al mismo de forma transparente, controlada y segura, con independencia del momento, o de la plataforma tecnológica con la que fue generado.
  4. Garantizar el uso eficaz y eficiente de las infraestructuras tecnológicas de la organización.

Algunas estrategias útiles

Si queremos lograr la interoperabilidad dentro de nuestra organización debemos atender a sus dimensiones organizacional, semántica y tecnológica, pero hay algunas estrategias generales que nos pueden ser de utilidad, como por ejemplo, las siguientes:

  1. Buscar la accesibilidad de los contenidos y el conocimiento, con independencia de la tecnología que se use para acceder a ellos.
  2. Establecer unas políticas de seguridad y privacidad coherentes y fáciles de llevar a cabo, con unos mínimos acordes con el nivel de amenaza y tipo de información a proteger. Hay que tener en cuenta, que la seguridad suele ir reñida con la comodidad.
  3. Uso exclusivo de estándares abiertos, convirtiendo a estos estándares toda la información que se encuentre en formatos privativos, o que se encuentre almacenada usando estándares abiertos en situación de abandono.
  4. Siempre que sea posible, se debería optar por el uso de software libre. No en vano, el software libre suele usar preferentemente estándares abiertos. Asimismo, es frecuente que el software libre ayude a definir nuevos estándares abiertos y sus especificaciones están disponibles públicamente. La disponibilidad del código fuente también tiene como consecuencia el debate abierto y democrático sobre sus especificaciones y estándares, lo que lo suele hacer que el software libre sea más robusto e interoperable que las aplicaciones privativas equivalentes. No será muy complicado encontrar aplicaciones libres que cumplan con los criterios de nuestro marco de interoperabilidad, por lo que las deberíamos considerar en igualdad de condiciones con sus contrapartidas propietarias en todo plan de adquisición.
  5. Si es posible, deberíamos usar aplicaciones, o herramientas de desarrollo, que puedan funcionar en más de una plataforma tecnológica. En este sentido, las aplicaciones JAVA, o tecnologías como el XML, serán de gran ayuda para lograr nuestros objetivos de interoperabilidad sin caer en las trampas de la dependencia tecnológica, o del "legacy". Si optamos por aplicaciones y herramientas multiplataforma, no tendremos problemas para optar por una u otra plataforma tecnológica en base a nuestras necesidades futuras.
  6. El uso de la virtualización nos puede ayudar a lograr la interoperabilidad a un coste razonable y sin tener que renunciar a la plataforma tecnológica que consideremos más adecuada en cada momento.
  7. Las arquitecturas orientadas a servicios y las aplicaciones Web, si las diseñamos interoperables y basadas en estándares abiertos, nos permitirán independizar la plataforma tecnológica del cliente de la del servidor, lo que aumentará la neutralidad tecnológica de la organización y mejorará su capacidad para cambiar de plataforma tecnológica de los clientes, o del servidor, si se considerase necesario.

El aspecto organizacional de la interoperabilidad es evidente que depende de nuestra organización, por lo que es complicado hablar de un caso general, o de una recomendación básica, que cubra todas nuestras necesidades y situaciones. En el aspecto semántico, la recomendación básica sería el uso de XML, incluso con el establecimiento de diccionarios personalizados y adaptados a las necesidades específicas de nuestra organización. Sin embargo, en el aspecto tecnológico, como más general, sí es posible establecer unas recomendaciones básicas para lograr la interoperabilidad técnica. Cuando pensemos en la interoperabilidad técnica debemos considerar los siguientes escenarios:

  1. Las comunicaciones hacia el exterior:
    1. La presentación e intercambio de datos.
    2. La accesibilidad a la información y diseño de las interfaces.
    3. La posibilidad de acceso multicanal.
    4. Los juegos de caracteres e idiomas.
    5. La posibilidad de generación de conocimiento de forma colectiva y concurrente.
    6. Los estándares para el almacenamiento de información y formato de documentos.
    7. La compresión de archivos.
  2. En las comunicaciones internas debemos considerar:
    1. La integración de datos y el middleware.
    2. El uso de estándares XML y EDI (Electronic Data Interchange).
    3. El establecimiento de servicios web.
    4. El uso de arquitecturas distribuidas orientadas a servicios (SOA).
    5. El establecimiento de servicios de interconexión.
    6. El uso de protocolos de transferencia de archivos e información.
    7. El transporte y seguridad de la información, teniendo en cuenta además, que la seguridad afecta a todas las capas de comunicación. En general, la seguridad debe tenerse en cuenta para establecer los servicios de seguridad, las infraestructuras de clave pública, los sistemas de cifrado, la seguridad de los servicios web, los cortafuegos y la protección general contra malware e intrusiones.
    8. El establecimiento de servicios de almacenamiento de información.
    9. El acceso a las cuentas de correo corporativas y a los servicios distribuidos.
    10. El establecimiento de servicios de directorio y de nombres de dominio.
    11. El establecimiento de todos los servicios de red.

En todo caso, el 80% de nuestros problemas de interoperabilidad corporativa, en sus dimensiones vertical, horizontal y en el tiempo, deberían desaparecer si usamos estándares abiertos y tenemos en cuenta el principio de neutralidad tecnológica en todas nuestras decisiones, olvidándonos por un momento de la plataforma tecnológica que estamos usando y de las aplicaciones "oficiales" aprobadas en nuestra organización, para comenzar a pensar de forma global y prioritaria, en estándares abiertos.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"


"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."

Una gorrioncilla en casa

  • Jun. 12th, 2009 at 2:28 PM
IBSN, blog, id
Image Hosted by ImageShack.us
By fernando_acero, shot with Canon EOS 50D at 2009-06-20

Ayer, mi hijo mayor, trajo una preciosa gorrioncilla a casa, estaba asustada y tenía frío. Fernando, que se conoce perfectamente el protocolo a seguir antes de recoger un pajarillo de la calle, se cercioró previamente de que sus padres no estaban en las inmediaciones y la alimentaban de vez en cuando. Convencido de que el animal estaba desamparado y que corría peligro, decidió traerla a casa.

Lo primero que hicimos fue desparasitarla con un spray insecticida especial para pájaros y la colocamos en la enorme jaula de cría en la que vivía holgadamente mi otro gorrión, Iñaki, tras colocar la separación que la divide en dos partes iguales, pero poner la lámina de plástico opaca, que impediría que se viera el uno al otro. En cuanto vió a Iñaki la nueva inquilina, que se llama Punkie, comenzó a piar y a mover las alitas de forma nerviosa para pedirle comida y se animó mucho, lo que nos facilitó el trabajo de aclimatarla a su nuevo hogar y para que aceptase la comida.

La estamos alimentando con un puré hecho con comida para perros disuelta en agua caliente. Le damos un poco cada 1/2 horas (como un guisante), desde las 8 de la mañana a las 11 de la noche y usamos para darle de comer una jeringuilla de las de insulina, lógicamente, sin aguja. Para que abra la boca, movemos la punta de la jeringuilla ligeramente sobre su cabeza y en seguida la abre como una loca para que le demos de comer. Hay que tener cuidado para no apretar la jeringuilla demasiado ya que se podría ahogar, lo mejor es ir poco a poco y ser pacientes para que vaya tragando lo que le vamos dando.

Por el momento come muy bien y hace sus deposiciones sin problemas, por lo que esperamos que salga adelante. Por las noches la metemos en una caja de cartón (de zapatos) en la que ponemos una botella de agua caliente (no demasiado caliente) envuelta en una toalla, ella se acurruca rápidamente al calor de la botella y duerme plácidamente hasta el día siguiente.

Esta mañana me he preocupado un poco, estaba algo apática, no se movía mucho y tampoco piaba, pero tras darle un poco de agua con la jeringuilla y las primeras tomas, se ha espabilado bastante y ahora está piando y revoloteando de un lado para otro en la jaula, que aunque está dividida en dos partes iguales, sigue teniendo un tamaño considerable y le permite hacer suficiente ejercicio para fortalecer sus alas.


Image Hosted by ImageShack.us
By fernando_acero, shot with Canon EOS 50D at 2009-06-20

La gorrioncilla está saliendo adelante con su dieta a base de pienso de perro disuelto en agua. Hay que tener cuidado ya que con estas temperaturas la "papilla" fermenta con facilidad, por lo que es mejor hacer poco y cambiarlo varias veces al día. Si queremos que la jeringuilla nos dure más tiempo, tenemos que limpiarla bien con agua después de cada uso y sacar el émbolo para que se seque.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id

En los primeros artículos de esta serie hemos explorado el concepto de Interoperabilidad y hemos revisado algunos problemas con los que me he enfrentado a lo largo de mi vida en torno a este problema, pero también es evidente que, según crecía el número de personas y servicios conectados a Internet, los problemas de interoperabilidad ha ido quedando en evidencia y ha sido necesario establecer estrategias para evitarlos o reducirlos. Sin embargo, es prácticamente imposible tratar este problema tan amplio en un simple artículo, así que nos tendremos que conformar con algunas pinceladas e ideas simples de lo que podemos hacer cada uno de nosotros de forma individual para mejorar la interoperabilidad. Desde las instituciones europeas, a gobiernos, pasando por empresas, todos están comenzando a establecer y a documentar estratégicas para combatir, con mayor o menor éxito, los problemas de interoperabilidad y todas pasan por el uso de estándares abiertos, pero lo primero que debemos hacer, si queremos avanzar, es ser conscientes del problema...

TRAS LA ESTELA DE LA ADMINISTRACIÓN

Como comenté en el primer artículo, cuando hablamos de interoperabilidad, lo que es bueno para el Estado, suele ser bueno también para los usuarios, ya que las estrategias para lograr la interoperabilidad entre sistemas heterogéneos son las mismas en todos los casos. De hecho, las Administraciones Públicas disponen de una gran cantidad de documentación muy útil para establecer estrategias contra los problemas de interoperabilidad en todos sus aspectos y dimensiones y por ello, lo mejor es aprovechar todo este trabajo.

Uno de los documentos en castellano que más recomiendo, son los Criterios de seguridad, normalización y conservación, que elaboró el MAP para su uso en la Administración General del Estado. Sin embargo, al ser criterios y recomendaciones, en lugar de una Ley de obligado cumplimiento, es una pena que no se haya hecho demasiado caso en algunas administraciones, así nos habríamos evitado problemas como el que hemos comentado de la página del Defensor del Pueblo Español, o que no sean interoperables las distintas historias clínicas, cuando nos movemos por el territorio nacional. Pero debemos tener en cuenta, que estos criterios, además de garantizar la accesibilidad de nuestra información y servicios para todo el mundo, parten de la lógica más aplastante y nos defienden de las malas decisiones tecnológicas, ayudándonos también, a mantener nuestra información segura y accesible en el tiempo, algo que es muy interesante.

Por ejemplo, entre los criterios de conservación, el 6.2, dice algo que ya deberíamos tener claro en este punto: "Se deben convertir los ficheros antiguos creados con aplicaciones propietarias a formatos que corresponden a especificaciones abiertas libres de patentes y royalties". Es más, el documento recomienda usar formatos abiertos directamente, si la aplicación los soporta nativamente, o usar herramientas de conversión adecuadas, en el caso de que la aplicación no soporte formatos abiertos. Con esto ya podemos establecer una estrategia coherente sobre el tratamiento de los formatos privativos de las aplicaciones que usamos normalmente.

No menos interesante es el criterio de conservación 4.1, que dice: "Se debe seleccionar un conjunto común de estándares de formato de fichero: gráfico, texto, datos, audio y vídeo que faciliten el acceso y circulación de la información, y su posterior recuperación y conservación". Como es lógico, lo mejor sería que estos estándares comunes sean abiertos para que puedan ser usados por todo el mundo sin trabas.

Como se puede ver, lo que nos dice este criterio es de lo más lógico y razonable, si no queremos tener problemas de interoperabilidad, pero desgraciadamente, no siempre lo tenemos presente. Más adelante, en el mismo documento, se especifican una serie de formatos abiertos recomendados para los distintos tipos de información a almacenar; texto, datos estructurados, gráficos, vectoriales o comprimidos. Es evidente que no son todos los que son y dado que el documento es del año 2004, puede que esté un poco anticuado, pero como referencia inicial no están nada mal. Desde mi punto de vista, cuando se habla de estándares abiertos, habría que calificarlos de alguna forma, como emergentes, recomendados, obligatorios, en abandono, etc, como referencia a usuarios y desarrolladores y para permitir a los usuarios la conversión de sus datos a los estándares más adecuados según pasa el tiempo y cambian las tecnologías.

Como podremos comprobar, en este documento oficial no se hace referencia a ningún formato de archivo de los que podemos llamar "estándar de facto", que aunque son usados por muchos usuarios en todo el mundo, ni son un estándar, ni son abiertos por el simple y circunstancial hecho de ser usados masivamente en el mundo. Desde mi punto de vista, considerar un formato privativo como "estándar de facto", es algo perverso que intenta elevar a un nivel similar al de los estándares abiertos, debemos ser conscientes de que no son un un estándar y a la larga, nos puede dar problemas de interoperabilidad.

Incluso un "formato abierto" puede ser fuente de problemas, nada impide que dicho formato quede igualmente abierto a la adición de nuevas funcionalidades, quizás protegidas mediante patentes, para ayudar a que se mantengan los monopolios y por lo tanto, afectando su utilidad para la conservación de la información a largo plazo.

Aunque un formato esté publicado abiertamente, no es un estándar y sigue siendo privativo, por lo que nada obliga a que las modificaciones o extensiones al formato se publiquen igualmente. De hecho, la mayoría de los formatos privativos publicados siguen llenos de "trampas" privativas que complican las cosas a los que los usan como si fueran un estándar abierto en sus aplicaciones. Por lo tanto, con el paso del tiempo aunque un formato esté publicado, puede acabar teniendo partes en el mismo, que solamente sean accesibles desde una aplicación privativa, que incluso puede estar protegida mediante patentes internacionales. La consecuencia directa es que no podemos garantizar la continuidad y libertad de uso de un formato por el simple hecho de que en cierta ocasión se publicó su especificación. Es decir, que hay razones de peso para considerar que un formato abierto, en lugar de un estándar abierto, no debería ser un contenedor adecuado para garantizar la preservación de la información a largo plazo, la propiedad pública de los documentos públicos, o para garantizar la libertad de elección de los usuarios.

Los criterios de normalización, seguridad y conservación para el ejercicio de potestades están en un denso documento de 171 páginas, que recomiendo leerlo detenidamente y aplicarlo en la medida de lo posible, puesto que si lo hacemos, tendremos muchas probabilidades de no tener problemas en el futuro con nuestros datos. He de decir, que es muy posible que este documento sea el embrión de los futuros esquemas nacionales de Seguridad e Interoperabilidad que desarrollarán reglamentariamente la Ley 11/2007, por lo que lo podemos considerar una interesante guía, que además, puede tener una adecuada continuidad en el futuro, proporcionando una buena anticipación de lo que está por venir desde el punto de vista normativo.

EL PROBLEMA DE LOS TIPOS DE LETRA

Los problemas de interoperabilidad pueden ser de lo más curiosos. Por ejemplo, hay gente que me ha comentado que pierden el formato de los documentos cuando los crean con Microsof Office y los intentan abrir con OpenOffice.org bajo Linux, o incluso, cuando los crean con OpenOffice para Windows y los intentan abrir con OpenOffice.org bajo Linux. En este caso, el problema de interoperabilidad puede venir de la mano de los tipos de letra típicos de Windows, como Arial, Times New Roman o Courier New. Estos caracteres privativos, que fueron creados en su momento por Monotype Corp. para Microsoft, tienen una geometría distinta a los tipos de letra usados por otras plataformas como Linux o Mac, y en especial, se diferencian en el espaciado entre la letras, que se denomina kerning. Como es lógico, otra opción sería usar siempre tipos de letra libres que puedan usarse en Linux y en Windows, pero en este caso tendríamos problemas de compatibilidad con los usuarios que usen por omisión las fuentes específicas de Windows, que como hemos dicho, son privativas.

La solución sería instalar los caracteres típicos de Windows bajo linux, lo que aunque es posible, puede ser relativamente complicado de lograr si lo queremos hacer legalmente y sin problemas con los derechos y licencias de Microsoft. El caso es que existe un procedimiento para instalar estas fuentes desde los repositorios de Microsoft, pero como hemos dicho, es complicado, e implica usar una gran cantidad de paquetes adicionales para convertir y adaptar los archivos a Linux.

Lo mejor y más rápido, es recurrir a unas fuentes libres, creadas por RedHat, que se denominan "Liberation Fonts" y que son compatibles, o interoperables, con las de Windows. Hay que señalar, que la mayoría de las distribuciones, al menos así ocurre con mi Mandriva 2008.1, disponen de un paquete específico con estas fuentes, pero en caso necesario, nos las podemos bajar directamente de RedHat.

Tras instalar las fuentes en el directorio /usr/share/fonts/liberation de nuestro sistema Linux, será necesario configurar Gnome, o el Kde, para que las use adecuadamente y estén disponibles para todas las aplicaciones del sistema. Asimismo, podemos usar las tablas de sustitución de OpenOffice bajo Linux para que use automáticamente las correspondientes "Liberation fonts" cuando detecte una fuente Arial, Times New Roman, o Courier en un archivo procedente de Windows. Esto también lo podemos hacer con OpenOffice, o con Microsoft Office bajo Windows, para que seleccione automáticamente las fuentes adecuadas de Windows, cuando abramos un documento creado en Linux que use las "Liberation Fonts". Claro que debemos tener la precaución de usar las "Liberation Fonts", en lugar de las fuentes típicas de Linux, cuando queramos tener interoperabilidad con Windows, por lo que son las que yo uso normalmente en mis documentos.

MEJORANDO LA INTEROPERABILIDAD DE OPENOFFICE.ORG


Como hemos comentado en nuestro artículo anterior y sin entrar en polémicas entre bondades o defectos de las suites ofimáticas libres o privativas, lo cierto es que OpenOffice.org es una buena opción si queremos usar los estándares abiertos más avanzados, como el Open Document Format (ODF), o el Portable Document Format (PDF), ya que ambos están soportados de forma nativa y de forma muy interesante, por esta aplicación ofimática libre.

Además, OpenOffice.org puede abrir y almacenar archivos en los formatos de Microsoft Office, lo que puede que no sea una buena idea, en lo que respecta a la conservación de documentos a largo plazo, o a la interoperabilidad con otros usuarios, pero también es cierto, que OpenOffice.org, gracias a esta funcionalidad, puede ser usada como herramienta de conversión desde los formatos privativos de Microsoft a estándares abiertos.

Anteriormente hemos visto la forma de mejorar la interoperabilidad entre las aplicaciones Windows y Linux a nivel de caracteres, lo que es especialmente interesante para mejorar la interoperabilidad en lo que a la estructura de documentos se refiere, pero también se pueden hacer algunas cosas más, para mejorar la interoperabilidad de OpenOffice.org y sus funcionalidades con otros estándares abiertos, como el PDF.


Por ejemplo, si instalamos Sun PDF Import Extension [Beta], podremos modificar los archivos de OpenOffice.org almacenados en formato PDF, aunque no dispongamos de los archivos originales. Cuando tenemos esta extensión, los archivos PDF son importados en Draw e Impress, para conservar su estructura y para permitir una edición básica de los mismos. Esta es una solución muy interesante para hacer pequeñas correcciones, o cambios en el documento PDF, como fechas, cifras, o pequeñas partes del texto. Desgraciadamente, no se pueden importar en este momento los documentos PDF nativos, es decir, los que no han sido creados con OpenOffice.org. Hay versiones de esta extensión para las distintas plataformas para las que está disponible OpenOffice.org en su versión 3.X, por lo que también la podemos usar desde Windows. También está previsto que en siguientes versiones de este añadido se mejoren las capacidades de edición de los documentos PDF.

Esta extensión también permite algo muy curioso e interesante cara a la interoperabilidad y el almacenamiento de la información a largo plazo, como es la exportación de un PDF híbrido, es decir, un PDF con el archivo fuente, en formato ODF, embebido en él. De esta forma, el PDF híbrido se puede abrir desde OpenOffice.org como si fuera un ODF normal, sin perder el formato original del documento y con todas las posibilidades de edición que permite el programa. Sin embargo, los usuarios que no dispongan de OpenOffice.org podrán seguir abriendo la parte PDF de ese archivo híbrido sin problemas, por lo que seguirá siendo interoperable con los lectores PDF tradicionales. En este momento es una de las opciones que más utilizo con OpenOffice.org cuando genero mis documentos y deseo garantizar su interoperabilidad a largo plazo, pero sin renunciar a las posibilidades de edición cuando los abro en mi sistema. Es más, usando Sinadura o PortableSigner, puedo añadir una firma digital a estos archivos PDF, lo que también es interesante, ya que firmar el documento, no me impide editarlo posteriormente aunque, como es lógico, con ello se pierde la validez de la firma. Hay que señalar que OpenOffice.org también me permite firmar digitalmente y verificar la firma digital de documentos almacenados en formato ODF.

Para crear un archivo híbrido, una vez instalada la extensión Sun PDF Import, seleccionaremos la secuencia de mandatos Archivo | Exportar en formato PDF y en el recuadro de diálogo que nos aparece en pantalla, seleccionaremos las opciones PDF/A-1, que es una opción para almacenamiento a largo plazo de documentos PDF (encapsula todos tipos de letra que se utilizaron durante la edición y las etiquetas PDF) y la opción Crear archivo híbrido, seguido de la pulsación del botón Exportar. Bastará con seleccionar un nombre y trayectoria para nuestro archivo PDF en el siguiente recuadro de diálogo y volver a pulsar el botón Exportar, para finalizar el procedimiento.

También hay disponible un
visualizador de archivos en formato ODF para Firefox. Este visualizador ODF también permite exportar el documento a PDF con solamente pulsar un botón en la interfaz de usuario del "plugin". 

MEJORANDO LA INTEROPERABILIDAD DE MICROSOFT OFFICE


Comenzaremos por mejorar la interoperabilidad de Office 2000, Office XP y 2003, con Office 2007. Para ello, existe un paquete de compatibilidad disponible en la misma página de Microsoft. Mediante su instalación, se podrán abrir, editar y almacenar, archivos en los nuevos formatos utilizados por Word, Excel y PowerPoint 2007. El Paquete de compatibilidad también se puede usar con Microsoft Office Word Viewer 2003, Excel Viewer 2003 y con el Visor de PowerPoint 2003, para poder abrir con con ellos los archivos de Office 2007.

Gracias a este paquete de interoperabilidad ascendente, no es necesario actualizarse a Office 2007 para obtener la interoperabilidad con sus formatos más modernos. Desgraciadamente, no siempre se tiene en cuenta esta posibilidad y hay muchos contratos de la Administración en los que se argumenta esa necesidad de interoperabilidad con Office 2007 para pagar nuevas licencias de Office, como ocurrió recientemente con el contrato de actualización de los ordenadores del Defensor del Pueblo Español, que además, se actualizaron a Windows Vista, con la simple excusa de la interoperabilidad, en este caso se gastaron 84.908 euros, para equipar a 190 ordenadores.

Desde el punto de vista de la interoperabilidad bien entendida, los beneficios de este añadido para las versiones de Office anteriores a la 2007, quedan reducidos a poder abrir, editar y almacenar archivos en los nuevos formatos de la última versión. Pero no nos equivoquemos, yo no recomiendo usar los formatos de Office 2007 para almacenar información por los motivos que ya he explicado anteriormente y menos, si queremos que esa información pueda ser usada por otros usuarios sin problemas, o que permanezca en el tiempo, pero para los gustos, los colores.

Microsoft tampoco ha sido ajena a las necesidades y a las nuevas tendencias en materia de interoperabilidad que demandan los usuarios. Se puede decir que las presiones para lograr una mayor interoperabilidad con los productos de Microsoft, aunque no sin resistencia por parte de la empresa, están obrando sus frutos en el mercado global. Por ello, en mayo de 2008 Microsoft anunció que con el Service Pack 2 para Office 2007, que se lanzaría en el primer semestre 2009, se ampliarían los formatos soportados por Office, añadiendo compatibilidad con XML Paper Specification (XPS), Portable Document Format (PDF) 1.5, PDF/A y Open Document Format (ODF) v1.1. Con este Service Pack los usuarios podrán abrir, editar y almacenar documentos en ODF y almacenar archivos en XPS y PDF, sin necesidad de recurrir a ninguna aplicación externa. Incluso se puede configurar Microsoft Office, para que use ODF como formato por omisión a la hora de almacenar documentos, en lugar de los formatos nativos de Office, que desde mi punto de vista, sería lo más recomendable, si deseamos obtener interoperabilidad con otros usuarios y en el tiempo. Sin embargo, también es cierto, que ha habido quejas sobre la implementación del estándar abierto ODF en el SP2 que se publicó el pasado abril, por lo que esperamos que mejore en el futuro el soporte proporcionado por Microsoft al estándar abierto ODF 1.1.

Lo cierto es, que poco a poco, pero sin pausa, las Administraciones Públicas españolas se van adaptando a la Ley 11/2007 y ya van apareciendo páginas de la Administración que presentan la documentación usando exclusivamente estándares abiertos e interoperables, dejando de aparecer el peligroso y omnipresente DOC de ellas. Incluso ya se comienzan a ver páginas en las que se usan el formato ODT como formato para distribución de formularios y documentos editables, de forma alternativa al DOC.

Para lograr la interoperabilidad de Office con los formatos ODF, también se puede recurrir al añadido OpenXML/ODF Translator Add-in for Office, que podemos encontrar en Sourceforge. El objetivo de este proyecto, que ha sido nominado para los premios de la Comunidad de 2009, es la de permitir la interoperabilidad entre las aplicaciones basadas en ODF 1.1, como OpenOffice.org y las basadas en el estándar ECMA Office OpenXML, como es el caso de Office 2007. Hay que señalar, que este es un proyecto muy activo, siendo la última versión del "plugin" de marzo de 2009 y que existe una versión para la línea de mandatos de este conversor, que puede ser usada para convertir archivos una gran cantidad de archivos en procesos por lotes, liberando a nuestra organización de los peligrosos formatos privativos.

Como podemos ver, el ODF ya no es un formato ajeno a Office y no hay problemas para usar este estándar abierto como formato por omisión para el almacenamiento y recuperación de documentos creados con Office. Con los añadidos disponibles libremente en la Red podemos convertir el ODF en nuestro formato estrella para el almacenamiento de información, con independencia de la tecnología que usemos. Como hemos visto, el ODF es un formato que podemos abrir con casi cualquier aplicación, tanto privativa como libre, desde procesadores de textos, a navegadores web.

Con muy poco esfuerzo podemos hacer que nuestras aplicaciones sean compatibles con los estándares abiertos ODF y PDF, garantizando así la accesibilidad y la recuperación de nuestra información desde cualquier plataforma tecnológica. Como es lógico, cuantos más usuarios instalen estos añadidos en sus sistemas Office, más interoperabilidad ganaremos entre todos y más sencillo será el intercambio de información en la Red, así como su conservación a largo plazo.

Por supuesto, visto lo visto, las Administraciones Públicas deberían tener instaladas todas estas herramientas de interoperabilidad por omisión en todos sus sistemas Windows y en base a lo que se establece en la Ley 11/2007, hacer uso de ellas para utilizar solamente estándares abiertos en sus relaciones con otras administraciones y con los ciudadanos, que como se puede ver, se puede lograr con independencia de la plataforma tecnológica que se esté utilizando. Para ampliar la información sobre las ventajas del uso del estándar ODF, recomiendo la lectura de los documentos que hay en esta página de la Comisión Europea.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"

"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id




Estoy seguro de que la mayoría de nosotros hemos tenido algún problema relacionado con la interoperabilidad a lo largo de nuestra vida. También es cierto, que en ocasiones no está en nuestra mano el evitarlos. Por ejemplo, cuando accedemos a una página que usa la tecnología privativa ActiveX para la firma de un documento, como ocurre con la página del Defensor del Pueblo Español. Si estamos usamos el navegador Mozilla Firefox desde Linux veremos que no podemos hacer nada.

Es evidente que la culpa no es de nuestra, ya que nuestro Mozilla Firefox y nuestro Linux son compatibles con una gran cantidad de estándares abiertos; la culpa es de los que diseñaron la página, que no usaron estándares abiertos compatibles con todas las tecnologías. Algo que además es absurdo, puesto que ni es más caro ni más complicado lograr que una web, o un determinado servicio, sea compatible con cualquier plataforma tecnológica. Cabe esperar, que tras la entrada en vigor de la Ley 11/2007 se ponga algo de orden en la Administración Pública y que a partir del 31 de diciembre de 2009, fecha límite para la lograr la interoperabilidad con los usuarios con independencia de su opción tecnológica, se pueda acceder a las notificaciones telemáticas seguras usando Firefox 3.X, se pueda usar el e-DNI, o la tarjeta Ceres, desde Mandriva, o que podamos mandar nuestras quejas al Defensor del Pueblo sin necesidad de ser clientes de una determinada empresa multinacional extranjera. No menos curioso es que asociaciones como Hispalinux se quejasen hace años de la irregular situación de la página del Defensor del Pueblo y que a fecha de hoy siga igual que estaba.

Aunque hago referencia frecuente a los formatos privativos de la suite ofimática de Microsoft, no son los únicos que dan problemas de interoperabilidad; sin embargo, al ser los más utilizados por los usuarios, creo que simplifico el entendimiento del problema de la interoperabilidad. Pero lo cierto es que podemos acabar teniendo problemas de interoperabilidad con cualquier aplicación con la única condición de que use formatos privativos para almacenar los datos. Desde programas de diseño, pasando por programas de gestión comercial, o bases de datos, nada está exento de riesgos si usa formatos privativos para almacenar la información.

Pero el problema de la interoperabilidad no solamente está en los formatos de los datos. Por ejemplo, los soportes de información también nos pueden jugar una mala pasada con el tiempo. Si tenemos información almacenada en discos flexibles, o en cinta magnética, es posible que nos cueste encontrar ordenadores con disquetera, o con una unidad de cinta, que nos permita acceder a esa información a fecha de hoy. Por ello, debemos estar atentos a los cambios tecnológicos e ir pasando a soportes más modernos toda aquella información que consideremos importante. Al igual que debemos pasar nuestros vídeos VHS a DVD si queremos seguir viendo sin problemas a nuestros hijos jugando alegremente en la playa en un futuro cercano. De hecho, el vídeo de mi boda está en Betamax y ahora no hay forma de verlo con ocasión de mis bodas de plata; sin duda es una pena, ya que además, nos costó bastante caro cuando lo contratamos con el fotógrafo que nos juró que esa era la mejor tecnología del mercado.

También es cierto que el problema de la interoperabilidad puede aparecer en el momento más inoportuno. Por ejemplo, tengo un buen amigo que tiene una PYME con unos 25 empleados y para gestionar su empresa usa una cara y privativa aplicación de gestión comercial; de hecho, la lleva usando desde hace más de 6 años y a plena satisfacción. El caso es que la empresa fabricante de la aplicación ha cerrado sin avisar y ahora, aunque la aplicación le funciona perfectamente, este empresario sabe que tarde o temprano va a tener problemas con sus valiosos datos. Por ejemplo, sabe dentro de cierto tiempo no habrá versiones de esa aplicación para los nuevos sistemas operativos que nos meten con calzador cuando compramos un nuevo ordenador y que con ello, acabará no pudiendo utilizarla.

El caso es que este empresario, que confió inocentemente todos los valiosos datos de su empresa y clientes a una aplicación que los almacena en un formato privativo, ahora tiene muy complicado migrar a otra aplicación. Por ejemplo, a una que incluya la interesante posibilidad de facturación electrónica, pero tampoco tiene la seguridad de que pueda mantener esos datos a salvo, el tiempo mínimo que requiere la legislación española. Hace pocos días, este amigo me llamó desesperado para ver si le podía echar una mano para migrar esos datos, que ya ocupan un par de gigas en el disco duro y lo cierto es que lo tenemos complicado.

Pero los problemas de interoperabilidad pueden ser de lo más diverso y se manifiestan de forma más clara cuando tenemos la necesidad imperiosa de comunicarnos con otros. Hace unas semanas, una persona de mi entorno familiar estaba preparando un examen oral de la carrera de Derecho que incluía una presentación que tenía que entregar obligatoriamente en el formato de PowerPoint, pero desgraciadamente no le dijeron la versión de PowerPoint que debía utilizar. Esta persona que se acaba de comprar un ordenador portátil con la última versión de Vista Home Premium y de paso, había adquirido una moderna licencia de Office 2007 para estudiantes aprovechando una oferta de la Universidad, no se esperaba lo que estaba a punto de pasar.

Desgraciadamente, el ordenador de la universidad usaba un "anticuado" Windows XP y una no menos "anticuada" licencia de Office 2003, con lo que no era compatible con las versiones de archivo más modernas. Tras haberse pasado casi toda la noche preparando la presentación para el examen, esta persona no la pudo utilizar por incompatibilidad entre los formatos de las dos versiones del mismo programa y con ello, obtuvo en el examen una nota menor de que la que esperaba.


Quizás, si hubiera hecho una copia a PDF para emergencias, no habría tenido bonitas transiciones entre las diapositivas, pero habría salido del paso y habría tenido una mejor nota. De hecho, siempre que voy a dar una conferencia la suelo llevar en un par de formatos interoperables, como PDF o HTML, sobre todo, cuando me obligan a entregarla en formato de PowerPoint. No es menos chocante, que si esta persona hubiera realizado la presentación con OpenOffice.org y la hubiera exportado al formato de PowerPoint, seguramente no habría tenido problemas de interoperabilidad con Office 2003, ni con Office 2007.

No deja de ser una paradoja del destino que el usuario que tiene el programa más moderno pueda tener más problemas de interoperabilidad, que un usuario que tiene una versión más antigua del mismo. Esto se debe a que las versiones más modernas suelen mantener compatibilidad con las versiones anteriores. Es decir, el usuario de Office 2007 no tendrá problemas para abrir archivos creados con Office 2003, sin embargo, para que un usuario de Windows 2003 pueda abrir un archivo creado con Office 2007, en lugar de usar el mandato Archivo | Guardar, el usuario de la versión 2007, debería utilizar la opción Archivo | Guardar como y seleccionar entre las opciones disponibles el formato nativo de Office 2003, o mucho mejor, un formato abierto, entre los soportados por los dos programas.

Sin embargo, para sacar todo el rendimiento y funcionalidades de un programa, suele ser necesario recurrir a los formatos propietarios que nos proporcionan por omisión dichos programas. De hecho, es la forma de hacer presión para que los usuarios se actualicen a versiones más modernas con la excusa de la innovación y de "interoperabilidad" con los usuarios de aplicaciones más modernas. Como se puede ver, si entramos en este juego, es una pescadilla que se muerde la cola.

Sin embargo, también es cierto que la Ley de Pareto se cumple casi siempre con los usuarios y las aplicaciones informáticas. El 80% de los usuarios solamente usan el 20% de las funcionalidades de los programas, por lo que nunca sacan provecho de esas funcionalidades extra soportadas por las nuevas versiones de los formatos, lo que en la mayoría de los casos hace innecesaria la actualización a la nueva versión del programa.

Como se puede ver no estamos a salvo de los problemas de interoperabilidad ni cuando usamos el mismo programa y la misma plataforma tecnológica que nuestros corresponsales. Basta con que existan versiones distintas del programa, para que surjan insalvables problemas de interoperabilidad. Incluso han existido problemas de interoperabilidad entre productos distintos de un mismo fabricante. No sé si en este momento se ha solucionado, ya que hace años que no uso este programa, pero cuando yo utilizaba el económico y ligero Microsotf Works, no podía abrir esos archivos con Microsoft Word y era necesario tener la precaución de almacenarlos en formato .RTF para poder abrirlos con Word posteriormente. De hecho, como consecuencia de esa experiencia, es el RTF el formato más utilizo cuando el archivo no es muy complicado y me quiero asegurar de que se abre sin problemas desde cualquier plataforma,. De hecho, nadie se me ha quejado nunca cuando le he enviado un archivo en formato RTF, algo que sí ha ocurrido con el ODF, e incluso hace unos años, cuando no estaba tan extendido, con el PDF.

Yo he sufrido el problema de la incompatibilidad de los formatos de archivo en varias ocasiones y he de reconocer que también he cometido grandes errores que me han llevado a perder, o como poco, a poner en peligro valiosos datos. Pero no soy el único que ha tomado decisiones equivocadas al respecto. Por ejemplo, cuando en mi trabajo se decidió pasar de la suite ofimática Lotus SmartSuite a Microsoft Office, se produjo una situación difícil de comprender y de valorar si no se vive directamente. De un día para otro, los responsables de informática eliminaron SmartSuite e instalaron Office 2003 Professional en todos los ordenadores y con ello, miles de archivos que estaban almacenados en los formatos nativos y privativos de Lotus SmartSuite, es decir, toda la inteligencia corporativa almacenada durante más de 6 años de trabajo con SmartSuite, quedó inaccesible para todos y al mismo tiempo. Esta situación creó un problema tan grande, que muchos tuvieron que recurrir a instalaciones "pirata" de SmartSuite para poder recuperar la información que habían almacenado en sus discos duros solamente unas horas antes. El efecto era como si se hubieran roto todos los discos duros al mismo tiempo y con ello, se hubiera perdido toda la información de golpe, sin duda, un drama.

Lo peor es que creo que no hemos aprendido mucho de esa traumática experiencia y ahora, en lugar de usar los formatos privativos de Lotus SmartSuite, usamos despreocupadamente y como si nada hubiera pasado, los formatos privativos de Office, por lo que el problema se puede volver a producir en cualquier momento. Incluso nos permitimos el lujo de decir que esos son los formatos básicos de intercambio de información y así aparece sin el más mínimo pudor, en más de un documento de interoperabilidad. El principal error es pensar que la interoperabilidad la proporcionan las aplicaciones y sus versiones y que si todos usamos la misma aplicación, no tendremos problemas, pero en la realidad la interoperabilidad la proporcionan los formatos de los datos y no las aplicaciones.

A lo largo de mis 48 años he utilizado una gran cantidad de programas para generar y procesar mis datos, en su mayoría procesadores de textos, desde WordStar a OpenOffice, pasando por Framework, WordPerfect para DOS y Windows, Microsoft Works, Lotus SmartSuite o Microsoft Word, todos ellos han pasado por mis manos y hasta he escrito libros sobre ellos. Incluso guardo archivos creados con el Commodore 64, ordenador con el que logré, a base de usar macros y atajos de teclado, escribir en perfecto castellano con los procesadores de textos OmniWriter y SpeedScript. En ese formato guardo mi trabajo de fin de carrera titulado "El computador óptico", escrito en 1986 y que años más tarde fue la base para un artículo en el suplemento "Futuro" del diario "El País". Desgraciadamente, ahora me es más fácil recurrir a una hemeroteca para recuperar mi trabajo, que recuperar la información almacenada en mis discos.

Aunque guardo celosamente históricos casi todos mis trabajos, por desgracia, la mayoría de ellos, como ha pasado con mi trabajo de fin de carrera, son inaccesibles para mi en este momento. Tendría que hacer algo más que arqueología informática para poder recuperar esa información de los formatos privativos en los que se encuentra almacenada. Está claro que ese problema no lo tendría si hubiera almacenado mi información en formato TXT, RTF o PS. Y ¿Qué tienen en común todos estos formatos? pues sencillamente, todos estos son formatos abiertos y están soportados por la mayoría de las aplicaciones ofimáticas que existen en la actualidad y por las que han existido antes. Son como un puente entre el pasado y el futuro, como una especie de túnel del tiempo, que nos permite movernos más o menos libremente entre el pasado, el presente y el futuro de la informática.

Uno de los casos más dramáticos que he sufrido con la interoperabilidad de los archivos esta relacionado con la documentación que guardo en formato digital sobre el fallecimiento de mi padre, a consecuencia de un accidente de tráfico en el año 1999. Este hecho ocurrió poco antes de que yo abandonase por completo el uso del software privativo y con ello, el uso de la plataforma Windows y de los programas privativos escritos para ella. Al margen de que guardo gran parte de esta valiosa documentación en papel, toda ella, incluidos los documentos judiciales y periciales sobre el accidente, está digitalizada y almacenada en CD's con sus correspondientes copias de seguridad. Desgraciadamente, en aquella época yo no era consciente de los problemas derivados de la interoperabilidad de los archivos con el paso del tiempo. Por aquellas fechas yo me dedicaba a la creación de fondos para editoriales y el programa que más utilizaba, era un programa de autoedición para Windows, que además, no era, ni es en la actualidad, el más utilizado del mercado.

Como era el programa que más usaba a diario y además, lo usaba con bastante soltura, cometí el grave error de digitalizar, crear y editar toda esa información con ese programa de autoedición para Windows 98 y por ello, almacené toda esa valiosa información en el formato privativo de dicha aplicación. Si hubiera guardado en aquella información en formatos abiertos, como PS, o PDF, algo que podría haber hecho sin grandes complicaciones, ya que tenía los medios para hacerlo, ahora no tendría problemas, pero el caso es que no lo hice, o mejor dicho, ni se me pasó por la cabeza la necesidad de hacerlo.

Con el paso de los años, mi tecnología evolucionó al software libre, de hecho, nunca he llegado a tener una licencia de Windows XP y mucho menos, de Vista, aunque me la han intentado vender en varias ocasiones. Pero ese no ha sido el problema de fondo, puesto que si hubiera usado formatos abiertos, daría lo mismo mi opción tecnológica. Podría haber abierto mis archivos desde Windows, Linux o desde un Mac, sin problemas. Eso es lo mejor de los formatos abiertos, la libertad de elección tecnológica y la seguridad de acceso.

Por la falta de tiempo material para atenderla, mi empresa de servicios editoriales fue decayendo en producción y clientela, hasta desaparecer casi por completo allá por un lejano 2003. Con ello, también fui abandonando el uso de ese programa autoedición, que acabó sus días con el fallo irrecuperable del último disco duro con licencia de Windows 98 que me quedaba, pero todo hay que decirlo, no fue una pérdida traumática, puesto que cuando falló el disco, hacía varios años que ya no lo usaba Windows.

El problema llegó cuando tuve la necesidad de recuperar parte de esa información tras el fallecimiento de mi madre ocurrido el pasado 1 de abril. Fue en ese momento, cuando comprobé que ninguno de mis ordenadores, muy modernos todos ellos, era capaz de funcionar con un polvoriento disco original de Windows 98 y con ello, tampoco podía instalar ese programa de autoedición y recuperar toda esa información. Me comencé a preocupar seriamente, cuando vi que no podía abrir esos archivos con ninguna de las aplicaciones Linux, ni encontraba ninguna herramienta de conversión adecuada.

Antes de recurrir a la virtualización y casi desesperado, comencé a escribir correos a conocidos que se dedicaban todavía al negocio editorial, con la esperanza de que alguno mantuviera alguna licencia del programa. Afortunadamente ,un buen amigo me pudo hacer el favor de convertir estos archivos a PDF, pero no sin recurrir antes a la arqueología informática. Puedo decir sin lugar a dudas, que logré recuperar toda esa valiosa información de milagro y estoy convencido, de que si hubiera pasado algo más de tiempo, dicha recuperación habría sido imposible.

Hablando de formatos interoperables, podemos decir que los usuarios de aplicaciones libres suelen tener más opciones que los usuarios de software privativo, aunque también es cierto, que la mayoría de las aplicaciones privativas, como el mismo Office, permiten almacenar la información en formatos abiertos de forma nativa, o mediante "plugins" específicos, como veremos más adelante.

Por ejemplo, el formato nativo de OpenOffice.org es el Open Document Format que es abierto y además, es un estándar ISO. Asimismo, OpenOffice.org permite exportar cualquier documento a formato PDF, que también es un formato ISO e interoperable, con solamente hacer clic sobre un botón en la interfaz de usuario.

OpenOffice.org también dispone de un "plugin", creado por Sun, que permite tratar los documentos en formato PDF como documentos editables, algo interesante, puesto que ese formato, hasta hace poco, era sinónimo de archivo no editable. Aunque esta opción tiene algunas limitaciones y está pensada para pequeñas modificaciones sobre los archivos PDF, lo cierto es que es otra interesante opción de esta suite informática libre y que veremos más detenidamente más adelante. Desde mi punto de vista, solamente le faltaría a OpenOffice.org el poder firmar digitalmente y comprobar la firma digital de documentos PDF, para ser la herramienta de oficina ideal, pero espero que todo se andará con el tiempo. Pero no olvidemos que OpenOffice.org, al igual que Microsoft Word, también permite almacenar la información en otros formatos abiertos, como RTF, HTML, TXT o XML.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id





Este es el primero de varios artículos dedicados a la Interoperabilidad entre sistemas y comenzaremos por intentar concienciar sobre este grave problema de comunicación entre sistemas, tecnologías, o programas distintos. Aunque es frecuente ver en foros y páginas de Internet agrias polémicas entre partidarios del software libre y el privativo, sin embargo, entre tanta polvareda y afilados espolones, se tiende a olvidar un problema de fondo mucho más importante que la mera opción tecnológica de los usuarios y que no es otro, que la necesaria interoperabilidad entre aplicaciones, tecnologías, sistemas o servicios.

En un mundo interconectado nuestra meta debería ser que nos podamos comunicar con todo el mundo sin trabas y que los datos, nuestro activo más valioso, los mantengamos en un formato que nos permita acceder a ellos en el tiempo, e intercambiarlos sin problemas con nuestros corresponsales en la Red. Sin embargo, en muchos casos estamos muy lejos de lograrlo y el problema es mucho más complejo que escribir en un determinado idioma, como el inglés o el castellano. Afortunadamente, existen “idiomas” comunes para facilitar esta comunicación y el intercambio de información en la Red y para almacenar la información de forma segura, estos “idiomas” son los “estándares abiertos”. El problema es que los usuarios nos dejamos llevar por la tecnología que estamos usando en ese momento y lejos de usar estándares abiertos, que están soportados por sistemas privativos y libres, recurrimos con demasiada frecuencia y sin demasiada preocupación por las posibles consecuencias,  a los formatos que aparecen por omisión cuando usamos la opción Salvar de algunos programas y esos formatos, en muchos casos son privativos. 

No me cabe la menor duda, de que el verdadero éxito de Internet se centra en el hecho de que se basa en estándares y que se puede acceder a la Red con independencia del sistema operativo, o de la tecnología que usemos. Da lo mismo si somos usuarios de Windows Vista, o de XP, si somos usuarios de Linux, o de Mac, todos podemos acceder a Internet sin trabas, a cambio de que dichas comunicaciones se realicen mediante el uso de estándares abiertos como el TCP/IP, HTML, POP, SMTP, etc .

Sin embargo, algo que tenemos tan claro en las comunicaciones de Internet, no lo tenemos tan claro con la forma en la que almacenamos, o distribuimos los datos, o incluso, en la forma que establecemos ciertos servicios a través de la Red y en los que nos empeñamos sin razón aparente, en que solamente estén disponibles para usuarios de determinadas tecnologías privativas. Sin embargo, el uso de estándares abiertos no encarece ni complica el almacenamiento de los datos, o el establecimiento de servicios en Internet, más bien al contrario, los simplifica y en muchos casos, los abarata de forma considerable.

Pero con independencia de la tecnología que hayamos decidido usar, lo cual es muy respetable, debemos ser conscientes de que nuestra opción tecnológica nos puede jugar malas pasadas si no tomamos ciertas precauciones. Al final, lo que podemos lograr si no tenemos cuidado, es que nuestros datos sean inaccesibles para otras personas, o incluso para nosotros mismos, con el inexorable paso del tiempo.

Hablar de interoperabilidad es complicado, puesto que aunque es un término que aparece en la legislación española, como es el caso de la Ley 11/2007 de Acceso de los Ciudadanos a las Administraciones Públicas, ni esta Ley, ni el Diccionario de la Real Academia de la Lengua Española definen ese término tan esquivo. Para encontrar una definición adecuada, es necesario recurrir a la
Decisión 2004/387/CE del Parlamento Europeo y del Consejo de 21 de abril de 2004, relativa a la prestación interoperable de servicios paneuropeos de administración electrónica al sector público, las empresas y los ciudadanos (IDABC). En este documento se define Interoperabilidad como:

La capacidad de los sistemas de tecnologías de la información y de las comunicaciones (TIC) y de los procesos empresariales a los que apoyen, de intercambiar datos y posibilitar la puesta en común de información y conocimientos”.

También hay una definición de Interoperabilidad militar, que se usó por primera vez en el documento “The Interoperability, a Desert Storm case study, de Sterling D. Sessions y Carl R. Jones, de la National Defense University, Washington D.C. de julio de 1993 y posteriormente fue añadida al documento
AAP-6 de la OTAN, como definición oficial de interoperabilidad militar. En dicho documento, se define interoperabilidad como:

La habilidad de los sistemas, unidades o fuerzas para proveer servicios a y para aceptar servicios de otros sistemas, unidades o fuerzas, y para usar los servicios así intercambiados para operar efectivamente juntos”.

Como se puede ver, son definiciones tan complejas de entender, como de conseguir en la práctica. En la primera priman la puesta en común de información y de conocimientos y en la segunda, el lograr la necesaria sinergia en el campo de batalla moderno. Desde mi punto de vista, estas definiciones se quedan cortas y no muestran el problema de la interoperabilidad en toda su dimensión. Yo considero que la interoperabilidad debe tener tres dimensiones espaciales:

a) Vertical: es decir, que nuestros datos han de ser interoperables con nosotros mismos, por ejemplo, para que se puedan usar sin restricciones dentro de nuestra organización, o para que los podamos usar sin trabas con los distintos programas que usamos normalmente. Por ejemplo, que podamos insertar un gráfico realizado con el programa de diseño A en una página del procesador de texto B.

b) Horizontal: que es la que que nos permite intercambiar información con otras organizaciones y usuarios sin trabas de ninguna clase. Esta dimensión es posiblemente la más evidente y es la que nos permite que la información que elaboramos esté disponible para el mayor número de usuarios posible.

c)Temporal: que es la que nos garantiza que nuestros datos serán accesibles en el futuro a pesar de los cambios en la tecnología. Quizás esta dimensión temporal de la interoperabilidad es la que se encuentra más relacionada con la neutralidad tecnológica, o con nuestra capacidad de cambiar de tecnología, sin que ello suponga unos costes inadmisibles, o la pérdida de los datos almacenados hasta ese momento.

Asimismo, la interoperabilidad ha de atender a los aspectos organizacional, semántico y técnico del problemas:

a) La interoperabilidad organizacional está relacionada con las metas que se desean conseguir, el modelado de los procesos y la necesaria colaboración entre los elementos participantes, que deben poder intercambiar información a pesar de tener distintas estructuras internas y procesos.

b) La interoperabilidad semántica es la que se preocupa de asegurar que el significado preciso de la información que se intercambia es entendido por otra aplicación que no fue diseñada inicialmente para ese propósito. La interoperabilidad semántica permite que los sistemas de información recombinen información de varias fuentes y que la puedan procesar de una forma coherente.

c) Finalmente, la interoperabilidad técnica se preocupa de los problemas que existen para intercomunicar sistemas y servicios heterogéneos. Esta interoperabilidad tiene aspectos clave como el uso de interfaces y estándares abiertos, servicios de interconexión, integración de datos, midelware, presentación de datos e intercambio de información, accesibilidad y la garantía de seguridad de los servicios.

Para complicar el escenario de las definiciones, en muchas ocasiones se confunde el concepto de interoperabilidad con el de neutralidad tecnológica. Otro término que aparece en nuestra legislación más reciente y que tampoco está definido adecuadamente en ella. Sin embargo, esta confusión es relativamente lógica, puesto que la mayor parte de las estrategias necesarias para conseguir la neutralidad tecnológica, como puede ser uso de estándares abiertos, son idénticas a las que se deben usar para conseguir la interoperabilidad.

Ante la ausencia de una definición clara, hay muchos autores que se han lanzado a definir y aclarar este término. Una de las mejores definiciones que he encontrado por la Red es de
Alejandro Pisanty y dice lo siguiente:

neutralidad tecnológica es la condición en la que una acción, definición, ley, estándar, etc, no se formula de tal manera que sesgue todas las decisiones subsecuentes a favor de una tecnología en particular, entre aquellas capaces de resolver el problema”.

En este sentido hay que señalar que hay tecnologías privativas que funcionan como anclas y condicionan de forma considerable el resto de las decisiones tecnológicas que se tomen posteriormente. Un ejemplo lo tenemos en las páginas Web que utilizan ActiveX para los procesos de firma y verificación, si usamos esa tecnología, nos costará mucho cambiar y adaptar nuestras páginas web en el futuro y además, obligaremos a que todos los usuarios que accedan a nuestra página, sean también sea usuarios de esa tecnología privativa, con lo que estaremos restringiendo el acceso a la misma y todo hay que decirlo, sin necesidad.

En este sentido, también está el comentario de
Nelson Remolina, que aclara algo más este esquivo concepto:

... La neutralidad tecnológica reconoce algo evidente: La tecnología cambia constantemente. Si la ley se “casa” con una tecnología en particular muy seguramente la norma se quedará obsoleta rápidamente”.

Es evidente que estas definiciones de neutralidad tecnológica las podemos aplicar tanto a la creación legislativa, como a la adquisición de bienes y servicios informáticos y por supuesto, a nuestra vida cotidiana, tanto como usuarios de la Red, o como generadores de información para colgar en Internet. En principio, lo que es bueno para el Estado, también puede ser bueno para los ciudadanos, pero como nos avisaba
Diego Sarabia, hablar de neutralidad tecnológica tiene sus riesgos y tampoco está exento de polémica, puesto que para este autor, estas definiciones esconden realmente un problema económico disfrazado de otro tecnológico. Para Sarabia, como también apuntaba Kranzberg en relación a la neutralidad de la tecnología y su impacto social:

... la neutralidad tecnológica es una contradicción andante, ya que la tecnología no es neutra. La tecnología afecta a la sociedad. Pero el uso del concepto como tal es un invento de Microsoft... es pues un concepto de marketing, pura propaganda....”.

Pero no entremos en polémica, ya hemos visto que el principal punto en común entre la neutralidad tecnológica y la interoperabilidad, es el uso de estándares abiertos. Afortunadamente, a diferencia de los conceptos de interoperabilidad y de neutralidad tecnológica, en la Ley 11/2007 hay una definición de estándar abierto y se reconoce en sus artículos que el uso de estándares abiertos es el mejor método para lograr la necesaria interoperabilidad entre las administraciones públicas, o entre las administraciones públicas y los ciudadanos, independientemente de su opción tecnológica. Según la Ley 11/2007, estándar abierto es el que cumple las siguientes condiciones:

a) Sea público y su utilización sea disponible de manera gratuita o a un coste que no suponga una dificultad de acceso,

b) su uso y aplicación no esté condicionado al pago de un derecho de propiedad intelectual o industrial.

La ley 11/2007, cuando habla de los estándares abiertos dice también cosas interesantes:

Principio de neutralidad tecnológica y de adaptabilidad al progreso de las técnicas y sistemas de comunicaciones electrónicas garantizando la independencia en la elección de las alternativas tecnológicas por los ciudadanos y por las Administraciones Públicas, así como la libertad de desarrollar e implantar los avances tecnológicos en un ámbito de libre mercado. A estos efectos las Administraciones Públicas utilizarán estándares abiertos así como, en su caso y de forma complementaria, estándares que sean de uso generalizado por los ciudadanos.

Sin embargo, aunque es un logro interesante la existencia de una definición de estándar abierto en la legislación y que en la misma ley se reconozca el uso de dichos estándares como el mejor medio para lograr la interoperabilidad, desde mi punto de vista, la definición de estándar abierto también se ha quedado algo corta. A mi me hubiera gustado más esta otra, que además, estaría más acorde con el concepto de estándar abierto que se maneja en la Unión Europea:

Estándar abierto es el que cumple las siguientes características:

1) Está publicado y su especificación y documentación completas están disponibles de forma gratuita o al precio de coste de su distribución.

2) Su propiedad intelectual se ofrece de forma irrevocable libre de regalías, de cualquier otro derecho de explotación de la propiedad intelectual, y no sujeto a patentes o a contratos que restrinjan su uso y reutilización directa o indirectamente.

3)
Existe al menos una implementación de referencia que desarrolla todas las funcionalidades de la especificación, que está disponible bajo una licencia que permite que sea usada para cualquier propósito, y que puede ser copiada, estudiada mejorada y distribuida libremente, con o sin cambios.

Pero ¿es el problema de la interoperabilidad o de la neutralidad tecnológica un problema meramente tecnológico?. Pues es evidente que no, de acuerdo con las conclusiones de la
Declaración de Interoperabilidad de Valencia, con la que me identifico plenamente:

... La interoperabilidad es un elemento multidimensional, que integra los aspectos técnico, semántico, organizativo, jurídico y cultural, exigiendo la existencia de equipos humanos especializados y multidisciplinares dentro de las administraciones y el fomento de grupos de trabajo interadministrativos y de órganos de composición mixta publico-privada de interoperabilidad.

El elemento clave para que la interoperabilidad sea real es el factor humano, Es fundamental la formación y la especialización de las organizaciones y de los responsables y empleados públicos, orientando su gestión y acción burocrática y pública hacia la coordinación, la interoperabilidad y hacia la compartición de tecnología, información y conocimiento...

Está claro, que sin la colaboración de todos es imposible lograr la interoperabilidad. Por mucho que se publiquen estándares abiertos, o que se definan adecuadamente en leyes y recomendaciones, también es necesario que los usuarios y administraciones los utilicen para garantizar todos los aspectos y dimensiones de la interoperabilidad y eso, en muchos casos, se reduce a una decisión personal de un responsable tecnológico de la Administración, o de determinada empresa. De nada sirve todo esto, si de forma tozuda y no fundamentada, ponemos en riesgo nuestros datos y de paso, dificultamos la difusión de los mismos cuando pretendemos precisamente todo lo contrario.

Hay que señalar, que el uso masivo de un determinado formato por los ciudadanos, o por las administraciones, no lo convierte en un estándar, aunque algunos se empeñen en hablar y en usar con profusión aquello que denominan “estándares de facto”. Desgraciadamente, su uso no garantiza en ningún caso la interoperabilidad en todas sus dimensiones y por lo tanto, su utilización debería ser marginal y en todo caso, complementaria y no sustitutoria de los estándares abiertos, que son la única garantía para la interoperabilidad y la neutralidad tecnológica. De hecho, la mayoría de estos “estándares de facto” no son ni siquiera estándares y han sido introducidos en el mercado por los intereses económicos de las multinacionales, con la intención de dificultar la competencia.

Que pasaría si este artículo, en lugar de aparecer en HTML en la página web, fuera un enlace a un documento “.doc” colocado en esa misma página. Hay que señalar, que el formato “.doc”, es privativo de Microsoft y aunque algunos lo consideran “estándar de facto”, lo cierto es que no cumple con la definición de estándar y mucho menos, con la de estándar abierto. De hecho, el pasado 27 de febrero de 2008, la Comisión Europea impuso
una multa de 899 millones de Euros a Microsoft por dificultar la interoperabilidad con sus productos y en especial, por no proporcionar información necesaria para lograr la interoperabilidad con sus formatos privativos y entre ellos, el “.doc”.

Si yo tomase la decisión de divulgar mi información en formato “.doc”, es posible que mi artículo solamente fuera accesible para los usuarios de Microsoft que tuvieran un programa compatible con el formato y la versión con la que se generó el documento, que aunque pueden ser muchos usuarios, tampoco son todos los usuarios de los productos de Microsoft, puesto que mi archivo puede ser incompatible con algunas versiones de sus programas y por supuesto, tampoco será accesible para los usuarios de otras tecnologías distintas a las de Microsoft. Si optamos por esa solución privativa, que por desgracia está siendo adoptada de forma irresponsable por cientos de administraciones públicas y empresas como si realmente fuera un estándar, no garantizaremos que la información esté accesible para todos los usuarios de la Red, pero tampoco podremos garantizar que dicha información esté disponible en un futuro, incluso para el autor de la misma. Tampoco será sencillo para el que generó el documento, cuando el volumen de información de la que dispone en formatos privativos sea considerable, el poder cambiar a otra tecnología distinta, aunque sea del mismo fabricante y mejor que la que estaba utilizando hasta ese momento.

Está claro que la mejor estrategia sería usar formatos abiertos y accesibles para todo el mundo, como una página web en HTML. En el caso de desear que se almacene esta información en la forma de un archivo, podríamos optar por el formato PDF, que sí es un estándar abierto ISO y además, está soportado sin problemas por múltiples plataformas tecnológicas.

De esto hablaremos más detenidamente en artículos posteriores y veremos algunos problemas junto con algunas estrategias para solventarlos.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id




A través de mi buen amigo
Juantomás, anterior Presidente de Hispalinux, me he enterado de la presentación del libro "La Sociedad de Control" de José Alcántara. El acto tendrá lugar el miércoles 29 de abril, a las 12:30 del mediodía, en el Centro de Innovación de BBVA (Plaza de Santa Bárbara nº 2, Madrid; Metro Alonso Martínez). Y he de decir, que comparto la idea de que este acto, dado los turbulentos tiempos que corren para la libertad en la Red y la libre difusión de la cultura, es mucho más que la presentación de un libro.

Al igual que le preocupa al autor del libro y al mismo Juantomás, a mi también me preocupan las presiones a REDTEL y el paquete de medidas para las telecomunicaciones, que se quiere aprobar el próximo día 5 de mayo en la Unión Europea. Por ello, yo también considero muy positivo que se aclaren estos hechos y se hagan oír el mayor número de voces en contra de estas medidas liberticidas, que pueden acabar con la libre difusión de la cultura y con la necesaria neutralidad de la Red.

Desde mi punto de vista, sin cultura no hay Red, es la cultura la verdadera esencia y utilidad de la misma y debemos tener claro que no es solamente cultura, aquella que tiene un precio. De hecho, si la cultura no se integra en la sociedad, no importa su precio, simplemente no es cultura.

Esta es una obra clave, necesaria y polémica quizás, en el que se exponen éstos y otros peligros que amenazan nuestros derechos y libertades en la red de redes. Da lo mismo la excusa, ya sea la seguridad, o los derechos intelectuales, todo sirve para restar derechos y libertades en la Red y lo peor, es que en la lucha por esa minoritaria cultura de pago, también puede caer la vasta cultura de dominio público, o la popular, que también es cultura y más arraigada que las otras.

El libro, como todos los de la colección "planta 29", está publicado bajo una licencia de dominio público y por ello, se puede descargar libremente de la Red. No deja de ser cusioso, que esta editorial, cuyas obras se publican todas con licencias libres, haya comenzado a tener beneficios tras solamente un año de andadura y en un momento de profunda crisis, en el cierran cientos de empresas y otras miles declaran pérdidas.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"

"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id




Tras aparecer en prensa información sobre el proyecto del Gobierno para entregar a cada niño de primaria (aproximadamente 2.6 millones de alumnos) un mini-ordenador dotado con software de Microsoft, se están produciendo las primeras reacciones en contra, como la de la Asociación Hispalinux, pero yo creo que hay más cosas que se deben tener en cuenta al margen del eterno debate entre tecnologías privativas y libres...

Sin duda, como bien señala Hispalinux, el panorama económico en España, con más de 4 millones de parados y con 1 millón de familias con todos sus miembros en el paro, no aconseja pagar ni un duro por unas funcionalidades informáticas que se pueden obtener gratis y menos, cuando sabemos que las soluciones libres disponibles están sobradamente validadas y probadas en algunas Comunidades Autónomas. Este es un hecho palmario que además, está contenido en la legislación española en la forma de los principios de economía, eficiencia y eficacia de una buena Administración, por lo que no me extenderé más en lo ya ha dicho Hispalinux al respecto.

Aunque hay muchos estudios que avalan que la entrega de un ordenador a cada niño puede mejorar sus resultados académicos, hay otros estudios y opiniones que dicen
todo lo contrario, opiniones, que además, se basan en la experiencia directa del profesorado. Creo que el truco está en no confundir la "Educación Asistida por Ordenador" (EAO), con la "Educación Basada en Ordenador" (EBO) y en especial, con el uso de ordenadores como el sustituto de los libros de texto tradicionales. Aunque algunos expertos sostengan que la EAO y la EBO son sinónimos, desde mi corta experiencia en el desarrollo de aplicaciones de e-learning libres a mi no me lo parece, pero puedo estar equivocado.

Puede que sea algo anticuado con casi mis 50 años de edad y que mi cerebro esté condicionado por largas horas de estudio bajo el flexo y rodeado de papeles, pero siempre me ha sido más sencillo estudiar con un libro, bolígrafo y papel, que leyendo directamente en la pantalla el ordenador. Aún manteniendo el omnipresente bolígrafo y papel junto al ordenador para hacer resúmenes, cálculos y tomar notas, las cosas se me han acabado poniendo cuesta arriba. No se si a otras personas le pasa lo mismo y yo soy un bicho raro camino de la tercera edad, pero incluso antes de caer en el infame pozo de la presbicia, leer en la pantalla del ordenador me cansaba mucho más que leer papel impreso y siempre, me ha sido mucho más sencillo encontrar lo que quería y moverme por la información en papel, que usando la rígida pantalla del ordenador. Espero que me perdonen los defensores del Amazonas por semejante confesión, pero sirva en mi descargo, que a lo largo de mi vida he intentado plantar tantos árboles como he podido y para su tranquilidad, sin conocer el número exacto de árboles plantados en este momento, creo que no han sido pocos.

Antonio Vaquero Sánchez, catedrático de Informática de la Universidad Complutense de Madrid, y anterior Presidente de
ADIE (Asociación para el desarrollo de la Informática Educativa), en una excelente conferencia pronunciada en los I Encuentros nacionales sobre las Nuevas Tecnologías en la Educación, hizo referencia a un estudio titulado "Scholl of Education" y que fue realizado por Universidad de Standford bajo los auspicios de la UNESCO. Dicho estudio reconocía la efectividad de la enseñanza asistida por ordenador (EAO), algo con lo que evidentemente estoy de acuerdo, pero también contenía otras conclusiones que me hacen pensar que la (EBO) no es tan positiva para la enseñanza y en especial, para la primaria. Hay que señalar, que las conclusiones de este estudio fueron usadas en su momento por algunas comunidades autónomas españolas, como base a su proyecto educativo basado en la informática y en las aplicaciones libres. Entre las conclusiones del citado estudio destacan:

a) Las sesiones de ejercicios basados en ordenador y de duración limitada, hacen aumentar el nivel de lectura comprensiva y matemáticas en la Enseñanza Primaria. Primera conclusión a favor de la EAO y en contra de la EBO.

b) La EAO convencional ha demostrado ser un complemento efectivo, más efectivo que cualquier otro método ensayado. Sin duda, algo muy interesante.

c) La EAO se ha demostrado más efectiva en los niveles superiores de Enseñanza Secundaria que en la Enseñanza Primaria. Otra interesante nota de atención que desaconseja implantar este sistema en la Enseñanza Primaria.

d) La EAO se muestra más eficaz cuanto más bajo es el nivel intelectual del alumno, de forma que funciona como sistema para equilibrar la enseñanza.

e) La EAO no se muestra mejor para alguna determinada materia y peor para otras. Supongo que esto depende de la calidad de los contenidos educativos, más que del medio de transmisión de los mismos.

f) Cuanto más larga es la duración de la enseñanza son menores los efectos positivos de la EAO. Creo que esta interesante conclusión del informe podría suponer la puntilla a la EBO. No es lo mismo usar la informática como herramienta de enseñanza, al tiempo que se usan otras herramientas y métodos, que usarla como único medio y soporte de la enseñanza. Esta conclusión creo que está en sintonía con mi percepción personal, en cierto modo negativa, del uso del ordenador como único medio para el estudio, o como sustituto de los libros de texto. Por otra parte, aquí hay una posible incongruencia en el planteamiento inicial ¿qué sentido tiene el uso de ordenadores en la Enseñanza Primaria, si luego no están presentes también en la Enseñanza Secundaria?.

Teniendo en cuenta lo anterior y sin decir que la entrega de un ordenador a cada niño de primaria sea una mala idea de antemano, creo que una decisión de tal envergadura y en un ambiente de profunda crisis económica a nivel internacional, es una decisión que se debería tomar con las cautelas y garantías necesarias y estando bien seguros de que no estamos dilapidando el erario público. Es evidente que las aplicaciones multimedia aplicadas a la enseñanza pueden abrir nuevas posibilidades, que se han demostrado muy positivas cuando se usan limitadamente en el ambiente de la EAO, pero también es cierto que estamos ante un campo nuevo y lleno de interrogantes, que es necesario intentar contestar antes de tomar las decisiones con implicaciones económicas, en especial, si consideramos que la EBO, o la Enseñanza Basada en Ordenador, es el último objetivo a alcanzar con este controvertido proyecto.

Hay que considerar además, que esta inversión no es para siempre. Los bienes informáticos tienen una vida muy corta en los tiempos que corren y siempre suponen gastos recurrentes en el tiempo, tanto para mantener el software como los sistemas, gastos que se multiplicarían por un impresionante factor de escala de 2,6 millones.

Finalmente, quiero dejar bien claro, que estoy de acuerdo y que defiendo sin ambages la modernización educativa a todos los niveles, así como la presencia de los ordenadores en la enseñanza, pero también mantengo, que las cosas hay que hacerlas con cabeza, estando seguros de que la solución es la que más nos conviene y maximizando los resultados.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."

Sinadura (y II): Uso y funcionamiento

  • Apr. 9th, 2009 at 10:38 PM
IBSN, blog, id




En memoria de mi madre, Silvia, 12-10-32 / 01-04-09.


Una vez que tengamos instalado Sinadura siguiendo las instrucciones
del artículo anterior, ya estamos listos para firmar nuestros documentos PDF usando este interesante programa, que entre otras cosas, nos permite usar tarjetas inteligentes, certificados de 2048 bits, enviar por correo los documentos firmados, incluir nubes de bits, realizar sellado de tiempos y otras muchas cosas más.




Comenzaremos por arrancar Sinadura, lo que lo podemos hacer a través del Menú Inicio, o mediante el acceso directo del escritorio. Una vez arrancado, introduciremos la contraseña maestra del programa.




Cuando arranquemos el programa por primera vez, lo primero que debemos hacer, es configurar nuestro almacén de firmas. Para ello, usaremos la secuencia de mandatos Herramientas | Configuración personal y en panel de la izquierda, haremos clic sobre Gestión de Certificados.




Para añadir un certificado, haremos clic sobre el botón Añadir. En el cuadro de diálogo que aparece en pantalla, escribiremos el nombre del usuario al que pertenece el certificado en la línea Nombre. Después, seleccionaremos la trayectoria en la que se encuentra el contenedor del certificado. Para ello, podemos usar el botón Examinar que aparece a la izquierda. Una vez seleccionado, escribiremos la contraseña que protege el certificado en dicho contenedor. Seguidamente, indicaremos el tipo de contenedor que estamos usando PKCS#12 (software), o PKCS#11 (tarjeta criptográfica). Como es lógico, si estamos usando un certificado en una tarjeta inteligente, para el contenedor del certificado, debemos indicar la trayectoria del archivo, .dll (windows) o .so (linux), a través del que tenemos acceso a nuestra tarjeta inteligente en nuestro sistema. Finalizaremos el proceso haciendo clic sobre el botón Aceptar.

En este punto debemos tener en cuenta que si hemos instalado el programa como root, todos los usuarios usaran la misma contraseña maestra, por lo que debemos borrar la contraseña de nuestros certificados, o desinstalarlos del programa antes de salir del programa, o de otro modo, otros usuarios podrían firmar a nuestro nombre. Por ello, en el artículo anterior recomendaba instalar el programa de forma individual para cada usuario, de forma que cada uno tuviera su contraseña maestra, su propio almacén de certificados y su propio directorio /resources en sus respectivas áreas de usuario.





Si tenemos instalados varios certificados o contenedores, la ventana de gestión de certificados, también nos permite seleccionar un almacén y un certificado por omisión, para agilizar la firma de documentos cuando usamos con frecuencia el mismo certificado. Asimismo, este interfaz nos permite borrar certificados, o editar las propiedades de cada uno de ellos. Si hemos modificado la contraseña, o hemos guardado nuestro certificado de software en una tarjeta inteligente, como por ejemplo, en una tarjeta Ceres, esta es nuestra opción. Para ello, solamente tenemos que hacer clic sobre el botón Modificar.

Antes de avanzar, vamos a ver el resto de las opciones de personalización que nos permite el programa. Si hacemos clic sobre la opción Firma del panel de la izquierda, nos aparecerá esta ventana de configuración, que es una de las más importantes del programa.




Este recuadro de diálogo controla la apariencia de la firma en el documento. Lo más importante que debemos saber, es que si deseamos que el documento se firme digitalmente, es indispensable marcar el la casilla de verificación Incluir sello de firma, puesto que las dos otras opciones, individual o conjuntamente, no introducen la firma digital en el documento aunque muestren información relacionada sobre el mismo.

La casilla de verificación Incluir PDF417, permite añadir una nube de bits con los datos de la firma. La posición de la nube de bits en el documento se controla mediante las líneas de entrada Margen izquierdo del PDF417 y Margen superior del PDF417, teniendo en cuenta que estos valores son milímetros que se miden de izquierda a derecha y de arriba hacia abajo. Es importante tener cuidado para que la nube de bits, o el sello visible, que veremos seguidamente, no tapen partes importantes del documento.





Si deseamos que la firma digital, en lugar de como firma digital invisible, aparezca en la forma de un sello gráfico sobre el documento, debemos marcar la casilla de verificación Firma visible. La apariencia de ese gráfico de la firma visible se controla mediante la línea de entrada Sello de firma. Si no nos gusta el que usa el programa por omisión, podemos crear uno propio, o seleccionar otro, haciendo clic sobre el botón Browse. Como en el caso de la nube de bits, también podemos controlar la posición de la Firma visible mediante las líneas de entrada Coordenada comienzo horizontal y Coordenada comienzo vertical y especificar unos valores de desplazamiento, también en milímetros.

 



Cuando no hemos seleccionado la opción Firma visible, para saber si el documento tiene firma digital o no, nos debemos fijar en el panel vertical de la izquierda de Acroread. Si aparece un gráfico de un folio con un bolígrafo firmando, es que el documento tiene firma digital y haciendo clic sobre él, podremos comprobar las propiedades de dicha firma. Recordemos que en el caso de PortableSigner, el documento firmado con firma invisible, mostraba una línea azul en la parte superior de la pantalla, que nos avisaba de que el documento estaba firmado digitalmente, algo que de alguna forma nos facilitaba el trabajo. En este caso no es así, si no usamos la opción de Firma visible, la mejor forma de saber si el documento PDF está firmado digitalmente, es comprobando si aparece el folio con el bolígrafo en el panel de la izquierda, por lo que es algo que se debe comprobar siempre, cuando trabajamos con documentos en PDF.

La siguiente imagen nos muestra un documento con firma digital visible, que además, por estar configurado Acroread con los certificados raíz correspondientes, nos aparece como firma válida.





Asimismo, podemos configurar Sinadura para que envíe los documentos mediante correo electrónico, para lo que deberemos seleccionar la casilla de verificación Enviar email y configurar el recuadro de diálogo Email, que veremos más adelante.

Hay que recordar, que el directorio /resources que aparece por omisión en la instalación en la línea Directorio de destino, se deberá cambiar por uno adecuado y será el directorio en el que se almacenarán los documentos firmados. Para seleccionar un directorio de destino, lo podemos escribir directamente en la línea de entrada, o hacer clic sobre el botón Browse y seleccionar uno en nuestro sistema. Finalmente, en la línea Sufijo del nombre, podemos configurar los caracteres que se añadirán al nombre original del PDF para indicar que el archivo está firmado, caracteres que por omisión son "-signed".

Una vez que hayamos configurado estos datos, podemos hacer clic sobre el botón Apply. Si recordamos cuando hablábamos
sobre PortableSigner, el firmante puede decir el motivo por el que firma el documento (por ejemplo, soy el autor, o estoy de acuerdo con su contenido del documento) y también, puede especificar el lugar de la firma como (notaría de la calle Mayor de Ciempozuelos, o mi casa en Madrid). Para ello, haremos clic sobre el triángulo, o sobre la flecha de pequeño tamaño, que aparece a la izquierda de la opción Firma, con lo que nos aparecerá en el menú la opción Apariencia. Si hacemos clic sobre ella, nos aparece otra ventana con los recuadros de texto Razón y Localización, que por omisión, contienen una información que poco tiene que ver con los motivos y el lugar de la firma. Después de rellenar los campos con la información adecuada, haremos clic sobre el botón Apply.




Si deseamos que Sinadura envíe de forma automática los documentos firmados por correo electrónico, lo que puede ser muy útil para facturación electrónica, debemos configurar el servidor de correo, introduciendo el nombre del host, el usuario, la contraseña de salida y el cifrado TLS, si es usado por el servidor, así como otros datos relativos al remitente y el destinatario de los documentos, todo ello, usando la ventana Email. Una vez configurados estos datos, haremos clic sobre Apply.





Como ya hemos visto la ventana Gestión de certificados, no insistiremos más en ella, solamente recordaremos que nos permite introducir varios certificados, modificar sus propiedades, o borrarlos. Hay que señalar, que el programa Sinadura no permite modificar las contraseñas que protegen a los certificados en sus contenedores, ni otros parámetros del certificado, lo que permite, es adaptarse a los cambios que realicemos en los contenedores, como especificar una contraseña nueva, si se hubiera cambiado con algún programa que sí lo permita, o cambiar el tipo de contenedor, se hubiera exportado el certificado a un contenedor de hardware.

La ventana Sellado de tiempo es importante y requiere algo de atención si queremos que funcione adecuadamente. Para el sellado de tiempos se utiliza un servidor externo de tiempos, que por omisión, es
http://ocsp.izenpe.com y que usa el puerto 8093. Para que funcione adecuadamente, son necesarias varias cosas:
 
a) Que tengamos acceso a Internet
b) Que el servidor se encuentre disponible
c) Que nuestro router y cortafuegos nos permita el acceso al puerto que usa el servidor de sellado de tiempos, en este caso, el 8093.

Si seleccionamos la casilla de verificación Habilitar sellado de tiempo y fallase cualquiera de los puntos anteriores, el programa no realizará la firma de tiempos, pero tampoco usará por omisión la fecha y hora de del ordenador del usuario, por lo que no firmará el documento y mostrará en el recuadro de mensajes de Sinadura en color rojo, el mensaje de error: "El documento /home/usuario/sinadura/resources/prueba.pdf no se ha firmado. (Connection Error ocsp.izenpe.com)".

Asimismo, para poder validar la fecha y la hora, será necesario instalar en Acroread el certificado raíz de la entidad que nos proporciona el sellado de tiempos. La ventaja del sellado de tiempos externo, es que hay un tercero de confianza que certifica que el documento fue firmado a una hora y fechas determinadas, algo que se podría falsear con facilidad, desactivando el sellado de tiempos de Sinadura y modificando la fecha y hora del ordenador del usuario antes de firmar un documento. Una vez finalizada la configuración de las opciones de esta ventana, haremos clic sobre el botón Apply.

En todo caso, para evitar problemas, tras firmar cualquier documento con un sellado de tiempos externo, es conveniente comprobar que se ha realizado adecuadamente. Para ello, haremos clic sobre el papel con el bolígrafo que aparece en el panel de la izquierda y comprobaremos que el sellado de tiempos es correcto. Como es lógico, si no tenemos el ordenador conectado a Internet, la única opción, es usar la fecha y hora de nuestro ordenador, para lo que es conveniente mantenerla actualizada mediante algún servidor NTP.





La última ventana de configuración del programa es muy simple y nos permite modificar el idioma de la interfaz de usuario. Modificados estos datos, pulsaremos el botón Ok y estaremos listos para firmar nuestro primer documento PDF.

El procedimiento de firma es muy sencillo, primero, haremos clic sobre el botón Añadir archivo que nos aparece el la parte superior derecha de la interfaz de usuario de Sinadura. Si queremos firmar varios documentos, lo que es útil, por ejemplo, para firmar todas las facturas emitidas en un día, deberíamos usar el botón Añadir directorio.

Una vez que hemos seleccionado el archivo que deseamos firmar, el programa nos recordará que tenemos que introducir la tarjeta para el certificado por omisión, lo que evidentemente, no tiene mucho sentido si estamos usando un certificado software PKCS#12. Para continuar haremos clic sobre el botón Aceptar.


 


Si deseamos modificar cualquiera de los parámetros de firma que establecimos por omisión en su momento, o si deseamos cambiar el certificado con el que se firmará el documento, por otro distinto al que hemos establecido por omisión, haremos clic sobre el trabajo de firma y haremos clic sobre el botón Modificar.




Después de hacer clic sobre el botón Aceptar, ya estamos listos para firmar nuestro archivo, o archivos. Para ello, bastará con hacer clic sobre el botón Firmar archivos que aparece en la parte inferior central de la interfaz de usuario de Sinadura. Tras unos instantes y si no aparece ningún error en rojo en el recuadro de mensajes de Sinadura, se podrá leer el mensaje: "Firma de documentos finalizada."

Recordemos que los documentos firmados tendrán el sufijo y estarán en el directorio que establecimos en su momento mediante las opciones del panel Firma de Herramientas | Configuración personal. Es importante no equivocarse, los documentos firmados, al margen del sufijo, tendrán el mismo nombre que el original sin firmar, no se borrarán en el proceso de firma y aparecerán en el directorio de destino seleccionado, con el sufijo "-signed", por ejemplo, el archivo prueba.pdf, nos aparecerá firmado como prueba-signed.pdf.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id



Después de revisar la instalación y uso de
PortableSigner, ahora revisaremos la aplicación Sinadura, que es “made in Spain”. Sinadura nació como un proyecto libre, con la intención de proporcionar un servicio multiplataforma para la generación de facturas electrónicas mediante firma digital de archivos en formato PDF, algo que sin duda es muy interesante.

En relación con PortableSigner, podemos decir que Sinadura muestra una serie de capacidades, que nos puede llevar a considerar que en este momento estos dos programas pueden ser complementarios y por lo tanto, puede ser interesante mantener instalados los dos al mismo tiempo.

En primer lugar, Sinadura nos permite usar certificados digitales en contenedor PKCS#11 (certificados digitales en tarjeta inteligente), o certificados digitales en contenedor PKCS#12 (certificados de software), tanto de 1024 bits, como de 2048 bits. Asimismo, Sinadura permite usar firma visible (sello de firma) o invisible, así como la impresión de una nube de bits en formato PDF417, funciones que no soportadas por PortableSigner. La última opción, es decir, la de la nube de bits en formato PDF417, aunque no es demasiado utilizada, nos permitiría imprimir en papel los datos de la factura, así como su firma digital, eliminando así, a cambio de disponer de un lector óptico adecuado, la obligación de mantener almacenadas las facturas en formato electrónico, tal como establece la Ley.

Sin embargo, esta versión de Sinadura no soporta la interesante firma múltiple concurrente, que sí nos permitía PortableSigner. Según me han informado los responsables del proyecto, se piensa añadir esta casi imprescindible funcionalidad, en futuras versiones de la aplicación, así como la interesante capacidad de comprobar firmas digitales en documentos PDF, lo que evitaría tener que instalar y utilizar Acroread, que aunque es gratis, no es libre.


Después de una serie de problemas con la instalación y con la puesta en funcionamiento de la versión 1.3.0, me puse en contacto son los desarrolladores del programa y en base a los problemas observados, han creado la versión 1.3.1 que corrige algunos de ellos, pero no todos, que quedarán pendientes para versiones posteriores.


Para instalar el programa, lo primero que tenemos que tener instalado es el entorno Java, para ello, si no lo hemos hecho antes, deberemos seguir las instrucciones que encontraremos en el artículo
PortableSigner (I): Instalación de Java en Linux. Como veremos, el proceso de instalación mediante el instalador jar de Sinadura, es casi idéntico al de PortableSigner.

a) Comenzaremos por descargar la última versión de Sinadura, que ahora es la 1.3.1, desde la
página oficial de descargas. Como veremos, hay opciones para varias plataformas. En mi caso utilizaré el archivo instalador Java (.jar) para sistemas Unix de 32 bits, es decir, el archivo sinaduraDesktop-1.3.1-unix32-install.jar . Después de hacer clic sobre el archivo, lo almacenaremos en un directorio de nuestro sistema. Hay que señalar, que es recomendable instalar este programa de forma individual para cada usuario, puesto que todavía tiene algunos errores que complican la instalación como root. Sin embargo y a pesar de ello, en este articulo veremos la forma de instalarlo como root, por ser la situación más complicada.

b) Ahora, abriremos una consola como root y configuraremos el entorno de Java, si no lo tuviéramos ya configurado para dicho usuariot. Para ello, usaremos en la consola la siguiente secuencia de mandatos, o aquellos que correspondan en función a nuestra versión de Java y el directorio de instalación. Como es lógico, tras escribir cada una de las líneas, tendremos que pulsar la tecla Enter:

export PATH=/usr/java/jre1.6.0_12/bin:$PATH
JAVA_HOME="/usr/java/jre1.6.0_12/"
export JAVA_HOME


c) Hecho esto, ya podemos proceder a arrancar el instalador de Sinadura, para lo que nos situaremos en el directorio en el que lo hemos guardado antes y usaremos el mandato:

java -jar sinaduraDesktop-1.3.1-unix32-install.jar

Al poco tiempo, si tenemos Java correctamente configurado en nuestro sistema para el usuario root, se abrirá el entorno gráfico de instalación de Sinadura, que como hemos dicho, es muy similar al de PortableSigner. Veamos paso a paso este proceso:

1) La primera ventana nos solicitará el idioma de instalación. En ella seleccionaremos Castellano [SPA], seguido de un clic sobre el botón "Ok". Una ventaja frente a PortableSigner, que solamente permitía el inglés y el alemán.



2) La siguiente ventana, nos hace una presentación del programa que vamos a instalar, informándonos sobre sus autores y sobre la página web del proyecto. Simplemente tenemos que hacer clic sobre el botón “Siguiente”.



3) Después, el instalador nos preguntará por el directorio de instalación para el programa. No hay problema para dejar el que nos sale por omisión en la ventana, que es /usr/local/sinadura, por lo que bastará con que hagamos clic sobre el botón “Siguiente” que aparece en la parte inferior de la pantalla. En caso de que queramos instalarlo en otro directorio, solamente tendremos que pulsar el botón "Escoger" y elegir el que deseemos.



4) Si el directorio elegido ya existiera, el programa nos avisará de este hecho. Asimismo, si el directorio no existe, el programa también nos solicitará permiso para su creación, a lo que contestaremos con la pulsación del ratón sobre el botón "Ok".




5) En la siguiente ventana, es necesario asegurarse que está seleccionada la opción “sinadura”. Como en las ventanas anteriores, continuaremos la instalación haciendo clic sobre el botón "Siguiente".





6) Después del último clic sobre el botón "Siguiente" y durante unos breves segundos, nos aparecerá una ventana con dos barras de progreso, que nos indicarán que se está realizando la instalación en el sistema, y tras finalizar, lo que se indica con el mensaje [Instalación completada] en la barra superior, solamente tendremos que hacer clic sobre el botón "Siguiente" para continuar.




7) Finalmente, el programa nos pide que confirmemos algunas opciones de la instalación relacionadas con el entorno. Recomiendo seleccionar las que aparecen en la imagen, como siempre, para continuar, después de seleccionar las opciones deseadas, deberemos hacer clic sobre el botón "Siguiente". Puede que las opciones más interesantes son las de "Crear accesos directos en el menú inicio" y "Todos los usuarios", que es la que permite que el programa sea usado por todos los usuarios del sistema, opción obligatoria si se está haciendo la instalación como root. Estas opciones no funcionan muy bien cuando la instalación se hace como usuario distinto de root, al menos en mi Mandriva. Posteriormente veremos la forma de solucionar este problema de instalación.




8) La última ventana que nos aparece en pantalla, nos debería indicar con una gran “V” de verificación de color verde, que la instalación se ha completado con éxito y que hay un programa de desinstalación, denominado Uninstaller, en el directorio /usr/local/sinadura, lo que debemos tener en cuenta, si queremos eliminar esta aplicación posteriormente. Para finalizar, solamente tendremos que hacer clic sobre el botón "Hecho".





Aunque la versión 1.3.1 corrige algunos de los problemas de instalación de la versión 1.3.0, desgraciadamente, como he dicho, dado el poco tiempo disponible, no los corrige todos y el programa así instalado, no funcionará adecuadamente. Vuelvo a señalar, que por lo que he usado el programa, desde el punto de vista de la firma digital, tanto la versión 1.3.0, como la 1.3.1, funcionan adecuadamente, por lo que lo que habrá que depurar para el futuro, es la instalación. Tanto la instalación como root o como usuario distinto de root, tienen problemas específicos. Para solucionar estos problemas, cuando lo instalamos el programa como root necesitamos estos pasos adicionales:

a) Primero, cambiaremos los permisos del directorio resources, que ha de ser compartido por todos los usuarios en lectura y escritura. Desde una consola como usuario root, escribiremos el siguiente mandato seguido de la pulsación de la tecla Enter. Este paso no es necesario cuando instalamos el programa como un usuario distinto de root:

chmod -R /usr/local/sinadura/resources

b) Seguidamente, crearemos un directorio de trabajo en el área personal de cada usuario. Para ello, abriremos una consola como el usuario que desea usar el programa y usaremos el siguiente mandato seguido de Enter. Este paso no es necesario cuando lo instalamos como un usuario distinto de root:

mkdir /home/usuario/sinadura


c) Hecho esto, ya podemos arrancar el programa, para ello, usaremos la secuencia de mandatos Menú Inicio | Officina | Sinadura – Firma Digital (ver la nota final para la instalación del programa como usuarios distintos de root):




d) Tras unos segundos, arrancará el programa y lo primero que nos solicitará, es una contraseña maestra para la aplicación, la introduciremos y haremos clic sobre el botón Aceptar.


Dicha contraseña la deberemos usar cada vez que deseemos usar el programa. Si hemos instalado el programa como root, esta contraseña se guardará en el área común /usr/local/sinadura/resources, por lo que esta es la contraseña que deberían usar todos los usuarios para poder usar el programa. Sin duda, un problema de "revelación" de secretos.

Lo ideal sería que el programa generase un directorio resources para cada uno de los usuarios en su directorios home y de esta forma, que cada uno pudiera tener su propia contraseña y su almacén de certificados específico. La solución para este problema, como se ha dicho antes, sería instalar el programa individualmente para cada usuario, en lugar de hacerlo como root. De esta forma, el programa funciona de forma independiente para cada usuario y generará un directorio resources propio e individual, aunque esta opción, tampoco está exenta un pequeño problema, que resolveremos más adelante.




f) Finalmente, seleccionaremos la secuencia de mandatos Herramientas | Configuración personal y en la ventana que aparece, haremos clic sobre el botón Browse que hay a la derecha de la opción Directorio de destino. Al hacerlo, el programa nos mostrará un mensaje de error ya que el directorio que aparece por omisión no existe. Este paso es muy importante, puesto que si no lo hacemos, el programa no podrá firmar ya que no podrá almacenar los archivos firmados.

Para continuar, haremos clic sobre el botón Aceptar. Seguidamente, seleccionaremos el directorio /home/usuario/sinadura, que hemos creado antes, o que ya debe existir, si hemos instalado el programa como un usuario distinto de root. En este directorio aparecerán los archivos PDF firmados. Como es lógico, tendremos que cambiar el usuario, por el nombre de usuario adecuado. Tras seleccionar el directorio que deseamos usar, pulsaremos el botón Aceptar, seguido de Apply y Ok.



g) Para salir de la aplicación, haremos clic sobre el aspa que aparece en la parte superior derecha de la ventana, o seleccionaremos la secuencia de mandatos Archivo | Salir.

Con todo lo anterior, ya tenemos instalado y configurado Sinadura, quedando a falta de instalar los certificados de usuario, para poder empezar a firmar documentos PDF. En la siguiente y última entrega de esta serie dedicada a Sinadura, veremos la forma de utilizarlo.



Nota para instalaciones como usuario distinto de root:

Si se instala el programa como un usuario distinto de root, el programa de instalación no genera el acceso directo en el menú Inicio, al menos, en mi sistema Mandriva basado en KDE. Si en nuestro sistema pasa lo mismo y estamos usando el KDE, una vez que hemos entrado en el sistema como un usuario normal, haremos clic con el botón derecho del ratón sobre el escritorio y seleccionaremos la secuencia de mandatos Crear nuevo | Enlace a aplicación.

En la pestaña "General" haremos clic sobre el icono de la parte superior izquierda, seleccionaremos la marca de verificación Otros iconos y haremos clic sobre el botón Examinar. Debemos seleccionar el icono sinadura48.png, que encontraremos en el directorio /home/usuario/sinadura/resources/images y haremos clic sobre el botón Abrir. Seguidamente, escribiremos Sinadura en la línea de entrada de texto de esa misma pestaña.

Después, seleccionaremos la pestaña "Aplicación" y escribiremos Sinadura en las dos líneas de entrada de texto, Descripción y Comentario y escribiremos la cadena '/home/fernando/sinadura/sinadura/bin', incluidas las comillas simples, en la línea de entrada Orden. Para finalizar, haremos clic sobre el botón Aceptar. Ahora cuando hagamos doble clic sobre ese icono en el escritorio del KDE, arrancará el programa y nos aparecerá su interfaz de usuario que hemos visto antes.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"



"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id




Tras
este artículo dedicado a la piratería del software, veo con satisfacción esta noticia, que recomiendo leer. En ella se comenta que el CENATIC, participará en la campaña 100% software legal del Ministerio de Industria, Turismo y Comercio. El objetivo, es reafirmar que el Software Libre y de Fuentes Abiertas es totalmente legal y que también cuenta con una serie de licencias que han de ser respetadas.

Así que debéis recordad siempre que el Software Libre es 100% Legal, os lo podéis descargar de Internet, usarlo y copiarlo, por lo que no es lógico recurrir al software pirata, cuando puedes solucionar tus necesidades con Software Libre.

No te compliques la vida, usa Software Libre.

"Copyleft 2009 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."

La mano que mece la cuna...

  • Mar. 19th, 2009 at 7:22 PM
IBSN, blog, id





Parece que Intenet está revuelta en toda Europa y España, como parte de Europa que es, tampoco es una excepción. Ayer se publicó en Kriptópolis
un artículo, en la que se relacionaba el procedimiento para darse de un operador de telecomunicaciones, en caso de que se pactase en España, al más puro estilo francés, la limitación, o el control, de las tecnologías P2P. Como consecuencia, hay muchos que argumentan que con ello, se podrían producir bajas masivas de líneas ADSL, o como poco, cambios de operador. Es curioso, que durante mucho tiempo se ha usado el argumento de la velocidad de las descargas como incentivo para las ventas de líneas ADSL y ahora las operadoras pueden renegar de ello. Parece lógico por lo tanto, que si el usuario fue convencido para contratar una línea ADSL mediante el argumento de poder realizar descargas de cualquier tipo y a una mayor velocidad, de aprobarse una limitación a las descargas P2P, se sienta "engañado" y quiera darse de baja de un servicio que ya no cumple con sus expectativas. La revolución de la "blogocosa" está en marcha, y como argumento de "ventas" para la campaña de las bajas masivas, incluso se ha publicado un curioso vídeo, con las opiniones vertidas por los internautas en Twitter al respecto. Limitación del P2P, que todo hay que decirlo, cada día se ve más cercana y cierta.

Pero éste es un problema que se venía venir de lejos, no es de ahora, de hecho, en los últimos años se han producido una serie de hechos que han movilizado a la comunidad de Internet y a los agentes sociales en defensa de sus derechos. Desgraciadamente, no todos estos esfuerzos han tenido éxito.

El primero, fue el intento de aprobar en la LISI (Ley de Impulso de la Sociedad de la Información) el tristemente famoso artículo 17bis, que afortunadamente fue retirado, no sin la activa participación de la sociedad en el debate, por el Ministro Montilla. Pero como hemos dicho, la movilización social no siempre ha tenido, éxito, como por ejemplo, cuando se entregaron más de 2 millones de firmas contra el "Canon" digital y que como todos sabemos, no tuvieron el más mínimo efecto. Al final, como se temía, se implantó un injusto sistema de compensación por copia privada, que grava con un "tributo" el moderno papiro de la civilización actual, el soporte para la información digital. Desde discos duros, a memorias flash, pasando por teléfonos móviles y PDA's, casi todo lo que almacene un bit de información, además de los consabidos "cederrones" y "deuvedés", todo tiene que pagar el "tributo" con independencia del uso real que se haga de ello, algo a todas luces injusto.

También ha habido otros problemas, como la arbitraria limitación a los Ayuntamientos para poner accesos WIFI gratuitos, la acusada asimetría, los elevados precios y las reducidas velocidades de las líneas ADSL españolas, la retención de datos de Internet, la criminalización de la tecnología, la consideración del acceso a Internet de banda ancha como servicio universal, la retirada de la normativa regulatoria de la banda ancha, las líneas de más de 30 Mb/s, el tratamiento de las obras sujetas a derechos de autor en Internet, con cuestionadas campañas pagadas por todos los españoles y otras tantas otras cosas, que nos han afectado en los últimos meses y que de algún modo, han creado indignación, alarma o incluso, activas movilizaciones sociales.

Buscando información sobre todos estos asuntos en Internet, me encontrado en la Web de la Asociación de Internautas, una reciente, interesante y escandalosa carta abierta al Ministro de Industria Turismo y Comercio, el Sr Sebastián, de la que recomiendo encarecidamente su lectura y que se está propagando por Internet como una mancha de aceite. Dicha carta, además de denunciar la precaria situación de la Internet española, algo que no nos es ajeno y de los derechos de los Internautas en esta piel de toro, tema debatido hasta la saciedad, muestra sin fisuras ni ambages, el nombre de la persona que hay detrás de "la mano que mece la cuna", es decir, de la persona que en teoría, está detrás de casi todos estos hechos que me preocuparon y que me preocupan en relación con el desarrollo y consolidación de la Sociedad del Conocimiento en España. Lo que más me llama la atención, es que si estos hechos son ciertos y ocurrieron en contra de las declaraciones y promesas de los propios ministros del ramo, nunca tuvieran consecuencias políticas para el responsable, o responsables, de los mismos.

He de reconocer, que leyendo la carta se me han abierto los ojos y he llegado a comprender muchas cosas sobre las antes que no encontraba una adecuada relación causa-efecto. Tampoco he podido evitar, que durante su lectura me viniera a la cabeza el contenido de la excelente y reciente conferencia de D. Carlos Sánchez Almeida, titulada "Resistencia digital y derechos humanos", conferencia que ahora se me antoja como una inspiración. Supongo que a muchos de vosotros os pasará lo mismo.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."

Rotando la imagen de una webcam en Linux

  • Mar. 16th, 2009 at 7:57 PM
IBSN, blog, id




Cuando compré mi ordenador Packard Bell EASYNOTE BG46-T-001 Limited Edition y le instalé Mandriva 2008.1, comprobé que la webcam que incorpora, la USB 2.0 3.1 M UVC Webcam Chicony Sonix 213, aunque está perfectamente soportada por el controlador uvcvideo, tenía la fea costumbre de mostrar las imágenes al revés, es decir, boca abajo, lo que mareaba un poco. Tras consultar la página del controlador, me encontré este texto tan descorazonador en relación a este dispositivo de hardware:

"This camera module is known to be mounted upside-down in some notebooks. There is currently no documented way to rotate the image at the device level. If you don't mind holding your computer upside-down, the camera should work fine."



 

Como no creo que sea una buena idea mantener el ordenador boca abajo para que las cosas funcionen, pensé en buscar alguna solución. Otra, quizás más drástica, podría ser desmontar el ordenador y darle la vuelta a la cámara, pero eso invalida garantías y no cabe la menor duda, de que también tiene sus riesgos.

Como cabía esperar, con Windows no hay problema, ya que se puede hacer que la cámara muestre las imágenes adecuadamente. Sin embargo, con Linux, ni el controlador, ni la librería libv4l, ni la aplicación, permiten rotar la imagen. ¿Presiones del fabricante?.

Como es un problema que afecta a otros usuarios, así como a otros modelos de webcam, hay bastante debate en Internet sobre la posibilidad de que los controladores, las librerías o las aplicaciones Linux, soporten la posibilidad de rotar la imagen, horizontal o verticalmente, es decir “vflip” o “hflip”. Aquí hay algunos ejemplos de lo que digo:

  1. [M560x-driver-devel] hflip, vflip added to the po1030 [ENG].
  2. libv4l and HFLIP / VFLIP again: msg#00214 [ENG].
  3. [Linux-uvc-devel] vflip & hflip options for uvcvideo [ENG].

Como se puede ver, el tratamiento por parte de los desarrolladores de este problema es muy variado. Mientras que algunos no ven ningún problema para añadir el soporte para “vflip” y “hflip” en el módulo del kernel que soporta el dispositivo, otros, como los desarrolladores de uvcvideo, consideran que el soporte deber añadirse en la capa de abstracción, es decir, en las librerías libv4l, pero para ello es necesario que se pasen una serie de parámetros desde el controlador a las librerías, por ejemplo, indicando la posición de la cámara, lo que implica coordinación entre los dos desarrollos, así como otros problemas relacionados con el hardware que puede que tengan una solución más complicada.

El caso es que unos por otros y la casa por barrer, por lo que mi webcam, que usa el controlador uvcvideo, no tiene soporte para “vflip” y “hflip” y por lo que parece, tampoco lo va a tener durante algún tiempo presumiblemente largo. A pesar de lo que me afecta, he de reconocer, que veo lógica la postura algo purista de los desarrolladores de uvcvideo, ya que si se añade capacidad de proceso de gráficos al módulo, estamos añadiendo procesos adicionales al kernel y por lo tanto, ralentizando el sistema y al mismo tiempo, se pueden añadir bugs que pueden ser críticos, pero eso no soluciona mi problema, por lo que estoy dispuesto a modificar el código del módulo, si es necesario.

Una de las cosas buenas que tiene el software libre, es que cuando alguien un problema y dispone de los conocimientos adecuados, puede intentar resolverlo y si tiene éxito, publicar la solución sin ningún tipo de trabas o limitaciones. Dicho y hecho, tras publicar
este artículo contando mis peripecias con este juguete de Packard Bell y la instalación de Linux en él, Andor me envió un enlace a los foros de Ubuntu, que me ha permitido solucionar el problema y ahora, la salida de la webcam se ve adecuadamente con mi Mandriva 2008.1.

Como he podido ver en los foros de Mandriva, ninguno de los usuarios que habían informado del problema lo había logrado solucionar y ello, a pesar de excelentes instrucciones del foro de Ubuntu. Por este motivo, he considerado interesante publicar la forma en la que lo he logrado, aunque también es cierto, que aporto poco al proceso. La idea es aclarar las cosas, para que lo puedan lograr otros usuarios que antes no habían podido hacerlo. Para ello, me he basado en el procedimiento del
foro de Ubuntu, en lo que cuenta el usuario romo1987, en el foro de Mandriva (que al final, casi lo logra) y en mi propia experiencia.

He de decir, que este procedimiento debe servir, con pequeñas modificaciones, para cualquier usuario que disponga de una webcam que utilice el controlador uvcvídeo, con independencia de la distribución que use. También hay que tener en cuenta, que los parches solamente se pueden aplicar directamente a la versión 0.1.0 del controlador, que es la que está en este momento disponible a través de Subversion. En otros casos, es posible que se tengan que aplicar los parches a mano, lo que puede ser complicado y propenso a errores.

Lo primero que tenemos que hacer, es comprobar que nuestra webcam usa el módulo uvcvideo. Para ello, podemos seguir el procedimiento que se indica en el foro de Ubuntu, que es el siguiente:

1) Primero, abriremos una consola como root y escribiremos el siguiente mandato seguido de la pulsación de la tecla Enter:

lsusb

Con ello, debemos obtener algo parecido a esto:

Bus 002 Device 001: ID 0000:0000
Bus 002 Device 002: ID 04f2:b012 Chicony Electronics Co., Ltd
Bus 001 Device 001: ID 0000:0000


2) Como se puede ver, mi webcam tiene como identificador 04f2:b012.

Por lo tanto, ahora debemos utilizar el siguiente mandato, seguido de la tecla Enter:

lsusb -d 04f2:b012 -v | grep "14 Video"

Si nuestra cámara es compatible con el controlador uvcvideo, obtendremos algo parecido a esto:

bFunctionClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video


Si no nos aparece, es que nuestra cámara usa otro controlador específico y por lo tanto no es compatible con el protocolo o estándar UVC. Pero hay que tener en cuenta que algunos controladores sí soportan “vflip” y “hflip”, por lo que habrá que consultar sus páginas de desarrollo respectivas antes de dar la batalla por perdida.

Una forma más sencilla de comprobar si nuestra cámara usa el controlador uvcvideo en Mandriva es mediante el icono “Configurar su computadora”, del menú Inicio del KDE. Una vez abierto el Centro de Control de Mandriva, usaremos la secuencia de mandatos Hardware | Examinar y configurar el hardware y en la ventana que nos aparece, buscaremos nuestra webcam en el panel de la izquierda y haremos clic sobre ella. Después de lo anterior, en el panel de de la derecha y en la parte inferior del mismo, nos debe aparecer algo parecido a esto:

Varios
Módulo: ‎uvcvideo
Lo que nos indica que nuestra webcam está usando el controlador uvcvideo para funcionar.

Antes de comenzar con la instalación, es necesario preparar el sistema para poder compilar el módulo, para ello, instalaremos las fuentes del kernel que tengamos instalado en el sistema (en mi caso, se trata del paquete “kernel-laptop-devel-2.6.24.7-2mnb”), así como todas las herramientas de desarrollo necesarias para poder compilar el kernel, así como el paquete con las cabeceras del kernel, que en mi caso es “kernel-headers-2.6.24-6mnb1.i586”, así como todas las posibles dependencias de estos paquetes. Una vez que tenemos preparado el sistema, comenzaremos este procedimiento, que veremos paso a paso:

1) Primero, instalaremos Subversion, que es el paquete de control de versiones que necesitaremos para bajarnos las últimas fuentes del repositorio oficial del proyecto. Para ello, abriremos una consola como root y usaremos el mandato siguiente, seguido de la pulsación de la tecla Enter:

urpmi subversion

2) Ahora instalaremos las fuentes, que deberían acabar en el directorio /home/usuario/trunk, para ello, usaremos el mandato siguiente, seguido de Enter.

svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk

Al finalizar, debemos comprobar que la Revisión obtenida desde el repositorio oficial, es la 263, lo que nos garantizará que es compatible con los parches que hay disponibles, es decir, que se trata de la versión 0.1.0 del módulo.

3) Seguidamente nos bajaremos el parche que necesitamos, que dependerá de que si además de que la imagen se vea boca abajo, se ve de forma especular o no. En el foro de Ubuntu hay dos soluciones para cada problema. Yo he utilizado la segunda opción “no mirrored”. Para bajarse los parches, será necesario darse de alta previamente en los foros de Ubuntu. Hay que señalar, que también he probado a copiar y pegar en un archivo de texto los parches, pero me ha fallado el procedimiento cuando he intentado aplicarlos, por lo que lo mejor es descargarlos. Los enlaces a estos archivos son los siguientes:


Una vez descargado el parche adecuado a nuestro problema, lo copiaremos al directorio en el que se encuentran las fuentes del módulo, que en mi caso es /home/usuario/trunk, cambiando usuario por el nombre del usuario desde el que se realiza la instalación. Por si alguien le interesa, yo he usado la solución dos, sin imagen especular y me ha funcionado sin problemas.

4) El siguiente paso es aplicar el parche, para ello y siempre como root, iremos al directorio de las fuentes mediante cd /home/usuario/trunk y usaremos el siguiente mandato, seguido de Enter.

patch < parche.txt

Como es lógico, tenemos que cambiar parche.txt  por el nombre del parche que deseamos aplicar, así como usuario, por el nombre de usuario que estemos usando para la instalación. Tras aplicar el parche con éxito, nos debe aparecer algo parecido a esto:

Hunk #1 succeeded at 424 (offset 53 lines).


5) Con lo anterior, ya hemos hecho lo más complicado, ahora lo que nos queda es compilar, comprimir el módulo e instalarlo adecuadamente. Para compilar el módulo debemos usar el siguiente mandato, seguido de la pulsación de la tecla Enter, siempre desde el directorio de las fuentes del módulo y como root.

make uvcvideo

Una vez compilado el módulo y si todo ha funcionado adecuadamente, nos debe aparecer un archivo uvcvideo.ko en el directorio de las fuentes, en mi caso, /home/usuario/trunk. Ahora lo lógico sería hacer make install para instalar el módulo, pero en su lugar, seguiremos el procedimiento que sigue a continuación y que se corresponde a mi aportación.

6) Comenzaremos por comprimir el módulo.Para ello, desde el mismo directorio desde el que lo hemos compilado y como root, usaremos el mandato siguiente, seguido de la pulsación de Enter.

gzip uvcvideo.ko

De esta forma, tendremos en el directorio de las fuentes de uvcvideo, un flamante módulo denominado uvcvideo.ko.gz, parcheado, compilado, comprimido y listo para instalar.

7) Para buscar el lugar en el que se encuentra el módulo antiguo que deseamos sustituir por el nuevo, podemos usar el siguiente mandato, seguido de la pulsación de la tecla Enter.

find /lib/modules/2.6.24.7-laptop-2mnb/ -name uvcvideo.ko.gz

Como es lógico, este mandato se deberá adaptar al nombre del kernel que estemos usando en nuestro sistema. El módulo original, en mi caso, el módulo antiguo se encontraba en el directorio /lib/modules/ 2.6.24.7-laptop-2mnb/kernel/3rdparty/uvc/.

8) Antes de proceder a copiar el módulo que acabamos de crear a su destino definitivo, es conveniente descargar de memoria el módulo antiguo, para ello, usaremos como root el mandato siguiente, seguido de la tecla Enter.

modprobe -r uvcvideo

9) Ahora es conveniente, en lugar de borrar o sobrescribir el módulo antiguo, renombrarlo, para ello, haremos lo siguiente, siempre como root:

a) Iremos al directorio donde está el módulo antiguo, en el que en mi caso y como hemos dicho antes, se encontraba en el directorio, /lib/modules/ 2.6.24.7-laptop-2mnb/kernel/3rdparty/uvc/ y que deberemos adaptar adecuadamente a nuestra instalación. Para ello, usaremos un mandato similar al siguiente, seguido de la tecla enter Enter:

cd /lib/modules/ 2.6.24.7-laptop-2mnb/kernel/3rdparty/uvc/

b) Ahora renombraremos el modulo mediante el siguiente mandato, seguido de la tecla Enter.


mv uvcvideo.ko.gz uvcvideo.ko.gz.bak


10) El siguiente paso, es copiar el módulo que hemos creado, desde el directorio de compilación, al directorio adecuado de los módulos del kernel. Para ello, usaremos el siguiente mandato, seguido de la tecla Enter.


cp /home/usuario/trunk/uvcvideo.ko.gz /lib/modules/ 2.6.24.7-laptop-2mnb/kernel/3rdparty/uvc/


De nuevo, como es lógico, este mandato lo deberemos modificar en función del nombre de nuestro usuario, la ubicación de las fuentes y el directorio de destino que corresponda al kernel que tenemos instalado en el sistema.

11) Después, solucionaremos las dependencias del módulo, mediante el mandato siguiente, seguido de la pulsación de la tecla Enter.


depmod -ae


12) Finalmente, cargaremos en memoria, el módulo nuevo, para ello usaremos el mandato siguiente, seguido, como siempre, de la pulsación de la tecla Enter.


modprobe -f uvcvideo


Hecho todo lo anterior, si ha funcionado como debe y hemos seleccionado el parche adecuado a nuestro problema (imagen especular o no), podremos arrancar Ekiga y podremos leer perfectamente lo que pone en nuestra camiseta, tal como lo veríamos si estuviéramos mirándonos desde la webcam, tal como se muestra en la última imagen del presente artículo.

Hay que señalar, que es conveniente usar el mandato make clean en el directorio de las fuentes de uvcvideo y guardar adecuadamente este código, por si es necesario usarlo de nuevo tras una actualización del kernel. Para una nueva compilación, e instalación, comenzaremos en el punto 5 del procedimiento, tras instalar el nuevo kernel y sus fuentes correspondientes.


"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".
 
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id



Ahora que ya hemos instalado
Java y PortableSigner en nuestro sistema, de forma que pueda ser usado por cualquier usuario, vamos a ver la forma en la que podemos usar este programa para firmar digitalmente nuestros documentos PDF.

Lo que necesitamos para firmar es:

a) El entorno Java y el programa PortableSigner instalado en nuestro sistema.

b) Un certificado digital X.509 en un contenedor PKCS#12, por ejemplo, un certificado de la FNMT.

c) Un documento en formato PDF.

Si tenemos instalado nuestro certificado digital en Mozilla Firefox o en Thunderbird, es muy fácil conseguir nuestro certificado X.509 en su correspondiente contenedor PKCS#12. El procedimiento es el mismo que deberíamos seguir para hacer una copia de seguridad de nuestro certificado, una vez que lo hemos descargado de la página de la FNMT a nuestro navegador.

Si somos usuarios de Firefox 3 en castellano, comenzaremos por arrancar el navegador y seleccionaremos la secuencia de mandatos Editar | Preferencias. En la ventana que nos aparece en pantalla, haremos clic sobre el icono Avanzado, seguido de otro clic, sobre sobre la pestaña Cifrado. Seguidamente, haremos clic sobre el botón Ver certificados y seleccionaremos la pestaña Sus certificados, en el Administrador de certificados de Firefox.

Ahora, para realizar la copia del mismo, haremos clic sobre nuestro certificado para seleccionarlo en la lista y pulsaremos el botón Hacer copia. En la ventana siguiente, tendremos que seleccionar un directorio y un nombre para nuestro contenedor y después, tendremos que hacer clic sobre el botón Guardar. Ahora, deberemos introducir la contraseña de seguridad del Almacén de certificados de Firefox, ya que estamos exportando la lave pública de nuestro certificado, junto a la clave privada, que está protegida mediante la contraseña de Firefox.

Seguidamente, se nos solicitará la contraseña que protegerá nuestro certificado dentro del archivo contenedor PKCS#12 y que será la que tendremos que utilizar posteriormente en PortableSigner para firmar. La contraseña para el contenedor hay que introducirla dos veces, para evitar errores. Como siempre, se recomienda que dicha contraseña sea lo suficientemente robusta, para lo que nos vendrá muy bien la barra medidora de calidad de la contraseña, que aparece en la parte inferior de la ventana de Firefox.

Hecho esto, Firefox nos dirá que se han exportado con éxito nuestra clave pública y la privada y tendremos en el directorio elegido un archivo con la extensión .p12, que es el que contiene nuestro certificado de forma segura. Hay que señalar, que por el momento, el programa PortableSigner no admite certificados digitales de más de 1024 bits.

Vamos a firmar nuestro primer documento con PortableSigner. Comenzaremos arrancando el programa, usando cualquiera de los dos procedimientos que vimos en el artículo anterior. Con ello, nos aparecerá la interfaz de usuario del mismo, que como veremos, es muy simple.


Lo mejor es seguir el orden numérico que aparece en la ventana, para ir haciendo las cosas.

1.Comenzaremos por hacer clic sobre el botón “Search” de la línea de entrada de texto 1, “Inputfile”, y seleccionaremos el archivo PDF que queremos firmar.

2.Automáticamente, en la línea 2, “Outputfile”, nos aparecerá la misma trayectoria y el mismo nombre de archivo, al que se le han añadido los caracteres "-sig" y que será el correspondiente a nuestro documento firmado. Por supuesto, si lo deseamos, podemos elegir otro nombre y trayectoria para el documento firmado, para ello, podemos escribir directamente en la línea de entrada, o usar el botón “Search” que hay a su derecha. Hay que señalar, que el documento original no firmado, no se borrará del directorio tras la firma, por lo que es conveniente no equivocarse a la hora de elegir el archivo firmado.

3.Ahora, haremos clic sobre el botón “Search” que aparece a la derecha de la línea 3, “Signature”, y seleccionaremos el archivo contenedor PKCS#12 que almacena el certificado que deseamos usar para firmar, como hemos comentado antes, dicho archivo tiene la extensión .p12 y está protegido por medio de una contraseña.

4.Por el momento, dejaremos sin seleccionar la casilla de verificación “Append signature Block”, que veremos más tarde y sí marcaremos la casilla de verificación “Finalize document”, que impedirá que se añadan más firmas válidas una vez que hayamos firmado el documento.

5.En la línea de entrada de texto número 5, denominada "Password", se deberá introducir la contraseña que protege el archivo contenedor de claves que hemos seleccionado.

6.Para finalizar, haremos clic sobre el botón OK.

Ahora, si todo ha funcionado adecuadamente, en la línea 8, “Result”, nos aparecerá un mensaje en verde con el texto “generated and signed” y el PDF firmado estará en la trayectoria indicada en la línea de entrada de texto 2, “Outputfile”. Si la firma no se ha generado adecuadamente, aparecerá un mensaje en rojo, por ejemplo “Error reading certificate (wrong password)". Hay que señalar, que por el momento no me funcionan los botones “View”, que nos permitirían visualizar el documento seleccionado y el firmado.

Opciones especiales del programa

El programa permite dos opciones especiales, la firma múltiple y simultánea de un documento y la adición de una página adicional con un bloque de firma. Veamos cada una de ellas.

a) Firma múltiple

Si volvemos a firmar el documento que hemos generado antes con un archivo de firmas distinto, ya sea del mismo usuario, o de otra persona, al haber seleccionado la opción “Finalize document”, solamente aparecerá como válida la última firma realizada. Para evitar esto, por ejemplo, cuando varias personas tienen que firmar un documento, o cuando una persona quiere añadir más de una firma, el procedimiento es muy sencillo. Bastará con no seleccionar la casilla de verificación “Finalize document” hasta que no firme la última persona, o con el último certificado. De esta forma, cuando se verifiquen las firmas, aparecerán todas como válidas y no únicamente la última que englobaría a todo lo demás, es decir al documento y a todas las firmas anteriores, que quedarían invalidadas

b) Bloque de firma

Si hacemos clic sobre el botón "Options", asociado a la casilla de verificación “Append signature block”, nos aparecerá esta ventana con ciertas opciones de configuración.


Como se puede ver, se puede seleccionar un icono, o una imagen, que también puede ser una fotografía del firmante, que se añadirá al bloque de firmas, asimismo se puede añadir un comentario a la firma, así como una razón para la firma del documento, por ejemplo, “Estoy de acuerdo con el documento” o “Soy el autor del documento”, además, de una ubicación geográfica para la firma. Este programa usa siempre para firmar el reloj del sistema, por lo que la firma no tendrá la misma validez, en lo que a fecha y hora se refiere, que se si se usase un servidor de sellos de tiempos reconocido.

Si seleccionamos la casilla de verificación “Append signature block”, durante la firma del documento, se añadirá una nueva página, con un bloque de firmas similar a este y que es muy útil, cuando se obtiene una copia impresa del mismo:


Como se puede ver, he modificado el texto del campo de comentarios, para que sea más explícita la forma de verificar las firmas con Acroread.

Configuración de Acroread para verificar las firmas

Aunque Acroread no es una aplicación libre, es una aplicación de libre descarga, que está disponible para una gran cantidad de plataformas y que se puede configurar muy fácilmente en todas ellas, para comprobar la validez de las firmas generadas por PortableSigner. Suponiendo que tenemos instalado Acroread en nuestro sistema, para verificar una firma, necesitamos el certificado raíz del emisor del certificado (Autoridad de Certificación) con el que se ha realizado la firma del documento, por ejemplo, el certificado raíz de la FNMT.

Hay dos formas de obtener el certificado raíz de la FNMT, directamente
a través de su página web, que es lo que recomiendo, o mediante su exportación, si ya lo tenemos instalado en nuestro navegador, o en nuestro programa de correo electrónico.

El procedimiento de exportación es muy parecido al que hemos visto para el certificado de usuario, pero en este caso, encontraremos el certificado en la pestaña “Autoridades”, en lugar de en la pestaña “Sus certificados”, que usamos anteriormente y para la exportación del mismo, no se nos pedirá ninguna contraseña, ni se almacenará el certificado en un contenedor PKCS#12, por ser una clave pública que no tiene su clave privada asociada. Para la exportación deberemos seleccionar el formato .p7b, de forma que sea reconocido por Acroread.

A partir de este momento, supondremos que tenemos instalado Acroread para Linux en su versión 8.1.2 (21/06/2008), en castellano. Para instalar el certificado, abriremos Acroread y usaremos la secuencia de mandatos Documento | Administrar entidades de confianza. En el recuadro de selección que nos aparece en la parte superior de la ventana, seleccionaremos Certificados y haremos clic sobre el botón Agregar contacto y finalmente, sobre el botón Examinar. Después de seleccionar el certificado raíz, haremos clic sobre el botón Aceptar, seguido de Importar y de nuevo, sobre el botón Aceptar.

Después de verificar que el certificado es correcto con el botón Mostrar certificado, tenemos que editar la confianza del mismo. Para ello, haremos clic sobre el botón Editar confianza y seleccionaremos las casillas de verificación “Firmas y como raíz de confianza” y “Documentos certificados”, después, pulsaremos en Aceptar para finalizar.


Ahora, si abrimos un documento firmado por nosotros con un certificado de la FNMT válido, nos aparecerá en la parte superior de la pantalla de Acrobat, un recuadro similar al siguiente:



Como se puede ver, no se puede verificar adecuadamente la firma el autor. El motivo es que todavía no hemos editado la confianza para el autor del documento, para ello, haremos clic sobre e icono Propiedades de la Firma de la derecha, seleccionaremos la pestaña Resumen y después, haremos clic sobre el botón Mostrar Certificado.

Tras comprobar la validez del mismo, a partir de la información que se muestra en la ventana, haremos clic sobre la pestaña Confianza y pulsaremos el botón Agregar identidades de confianza. Ahora, pulsaremos el botón Aceptar, en la ventana de Aviso de seguridad de Acrobat y de nuevo, pulsaremos el botón Aceptar, en la ventana Importar configuración de contactos, siempre después de haber seleccionado las casillas de verificación adecuadas para el uso del certificado. Como mínimo, deberían seleccionarse las dos primeras casillas. Para finalizar, cerraremos la ventana Visor de certificados con el botón Aceptar y después, la ventana de Propiedades de la firma, mediante el botón Cerrar de dicha ventana.

Ahora, si cerramos Acroread y volvemos a abrir el mismo documento, nos cambiará lo que aparece en la parte superior, indicando ahora los datos del firmante (NIF y correo electrónico asociado al certificado) y la validez del certificado.


Mediante el botón  Propiedades de la firma, podemos comprobar más datos relativos a la firma y al documento que acabamos de recibir. Por ejemplo, si recordamos, en la ventana de configuración de PortableSigner, también se podía indicar un motivo de la firma y un lugar de la firma. Para comprobar estos campos, solamente hay que pulsar sobre el botón Propiedades de la firma, de la parte superior derecha del recuadro azul y seleccionar la pestaña Resumen en la ventana que nos aparece. Hay que tener en cuenta esta posibilidad, puesto que el motivo de la firma de un documento, aunque no es usual, también puede ser “No estoy de acuerdo con el contenido de este documento”, por ejemplo, para no aceptar un contrato y tendría validez legal. Así que nunca pensemos por omisión que la firma de un documento PDF, que permite definir este campo por el usuario, implica la aceptación o la autoría del documento.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id



Ahora que ya hemos instalado, o actualizado, Java en nuestro sistema, estamos listos para instalar PortableSigner, que es la aplicación que nos permitirá firmar digitalmente un archivo PDF, usando para ello un certificado digital X.509 de 1024 bits, almacenado en en un contenedor PKCS#12. Por ejemplo, podemos usar para firmar nuestro PDF un certificado de software de los que emite la Fábrica Nacional de Moneda y Timbre, a través de Ceres.

Recordemos que el formato PDF es un formato abierto, multiplataforma, que es estándar ISO 19005 en su versión 1.4 e ISO 32000 en su versión 1.7. Por ello, es muy interesante que podamos firmar este tipo de documentos, que serán legibles y sus firmas verificables, casi con total independencia de la plataforma en la que se cree o se lea posteriormente y gracias a un plugin que hay disponible para OpenOffice. Incluso es posible editarlos cuando han sido generados desde un texto o se les ha aplicado el OCR de Acrobat, pero ésta es otra historia. Es decir, que un PDF que creemos y firmemos en Linux será legible y verificable desde Windows o viceversa, así como desde otros sistemas operativos como MAC OS X; en definitiva, un lujo. En otro artículo que estoy preparando, hablaré un poco sobre la forma de mejorar la interoperabilidad entre sistemas Windows y Linux, al tiempo que garantizamos el acceso a nuestros archivos en el futuro, usando para ello formatos abiertos.

Comenzaremos por descargar la última versión de PortableSigner, que es la 1.6.110, desde la página oficial del proyecto en Sourceforge. Como veremos, hay opciones para varias plataformas. Recomiendo seleccionar la descarga del archivo instalador Java, que es independiente de la plataforma, es decir, el archivo PortableSigner-Install-1.6.110.jar. Después de hacer clic sobre el archivo, lo almacenaremos en un directorio de nuestro sistema.

Seguidamente, abriremos una consola como root y configuraremos el entorno de Java, si no lo tuviéramos configurado para el usuario root. Para ello, usaremos la secuencia de mandatos:

export PATH=/usr/java/jre1.6.0_12/bin:$PATH
JAVA_HOME="/usr/java/jre1.6.0_12/"
export JAVA_HOME

Hecho esto, ya podemos proceder a arrancar el instalador de PortableSigner con el mandato:

java -jar PortableSigner-Install-1.6.110.jar

Al poco tiempo, si tenemos Java correctamente configurado en nuestro sistema para el usuario root, se abrirá el entorno gráfico de instalación de PortableSigner, proceso de instalación que vamos a ver paso a paso:

1. La primera ventana nos solicitará el idioma de instalación. En mi caso, recomiendo elegir inglés [ENG], seguido de un clic sobre el botón “Ok”, ya que del otro idioma que hay disponible para la instalación es el alemán, y siento decir, que de este idioma no tengo casi ni idea.



2. La siguiente ventana nos hace una presentación del programa que vamos a instalar y nos informa sobre sus autores y sobre la página del proyecto en Sourceforge. Simplemente tenemos que hacer clic sobre el botón “Next”.


3. La siguiente ventana, nos muestra información técnica adicional sobre el programa, que recomiendo leer detenidamente, ya que dice algunas cosas interesantes, desgraciadamente, no en el lenguaje de Cervantes. Como en el caso anterior, tendremos que hacer clic sobre el botón “Next”, para continuar con la instalación.


4. Ahora nos aparece la ventana con la licencia, que también recomiendo leer detenidamente. Podremos pulsar el botón “Next”, solamente después de hacer clic sobre el botón de selección “I accept the terms of this license agreement”, que aparece en la parte inferior de la pantalla y que en castellano significa: “Acepto los términos de este acuerdo de licencia”.


5. En el siguiente paso, el instalador nos pregunta por el directorio de instalación para el programa. No hay problema para dejar el que nos sale por omisión en la ventana, que es /usr/local/MagWien/PortableSigner, por lo que bastará con que hagamos clic sobre el botón “Next” de la parte inferior de la pantalla, para aceptar y continuar. En caso de que queramos instalarlo en otro directorio solamente tendremos que pulsar el botón “Browse” y elegir el que deseemos. Si el directorio elegido ya existiera, el programa nos avisará de este hecho. Esto nos ocurrirá siempre, si estamos haciendo una instalación de PortableSigner por actualización del programa, o de Java, que como veremos, es un caso especial que requiere algo de atención por nuestra parte.


6. El siguiente paso es importante para que el programa funcione adecuadamente. Es necesario asegurarse que están seleccionadas las dos opciones que aparecen en la ventana:

a) Base
b) JCE unrestricted policy

La última opción instala en el directorio de Java /usr/java/jre1.6.0_12/lib/security/ los archivos local_policy.jar y US_export_policy.jar, que son necesarios para que funcione el programa adecuadamente.

Este es el motivo por el que es necesario volver a reinstalar PortableSigner en el caso de actualicemos Java, ya que dicha actualización no dispondrá de estos dos archivos, que son necesarios para el funcionamiento de PortableSigner. Alternativamente, podemos descargarnos el archivo jce_policy-6.zip desde la
página oficial de Sun. El paquete lo encontraremos al final, con el nombre "Java Cryptography Extensión (JCE) Unlimited Strength Jurisdiction Policy Files 6". Para instalarlo, nos bastará con copiar los dos archivos anteriores, en el directorio /usr/java/jre1.6.0_12/lib/security/, con lo que nos ahorramos tener que volver a instalar PortableSigner. Como en las ventanas anteriores, continuaremos la instalación haciendo clic sobre el botón "Next".


7. Finalmente, el programa nos pide que confirmemos algunas opciones de instalación. Recomiendo seleccionar las que aparecen en la imagen, como siempre, para continuar, después de seleccionar las opciones deseadas, deberemos hacer clic sobre el botón "Next". Puede que la opción más interesante, es la que permite que el programa sea utilizado por todos los usuarios del sistema "all users". Opción que es casi obligatoria, al estar haciendo la instalación como root.


8. Después del último clic sobre el botón “Next” y durante unos breves segundos, nos aparecerá una ventana con dos barras de progreso que nos indicarán que se está realizando la instalación en el sistema, y tras finalizar, lo que se indica con el mensaje [Finished] en la barra superior, solamente tendremos que hacer clic sobre el botón “Next” para continuar.



9. La última ventana que nos aparece en pantalla, nos debería indicar con una gran “V” de verificación de color verde, que la instalación se ha completado con éxito y que hay un programa de desinstalación, denominado Uninstaller, en el directorio /usr/local/MagWien/PortableSigner, lo que debemos tener en cuenta, si queremos eliminar esta aplicación posteriormente. Para finalizar, solamente tendremos que hacer clic sobre el botón “Done”. Como se puede ver, más simple imposible.
 

Para facilitar el acceso al programa, recomiendo crear un enlace directo en el escritorio, que en mi sistema está basado en el KDE. Una vez que hemos entrado en el sistema como un usuario normal, haremos clic con el botón derecho del ratón sobre el escritorio y seleccionaremos la secuencia de mandatos Crear nuevo | Enlace a aplicación.

En la pestaña “General” haremos clic sobre el icono de la parte superior izquierda, seleccionaremos la marca de verificación Otros iconos y haremos clic sobre el botón Examinar. Debemos seleccionar el icono PortableSignerLogo.png, que encontraremos en el directorio /usr/local/MagWien/PortableSigner/ y haremos clic sobre el botón Abrir. Seguidamente, escribiremos PortableSigner en la línea de entrada de texto de esa misma pestaña.

Después, seleccionaremos la pestaña “Aplicación” y escribiremos PortableSigner en las dos líneas de entrada de texto, Descripción y Comentario y escribiremos la cadena '/usr/local/MagWien/PortableSigner/PortableSigner', incluidas las comillas simples, en la línea de entrada Orden. Para finalizar, haremos clic sobre el botón Aceptar. Ahora cuando hagamos doble clic sobre ese icono en el escritorio del KDE, arrancará el programa y nos aparecerá su interfaz de usuario, que es la que se muestra en la imagen siguiente. También podemos esta aplicación abriendo una consola de usuario y tras ir al directorio /usr/local/MagWien/PortableSigner, usando el mandato:

./PortableSigner



En la siguiente y última entrega de esta serie dedicada a PortableSigner, veremos la forma de utilizarlo para firmar nuestros documentos en PDF.

"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

 

 

"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id





PortableSigner
es una aplicación libre, con licencia LGPL y multiplataforma, por estar programada en Java, que nos permite firmar un documento PDF desde un interfaz de usuario gráfico o desde la consola, lo que nos permite integrar el sistema de firma en otros sistemas, por lo que tiene licencia de librería. Para ello, podemos usar cualquier certificado X.509 almacenado en un contenedor de claves PKCS12, por ejemplo, nuestro certificado de la FNMT.

Entre las ventajas de este programa, además de la comentada portabilidad a varias plataformas, tenemos la posibilidad de que varios usuarios firmen un mismo documento al mismo tiempo, o la de añadir un sello adicional con los datos de la firma digital visible. Todo ello, lo veremos a su tiempo, mediante un artículo dividido en tres partes. En esta primera, al ser una aplicación que funciona con Java, veremos la forma de instalar y configurar Java en nuestro sistema; en la segunda veremos la forma de instalar PortableSigner y en la tercera, aprenderemos a usar este programa y a verificar las firmas usando "Acroread".

Comencemos por instalar y configurar Java en nuestro sistema, para ello, descargaremos la última versión disponible desde la página de descarga, que en este momento es la Versión 6 Update 12. Para ello, haremos clic sobre el botón "Descarga gratuita de Java" que nos aparece en la página.

Ahora nos aparecerá una ventana con una serie de opciones; como veremos, hay opciones para 32 y 64 bits, además de archivos RPM autoextraibles y autoextraibles. El problema de la versión de 64 bits es que no nos funcionará con el navegador Mozilla Firefox, que es de 32 bits, el applet de Java *[Nota: actualización al final de la página]. En mi caso, que uso una distribución "Mandriva 2008.1", suelo elegir la primera opción, es decir, RPM autoextraible de 32 bits. De esta forma, Java se instalará automáticamente en el directorio /usr/linux/nombre_version y configurará algunas cosas más, que de otro modo habría que configurar a mano. Si usamos la opción autoextraible sin RPM, después de descomprimir el paquete en algún sitio, tendremos que copiar los ficheros como root al directorio /usr/java y modificar los enlaces simbólicos latest y default, para que apunten adecuadamente, algo que nos ahorramos si optamos por la primera opción basada en RPM, si nuestro sistema operativo es compatible con este tipo de paquetes. Los enlaces anteriores deberían quedar así:

default -> /usr/java/latest/
latest -> /usr/java/jre1.6.0_12/

Para bajar el archivo, haremos clic sobre él y lo guardaremos en un directorio de nuestro sistema. Hecho esto, abriremos una consola como root y e iremos al directorio en el que hemos almacenado el archivo de instalación. Para poder usarlo, lo primero que tenemos que hacer, es lograr que sea ejecutable, para ello, usaremos el siguiente mandato:

chmod +x jre-6u12-linux-i586-rpm.bin

Después, comenzaremos la instalación con el mandato:

./jre-6u12-linux-i586-rpm.bin

Lo primero que nos saldrá en la pantalla es la licencia de Java. Para leerla entera, iremos pulsando la barra espaciadora hasta que nos pida confirmación de que aceptamos los términos de la licencia, a lo que contestaremos "yes", con todas las letras, seguido de la tecla Enter. En pocos segundos, habremos terminado de instalar Java en nuestro sistema.

Ahora tenemos que configurarlo adecuadamente, lo que haremos en dos fases:

a) instalación del plugin del navegador Mozilla Firefox
b) configuración del entorno de usuario.

Comencemos por lo primero, para lo que hay varias opciones. Los plugins de Mozilla Firefox se pueden instalar de forma global mediante directorio /plugins/ que encontraremos en el directorio de instalación de Mozilla Firefox, que normalmente se encuentra en /usr/local/mozilla, o de forma particular para cada usuario, mediante el directorio oculto /home/usuario/.mozilla/plugins. Vamos a optar por la primera opción por ser la más cómoda, ya que instala el plugin para todos los usuarios del sistema al mismo tiempo. Para ello, abriremos una consola como root, e iremos al directorio en el que tengamos instalados los plugins de Mozilla Firefox. En mi caso, ese directorio es /usr/local/firefox3/plugins/, pero como he dicho, puede variar dependiendo de cada instalación y sistema. Si ya teníamos instalada una versión anterior del plugin de Java en nuestro sistema, tendremos que borrar primero el enlace simbólico al plugin de Java que nos aparece en ese directorio; para ello, usaremos el mandato siguiente:

rm -f libjavaplugin_ogi.so

Ahora ya podemos crear el nuevo enlace simbólico al plugin, de forma que apunte al lugar adecuado, para ello, usaremos el mandato siguiente:

ln -s /usr/java/jre1.6.0_12/plugin/i386/ns7/libjavaplugin_oji.so libjavaplugin_oji.so

No vale copiar el archivo libjavaplugin_oji_so en el directorio /plugins/; es obligatorio usar un enlace simbólico, ya que de otro modo, no funcionaría adecuadamente. Hay que señalar, que otros navegadores pueden necesitar plugins distintos; la otra opción la encontraremos en /usr/java/jre1.6.0_12/plugin/i386/ns7-gcc29.

Para probar que funciona, cerraremos el navegador Firefox, arrancaremos como un usuario cualquiera y escribiremos about:plugins en la barra de navegación. Si nos movemos por la página que nos aparece en pantalla, nos debería aparece algo así:

Java(TM) Plug-in 1.6.0_12-b04

File name: libjavaplugin_oji.so
Java(TM) Plug-in 1.6.0_12

Alternativamente, podemos ir a la página de descarga de Java y hacer clic sobre el enlace que dice ¿Tengo Java? y luego, hacer clic sobre el botón "Verificar la versión de Java" que aparece en la pantalla . Debemos tener en cuenta, que si usamos Noscript en nuestro navegador, antes de ello, debemos permitir la ejecución de Java/Javascript para esa página en concreto. A los pocos segundos, nos debe aparecer en el navegador un mensaje similar al siguiente:

Versión de Java comprobada
Enhorabuena.
Tiene instalada la versión de Java recomendada (Version 6 Update 12).

Ahora vamos a configurar Java en el entorno de los usuarios. Primero, comprobaremos la versión de Java que aparece en cada entorno, para ello, abriremos una consola como un usuario normal del sistema y usaremos el mandato:

which java

En mi caso, me devuelve claramente que no tengo configurada adecuadamente la versión que se acaba de instalar el el sistema y apunta a una versión anterior:

/usr/java/jre1.6.0_07/bin/java

Para configurar el entorno de forma permanente para cada usuario, lo mejor es editar el archivo /home/usuario/.bash_profile. Hay que observar, que este es un archivo oculto, por lo que su nombre aparece con un punto delante. Para editarlo, usaremos el mandato siguiente desde la consola que tenemos abierta para ese usuario, hay que recordar no hacerlo como root:

vi /home/usuario/.bash_profile

Después, pulsaremos la letra "i", para poder editar (en la parte inferior de la pantalla, nos aparecerá la palabra "INSERTAR" y editaremos el archivo, o añadiremos las líneas necesarias al final del mismo, para que muestren esto:

export PATH=/usr/java/jre1.6.0_12/bin:$PATH
JAVA_HOME="/usr/java/jre1.6.0_12/"
export JAVA_HOME

Para grabar las modificaciones pulsaremos la tecla Escape, después escribiremos dos puntos “:”, seguidos de las letras "w" y "q" y finalizaremos con la pulsación de la tecla Enter. Si el usuario se siente más cómodo con otro editor, como "Kedit", no hay problema en usarlo, reconozco que el editor "vi" no es apto para todos los públicos.

Lo que acabamos de decir habrá que hacerlo con cada usuario que desee usar Java desde su entorno y hay que tener cuidado al teclear o modificar estas líneas, ya que si nos equivocamos, Java no le funcionará a ese usuario y por supuesto, lo que he puesto son ejemplos; habrá que adaptar el contenido de estas líneas a la versión de Java que estemos instalando y al directorio de instalación de Java que estemos usando en nuestro sistema. Para que los cambios anteriores sean efectivos, será necesario cerrar la sesión de "Kde" o "Gnome" de ese usuario y volver a abrirla. Después de hacerlo, si abrimos otra consola como ese mismo usuario y volvemos a usar el mandato:

which java

Ahora nos deberá salir la trayectoria correcta a la versión de Java que hemos instalado anteriormente:

/usr/java/jre1.6.0_12/bin/java

Si no nos sale, algo hemos hecho mal y debemos revisar todo cuidadosamente ya que es relativamente normal y sencillo equivocarse.

En este punto, ya podemos eliminar de /usr/java/ el directorio, o los directorios, correspondientes a versiones anteriores de Java, si es que tuviéramos alguna instalada. Para ello, podemos abrir una consola como root y usar el mandato siguiente desde dentro del directorio /usr/java, o el que corresponda para las instalaciones de Java en nuestro sistema:

rm -rf jre1.6.0_07/

Como en el caso anterior, debemos adaptar este mandato al directorio, o directorios, con instalaciones anteriores de Java que deseemos borrar de nuestro sistema.

"Copyleft 2009 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

ACTUALIZACIÓN: 10MAR09:

Según me ha comentado "Gargamel" en la página de Kriptópolis, los usuarios de Hardy 64 disponen de una compilación de Firefox de 32-64 bits y en la distribución de Java para 64 bits, hay un enlace para el plugin de java para Firefox de 64 bits, que se encuentra en la carpeta /usr/java/jre1.6.0_12/lib/amd64.


ACTUALIZACIÓN: 12MAR09:


Algunas personas me han indicado que esta configuración no les funcionaba adecuadamente. Todos ellos tenían un directorio oculto .java en su directorio de usuario /home/user/, que contenía información de configuración de versiones anteriores.

Hay dos opciones, proceder a borrado de ese directorio antes de proceder a la instalación de Java, o en su caso, editar los archivos adecuadamente, sobre todo, con las trayectorias a las nuevas versiones, para que que no haya problemas.

ACTUALIZACIÓN: 05MAY09:

Para que la configuración de las trayectorias de Java sean válidas para todos los usuarios del sistema al mismo tiempo, podemos editar el archivo /etc/profile.d/java.sh y añadir unas líneas similares a estas:

JAVA_HOME=/usr/java/jre1.6.0_12
export JAVA_HOME
JMFHOME=/usr/java/jre1.6.0_12/lib/ext
export JMFHOME
CLASSPATH=/usr/java/jre1.6.0_12/lib/ext/jmf.jar:/usr/java/jre1.6.0_12/lib/ext/mp3plugin.jar
export CLASSPATH
LD_LIBRARY_PATH=/usr/java/jre1.6.0_12/lib:usr/java/jre1.6.0_12/lib/ext
export CLASSPATH
PATH=/usr/java/jre1.6.0_12/bin:/usr/java/JMF/bin:$PATH
export PATH


Hay que tener en cuenta, que este archivo debe tener permisos de ejecución, para ello podemos usar el mandato chmod +x java.sh.


"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."
IBSN, blog, id




Después de unos pequeños problemas en la grabación de documentos con firma digital usando la rama 2.x de OpenOffice.org, he decidido actualizarme, bajándome e instalando la versión 3.0.1, en castellano, de esta popular suite ofimática libre y que no es otra, que la última versión disponible para su descarga, la misma que tengo instalada en el portátil desde el mismo día que salió y que por cierto, me encanta.

La instalación ha he realizado sobre una distribución Mandriva 2008.1 con la versión de Java 1..6. 0_12 instalada y configurada en el sistema. He comenzado bajándom
e el archivo OOo_3.0.1_LinuxIntel_install_es.tar.gz, que es el que contiene todos los archivos RPM's necesarios. Lo he hecho desde la página de descarga oficial del  proyecto OpenOffice.org.

Primero hay que desinstalar todos los paquetes RPM de la versión anterior de OpenOffice.org usando rpm -e nombre del paquete con los paquetes openoffice.org y openoffice.org-l10n-es, algo que es necesario para que todo vaya bien y no haya problemas de incompatibilidades entre versiones. Como se puede ver, la instalación original de Mandriva se hace con dos paquetes, algo que es bastante diferente a la instalación de múltiples paquetes que vamos a hacer ahora. Para comenzar la instalación, he abierto una consola como root y he descomprimido el archivo anterior, que contiene todos los RPM's necesarios, usando para ello el mandato:

tar xvzf OOo_3.0.1_LinuxIntel_install_es.tar.gz

Después, he abierto el directorio, que se genera tras descomprimir el archivo anterior OOO300_m15_native_packed-1_es.9379/RPMS y he ejecutado el mandato rpm -Uvih *.rpm desde dentro del mismo, este mandatos que es el que se encarga de instalar todos los RPM's necesarios. Finalmente, he abierto el directorio OOO300_m15_native_packed-1_es.9379/RPMS/desktop-integration y he ejecutado el mandato siguiente, que es el que se encarga de integrar la aplicación en los menús específicos de Mandriva:

urpmi openoffice.org3.0-rpm-mandriva-menus-3.0-9376.noarch.rpm

Como se puede ver, más sencillo imposible. Hecho esto, he cerrado la consola y he arrancado el programa desde el enlace para procesador de textos de la rama 3.0, que aparece en el Menú de Inicio de Mandriva, todo impecable. El programa ha arrancado sin problemas y me han aparecido las ventanas que permiten la actualización del programa y el registro de la aplicación la primera vez que se arranca por un usuario. Después de rellenar los datos y de registrarme on-line, me ha aparecido la pantalla del procesador de textos de OpenOffice.org, tal como se esperaba que ocurriera, hasta aquí todo bien.

Sin embargo, cuando he intentado hacer lo mismo con los otros usuarios que comparten el ordenador en casa con sus cuentas respectivas, el programa se ha quedado al final del proceso de registro de cada uno de ellos y se ha negado a arrancar la aplicación. Tras varios intentos fallidos, he hecho lo normal en estos casos, es decir, he intentado arrancar el programa desde una consola, para ver los errores que se pudieran mostrar en la misma. Después de un buen rato esperando, me apareció un error que es un viejo conocido de los usuarios de OpenOffice.org, unas veces por Java y otras veces, por otros motivos más peregrinos, como el acceso a archivos xml, pero el caso es que parece omnipresente en la histora de las últimas ramas de este popular programa ofimático. El error al que me refiero no es otro que este:

soffice: line 134: 13755 Violación de segmento "$sd_prog/$sd_binary" "$@"

Para que luego digan que los errores de Windows son complicados de entender. Como estaba claro que el problema estaba en el proceso de registro, he optado por borrar los directorios .openoffice.org, así como los de la versiónes antiguas .ooo2, de todos los directorios home de los usuarios que tenían problemas para el arranque de OpenOffice.org, es decir, de todos, menos del primero que utilizó el programa y se registró con éxito. Pero desgraciadamente y contra todo pronóstico, esta medida no ha tenido el efecto deseado, el programa seguía mostrando el mismo error y se negaba a arrancar de forma tozuda. Por algún motivo y de algún modo, OpenOffice.org intentaba volver al archivo de registro del primer usuario, en lugar de crear el correspondiente al usuario que lo estaba arrancando en ese momento, en definitiva, un desastre.

El siguiente paso es obvio, intentar saltarse el proceso de registro, que es el que daba problemas con el resto de los usuarios. La solución más rápida, es copiar el directorio .openoffice.org desde el directorio home del primer usuario que se registró y arrancó el programa con éxito, al directorio home del resto de los usuarios. De esta forma lograremos que el programa se "sienta" registrado y comience el arranque normalmente. Para ello, he vuelto a abrir una consola como root  y he usado el mandato siguiente:

cp -r  /home/user_guay/.openoffice.org /home/user_gafado/

Como es lógico, hay que cambiar los user_guay y user_gafado, por los que nos correspondan en nuestro sistema. Esto lo he repetido con cada uno de los usuarios que tenían problemas para arrancar OpenOffice.org. Después, para que esto funcione adecuadamente, es necesario cambiar los permisos de todos estos directorios "alienígenas", para lo que he usado el mandato:

chown -R usuario_gafado:usuario_gafado /home/usuario_gafado/.openoffice.org

Por supuesto, como en el caso anterior, hay que poner los nombres de los usuarios adecuados y hay que repetirlo con todos a los que les hemos copiado el directorio de configuración OpenOffice.org en su directorio home.

El problema es que ahora, si usamos la secuencia de mandatos /Herramientas/Opciones/OpenOffice.org/Datos del usuario, desde el programa OpenOffie.org, nos aparecerán los datos del primer usuario registrado, así como toda su configuración por defecto, por lo que será necesario cambiar todo esto adecuadamente y adaptarlo a la identidad y gustos de cada uno de los usuarios, pero afortunadamente esto es sencillo y rápido.

Desde mi punto de vista, creo que el problema está en la creación del archivo /home/user/.openoffice.org/3/user/registration.xml, una vez que se ha creado el correspondiente al primer usuario. Como es lógico, ya he informado de este bug a los desarrolladores y espero que se solucione en breve, pero a pesar de lo comentado, considero que esta versión de OpenOffice.org es excelente y que vale la pena probarla. Por cierto, recomiendo revisar las "Extensiones disponibles", para ello, nada más sencillo que darse un paseo por la página "Extensions" del proyecto. Hay algunas que son geniales para mejorar la usabilidad y la productividad de esta suite informática y demás son muy sencillas de bajar e instalar.

"Copyleft 2009 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".
"Copyleft: Creative Commons License Attribution, Non Commercial, Share Alike Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved."

Advertisement

Latest Month

July 2009
S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 

Syndicate

RSS Atom
Powered by LiveJournal.com
Designed by Tiffany Chow