Evento comercial de Unitronics en Murcia


El pasado 12 de Marzo tuve la ocasión de asistir a evento técnico-comercial en el Hotel Meliá 7-Coronas de Murcia organizado conjuntamente por Unitronics, RSA, Checkpoint y RadWare, con el trasfondo de seguridad en entornos virtuales.
En las cuatro ponencias que se realizaron se trataron temas muy interesantes, que apunto con pinceladas:

  • Actualmente, RSA que al igual que VMware es parte de EMC, está trabajando en adaptar sus soluciones de toda la vida (SecurID, y demás) a entornos virtuales (que funcionen en máquinas virtuales de la misma forma que en físicas). Esto que era de esperar, resulta de especial interés a la hora de tratar de securizar los servidores ESX y el core de nuestra infraestructura de virtualización, porque claro, con la virtualización hemos perdido la segmentación de nuestros CPDs: En un mismo servidor podemos tener el servidor de BBDD, la web, etc ... ¿qué pasaría si el ESX/core se viera comprometido o secuestrado?
  • En el turno de CheckPoint se destacaron los nuevos retos que presenta la virtualización para la seguridad de las comunicaciones de nuestro CPD y cómo la gestión tradicional se convierte en ineficiente, porque en la mayoría de los casos nuestros cortafuegos están en appliance físicos: Cuando se el servidor Web quiere realizar una consulta a la BBDD (en el mismo ESX) debe de sacar el paquete a la red, pasar por el cortafuegos y de nuevo entrar al ESX para que este lo lleve a la BBDD.
    Para mejorar esta gestión, Checkpoint ha realizado un esfuerzo comercial en proveer sus appliances físicos en máquinas virtuales integrables completamente con nuestra infraestructura, y optimizar con ello estos flujos de tráficos. Tenemos disponible para probar VPN-1 VE.
  • Despues en el turno de intervención de Unitronics como partner de VMware, se presentaron las novedades de lo que se conocerá como la tercera generación de la virtualización que se focalizará en la automatización de procesos IT, la gestión de la capacidad bajo demanda y de Pools de Recursos, en lo que ya se conoce como Nube o Cloud. Para ello, VMware en su versión 4 presenta el concepto VDCOS: Virtual Data Center OS.
    VDCOS se encargará de presentar los recursos de nuestra infraestructura IT como un solo computador con la suma de todo (mainframe x86) a las aplicaciones.
    • Se hablará de vStorage para la gestión optimizada del almacenamiento. Con Thin Provisioning se optimizará el espacio que ocupan las máquinas virtuales, y no se necesitará ocupar el espacio de disco asignado a la máquina. Con Linked Clones se permitirá que varias máquinas virtuales compartan el mismo disco, y ahorrá hasta en un 90% las necesidades de almacenamiento de VDI.
    • Se hablará de vNetwork para la unificación y gestión centralizada de la red, de forma que veamos la red virtual a nivel de CPD y no a nivel de servidor ESX. Esto permitirá optimizar los recursos de la red y desarrollar nuevos servicios de seguridad y balanceo.
    • Se hablará de vServices para referirse a un nuevo modelo donde lo que importa son las aplicaciones y no el servidor en el que se ejecutan, y ello se definirá en base a los niveles de servicio que debe cumplir la aplicación (tiempo de respuesta, disponibilidad, seguridad). Oiremos hablar de Fault Tolerance dentro de vAvailability, y esto tiene pinta de que nos mandará al paro a más de uno de los que configuramos clusters y servicios en alta disponibilidad.
      Este nuevo producto se base en tener una máquina virtual idéntica funcionando en un estado lockStep en otro ESX. Si el ESX que ejecuta la máquina tuviera un fallo hardware, Fault Tolerance se encargaría de levantar esta segunda máquina en otro ESX, sin pérdida de disponibilidad ni de datos, por lo que ya no será necesario configurar clusters ni hardware espcial para la alta disponibilidad de aplicaciones.
  • En la intervención de RadWare, nos enteramos que Alteon (la división de balanceo nivel4-a-7 de Nortel) estaba casi quiebra, y recientemente la ha adquirido RadWare. Se presentaron las soluciones que dispone para el balanceo de carga y multi-homming

En general el evento estuvo bastante bien ... mereció la pena asistir.

Mapeo de unidades en el cliente Citrix para Linux

Soys varios los que me habeis preguntado cómo mapear unidades en el cliente Citrix para Linux, a cuenta del post: Instalación del Cliente ICAweb en Ubuntu. El mapeo de unidades nos permite que al conectarnos a una granja Citrix, y ejecutar una aplicación remota, disponer de una unidad (Y: por ejemplo) en el servidor que en realidad sea un directorio local en nuestro equipo, y de esta forma podamos intercambiar ficheros entre nuestro equipo Linux y el servidor Windows.
Para conseguirlo, tendremos que seguir la siguiente secuencia de pasos:

  1. Ejecutar el comando /usr/lib/ICAClient/wfcmg, con el usuario del sistema Linux con el que normalmente solemos conectar al servidor Citrix, para que estas preferencias se guarden en el directorio ~/.ICAClient.
    Si obtuviéramos un error similar al siguiente:
    /usr/lib/ICAClient/wfcmgr: error while loading shared libraries: libXm.so.4: cannot open shared object file: No such file or directory
    ...será porque presumiblemente estaremos ejecutando Ubuntu 9 o superior y tendremos que ejecutar el siguiente comando, tal y como apunta Mimi en el post anterior.
    sudo ln -s /usr/lib/libXm.so.3 /usr/lib/libXm.so.4

  2. En la ventana que se nos abrirá, seleccionaremos Tools->Settings. Se abrirá otra nueva ventan que tendrá en la parte superior izquierda un menú desplegable: Seleccionaremos en él la opción Drive Mapping.
  3. Entre el listado de unidades que nos aparecerá, buscaremos una unidad que no esté mapeada cuando nos conectamos al servidor Citrix, por ejemplo R:. Activaremos la casilla de verificación y la ruta del directorio de nuestro equipo Linux, que queremos compartir. Cambiaremos los permisos de lectura y escritura según nos convenga y pulsando los botones representados por el lápiz (escritura) y por la gafas (lectura).
  4. Asegurarnos de que tambíen tenemos activada la casilla de verificación Enable Drive Mapping, y luego pulsar el botón Apply y después OK. Ya podremos cerrar el programa.

Siguiendo estos sencillos pasos podremos compartir un directorio entre nuestro equipo linux y los servidores Windows de nuestra granja Citrix, a través de una unidad, pero para que funcione, el administrador de la granja debe haber permitido el mapeo de unidades, si no, nada de esto tendrá efecto.

GNU Stow


Hace mucho tiempo que uso esta pequeña herramienta. Stow es una pequeña utilidad para Linux que nos permite gestionar los proyectos que instalamos desde el código fuente, ejecutando ./configure; make; make-install. La podemos encontrar en los repositorios debian (apt-get install stow) y en RPM (http://www.google.com/custom?q=download+stow+rpm). Una vez lo tenemos instalado en nuestro sistema, siempre ejecuto:

mkdir -p /usr/local/stow
Luego cuando quiero instalar un programa a partir de su código fuente, lo descargo y luego ejecuto para compilarlo las siguientes instrucciones:
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib:$LD_LIBRARY_PATH
./configure --prefix=/usr/local/stow/NOMBRE_DEL_PROGRAMA OPCIONES
make
make install
La primera línea nos permite configurar el sistema para que cuando busque librerías dinámicas, tenga en cuenta también estos directorios. Con la segunda línea lanzamos el configurador de autoconf para poder compilar en la tercera línea, y en la cuarta línea instalar el programa bajo el directorio /usr/local/stow/NOMBRE_DEL_PROGRAMA. En este encontraremos un subdirectorio bin, lib, etc, etc.. Si no hubiéramos indicado la opción --prefix, autoconf hubiera preparado para instalar el programa en /bin, /lib, /etc ... mezclándose con los archivos del resto de programas y cuando quisiéramos desintalarlo habría que ir buscando uno a uno cada uno de estos archivos para borrarlos. Al hacerlo con stow sabemos que todos los archivos de este programa están concentrados en /usr/local/stow/NOMBRE_DEL_PROGRAMA. Ahora ejecutaremos los siguientes comandos:
cd /usr/local/stow
stow NOMBRE_DEL_PROGRAMA
Con estos comandos hacemos que stow nos cree enlaces simbólicos en /usr/local/bin, /usr/local/lib, etc.. hacia los subdirectorios y programas de /usr/local/stow/NOMBRE_DEL_PROGRAMA, es como si acabarámos de instalar el programa: Ya podremos ejecutarlo y probarlo. Para eliminar estos enlaces simbólicos (desinstalar el programa), bastará con ejecutar:
cd /usr/local/stow
stow -D NOMBRE_DEL_PROGRAMA

Cosas para hacer cuando instalamos Ubuntu

He reciclado mi viejo portatil HP nx6110, y lo he reinstalado completamente, para dejarlo sólo con MacOSx, Windows XP y Ubuntu, y ya de paso probar Ubuntu 9.04. Cuando terminamos de instalar Ubuntu siempre debemos hacer unos pequños ajustes, para poder usarla decentemente. Son estas:

  1. Habilitar todos los repositorios: Ir a Sistema->Administración->Gestor de paquetes Synaptic. Luego en la aplicación, debemos ir a Configuración->Repositorios, y repasar las pestañas para activar los repositorios que nos interesen. Yo marco los repositorios multiverse, universe, partner, proposed, backports y el código fuente.
    También permito enviar información estadística para mejorar la experiencia del usuario. Cuando terminemos debemos pulsar el botón Recargar.

  2. Configurar el gestor de arranque del equipo, para lo que necesitamos instalar:
    sudo apt-get -y install startupmanager
    sudo cp /boot/grub/menu.lst /boot/grub/menu-backup.lst
    sudo apt-get -y install grub-splashimages
    sudo apt-get -y install splashy-themes
    Luego personalizar las opciones de arranque ejecutando Sistema->Administración->Administrador de Arranque, al gusto.

  3. Configurar nuestro cortafuegos, de una forma humana y evitando iptables:
    sudo apt-get -y install gufw
    Una vez está instaldo podemos configurar nuestras reglas iendo a Sistemas->Administración->Configuración Cortafuegos: Lo recomendable es habilitarlo y denegar el tráfico entrante.

  4. Aunque no suelo hacerlo podemos instalar Wine para poder ejecutar aplicaciones Windows en Linux.
    sudo apt-get -y install wine
    No soy partidario de usar wine, primero porque siempre prefiero usar la versión disponible en Linux o en software libre, y no desperdeciar un minuto en configurarlo que algunas veces no resulta trivial.

  5. Instalar ubuntu-restricted-extras, para poder usar java, flash, mp3, etc...
    sudo apt-get -y install ubuntu-restricted-extras

  6. Instalar ubuntu-tweak!, que nos permitirá tunear nuestro sistema. Para ello ejecutaremos...
    sudo su -
    echo -e "\n\ndeb http://ppa.launchpad.net/tualatrix/ubuntu jaunty main" \
    >> /etc/apt/sources.list
    echo -e "deb-src http://ppa.launchpad.net/tualatrix/ubuntu jaunty main" \
    >> /etc/apt/sources.list

    apt-get update
    apt-get -y install ubuntu-tweak
    exit
    Luego podremos ejecutar la herramienta en Aplicaciones->Herramientas del Sistema->Ubuntu tweak!.

Esto es lo que suelo hacer yo con mi Ubuntu al terminar de instalarla, siguiendo las recomendaciones de Damien en su post: 9 Things You Need To Do/Install After Installing Ubuntu 9.04.

Gestionar nuestro propio tiempo


Aquellos que trabajamos en diferentes proyectos y para diferentes clientes, necesitamos llevar una contabilidad exhaustiva de lo que tenemos que hacer y en qué gastamos nuestro tiempo. En mi caso, como cada cliente tiene una gestión interna de contabilidad de las horas de los técnicos, gestión de incidencias, etc, y además mi propia empresa lleva otra, yo personalmente, necesito llevar mi contabilidad de tiempo personal aparte, y semanalmente traslado a las aplicaciones de los clientes y de mi empresa, porque en otro caso perdería aproximadamente 1,5horas al día en hacerlo. He conseguido condensar este tiempo de actualizar las aplicaciones tres horas semanales, en vez de las 7,5 que necesitaría si lo hiciera on-line a diario. Aquellos que además se nos permite cierto grado de autonomía en nuestro día a día, sin nadie por encima que decida cuándo podemos salir a comer o ir al váter, tenemos además de tener que atualizar nuestro tiempo en aplicaciones de contalidad de tiempo (gestores de proyectos, gestores de tareas y/o gestores de incidencias, incidentes) enfrentarnos a la planificación diaria de los trabajos que tenemos que hacer.

Existen numerosos artículos en la red que nos aconsejan sobre esta tarea, aunque reconozco que siempre me inspiró la presentación de Thomas Limoncelli y su libro Time Management for System Administrators. La semana pasada descubrí el método GTD (Getting Things Done) de David Allen, y durante esta semana he estado intentando llevarlo a cabo. Para introducirse en este método recomiendo:


  1. Ver el vídeo de David Allen en Google.

  2. Ver el video-cast que preparó Berto Peno: GTD Fácil (1ª Parte) de ThinkWasabi

  3. Ver la continuación del video-cast: GTD Facil (2ª Parte), donde describe cómo aplicar el método usando EveryNote y Things (sólo para Mac).

  4. Leernos la entradaGTD:Getting Things Done del blog de JesusDa, para quedarnos mejor con la filosofía y leer sus impresiones. Descargarnos el fondo de pantalla que el mismo JesusDa realizó, para tener un esquema-resumen de cómo funciona.

Hasta ahora siempre he usado una agenda que me acompañaba a todos lados, y donde iba apuntando en qué invertía mi tiempo, y qué tenía que hacer. Para empezar a usar este método he empezado a usar gtd-free, una herramienta java que implementa la metodología y que me permite usar en Linux y Windows. Para solucionar el problema de usar un único repositorio de tareas, he configurado un directorio WebDAV en el servidor de casa, y desde ahí entrego y descargo el listado de tareas. Tras una semana de obligarme a usarlo, estas son mis impresiones:

  • El método es bastante sencillo y no cuesta trabajo adecuarse, siguiendo estos consejos.

  • Elegir bien la herramienta sirve de ayuda para acostumbrase a la metodología.

  • Es importante no obsesionarse: La replanificación de qué vamos hacer sólo se hace a primera hora: poner las tareas más cortas al principio. Durante todo el día vamos recapitulando tareas en Collect, pero sólo las etiquetamos y re-organizamos en carpetas dos o tres veces al día: Lo suelo hacer tras el almuerzo, antes de comer y antes de terminar. La regla de los dos minutos sólo la aplico al principio de la mañana, tarde, y al llegar del almuerzo.
Este tipo de metodologías y herramientas, nos sirven para organizar y planificar nuestro tiempo, pero también es importante luego, repasar lo que hemos hecho, el tiempo que hemos dedicado etc. Si no hacemos este post-análisis no aprenderemos a planificar los proyectos y a saber en qué se va más tiempo en un proyecto ni tampoco tendremos información de cuánto tiempo hemos invertido en realizar una tarea/proyecto, que al final es lo que nos indica el coste del proyecto.

La imagen la he sacado de doc.dr. Miha Škerlavaj vía google images.

Murcya: Control y auditoría


Hace unas semanas me invitaron a asistir al evento Seguridad de la información: Cómo diseñar y rentabilizar su inversión que organizó aquí en Murcia la asociación Murcya, conjuntamente a Oesía y Firma-e, para concienciar al sector de las TICs de la necesidad de implantar una gestión de la seguridad en las organizaciones.
El evento en general resultó muy interesante y esclarecedor, porque los ponentes tenían más que sobrada experiencia en la implantación de SGSI, y conocían las normas ISO y la legislación vigente para presentarlas de una manera sencilla y didáctica.
De todas las intervenciones, resaltaría:

  • La presentación de Javier Cao, que estuvo muy brillante en su exposición. Nos hizo una presentación a los SGSI, y lo hizo de una manera muy amena y entretinida. Todo un descubrimiento.

  • De la exposición de Santiago Dominguez Barrios destacar el pragmatismo con el que plantearon la certificación SGSI en la Consejería de Agricultura y Agua de la Comunidad Autónoma de la Región de Murcia. Tras un primer intento fallido en certificarse ISO 27000, decidieron cambiar la estrategis y certificarse primero en la ISO 9000, con lo que consolidaron los procesos de gestión interna, y luego tan sólo tuvieron que revisar para adecuarlos a la 27000, y entonces sí obtuvieron la certificación.
    Esto tiene la ventaja de que hay muchas empresas que pueden certificarnos en la ISO 9000 y los costes disminuyen muchísimo. Luego para obtener la certificación ISO 27000 no existen tanta consultoras 27000 y los precios se disparan, pero es mucho más rápido y fácil a nivel interno, porque ya se trabaja en base a una norma y casi todo el trabajo duro está hecho.

  • La última intervención de José María Ortín Gimeno (Director de Firma-e) fue muy lúcida por su parte, porque señaló que si bien hay muchas organizaciones que están interesadas en adquirir los procedimientos e implantar las buenas prácticas en materia de seguridad y calidad a nivel interno, para una consultora siempre es una satisfacción que los clientes con los que han trabajado en un proceso tan tedioso algunas veces, obtengan la certificación ISO, como una forma también de reconocer que los consultores han hecho bien su trabajo. Y no le faltaba razón.

Esta reflexión final la considero muy interesante porque ya me encontrado varios clientes, que afirman haber adoptado los procesos que dictan las buenas prácticas de la norma de calidad, ITIL o 27000, y al trabajar con ellos, los que llegamos de fuera, hemos visto organizaciones donde sí funcionan las normas ISO y no estamos viciados con la rutina diaria, nos damos cuenta de que esto en realidad es una ilusión que tiene el cliente, porque para llevar un paquete de folios de una mesa a otra de la misma oficina, tienen que hacer un informe escrito y tres comunicaciones de régimen interior. Todos se justifican de la misma forma: Pagar la certificación es lo que más dinero cuesta todo del proceso, y a fín de cuentas es para que nos reconozcan la forma en la que estamos trabajando, y eso se ve en el día a día. Pero claro, también es una forma que alguien que conoce la norma te diga que además lo estás haciendo bien y cada X tiempo de revise para ver si lo sigues haciendo bien, porque en otro caso, sólo estamos hablando de autocomplacencia y deja ver cierta inseguridad: Si tan seguro se está ¿porqué no dejar que un tercero venga y te lo diga?.

Star Wars: The Exhibition

El pasado mes de Marzo tuve la oportunidad de llegar a tiempo a la exposición en el Centro de exposiciones Arte Canal de Madrid sobre Stars Wars. Aunque esta entrada llegue tarde quería enseñaros las fotos que tomé y para ello, tenía que montarme el PhotoAlbum y etiquetarlas. No he usado Flickr, Picasa o similar, porque son cada vez más las instituciones que deniegan acceso a estos portales, justificando que no son necesarios para el trabajo, y no les falta razón, lo que pasa es cada vez son más los que publican sus imágenes en estos sites, un ejemplo: Las imágenes de los artículos de redhat-magazine están colgadas en Flickr.

Pepito "El negro" me envió las imágenes que tomó él y las he colocado en un álbum aparte porque tienen muy buena calidad. Antes de ir, nos dijo que él recorrió toda la exposición en unas dos horas, nosotros nos tiramos cuatro. Nuestras fotos apenas tienen calidad porque tuvimos hacerlas con el móvil: Al llegar Jose Miguel constató que la cámara que habíamos preparado se negaba a trabajar.

La exposición era un alucine, no se describir la sensación que produce estar allí, junto a los diseños, storyboards, trajes y las maquetas que formaron parte del proceso de producción de las películas: Había que verlos de cerca para comprendenentenderlo. He encontrado un vídeo en Youtube que hace un repaso de la exposición.

Oracle y JDBC

Ayer estuve en un cliente que tenía un problema con una aplicación Java que se ejecutaba en Tomcat 5.5 sobre RHEL5U2 64bits con Java 1.5 64bits contra Oracle 9.2.0.4 RAC, atacando listeners en modo shared_server.

El problema estaba en que la aplicación no conectaba a la base de datos. Al reiniciar el tomcat y establecer las conexiones iniciales del pool de conexiones de Tomcat, se quedaba colgado esperando indefinidamente y el Tomcat no terminaba de arrancar. El cliente aseguraba que la aplicación llevaba así configurada y funcionando desde hacer dos meses. Desarrollé un cliente sencillo en Java, para detectar qué nodo de la BBDD se quedaba colgado, porque unas veces se comportaba de esta manera y otras veces arrancaba con normalidad. Este mismo cliente me sirvió para descartar que el problema estaba en el uso del pool de conexiones de Tomcat. El uso del pool de conexiones de Oracle, requería modificar el código fuente de la aplicación usando springs. Anteayer pasó lo mismo y terminaron reiniciando la BBDD, tras lo cual todo volvió a funcionar.

Ayer insistí en depurar un poco más porque esto sólo afectaba a las conexiones Tomcat y JDBC, y sin embargo, SQLPLUS, TOAD, Oracle Forms etc, no tenían ningún problema en conectar usando los mismos listeners que con JDBC no conseguíamos conectar.

Lo primero que hice fue mirar la matriz de compatibilidad de Oracle en la nota 401934.1 de metalink. Estábamos en matriz: Con esta combinación podíamos usar ojdbc5.jar del instantclient 11.1 u ojdbc14.jar del 10.2. La aplicación estaba usando ojdbc14.jar de la versión 10.2.0.1 por lo que decidimos conservar la misma versión pero actualizada a 10.2.0.4 y descargando de nuevo la versión de 64bits, por mantener la compatibilidad con springs. Tras realizar distintas pruebas usando thin driver, terminamos configurando oci driver, y entonces sí todo funcionaba perfectamente.

La conclusión que debemos sacar de esta experiencia, es que ante aplicaciones Java lo primero que debemos hacer es revisar nuestra matriz de compatibilidad JDBC-Java-Oracle, y lo segundo es usar OCI en vez de THIN siempre que sea posible.

Java DataBase Connectivity, más conocida por sus siglas JDBC, es una API que permite la ejecución de operaciones sobre bases de datos en lenguaje Java. Esta API nos permite independencia en la aplicación (código) de la base de datos a la que se accede y, vienen a ser una colección de interfaces y clases Java, que implementan un manejador o driver de conexiones hacia un servidor de base de datos. Existen varias formas de implementar este manejador o driver, y la propia Oracle ofrece tres posibilidades:

  1. Thin driver, enteramente escrito en Java, provee una implementación en TCP/IP de Oracle SQL*Net/Net8, independiente del sistema operativo. No requiere de más software de Oracle instalado en el equipo que lo use. Se usa en el cliente de BBDD o servidor de aplicaciones.

  2. OCI driver (Oracle Call Interface), es una implementación mitad en Java y mitad en código nativo C (Java hace de Wrapper entre la aplicación y las llamadas en C), que provee una implementación completa de Oracle SQL*Net/Net8, además de IPC, named pipes y SPX/IPX, dado que se apoya en el cliente pesado de Oracle que además, es obligatorio tener instalado. Necesita tener un fichero tnsnames.ora en $ORACLE_HOME/network/admin/. Se usa en el cliente de BBDD o servidor de aplicaciones.

  3. KPRB driver es utilizado para escribir en Java procedimientos almacenados, funciones, triggers ... Ofrece acceso a la conexion activa por lo que no es necesario crear ninguna conexión adicional. Se usa en el servidor de BBDD.
Una de las principales ventajas de usar OCI es que implementa TAF (Transparent FailOver) en conexiones a Oracle RAC.

Conversaciones con Jenny (I)


Hace unas semanas recibimos una alumna en prácticas FCT desde uno de los Ciclos Formativos de Grado Superior de Administración de Sistemas Informáticos, y por tanto la estamos tutorizando la gente de sistemas. Su nombre es Jenny. Una vez a la semana procuro mantener una conversación distendida con ella, en la que intento contarle algo que le sirva en su recién estrenada vida laboral, y le aporte una visión diferente a la que le han contado sus profesores, para que tenga diferentes criterios con los que forjar su propia opinión sobre estos temas.
En la medida que mi tiempo me permita, intentaré ir transcribiendo aquí estas conversaciones.

La primera de ellas, trataba sobre el Software Libre, aprovechando que durante un par de semanas había estado trabajando en el proyecto que le hemos asignado, y había empezado a sufrir Ubuntu y un apt-pinning mal configurado. En unos días cambió su opinión de que Ubuntu era maravilloso, a que era sistema operativo lleno de fallos y problemas complicados. Demasiado impaciente.

En los últimos años los jóvenes que acaban de los ciclos formativos, gracias al cielo y a sus profesores, conocen Linux y conocen Ubuntu, pero desgraciademente sólo conocen la opinión radical de algunos de sus profesores: Ubuntu es muchísimo mejor que Windows, y Windows no vale para nada es el lema que recitan a poco que hablas con ellos. Chavales recién formados con una opinión preestablecida tan rotunda no es bueno ni para ellos ni para Linux y se vuelve como un boomerang cuando los alumnos se plantan ante problemas con cierta dificultad que no son capaces de resolver con los escasos conocimientos que han adquirido sobre Ubuntu, momento en el cual cambian de opinión para abrazar entusiasmadamente la facilidad de Windows. Pude observar esta reacción en Jeny y decidí contarle mi punto de vista sobre el software libre y software propietario.

Para ello le hice una analogía entre el negocio que hay detrás de un MCDonalds o Burgerking, y el que esconde un bar más pequeño en un barrio, pero donde no sirven comida prefabricada. Imaginar por un momento que ella quiere dedicarse al mundo de la hostelería, y se le presentan dos alternativas: Formar parte de una gran cadena de restaurantes, o montar tu propio bar.

  • Para trabajar en un McDonald no se necesita una gran preparación previa sobre hostelería y cocina, porque todo se reduce a una carta limitada de comidas (McWooper, BigMc, etc), que previamente te dicen cómo cocinar y qué ingredientes puedes usar, de hecho te proveen los ingredientes, las recetas, tu formación e incluso la decoración de tu local. También te fijan los precios de los productos que vendes y por tanto tu carrera profesional como empleado/empresario y tu salario/ganancias están muy limitados.

  • Por otro lado, puedes optar por montar un pequeño bar o restaurante donde tú decidas el tipo de comida que vas a ofrecer, la decoración de tu local, la calidad de los ingredientes que vas a usar, y puedas inventar tus propios platos. Los precios los estableces tú según tu criterio, y el salario y ganancias del negocio están limitados a tus cualidades profesionales, y a lo bueno que seas haciendo tu trabajo.

¿Es mejor uno que otro? Para nada, ambos tienen sus clientes: Hay clientes que no tienen dinero para cenar en un restaurante y se van a un McDonald, otros lo hacen simplemente porque les gusta ese tipo de comida, o les pilla más cerca de casa. Esto es un negocio cuyo objetivo es quedarse con el dinero que el cliente lleva en su bolsillo cuando entra en el local, no de responder preguntas religiosas o decidir qué color es más bonito.

¿Cuál es el mejor para el cliente? Depende del cliente: Si un cliente llega a un McDonald y pide un plato de pescado seguramente no se lo van a servir por mucho dinero que tenga ese cliente. El cliente decidirá si prefiere comer hamburguesa o buscar un bar cercano y comer lo que le apetece. Además el enfoque del trato a los clientes es totalmente contrapuesto: En uno, el cliente tiene que ir a por la comida y esperar de pie, mientras que en el otro espera sentado a que le lleven la comida a la mesa. Es el cliente el que debe decidir donde gastarse su dinero. Nosotros sólo podemos darle motivos para que se lo gaste en nuestro negocio pero al final él es quien decide.

Entonces, ¿es más rentable poner un restaurante? Para nada, es mucho más caro, necesitas más dinero para empezar, personal y quizás es más arriesgado: puedes no ganar nada o ganar mucho, pero la ventaja es que dependes de tí mismo y de tus cualidades, del interés que tengas en mejorar tu negocio. Si te preocupas por tu negocio, lo tienes limpio, cuentas con los mejores profesionales, e inviertes tiempo y dinero en poder ofrecer un mejor servicio, platos y comidas a tus clientes, es probable que tengas éxito. Seguramente no tendrás tantos clientes como pueda tener un McDonald pero seguro que te serán más fieles y en definitiva esto se trata de ganar dinero, no de batir records.

Igual que sucede con los restaurantes y los McDonalds, sucede con el software libre y el propietario, donde en vez de comida hablamos de servicios que se ofrecen a los clientes, y cuando hablamos de clientes, claro está, hablamos de gente que paga dinero por algo. De la misma manera que McDonald no gana dinero cuando te haces una hamburguesa en casa, un informático no gana dinero cuando alguien se instala un Windows pirata en su casa, o se pone Ubuntu. No hablamos de eso, hablamos de clientes.

Al software libre erronemente a veces se le llama gratuito, y es una gran mentira. Es cierto que existe un ahorro en licencias, pero el precio del técnico suele ser mayor porque requiere de mayor formación, de la misma forma que un buen cocinero de restaurante suele cobrar más que uno de McDonald, por su experiencia y formación.

En la comparativa y las analogías nos podríamos extender todo lo que quisiéramos, pero lo más importante a mi juicio, y como le expliqué a Jeny, es saber dónde estamos: Si queremos ser cocineros de McDonalds tenemos que tener claro que no podemos exigir cobrar como un cocinero de restaurante, y si queremos ser cocineros de restaurante, tenemos que asumir que tendremos que esforzarnos a diario en aprender sin pretender hacer una deliciosa paella en el mismo tiempo que se hace una hamburguesa, y con los mismos conocimientos.

La imagen la he sacado de Adartestudio: Ultimas tendencias en tecnologias y internet, buscando en Google en Images: McDonald.

Ubuntu Developer Summit en Barcelona


Acabo de ver que a finales de este mes de Mayo tenemos en Barcelona el congreso de desarrolladores y colaboradores de Ubuntu (Ubuntu Developer Summit) que tiene como objetivo poner en común ideas para incluirlas en la próxima versión 9.10 Karmic Koala de Octubre:
http://summit.ubuntu.com/uds-karmic/

El evento es desde Lunes 25 hasta Viernes 29, quizás se haga un poco largo, pero podría estar bien salir sábado en el tren desde Murcia y estar hasta al menos miércoles o Jueves: http://www.um.es/gap/seminario/seminario/trenes.html