AbreDatos

La Administración 2.0, e-Government o Gov 2.0 es algo inminente en los países democráticos por definición, una vez que la humanidad ha avanzado tecnológicamente lo suficiente para ello. Básicamente, consiste en permitir una mayor interacción con el ciudadano, las empresas u otros gobiernos, basándose en los pilares de la transparencia, el buen aprovechamiento de la tecnología y una cultura de datos abiertos, basándose en el uso de estándares.

El problema actual para alcanzar este objetivo no es tecnológico, sino de mentalidad. No obstante, en España se ven gran cantidad de iniciativas públicas, privadas y de particulares que invitan al optimismo. De hecho, según el ranking de Naciones Unidas de Preparación para el Gobierno 2.0 que se puede ver en la wikipedia, España ocupa la 20ª posición, que no está mal. De hecho, ya existe un Real Decreto de Interoperabilidad que obliga a las administraciones a una apertura de los datos, como puede verse resumido en este mensaje de la lista de correo de Pro Bono Público.

Una de las iniciativas populares es AbreDatos, promovida por la Asociación Pro Bono Publico. AbreDatos consiste en un concurso de 48 horas que se ha celebrado este fin de semana para el desarrollo exprés de servicios tecnológicos al ciudadano basados en el uso de datos públicos. El objetivo de este concurso es, por un lado, alertar a la sociedad de esta obligación de las administraciones, y, por otro, mostrar la dificultad de procesar estos datos abiertos por el hecho de no estar usando los estándares de la industria.

La repercusión del concurso ha sido todo un éxito, superando las expectativas de los promotores, y de él han salido proyectos muy interesantes que seguro seguirán evolucionando. Mis preferidos han sido:

LosPresusDe: este proyecto pretende mostrar una visualización sencilla de los gastos e ingresos de cada ciudad, basándose en los Presupuestos Oficiales. Como indican en LosPresusDe Qué Van, no es la fuente de datos ideal, ya que sólo son Presupuestos y no el Balance final. Sin embargo, los Balances no están disponibles al ciudadano.

Cortes Abiertas: este proyecto analiza la información de Las Cortes de Castilla Y León, y mediante técnicas de procesamiento de lenguajes naturales, muestra en una nube de palabras los temas que más candencia tienen en las Sesiones.

Senado.info: este proyecto muestra las intervenciones de nuestros Senadores, mostrando rankings de actividad.

Puedes ver el listado completo de participantes en AbreDatos.

¿Qué ideas se te ocurren a tí para aprovechar datos públicos dando un servicio a los ciudadanos?

Archiva 1.2.1 sobre JBoss AS 4.0.5 en Windows 64

El primer paso es descargar JBoss 4.05 de la web de descargas de la comunidad de JBoss. Se descomprime en C:\ y se descarga el utilitario para instalarlo como servicio. Esta parte es muy simple y se explica en la siguiente url: http://www.jboss.org/community/wiki/JBossNativeWindows.

Una vez hecho esto, procedemos a montar Apache Archiva. Como vamos a usar de base de datos Derby, debemos copiar derby-10.1.3.1.jar y derbytools-10.1.3.1.jar en la carpeta server\default\lib.
Extraemos archiva-1.2.1.war en la carpeta server\default\deploy\archiva.war.

Creamos el archivo server\default\deploy\derby-ds.xml, con el siguiente contenido:

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
  <local-tx-datasource>
     <jndi-name>users2</jndi-name>
     <connection-url>jdbc:derby:database/archiva;create=true</connection-url>
     <driver-class>org.apache.derby.jdbc.EmbeddedDriver</driver-class>
     <user-name>sa</user-name>
     <password></password>
     <min-pool-size>5</min-pool-size>
     <max-pool-size>20</max-pool-size>
     <idle-timeout-minutes>5</idle-timeout-minutes>
     <track-statements/>
  </local-tx-datasource>
  <local-tx-datasource>
     <jndi-name>archiva</jndi-name>
     <connection-url>jdbc:derby:database/archiva;create=true</connection-url>
     <driver-class>org.apache.derby.jdbc.EmbeddedDriver</driver-class>
     <user-name>sa</user-name>
     <password></password>
     <min-pool-size>5</min-pool-size>
     <max-pool-size>20</max-pool-size>
     <idle-timeout-minutes>5</idle-timeout-minutes>
     <track-statements/>
  </local-tx-datasource>
</datasources>

Necesitamos crear también el server\default\deploy\archiva.war\META-INF\context.xml:

<Context path="/archiva" docBase="/">
  <Resource name="jdbc/users" auth="Container" 
            type="javax.sql.DataSource" username="sa" password=""  
            driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
            url="jdbc:derby:database/users;create=true" />
  <Resource name="jdbc/archiva" auth="Container"
            type="javax.sql.DataSource" username="sa" password=""
            driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
            url="jdbc:derby:database/archiva;create=true" />
  <Resource name="mail/Session" auth="Container"
            type="javax.mail.Session"
            mail.smtp.host="localhost"/>
</Context> 

En server\default\deploy\archiva.war\WEB-INF\classes\application.properties tenemos que añadir appserver.home y appserver.base:

user.agent=Apache Archiva/1.2.1
appserver.base=
appserver.home=

Y por último, añadimos el server\default\deploy\archiva.war\WEB-INF\jboss-web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
 <resource-ref>
   <res-ref-name>jdbc/users</res-ref-name>
   <jndi-name>java:/users2</jndi-name>
 </resource-ref>
 <resource-ref>
   <res-ref-name>jdbc/archiva</res-ref-name>
   <jndi-name>java:/archiva</jndi-name>
 </resource-ref>
 <resource-ref>
   <res-ref-name>mail/Session</res-ref-name>
   <jndi-name>java:/Mail</jndi-name>
 </resource-ref> 
</jboss-web>

Profit!

Leyendo el tebeo, también por la noche…

Como mañana tengo examen, me siento con fuerzas y el tiempo disponible para rebatir con más profundidad el artículo anterior, y a mis queridos comentaristas.

En primer lugar, voy a ir desmenuzando el fragmento anterior:

¿Y qué decir pues de los clubes .net que Microsoft alienta en las universidades? Clubes con los que propicia el uso de sus anti-estándares y que los alumnos aprendan a programar de forma incompatible con el resto.

En primer lugar, más que Microsoft buscar a los alumnos fueron/son los alumnos los que busca(ro)n a Microsoft. Ese “aliento”, que bien podrían dar otras compañías (y me consta que a otras compañías se les ofreció algo similar a los clubs .net, sin pedir nada a cambio, y se negaron), se materializa exclusivamente a través de libros y documentación, así como de hardware en el que “trastear”.

En cuanto al uso de anti-estándares… Desconozco “esa cosa”. Una cosa (protocolo, formato, etc) o es estándar o no lo es, pero no puede ser “antiestándar”. Esto muestra, por un lado, el grado de conocimiento y rigurosidad del autor del texto; por otro, su “propósito de contar la verdad absoluta”. El que quiera tener los ojos abiertos, que busque en ISO, ECMA o IEEE la participación de Microsoft, o los artículos en Port25 sobre el trabajo en sus laboratorios en busca de la compatibilidad.

En lo de “programar de forma incompatible” ni me voy a meter. Quizá se refiera al uso de metodologías como el SDLC. Desconozco que es “programar de forma incompatible”, aunque estimo que será hacer webs en php que no se integren con aplicaciones python.

A Microsoft le interesa que sea incompatible para que cuando acaben la carrera no puedan desligarse de las herramientas del monopolio y obliguen a sus clientes y usuarios a caer en el mismo problema. Y tan metidos están dentro, que ven imposible la solución y, en vez de reconocer el problema, se convierte en un punto ciego donde no quieren mirar. Prefieren confiar en el Monopolio mientras hacen caer a más gente en la trampa de licencias de uso regaladas de entornos de desarrollo y de Windows como un camello que regala la droga inicialmente esperando que se enganchen.

Aquí se atisba algo de lucidez. Evidentemente, a Microsoft le benefician estos grupos de usuarios. ¿Gente que ofrezca soporte, documentación, charlas y demás de manera gratuita? Perfecto. No debería sorprender a un miembro de un grupo de usuarios que existan otros grupos de usuarios.

En cuanto a obligar a clientes y usuarios a “caer” en Windows… en mi mundo existen dos tipos de desarrollos informáticos: o servicios a medida, o productos. En el primer caso los requisitos los pone el cliente. En el segundo, desarrollo mi producto como me da la gana y tú si te interesa lo compras, nadie te obliga. Más simple imposible.

Por otro lado, los grupos de usuarios no son sectas. Nada te impide “mirar hacia el otro lado”, e incluso tocar. Una tecnología no es una novia a la que debas fidelidad, es una relación liberal.

¿Cómo evaluar el coste económico de que se margine a la gente del saber?

Y digo yo… ¿Dónde está mi libertad para aprender lo que me parezca sin que nadie critique mi elección?

Desarrollo con tecnologías de Microsoft, desarrollo con tecnologías de otras empresas, desarrollo con tecnologías libres… y desarrollo y colaboro con proyectos libres. Creo que queda bastante claro mi posición en el debate Torvalds vs Stallman, yo estoy del lado del primero, esto no es una religión.

Pero entre todos estos y mis necesidades, me quedo con satisfacer las últimas.

CUSL

II Concurso Universitario de Software Libre is a free software development contest, targeted to University Students.

100_5880

On past Friday, it took place the Local Phase of the CUSL contest  in Sevilla, where some participant projects developed by students here were awarded.

The awards went to the Pro Evolution Chapping project, a table football game developed by Alejandro Castaño del Castillo and Manuel Albarrán Guerrero, and to the Project Football project, a football’s team management game, developed by David Ballesteros Mayo and David Domínguez Bocanegra. Congratulations to both teams!

100_5889 100_5898

I was invited to talk with Carlos Parra (Emergya), Ana Guerrero (Debian) and all the assistants in a round-table meeting. We focused on free software development, our experiences in our communities, and how to make living developing FLOSS. It was very fun being part of it!

100_5899

Next week, on Thursday and Friday, we’ll have the National Final in Sevilla, and a lot of free software projects will be presented (and awarded). There are too some interesting talks that you might want to participate in. The complete schedule is at the CUSL website.

It’s a free (like free beer) event, so all of you will be welcome. There will be free coffee and cookies for all the assistants.

Hope I’ll see you there.

Anunciados Google Summer of Code 2008

Google Summer of Code 2008

After last year’s experience, I applied again to Google Summer of Code. I did two proposals, one for ArgoUML, and one for WordPress, and the ArgoUML one have been selected (WP folks said me that my proposal was great, but that I’ve been selected by another org). I’ll post soon both proposals, but I want to advance that I’ll be working on “UI Code generation for ArgoUML property panels”. Last year, not only me, but two great friends from my school were selected, Marcos (Mono) and Ana (Debian). This year, again, some friends from my school have been selected, so we are:

Not in the University of Sevilla, but in the UNED, I want to remark another friend of mine:

  • Replace auto* with CMake (PHP), by Alejandro Leiva Rojas, mentored by Pierre A. Joye
  • This year ~66 Spanish students will have a great opportunity for showing their skills on an Open Source Project. More stats at the official announce.
    You can join Google Summer of Code next year, but you can begin contributing right now!


    Google Summer of Code 2008

    Tras la gran experiencia del año pasado, solicité de nuevo la Google Summer of Code. Hice dos propuestas, una para ArgoUML, y otra para WordPress, y la de ArgoUML ha sido seleccionada (la gente de WP me dijo que mi propuesta era buena, pero que había sido seleccionado por otra organización). Publicaré pronto ambas propuestas, pero adelanto que estaré trabajando en “Generación de código de UI para los paneles de propiedades de ArgoUML”. El pasado año, no sólo yo, sino que dos grandes amigos de mi escuela fueron seleccionados, Marcos (Mono) y Ana (Debian). Este año, de nuevo, algunos amigos de mi escuela han sido seleccionados, por lo que somos:

    No es estudiante de la Universidad de Sevilla, sino de la UNED, pero quiero mencionar a otro amigo:

  • Sustituir auto* con CMake (PHP), por Alejandro Leiva Rojas, dirigido por Pierre A. Joye
  • Este año cerca de 66 estudiantes españoles tendrán la gran oportunidad de mostrar sus capacidades en un proyecto de software libre. Más estadísticas en el anuncio oficial.
    Puedes unirte al Google Summer of Code el año que viene, ¡pero puedes empezar a contribuir ahora mismo!