Desenmascara.me

How to verify whether a website is legitimate or not?: desenmascara.me

viernes, 8 de enero de 2010

Si algún problema tiene el Software Libre, no es de comunicación

Uno de los argumentos (léase FUD) más escuchados en contra del uso de Open Source  o Software Libre (FLOSS) en la empresa es: "No existe una garantía de respaldo, o mantenimiento". Independientemente del modelo de negocio del Open Source, sí por algo se caracterizan las comunidades de desarrollo de este modelo, es por su espíritu abierto y colaborativo.

Si utilizas un software y por cualquier motivo necesitas ayuda o información más allá de lo que está disponible en la documentación oficial, ¿quién mejor para responderte que alguien del equipo de desarrollo?. En el campo del software propietario esto sería inconcebible, pero en el software libre es una realidad.

La última experiencia la tuve hace algunas horas antes de escribir este post. Había descubierto Whatweb, una herramienta de seguridad que permite identificar sistemas de administración de contenido como el de la presidencia española, plataformas de blogs, software de análisis/estadísticas y librerías javascript entre otras cosas. En su archivo de instrucciones (README) informa de proyectos relacionados en el cual aparece w3af. Ambos proyectos tienen el fin de convertirse en el nmap de la web.

Me dispongo a probar la herramienta whatweb, escrita en ruby. No tengo nada de experiencia con ruby, pero en el archivo (INSTALL) vienen las instrucciones para instalarlo en Ubuntu.

Install Ruby
---------------------------------------
sudo apt-get install ruby OK

Install RubyGems
---------------------------------------
sudo apt-get install rubygems OK


Install Anemone, Spidering library
---------------------------------------
sudo apt-get install libxslt-ruby OK
sudo apt-get install libxslt1-dev OK


sudo gem install anemone
ERROR:  While executing gem ... (Gem::GemNotFoundException)
    Could not find anemone (> 0) in any repository

Investigando, a través de varios buscadores veo que el comando gem, es la interfaz del sistema de paquetes rubygems, y anemone es una librería ruby para programas que crawlean sitios web. Alguién con un problema similar, comenta que se soluciona borrando el archivo source_cache, algo que tampoco funciona. Instalando ruby-dev avanza, pero todavía me da algún problema.

En ese archivo INSTALL, al final pone "Please contact me if these installation instructions don't work for you.", y eso hago, envio un correo al desarrollador informando de mi problema para instalarlo.

A las pocas horas, quizá por el cambio horario ya que el desarrollador es de Nueva Zelanda me escribe con varias instrucciones sobre como proceder, entre ellas:

$ sudo gem sources -a http://gems.rubyforge.org 
$ sudo gem update
$ sudo gem install anemone

qué solucionan mi problema. En ese correo también me informa de otras herramientas similares y cualquier feedback y colaboración es bienvenida. Se puede investigar como hacer nuevos plugins para que la herramienta sea capaz de detectar nuevos sitios; esta característica me viene como anillo al dedo en forma de información para desarrollar mi trabajo actual.

Creo que esto resume bien el espíritu del Software Libre, de comunidad, de ayuda, y compartición de conocimiento. Kevin Kelly, en What Matters Now apunta otras ventajas del modelo Open Source.
"Open-Source DNA: There will surely be people who will not share any part of their genome with anyone under any circumstances. that’s okay. But great benefits will accrue to those who are willing to share
their genome. By making their biological source code open, a
person allows others to “work” on their kernel, to mutually
find and remedy bugs, to share investigations into rare bits, to
pool behavior results, to identify cohorts and ancestor codes."
No abogo por una vía única, creo que la mejor opción y la experiencia lo demuestra, es usar la mejor solución (propietaria o libre) para las necesidades del momento; pero acciones como esta, demuestran que el software libre es conocimiento compartido y beneficio para la comunidad.

ACTUALIZACIÓN: Tras alguna reinstalación, al volver a probar WhatWeb me encontre con otro problema:

/usr/bin/gem:10:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

qué se solucionaba añadiendo en /usr/bin/gem la línea
require 'rubygems/gem_runner'
después de
require 'rubygems'

Después de esa pequeña modificación, #sudo gem install anemone funcionará correctamente.

No hay comentarios:

Publicar un comentario

Trata a los demás como te gustaría ser tratado.