Búsqueda y selección de personal en empresas de software libre

Hace unos meses daba una conferencia en el FORMAN.

En la mesa en la que hablaba estaba mi buen amigo Victoriano Giralt; para el que no lo conozca, es una de las autoridades nacionales en servicios de directorio y OpenLDAP, además de ser administrador de sistemas en la Universidad de Málaga. También estaba Juan Fajardo, el vicepresidente de una importante empresa de alquiler de carne y huesped del evento -Novasoft tiene la concesión de la explotación del FORMAN-.

Decidí orientar mi conferencia hacia la búsqueda y selección de personal en empresas de software libre; mi ponencia fue recibida de forma distinta por el público; unos, encantado con lo que decía. Otros, despertando de Matrix. Otros -la minoría-, con cara de estar escuchando apostasía de la única religión verdadera. Al final de la conferencia, veía las cabezas de los responsables de algunas PYMEs asintiendo. El directivo de la «cárnica» -para los que no lo saben, una forma coloquial en determinados círculos de denominar las «software factories»-, por otro lado, manifestó de forma clara su total desacuerdo con las ideas que había manifestado.

Las ideas principales de la conferencia giraban en torno a que hay diferencias claras entre software libre y privativo, que hacen que la estrategia de contratación sea necesariamente diferente.

Comencemos por el principio: en una empresa de software privativo es necesario reinventar la rueda desde cero. A cambio, ganaremos dinero vendiendo licencias del código. Por otro lado, en una empresa de software libre podemos reaprovechar la ingente cantidad de código libre de altísima calidad existente en el mercado, acelerando el desarrollo. A cambio, podremos ganar dinero con muchas cosas, pero entre ellas no estará la venta de licencias. Como vemos, la empresa de software libre podrá aprovechar su ventaja competitiva en tanto en cuanto sus programadores sean capaz de aprovechar las ingentes cantidades de código libre existente. Y aquí empiezan los problemas.

En una empresa de software privativo, tenemos más flexibilidad a la hora de contratar programadores brillantes, o programadores fungibles. Podemos montar una empresa de software privativo contratando un ejército de Javeros monolenguaje, encerrándolos en una sala y haciéndoles remar la galera hasta que el programa esté listo. Este sistema funciona con las empresas cárnicas, y les va muy bien. Sin embargo, este modelo de negocio simplemente no funciona cuando tratamos el software libre: no podemos mandar un Javero monolenguaje a dar la consultoría y los servicios que serán la principal fuente de renta de una empresa de software libre.

Se me viene a la cabeza en este instante una empresa que tiene capital y contratos, pero no termina de funcionar porque intentan emplear el modelo de cárnica en desarrollos de software libre. El problema que tienen ahora es que han creado una cultura de empresa siguiendo el modelo de una cárnica grande. Por ello, aunque ahora contraten esporádicamente a algún programador de software libre, terminan quemándolo: no se puede nadar en contra de la cultura de empresa. Tienen el problema ahora de que no encuentran gente buena de software libre; quizás es que su cultura de empresa ya es conocida, y es incompatible con la forma de funcionar de la gente que precisamente necesitan.

No es el único tipo de empresa que existe. Tanto en las empresas de software libre, como en las de software privativo, hay otra cultura de empresa posible. Esta cultura de empresa es posible en software privativo, e indispensable si queremos aprovechar las ventajas del software libre.

Un programador de software libre debe ser capaz de aprovechar el código existente en Internet para nuestros proyectos de software libre. Esto significa que debe ser una persona que programe al menos C, C++, Perl y Python; ya que son los lenguajes en los que la mayor parte del software libre está escrito. Debe ser una persona con gran conocimiento de qué proyectos libres funcionan, y cuales no, para saber de donde se puede sacar código. Además, debe tener habilidades de comunicación y contactos que le permitan que si entra en los foros pueda preguntar a las personas apropiadas y que le respondan. He visto a Andrew Tridgell ayudar desinteresadamente a un desarrollador de software libre en un proyecto de empresa para una PYME malageña. No se debe minusvalorar lo que supone esto en proyectos reales.

Todo esto nos causa un problema: necesitamos programadores «top» si queremos una empresa de software libre. Mejor pocos y muy buenos, que muchos y mediocres. Si todavía consideramos que un programador mediocre y uno bueno producen a un ritmo semejante en orden de magnitud, quizás es que no hemos tenido en plantilla nunca a un programador bueno. En este caso, recomiendo la lectura de:

Afortunadamente, es fácil localizar los buenos programadores de software libre, y que tienen estos perfiles. Están consolidados, y son conocidos a través de los proyectos en los que colaboran. Podemos leer su código, para ver como programan. Podemos leerlos en las listas de correo, y saber como interaccionan en equipo con colaboradores. Algunos dirigen proyectos de software libre ya, y saben motivar y tratar a la gente. Cualquier programador de software libre consolidado programa varios lenguajes, y además sabe bastante de sistemas (algo atípico en los Javeros monolíngues, pero imprescindible para consultoría y para muchos proyectos)

Quizás el problema no es apenas contratarlos, sino retenerlos. La comunidad del software libre es más cerrada de lo que perciben tanto los miembros de la comunidad como los de fuera de la comunidad. Una mala experiencia se corre como la pólvora, y nos dificultará más contrataciones futuras. De hecho, puede cerrarnos la puerta de los mejores, que probablemente ya tienen trabajo, y a los que tendremos que conquistar.

Recordemos que las empresas de software libre basan su negocio en consultoría y en servicios. Por ello, necesitamos gente creativa, con pensamiento lateral, habilidad para entender escenarios complejos y solucionar sistemas complejos. La única forma de mantener a estos empleados es mediante gestión de teoría Y, así como premiando estas actitudes.

Esto está haciendo que muchos paradigmas estén migrando: cada vez hay más mercado en manos de empresas pequeñas, de poca capitalización pero beneficios interesantes. Las grandes -IBM, HP- llevan años “limpiando» el “pointy-haired boss» de Dilbert, migrando de
teoría X a teoría Y, y convirtiendose en proveedores de servicios. Es cierto que seguirá habiendo cárnicas; pero no es ni el modelo de negocio ni el nicho de mercado de una empresa de software libre. Una empresa de software libre debe ser más como un buffet de abogados que como el barco de los chinos delante de la costa californiana si quiere triunfar.

Technorati tags: ,

Qué es Internet, y quién se opone a ella

Hace unos días, charlando con unas personas, les comentaba lo que realmente era Internet. No es complicado explicar a una persona que no es usuario habitual de Internet qué revolución ha supuesto -y va a suponer- Internet. Basta con olvidar el aspecto tecnológico, que no importa a casi nadie. Se da por supuesto que funciona, como la energía eléctrica: nadie ya se pregunta como llega a casa. Al menos, en los círculos de gente «normal». Para explicar qué es Internet, siempre hablo de lo mismo: la eliminación de intermediarios. Esto tiene muchas connotaciones que supondrán los próximos años una revolución social, política y económica.

Uno de los efectos de Internet es que ya no podemos ser manipulados con facilidad. Si quieres saber lo que realmente pasa en un lugar del mundo… entra en Orkut, localiza gente que viva allí y preguntalo. Es increíble la cantidad de tonterías, mentiras y manipulaciones inexactitudes que determinados medios de comunicación fuertemente politizados sueltan a lo largo del día, cuando por Internet puedes entender qué está pasando por el mundo. Puedes ver las fotos, los vídeos. Puedes hablar con los que estuvieron allí. Es muy complicado manipular a la gente que tiene información de primera mano. Por eso los regímenes totalitarios odian Internet. Por eso se legisla como se legista. Por eso los medios de comunicación tradicionales no hacen más que perder audiencia. Internet democratiza el acceso a la información.

Pero aún hay más: en Internet, todos somos autores. La creación ya no es un privilegio de una minoría. Internet es un pakistaní de nombre impronunciable que canta en Urdu, mandándome música sufí casera para que le diga que qué me parece. Internet es el Koala, que -aunque conocido en círculos underground malagueños- seguiría aún de telonero de Tabletom de no ser gracias a Internet, que ha permitido a todo España escucharlo y apreciarlo sin que un intermediario decida si los oídos de los españoles deben escucharlo o no. Internet democratiza la creación literaria, artística y audiovisual.

Quizás la mejor explicación que he visto en mi vida sobre qué es Internet es esta:

Desde el punto de vista empresarial, también están cambiando las cosas. Yo vendo mis servicios a todo el planeta. Salvo uno, todos mis clientes son de fuera de Málaga. Algunos son de muy lejos. La distancia ya no es problema. No necesito ser grande para competir en el mercado global, apenas ser bueno. La deslocalización me preocupa muy poco. Para mis clientes, la distancia no es problema.

Hay un libro excelente sobre estos temas:

cuya lectura recomiendo. Muy bueno.

Volviendo al tema; para los clientes, también han cambiado las reglas de juego. Antes, las empresas seguían la política de atención al cliente de Don Tancredo. Ahora no es posible; cualquier cliente mal atendido puede hacer mucho daño. Yo conseguí que una importante empresa de ámbito nacional de venta por Internet me devolviera un dinero erroneamente cargado en la tarjeta de crédito. Mi banco, VISA y dicha empresa se lavaban las manos -por cierto, en España es mentira que puedas devolver un cargo en la tarjeta cuando quieras. Aunque sea indebido.-. Parecía que era imposible recuperar el dinero -un mes y medio llamando por teléfono todos los días dio prueba de ello-. Y finalmente… una carta abierta al director de dicha empresa, y el hecho que buscando por google dicho nombre apareciera en primer lugar dicha carta. Y ¡voila! dinero devuelto.

Evidentemente, el establishment se opone. Con todas sus fuerzas. ¿Como lo hace?

Lo más claro y destacado son leyes como la LSSI. O la gran muralla china. Pero otros son más sutiles: satanizan Internet. Si en cualquier delito o acontecimiento negativo aparece Internet, aunque sea tangencialmente, pasará la palabra «Internet» a los titulares -«online», en los medios anglosajones. Pongamos un ejemplo: Si un hombre manda una carta por correo a una chica, queda con ella y la viola, no es noticia -desgraciadamente-. Tampoco lo es si contacta con ella por teléfono movil, empleando tam-tam o por el RFC 2223. Peeero si se conocieron por Internet, hablamos de otra cosa. Titular: «Hombre acusado de violar a una adolescente que conoció por Internet«. Mensaje subliminal: Internet fomenta la violación. La violación es una salvajada; pero el hecho de que medie Internet es lo que la convierte en una noticia que cubre la CBS y dos docenas de medios más. Cualquier delito que no sería noticia por insensibilidad de los medios hacia el delito a la gente común, pasa a ser primera página si en algún momento del delito aparece la palabra Internet, aunque sea apenas de forma lateral.

Pero la gente no es tonta. Es el conocimiento de las masas. Los poderes fácticos han llegado tarde, las exclusas se han abierto. Incluso algunos políticos y periodistas lo están comenzando a aceptar y a apoyar: no se puede poner puertas al campo. El conocimiento debe ser libre.

Sin embargo, hay gente que aún se opone, y quiere frenar el progreso a toda costa. Aunque parar todo sea como lobotomizar a la humanidad. Aprendimos hace 60000 años a hablar, hace 5000 años aprendimos a escribir, y hace 600 años democratizamos el acceso a la cultura: aprendimos a imprimir. Y aquí las cosas se dispararon: esto nos ha llevado a una serie de avances en la comunicación que han terminado permitiendonos compartir nuestro conocimiento con cualquier otra persona del planeta. Pero algunos quieren que esto se acabe.

Hay un documental excepcional sobre ello:

Aún no ha llegado este debate a España; pero llegará. Y cuando llegue, debemos estar preparados. Más que nada porque ellos ya han comenzado a atacar.

(Actualización del 6/3/2007: No, lo del observatorio de neutralidad tecnológica no va de esto, pero porque aún no lo ha tratado. Lo que no quita que es una buena idea pasarse por dicho observatorio, ya que tienen mucho que decir.)

Technorati tags: ,.

La «free software world conference» del 2007

Se celebra por cuarto año consecutivo la Free Software World Conference que tradicionalmente han organizado la Junta de Andalucía y la Junta de Extremadura para promocionar y divulgar el software libre.

Todos los años este evento ha traído invitados de todo el mundo, y han participado grandes figuras tanto del software libre como del conocimiento libre. Este año hay varias novedades: se le ha cambiado el nombre de «Open Software World Conference» a «Free Software World Conference» y que tiene un enfoque orientado no sólamente al mundo del software libre, sino también a todo lo que supone el conocimiento libre de cara a nuestra sociedad.

Este evento se celebrará en el palacio de congresos “Manuel Rojas» de Badajoz (en España) los días 7, 8 y 9 de febrero de 2007 y su lema será «Un reto para la imaginación».

En pasadas ediciones este evento ha sido un éxito: más de 10.000 participantes como oyentes, y más de 400 destacados ponentes del mundo político, de las telecomunicaciones, de las empresas, las administraciones y la Universidad. Un elenco de lujo que este año se va a repetir.

Nunca me que querido quedar fuera de un evento de esta importancia: en su primera edición, di una conferencia sobre el desarrollo de las herramientas de área de usuario del proyecto de clustering libre OpenMosix -ponencia que podemos encontrar aquí-; y en la tercera, sobre la herramienta de visión de imágenes radiológicas en formato DICOM kradviewaquí podemos descargar la conferencia-. En la segunda, desgraciadamente, me fue imposible acudir. Este año, sin embargo, he tenido el honor de ser invitado por la organización a formar parte del comité de expertos; lo que es para mí todo un honor.

La razón principal de este post es recordar que se acaba el plazo de presentación de ponencias: este plazo comenzó el 1 de diciembre de 2006 y terminará el 15 de enero de 2007. Es importante que recordeis que hay que enviar un resumen escrito del póster a la Secretaría del Congreso en la dirección secretariat@freesoftwareworldconference.com para poder presentar el póster en el Congreso.

Tenemos más información sobre como presentar conferencias aquí.

Technorati tags: ,,,

Primera experiencia con los Arduinos (II)

Últimamente en revistas como Make de O’Reilly se ha puesto de moda hablar de lo «último» en hardware libre: Arduino

Como ya he comentado en un post anterior, tengo interés en la plataforma por varias razones: para incluirla en mis actividades docentes, y para un proyecto de domótica libre basada en Arduinos.

El primer contacto con la plataforma -a nivel de compra de los Arduinos, y del posterior envío-, me dejó un mal sabor de boca; tanto por el cambio raro, la atención, y que me llegó uno dañado por el empaquetado. Ahora vamos a pasar a ver los Arduinos en sí.

Los Arduinos vienen con un programa ya preinstalado que enciende y apaga intermitentemente un led puesto entre el puerto 13 y la tierra. Esto se agradece, ya que permite probar los Arduinos de forma cómoda y rápida.

El entorno en sí es cómodo de utilizar para pequeños proyectos. Un detalle importante es que las demos vienen en uno de los menús desplegables, con lo que los no-informáticos tienen más fácil usar Arduino. No porque facilite en sí su programación este hecho; sino porque hace un poco más suave la rampa que supone para una persona con pocos conocimientos en el tema entrar en el mundo de los Arduinos.

El entorno está programado en Java, por lo que en principio debería ser fácil de instalar y configurar.

El entorno para Windows es fácil de instalar y de configurar, no necesitando ningún conocimiento específico para hacerlo. Se han tomado la molestia de empaquetar todo lo necesario para que cualquier persona pueda emplear los Arduinos bajo Windows. Incluyendo el empaquetado del port de AVR del gcc para Windows.

Por otro lado, para Linux tengo que decir todo lo contrario. El procedimiento no es trivial para Debian; no se han tomado la molestia de hacer paquetes específicos, y funciona porque Debian tiene unos paquetes para desarrollo bajo microcontroladores AVR realmente excepcionales. Pero ojo, esto no significa que la gente de Arduino haya hecho un esfuerzo, sino que se han encontrado ya hecho en Debian el soporte AVR.

Para Ubuntu -y las distribuciones derivadas, como Guadalinex o Kubuntu-, el procedimiento es mucho más complejo. El Java de la aplicación de Arduino no funciona con la versión de Jikes que incorpora Ubuntu; y la gente de Arduino no ha corregido el problema en su código. La solución es instalar Jikes desde el código fuente que podemos descargar en Sourceforge, un procedimiento no trivial.

Pero si no empleas ni Debian ni Ubuntu, preparate. El procedimiento va a ser realmente doloroso. Y los de Arduino se lavan las manos.

La impresión que me da es que sí, han hecho hardware libre. Pero de espaldas al software libre. Han aprovechado el software libre para desarrollar su entorno, y se puede echar a andar en Linux porque está en Java; pero viendo la documentación y los paquetes que aportan, parece que funciona en Linux más como efecto secundario de emplear Java para el entorno y gcc para compilar el código para el microcontrolador que como un esfuerzo predeterminado para que funcione en varios sistemas.

Technorati tags: