ovalenzuela's Blog

Configurar Mutt como cliente de correo en Fedora

September 10, 2011 by Oscar Valenzuela   comments (0) - Visitas: 23972

mutt, gnupg, yum, spamassassin, procmail, fetchmail, fedora

Antiguamente utilizaba Evolution como cliente de correo tanto para la cuenta de mi trabajo y mi cuenta personal, sin embargo el volumen de correos que llegaban a mi cuenta personal era superior a los 300 correos diarios, es decir, un almacenamiento de aproximadamente 3 o 4 Gigas mensuales.

Evolution como cliente funciona muy bien, pero al tener un volumen tan alto, la base de datos interna que posee para indexar el contenido comienza a tener problemas, se corrompe y comienza a fallar seguido. Incluso en una ocasion tuve que borrar todo registro en Evolution y hacer que lo reindexara, para poder continuar trabajando, lo que demora alrededor de 2 horas.

Por esto, tomé la decisión de continuar utilizando Evolution como cliente para gestionar el calendario y correo de la pega, ya que la organización donde trabajo utiliza un servidor de correo privativo, y Evolution es capaz de conectarse a ese motor utilizando DavMail. Para mi cuenta personal, decidí entonces que lo mejor era migrar a un cliente, liviano, simple y poderoso, osea, lo más cercano al ideal de cualquier Nerd, el cliente Mutt.

Hoy, debo decir que el sistema funciona excelente, y para quienes deseen probarlo, pueden utilizar la siguiente configuración. Les recuerdo que yo configuro en Fedora por lo que es posible que la configuración pueda variar entre diferentes distribuciones.

Lo primero es descargarnos el software que utilizaremos:

yum install mutt fetchmail spamassassin nano esmtp aspell aspell-es

Luego, creamos una carpeta de trabajo y algunos archivos:

mkdir ~/mail/
touch ~/mail/.aliases
touch ~/mail/.signature

En el archivo .aliases guardaremos nuestra libreta de direcciones y en .signature podremos luego agregar una firma para nuestro correo. Luego crearemos un archivo de configuracion para fetchmail, el software que nos permitirá descargar el correo y lo almacenará en nuestro directorio de trabajo.

# nano ~/.fetchmailrc
set daemon 300
set postmaster "ovalenzuela"
set bouncemail
set no spambounce
set properties ""
poll MISERVIDORPOP protocol pop3 username "NOMBREUSUARIO" password "MICLAVE" no keep fetchall mda "procmail -d %T"

Fijarse, la primera opción define el periodo cada cual el sistema verifica si hay nuevo correo. El parametro que aparece al lado de postmaster corresponde al usuario del sistema que utilizaremos. Adicionalmente deberemos cambiar MISERVIDORPOP por la ip o nombre del servidor, NOMBREUSUARIO y MICLAVE por los datos de nuestra cuenta pop3 (debemos mantener las comillas dobles).

Como notaron, utilizamos procmail para realizar la distribución, y podremos aprovecharnos de esta funcionalidad para filtrar correos mediante spamassassin. Para esto, creamos la siguiente configuración:

MAILDIR=/home/ovalenzuela/mail/
DEFAULT=$MAILDIR/mbox
LOGFILE=$MAILDIR/from-log
LOCKFILE=$MAILDIR/.lock

:0fw: spamassassin.lock
* < 256000
| spamassassin

:0
* ^^rom[ ]
{
  LOG="*** Dropped F off From_ header! Fixing up. "

  :0 fhw
  | sed -e '1s/^/F/'
}

Realizadas estas configuraciones, lanzamos fetchmail para que comience a descargar nuestro correo:

fetchmail

Luego, deberemos crear una configuración adicional para el servicio esmtp, el cual será utilizado para enviar los correos.

# nano ~/.esmtprc
identity MICUENTA@CORREO
   hostname MISERVIDORSMTP:25
   starttls = enabled
   username = "MICUENTA@CORREO"
   password = "MICLAVE"

Finalmente, configuramos mutt:

nano ~/.muttrc
set folder = ~/mail/
set spoolfile = "~/mail/mbox"
set mbox = "~/mail/read"
set record="~/mail/send"
set postponed="~/mail/postponed"
set sort=date
set copy= yes
set mark_old= yes
set move=yes
set postpone=ask-no
set status_on_top = yes
set mail_check =5
set delete=yes
set fast_reply=yes
set editor="nano +7"
set abort_nosubject=ask-yes
set include
set include=yes
set indent_string="> "
set send_charset="utf-8"
set assumed_charset="iso-8859-1"
set quit=ask-yes

# desplazar únicamente una línea en lugar de una página entera
set menu_scroll=yes

# queremos ver algunos tipos MIME en línea, mire más abajo en esta misma
# guía para ver una explicación de esto
auto_view application/msword
auto_view application/pdf

# hacer que el patrón de búsqueda por defecto busque en los campos: To,
# Cc y Subject (destinatario, copia y asunto)
set simple_search="~f %s | ~C %s | ~s %s"

# preferencias sobre hilos, ordenar por hilos
set sort=threads
set strict_threads=yes

# mostrar la puntuación de spam cuando se lea un mensaje (solo válido para
# SpamAssassin)
spam "X-Spam-Score: ([0-9\\.]+).*" "SA: %1"
set pager_format = " %C - %[%H:%M] %.20v, %s%* %?H? [%H] ?"

# no mostrar todos los campos de la cabecera del mensaje, solo algunos
ignore          *
unignore        From To Cc Bcc Date Subject
# y en este orden
unhdr_order     *
hdr_order       From: To: Cc: Bcc: Date: Subject:

# iluminar con colores, para más ejemplos de colores, visite:
# http://aperiodic.net/phil/configs/mutt/colors
color normal      white          black
color hdrdefault  green          default
color quoted      green          default
color quoted1     yellow         default
color quoted2     red            default
color signature   cyan           default
color indicator   brightyellow   red
color error       brightred      default
color status      brightwhite    blue
color tree        brightmagenta  black
color tilde       blue           default
color attachment  brightyellow   default
color markers     brightred      default
color message     white          black
color search      brightwhite    magenta
color bold        brightyellow   default

# ajustes de personalidad
set realname = "MINOMBREREAL"
set from = "MICORREO"
alternates "MICORREO|MICORREO"
set use_from=yes
set envelope_from="yes"
set sendmail="/usr/bin/esmtp"
set sendmail_wait=0
# el siguiente fichero debe existir, contiene la firma, comente la línea
# si no quiere utilizar una firma
set sig_dashes
set signature = ~/mail/.signature
# alias (parecido a una libreta de contactos)
set alias_file= ~/mail/.aliases
set sort_alias= alias
set reverse_alias=yes
source $alias_file

#SOLO SI DESEAMOS UTILIZAR GNUPG
source ~/mail/crypto

# los buzones de correo en los que queremos comprobar si ha entrado correo
mailboxes "="
mailboxes "=Lists"

Editando las variables MICORREO y MINOMBREREAL deberemos tener disponible nuestro nuevo cliente de correo configurado y funcionando. Fijarse que estamos incluyendo el archivo crypto, ahí podremos agregar nuestra configuración para utilizar gnupg, si no desean utilizarlo es cosa de comentar la linea agregando un caracter "#" o eliminarla. Un ejemplo del archivo crypto podría ser el siguiente, reemplazando los ID con los de tu clave:

set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f"
set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f"
set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f"
set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0x7F7F7F7F -- -r %r -- %f"
set pgp_encrypt_sign_command="pgpewrap gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0x7F7F7F7F -- -r %r -- %f"
set pgp_import_command="gpg --no-verbose --import -v %f"
set pgp_export_command="gpg --no-verbose --export --armor %r"
set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r"
set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r"
set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r"

# specify the uid to use when encrypting/signing
set pgp_sign_as=0x7F7F7F7F

# this set the number of seconds to keep in memory the passpharse used to encrypt/sign
# the more the less secure it will be
set pgp_timeout=60

# it's a regexp used against the GPG output: if it matches some line of the output
# then mutt considers the message a good signed one (ignoring the GPG exit code)
set pgp_good_sign="^gpg: Good signature from"

# mutt uses by default PGP/GPG to sign/encrypt messages
# if you want to use S-mime instead set the smime_is_default variable to yes

# automatically sign all outcoming messages
set crypt_autosign
# sign only replies to signed messages
set crypt_replysign

# automatically encrypt outcoming messages
set crypt_autoencrypt=yes
# encrypt only replies to signed messages
set crypt_replyencrypt=yes
# encrypt and sign replies to encrypted messages
set crypt_replysignencrypted=yes

# automatically verify the sign of a message when opened
set crypt_verify_sig=yes
set pgp_autosign=yes

Y con esto, abrimos mutt y presionamos la tecla m para enviar un nuevo correo. El resto, pues en la ayuda de Mutt, sino este post será interminable.

Seguridad en GNU/Linux

May 5, 2011 by Oscar Valenzuela   comments (0) - Visitas: 21341

charla, duoc, firewalls, snort, shorewall, iptables

Ayer miércoles dicte una charla de introducción a Firewalls e IDS basados en sistemas GNU/Linux en el DUOC UC sede Alonso Ovalle y me comprometí a subir el material a mi blog, así que aquí lo dejo:

Descargar presentación
Descargar Webmin
Descargar Shorwall
Descargar Snort
Descargar SnortRules

Resultados de Cachador en su primer mes de vida

February 10, 2011 by Oscar Valenzuela   comments (2) - Visitas: 19658

metag, metag-buscador, torrents, buscador, cachador

Todos sabemos que cuando creamos un sitio web, sin importar su temática, el alcanzar un flujo de usuarios es bastante difícil, de hecho, a menos que compremos publicidad es realmente difícil que supere las 10 visitas diarias en su primer mes. Cachador se ha convertido para quien escribe en una verdadera maqueta de pruebas de laboratorio, no solo por su funcionamiento como buscador, sino también para lograr posicionamiento y resultados demostrables, y hoy cumpliéndose el primer mes desde que el sistema esta casi completamente en producción quiero compartir con ustedes los resultados del mes de Enero (he excluido cualquier resultado anterior o posterior).

Aunque las cifras no son tan avasalladores como quisiéramos hay que considerar que es un sitio que se posiciona en la web por si mismo, que solo lleva un mes de vida, que es un proyecto que esta recién comienza y que aun falta mucho que perfeccionar y aprender.

Visitas Mes Enero
Promedio de Visitas Diarias Mes Enero

Ingresos Mes Enero
Ingresos Mes Enero

En solo 1 mes de existencia hemos indexado 112.812 dominios, 105.330 nombres y 325.124 palabras, con una ocurrencia (la relación de encontrar una palabra en un sitio web) de 1.384.054, conformando en total una base de datos de 3.751.160 registros.

Hemos alcanzado un registro de visitas únicas con un promedio de 750 diarias y 3635 visualizaciones diarias, un ingreso total del mes de US$31,75 dolares por concepto de publicidad y 42.165 visualizaciones de nuestros avisos publicitarios dentro del sitio.

Esta semana se incorporan los nodos de Ecuador y Perú, y aunque ya comenzamos a sufrir problemas con la indexación de nuestras bases de datos, esperamos incrementar en forma importante estos resultados en los próximos meses.

Dedico esto a quienes creyeron en el proyecto y en especial a @felpa por su paciencia, entendimiento y apoyo.

http://www.cachador.com

Cachador el MeTag-Buscador

December 8, 2010 by Oscar Valenzuela   comments (1) - Visitas: 17957

tesis, gnu, buscador, meta, tag, metag

Como muchos saben, estoy preparando mi proyecto de tesis, y me tiene algo loco, no tanto el trabajo, sino mas bien los resultados, es por esto que poco a poco iré publicando los cambios que voy realizando, básicamente como una bitácora. El proyecto en que estoy trabajando es una mezcla entre buscador y directorio de sitios para cada país, sin embargo no funcionara como tradicionalmente funcionan los buscadores en base a la indexacion de enlaces, sino basado en los mismos dns, algo así como un directorio de registros dns, que utilizara las propias palabras buscadas como fundamentos de las consultas.

Entrevista INFOWEEK

November 26, 2010 by Oscar Valenzuela   comments (0) - Visitas: 17548

infoweek, entrevista, gnuchile, software, libre

Esta fue una entrevista reciente que me realizaron para la revista INFOWEEK:

1.- Cuáles son los beneficios que pueden reportar las grandes empresas, las medianas y las pymes con el uso de software libre en? (favor enfatizar en el segmento de las grandes y medianas)

Uno de los beneficios mas inmediatos y significativos, es la reducción de costos de adquisición en relación al pago de licenciamiento, puesto que aunque el Software Libre cuenta con una robusta licencia cuya efectividad ha sido probada en varias cortes del mundo, en general no existe costo de arrendamiento del software, a diferencia como ocurre en el caso del software privativo, ya que el modelo de negocios del Software Libre esta basado en los servicios alrededor del software, y no en las restricciones que se le imponen al usuario, para luego ir cobrando por eliminarlas por un tiempo determinado como lo hace el Software Privativo, e incluso aun cuando existen ocasiones en que los costos por proyectos "llave en mano" con ambos tipos de software sean similares, en el tiempo la diferencia entre los costos de arrendamiento del Software Libre frente a los altos costos de del Software Privativo, generan un enorme ahorro.

Por otro lado, el hecho de que el Software sea Libre (recordemos que el Software Libre se define por sus 4 Libertades esenciales para usar, estudiar, modificar y distribuir el software, lo que incluso marca una enorme diferencia con el Software llamado Código Abierto que no siempre respeta estas 4 Libertades esenciales, razón por la cual código abierto no es sinónimo de Software Libre), permite eliminar radicalmente el efecto "Vendor Lock-In", es decir, que únicamente una empresa o grupo de empresas pueden prestar servicios por una pieza de software, algo que elimina la competencia y por tanto toda posibilidad de negociar o mejorar los precios de los servicios contratados. Por el contrario, el uso de Software Libre y la disponibilidad del código fuente del software (Libertad 1 de la definición de Software Libre), nos garantiza que cualquier empresa pueda convertirse en proveedora de servicios y por supuesto, siempre podremos elegir a quienes mas saben respecto a ese producto, los mismos autores, permitiendo así también asegurar el financiamiento para mejoras y correcciones del Software Libre que estemos utilizando.
Otro beneficio importante a considerar es la estandarización de los formatos que contienen nuestra información, lo que nos asegura lograr la integración de sistemas y procesos, sin que esto represente un costo adicional para nuestra empresa, así como el asegurar que siempre podremos acceder a nuestra información y estar en pleno conocimiento como los programas que usamos la acceden y procesan a un nivel que normalmente estaría oculto al no contar con el código fuente como es el caso del Software Privativo.

2.- A su juicio, ¿cómo ha evolucionado la adopción del Software Libre en Chile respecto de otros países de la región o de otras naciones del mundo desarrollado? (si conoce la realidad de algún país en particular, favor detallar)

Lamentablemente nuestro país ha evolucionado en forma lenta, causando incluso que en ocasiones caigamos en la obsolescencia en temas de tecnológicos y en especial respecto al Software Libre, y es que a diferencia de Chile, otros países como España, Alemania e incluso aquellos de nuestra región como Cuba, Venezuela, Ecuador y Brasil, tienen políticas de Estado claras y robustas respecto al uso de los recursos, adopción y desarrollo de Software Libre, adoptando de lleno la licencia GNU GPL como un estandar y pilar para su desarrollo digital pasando a formar parte de su estrategia tecnológica nacional. Esto ejemplificado con en el discurso del Presidente Lula (Brasil) en el pasado FISL (Fórum Internacional Software Livre) ha servido de impulso para que empresas de todo tipo y tamaños, así como centros educacionales y ciudadanos adopten el Software Libre. Y es que hoy proliferan mas los Mitos y la ignorancia respecto al Software Libre, que su uso e implementación, principalmente por la falsa creencia de que el Software Libre es siempre sinónimo de Software Gratis y que por tanto, el Software Libre al sonar a gratis, es inferior, lo cual no puede estar mas lejos de la realidad, por que si fuera así los gobiernos de los países mencionados, NASA, Google, Bancos, incluso la mayoría de sus teléfonos moviles, no estarían utilizando Software Libre.

3.- ¿Cuáles han sido las principales barreras para la consolidación del sistema en Chile?

Como mencionaba, creo que una de las principales barreras ha sido no contar con un apoyo tan claro y robusto como en el caso de otros países, una política de estado junto a un instrumento de ley, o al menos un decreto, que impulse la adopción y desarrollo de Software Libre y su industria de servicios, y es que a pesar que existen muchas iniciativas realmente buenas en el Gobierno, no siempre estas coinciden con los ejemplos que nos dan nuestros vecinos de países como Brasil, Cuba, Venezuela y Ecuador, lo cual claramente seria un enorme impulso para el Software Libre en Chile. Por otro lado, los mitos existentes y el desconocimiento, generan que muchos que quisieran adoptar esta tecnología desistan ante los miedos e inseguridad, al no conocer su potencia, seguridad y robustes, con un modelo de desarrollo muy superior a cualquier solución de Software Privativo y un enorme espectro de beneficios como bajos costos, actualizaciones periódicas, soporte a nivel profesional no solo otorgado por un único proveedor, posibilidad de reutilización gracias a su licencia, y por sobre todo, Libre.

4.- ¿Qué acciones debería concretar el mercado para potenciar el uso del Software Libre en la escena local?, ¿lanzar aplicaciones de negocios más sofisticadas, tipo ERP, CRM y/o soluciones para la cadena de abastecimiento?, ¿mejorar el soporte técnico en el uso del Software Libre?

No creo que el crear mas aplicaciones sea necesario puesto que existen muchas soluciones de Software Libre para uso como ERP, MRP, CRM, Reporting, Business Intelligence, etc. disponibles y que nada tienen que envidiar a las soluciones de Software Privativo en cuanto a funcionalidad y calidad. Sin embargo creo que hace falta mas difusión en cuanto a los principios detrás del Software, algo que ultimamente ha estado ocurriendo con la llegada de empresas como Redhat a nuestro país, y es que para quienes impulsamos el Software Libre contar con el apoyo de empresas de su tamaño apoyando y demostrando que el Software Libre no es solo una alternativa, sino la mejor opción, ha sido una verdadera alegría. Solo falta difundir aun mas las bondades del Software Libre para romper con los mitos y la ignorancia, y contar con el apoyo del estado para impulsar su adopción en todo tipo de organización.

5.- Cualquier otro comentario que quiera añadir.
Como Fundacion GNUCHILE nuestra labor es la de asesorar y apoyar a las empresas y personas que deseen adoptar el Software Libre, ya sea por sus libertades desde un aspecto mas filosofico quizas o incluso para reducir sus costos, es por esto que invitamos a quienes deseen adoptar esta tecnologia nos contacten, con gusto resolveremos sus dudas y atenderemos sus consultas, puesto que es muy importante para nosotros que cada empresa que implemente Software Libre, no solo logre disfrutar sus beneficios, sino que se transforme en un caso de exito y ejemplo para el resto.

Presentaciones de Software Libre

November 26, 2010 by Oscar Valenzuela   comments (1) - Visitas: 17438

valenzuela, oscar, gnuchile, libre, software, presentaciones

Siempre olvido subir y publicar mis presentaciones luego de las charlas que realizo, es por esto que he publicado todas las presentaciones que he realizado hasta ahora. Espero lo disfruten y si alguien tiene dudas, pues aquí pueden encontrarme.

Todas las charlas, las he subido al modulo de archivos

Instalando spring-roo en Trisquel 3.5

September 23, 2010 by Oscar Valenzuela   comments (0) - Visitas: 16605

spring, roo, spring-roo, trisquel, java

Este procedimiento se probo en un ambiente recien instalado.

Primero instalamos las dependencias:

gnuchile@gnuchile-desktop:~$ sudo su
[sudo] password for gnuchile:
root@gnuchile-desktop:/home/gnuchile# cd /opt
root@gnuchile-desktop:/opt# apt-get install maven2

Ahora descargamos e instalamos spring-roo:

root@gnuchile-desktop:/opt# wget http://s3.amazonaws.com/dist.springframework.org/milestone/ROO/spring-roo-1.1.0.M3.zip
root@gnuchile-desktop:/opt# unzip spring-roo-1.1.0.M3.zip
root@gnuchile-desktop:/opt# ln -s /opt/spring-roo-1.1.0.M3/bin/roo.sh /usr/bin/roo

Ahora descargamos e instalamos Eclipse para ayudarnos a desarrollar:

root@gnuchile-desktop:/opt# apt-get install eclipse

Y ya tendremos nuestro spring-roo esperandonos para trabajar.

El Sucedáneo de Software Libre no es Yogurt

September 13, 2010 by Oscar Valenzuela   comments (7) - Visitas: 10531

distribuciones, no, libres, definicion, software, libre, software libre, gnu, linux

No hace mucho, en Chile surgió una gran polémica, originada por la publicación de un estudio que revelaba que el comercialmente conocido yogurt (también referenciado como yogur, yogourt o yoghourt) que es vendido por diferentes compañias, en realidad no se trata de lo que se define como Yogurt, y hoy leyendo nuevamente un comentario sobre el Software Libre y sobre porque ciertas distribuciones de GNU/Linux no son consideradas 100% Libres, quise tomarme un tiempo para hacer una analogía utilizando al Yogurt como referencia.

 

Cada compañia intentaba o intenta (por que aun sucede) vender sus productos etiquetandoles como Yogurt, le agregan ingredientes adicionales como saborisantes, cereales, frutas y resto de cosas para originar nuevos productos comerciales, sin embargo estos no son Yogurt según lo establecido en el Reglamento Sanitario de los Alimentos y la Norma Chilena 2560 que define al Yogurt como el producto de leche pasteurizada de vaca y cultivos constituidos por las bacterias Lactobacillus bulgaricus y Streptococus termophilus, de esta forma, ninguno de los productos de las compañias que se mencionan en el estudio cumplen con tal definición, por tanto no es Yogurt lo que venden, ahora bien lo simpático es que cuando les preguntas ellas responden que es Yogurt, puesto que es un derivado de tal o cual conjunto de productos lácteos e incluso que se le agregaron otros ingredientes para que sea mas sabroso y tenga mas atractivo por el publico, o se le adicionaron minerales, vitaminas, hierro y calcio, etc. para que fuera mas nutritivo, pero finalmente no cumplen con los requerimientos para ser Yogurt.

 

Sin embargo, la definición es clara, y para que un producto sea considerado Yogurt debe cumplir como mínimo con las especificaciones dadas en su definición, lo demás es mera charlatanería donde se intenta usar el calificativo de Yogurt sobre productos que no lo son para venderlos engañando al publico que desconoce a detalle esta definición o simplemente, jamas se enteraron del estudio, algo por lo demás penoso, considerando que muchos padres reemplazan la leche que deben ingerir los niños por este producto falsamente catalogado como yogurt, y esto se vuelve en extremo maligno cuando consideramos el conocido caso del suplemento alimenticio ADN, que ha causado la muerte a pequeños al decir que era algo que realmente ni siquiera se asimilaba.

 

Un caso parecido ocurrió también en Chile con el jugo de limón embotellado, luego de análisis, se llego a la conclusión de que lo que en realidad se vendía como jugo de limón era una sopa de químicos de diferentes tipos, y los productos no contenían ni una sola gota de jugo de limón, desde entonces se deben etiquetar estos productos como sucedáneo de jugo de limón, es decir, algo que aparenta ser jugo de limón, pero no es jugo de limón.

 

Hoy en el Software Libre ocurre algo bastante similar, muchos se molestan cuando catalogan sus programas favoritos como NO LIBRES, e insisten en que para ellos son mas o menos libres, y llega a ser cómico que la misma situación del Yogurt y del jugo de limón se repita en el ámbito tecnológico.

 

Muchas personas pretenden establecer, así como lo hacían en la analogía las companias de productos lácteos, que el Software Libre esta definido según lo que les parece conveniente, sin embargo existe una definición clara de lo que es Software Libre, construida por quienes fundaron el software libre como tal y es la conocida definición que establece como Software Libre aquel que respeta las 4 Libertades esenciales de usar, estudiar, modificar y distribuir el software, y así mismo establece los requerimientos que debe cumplir cualquier software para poder ser etiquetado como Software Libre. Si una pieza de software lo cumple, entonces es Software Libre, de lo contrario, aunque tenga muchas otras ventajas y características positivas, simplemente NO ES SOFTWARE LIBRE, y son cosas tan básicas y casi binarias, que no dan espacio a cuestionamiento, y no es un tema de ser categórico, es simplemente que si utilizas una etiqueta de Software Libre para referirte a un Software, lo quieras o no estas usando la definición de Software Libre de quienes lo crearon, por así decirlo, es decir, la definición matenida por la FSF.

 

Muchas personas quieren usar etiquetas de Software Libre adecuando su definición a su conveniencia, pero si no contáramos con una definición clara, entonces tendríamos tantas definiciones de Software Libre como personas tenemos en el planeta, algo que además de inconveniente seria simplemente catastrófico, y por tanto Software Libre como tal no existiría.

 

Es por esto, que cuando usamos la etiqueta de Software Libre y por tanto distribución 100% Libre, como una abreviacion de distribución GNU/Linux 100% constituida por Software Libre nos referimos a aquella que en su totalidad esta compuesta por componentes que cumplen 100% con la definición de Software Libre, y guste o no, si se etiqueta como Software Libre es por que se refiere a la definición matenida por la FSF y no a otra.

 

Por el contrario, si la intención es catalogarlo como conveniente, superior, mejor, mas conveniente, entonces lo lógico seria utilizar otro calificativo, algo similar a Sucedáneo de Software Libre podría ser claramente una parodia, pero creo que a varios de los que nos llaman puristas les gustaría, asi tendriamos una forma entendible de llamar a las distribuciones que NO SON LIBRES.

GNU GPL PARTE 1: PUBLICAR SOFTWARE BAJO GNU GPL

September 5, 2010 by Oscar Valenzuela   comments (1) - Visitas: 4010

gnu, gpl, uso, publicar, software, libre

La licencia del proyecto GNU se ha convertido en la más utilizada para la publicación de software, alcanzando alrededor del 75% del software ya publicado.

Esta licencia, creada en la década de los ochenta, había mantenido su versión 2 por más de 15 años y luego de un año y medio de consulta pública, miles de comentarios y cuatro borradores, la versión 3 de la Licencia Pública General GNU (GNU GPLv3) fue finalmente publicada el 29 de Junio del 2007.

Los desarrolladores pueden publicar sus programas bajo los términos de la GNU GPL. Cuando lo hacen, ellos publican el Software como Software Libre (que respeta las cuatro libertades) y éste se mantiene Libre, sin importar quien lo modifique o distribuya gracias a las garantías legales que ofrece esta licencia.

Este nuevo concepto de publicación de Software es lo que llamamos Copyleft: el Software está bajo los conceptos de derechos de autor, pero en vez de usar esos derechos para restringir a los usuarios (como lo hace el Software Privativo,que priva de sus libertades), los derechos son utilizados para asegurar que cada usuario obtenga libertad.

Sin embargo, surgen dudas a la hora de pasar esto a la práctica, debido principalmente al desconocimiento legal de los desarrolladores, frente a cuál es la forma correcta y efectiva de publicar Software utilizando la GNU GPL. Este desconocimiento frente a los temas de derecho de autor y respaldos legales necesarios, sumado al enorme mal entendido alrededor de los términos de Derechos de Autor, Patentes, etc., sumado a que mucha de esta información se encuentra únicamente en idioma Inglés, junto a la desfiguración de lo que en realidad es Software Libre, y sus diferencias con el Open Source , han generado que los desarrolladores utilicen uno u otro término, y a la vez utilicen una u otra licencia considerando esto como válido y habiendo establecido que su software es Software Libre.

Es por esto que se intentará explicar el proceso de publicación de Software bajo licencia GNU GPL con palabras simples, cuidando además que todo lo expuesto sea válido tanto a nivel internacional como nacional.

Dada la existencia de diferentes leyes de derechos de autor, existen también diferentes formas para habilitar a la gente a copiar, modificar y distribuir su software, que van desde renunciar a los derechos de autor (por ejemplo, donando el software al dominio publico y publicandolo de manera que no requiera permiso del autor para usarlo, copiarlo, modificarlo y distribuirlo como ellos prefieran) hasta usar sus derechos de autor para mantener el software como Software Libre (Copyleft robusto).

Renunciar a los derechos de autor (Copyright), o mantenerlos pero publicando el software bajo licencias muy permisivas, es algo que respeta las cuatro libertades esenciales que caracterizan al Software Libre, pero también permite que quienes reciben el software puedan no respetar estas mismas libertades con otros usuarios, se haya modificado el software o no.

Por el contrario, las licencias de Copyleft robusto, como la GNU GPL, permiten al titular de los derechos de autor defender las libertades, alentando a todos quienes distribuyan el software, modificado o no, a respetar las libertades del receptor.

Por otro lado, existen algunas otras cosas además de elegir una licencia de derechos de autor que usted podría requerir para asegurar su titularidad de derechos de autor para defender las libertades que usted deseaba que cada usuario de su software tuviera. Y aunque los derechos de autor no requieren un registro, podría encontrar útil el poder probar su autoría para hacer cumplir sus derechos de autor y por tanto, los términos de la licencia que escogió para publicar su software.

Existen diferentes medios que servirán como presunción de autoría, donde la forma tradicional es registrar una obra acudiendo al Registro de Derechos de Autor e inscribir sus obras previo pago de las tasas establecidas. Dicho registro será un medio de prueba privilegiado que derivará la carga de la prueba a aquella persona que discuta la autoría de la obra de quien aparece como autor de la misma en el registro. Es decir, aquella persona que reclame para sí la paternidad de una obra inscrita a nombre de un tercero será la que habrá de probar lo que alega.

El Registro de Derechos de Autor, por lo tanto, no constituye los derechos, sino que únicamente los declara y establece la presunción de que es autor de la obra quien aparece registrado como tal. La paternidad sobre una obra puede probarse mediante otros medios distintos al registro. Puede utilizar un recurso que consiste en auto-enviarse un sobre con copia de la/las obra/obras por correo certificado, lacrado y guardarlo sin abrirlo. Esto podrá ser una prueba que demostraría la autoría de la obra y la fecha de creación que sería la que consta en el certificado de correo. Aunque hoy ya existen medios electrónicos que te permiten realizar este tipo de acción en simples pasos, como los descritos en SAFECREATIVE.ORG, donde podrás registrar tu obra y obtener un certificado de Derechos de Autor, aunque para transformar este certificado en un documento legal aún sigue siendo necesario acudir ante un notario a fin que legalice la autenticidad del mismo frente al sitio web.

El Software Libre opera bajo los términos de derecho de autor, tal como está establecido en el Convenio de Berna: una obra bajo derecho de copia no se puede distribuir sin permiso del autor, es decir, que debe existir un autor y que éste ha optado por un modo de licenciamiento específico para la publicación de su obra, así como también lo sería ceder sus derechos. De esta manera, para que una obra pueda ser liberada y transformada bajo una licencia libre, el mismo autor debe acceder a hacerlo usando los privilegios ofrecidos por las leyes de  derechos de autor para otorgar los permisos.

Contando con los permisos otorgados y el software distribuido, otros podrán disfrutar sus libertades. Sin embargo, algunos pueden abusar de esto, e intentar negar a otros la libertad sobre el software, y solo el titular de los derechos de autor tiene una posición legal para usar el poder de los derechos de autor para prevenir esto. Eso es por que, en orden de defender las libertades, es importante  contar con la capacidad convincente de demostrar la autoría, contar con una licencia diseñada para requerir las libertades de los usuarios, y contar con los recursos y posición legal de defender las libertades de los usuarios. Esto es la razón, de por que por ejemplo, la Free Software Foundation tiene el compromiso y los recursos para defender los derechos de autor y por consiguiente la libertad del Software, y requiere a los contribuidores que transfieran sus derechos de autor de las contribuciones a proyectos de Software Libre estrategicos que son parte del proyecto GNU.

Luego, dentro del proceso de publicación de un software libre, se deben seguir adicionalmente dos pasos:

Primero, a cada archivo de código del programa se le debe agregar un aviso de Copyright (algo como: Copyright 2008 Juan Pérez) y segundo, una declaración de permisos de copia, diciendo que el programa es distribuido bajo los términos de la Licencia Pública General GNU (GNU GPL).

El aviso de Copyright apropiado para cada archivo debe incluir el año en el que se finalizó la preparación de la versión pública (de modo que si usted finalizó el programa en 2007, pero no lo publicó hasta 2008, debe usar 2007). Debe además agregar el año de publicación: por ejemplo, Copyright 2007, 2008 Juan Pérez si algunas versiones fueron finalizadas en 2007 y algunas finalizadas en 2008. Si varias personas ayudaron a escribir el código, use todos sus nombres.

Siempre use el término en inglés Copyright; por convención internacional, esto es usado a nivel mundial, incluso para material en otros lenguajes. El símbolo copyright “©” puede ser incluido si lo desea (y si su set de caracteres lo soporta), pero no es estrictamente necesario. Por otro lado, no existe significado legal para usar la secuencia de caracteres “(C)”, pero esto no perjudica en nada si se desea agregar.

Usted debe incluir una copia de la licencia en algún lugar de la distribución. Todos los programas, deben incluir una versión en texto de la GNU GPL. En los programas GNU, el archivo de la licencia que generalmente es llamado COPYING.

Si ha copiado código desde otros programas que se encuentran bajo otras licencias, verifique si la licencia es compatible, y cumpla sus términos, incluso copiar sus avisos de Copyright y términos de licenciamiento, cuando sea requerido en la licencia.

Es muy importante por razones prácticas incluir la información de contacto de cómo comunicarse con usted, además del típico archivo README, pero esto no tiene nada que ver con asuntos legales de aplicación de licencia, sino mas bien como una mera información del programa.

Luego, los permisos de copia deben venir inmediatamente luego de los avisos de Copyright. Para un programa de UN SOLO ARCHIVO, el aviso debería lucir similar a esto:

    This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .

Para programas que están formados por MÁS DE UN ARCHIVO, es mejor reemplazar this program con el nombre del programa y comenzar el aviso con la frase This file is part of MIPROGRAMA. Por ejemplo:

    This file is part of MIPROGRAMA.

MIPROGRAMA is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

MIPROGRAMA is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with MIPROGRAMA. If not, see .

Este aviso debe aparecer cerca del inicio de cada archivo de código fuente, justo a continuación de los avisos de Copyright.

Para programas interactivos, usualmente es una buena idea hacer que el programa imprima en pantalla un breve aviso sobre Copyright y permisos de copia cuando sea ejecutado (Vea la sección final de la GNU GPL para más información acerca de esto)

Finalmente, es muy recomendable publicar el programa, sin importar la versión de la licencia GPL en el Directorio de Software Libre soportado por la Free Software Foundation, de modo que aparezca listado junto al resto de los programas que utilizan esta licencia.

Además, si lo desea, para publicar el uso de la licencia GPL, siéntase libre de usar su logo.

SOFTWARE LIBRE ES LIBERTAD Y NO CÓDIGO ABIERTO

September 5, 2010 by Oscar Valenzuela   comments (1) - Visitas: 3727

software libre, libertad, open source, rpl, gpl, codigo abierto

En el mundo han proliferado el uso de los términos Open Source (Código Abierto) y Free Software (Software Libre) siendo usados por muchos, incluso catedráticos, como si se tratara de un equivalente, cuando no lo son tanto por su origen como por su significado, y es que esta generalizada confusión ha llevado a muchos a pensar equivocadamente que ciertos programas que son solo Open Source son también Libres, cuando no lo son.

Incluso, esta misma proliferación de confusiones ha llevado al surgimiento términos nuevos que intentan conciliar equivocadamente los términos anteriores, como es CÓDIGO LIBRE. Pero hay otros que han creado híbridos para referirse a una globalización de los términos utilizando FLOSS (FREE/LIBRE/OPEN SOURCE SOFTWARE), un término que involucra también la palabra LIBRE, para aclarar que la palabra FREE del ingles se refiere a FREEDOM, a libertad, y no a otros posibles significados. Aunque este termino tampoco es totalmente adecuado, pues no queda claro si se refiere a la unión o a la intersección de los movimientos o del software promovido y aceptado por los movimientos.

LOS ORÍGENES

Tanto Software Libre como Open source poseen orígenes muy diferentes:

El término Software Libre lo creó Richard Stallman, dejando su empleo en MIT para desarrollar una versión Libre de UNIX: el proyecto GNU, empezado en septiembre de 1983. Publicó el Manifiesto GNU explicando por qué Software debe ser Libre y invitando la gente a le ayudar. El 1985, creó la Fundación para el Software Libre. En el 1986, publicó la Definición de Software Libre, que son los criterios para que un Software sea considerado Libre. Está fundamentada en las 4 libertades esenciales a los usuarios de Software: las libertades de ejecutar el software para cualquier propósito, de estudiar y adaptar el software a sus necesidades, de copiar y distribuir el software, y de mejorar el software y distribuir las mejoras. Creó la idea de licencias copyleft, que no sólo respetan las cuatro libertades, hacendo Libre el Software y sus usuarios, sino también las defienden, requiriendo a los licenciados que no quiten las libertades de los otros usuarios de aquél Software, o de versiones modificadas de él. Creó licencias copyleft para muchos programas del proyecto GNU, y después, el 1989, las unificó, con la publicación de la primera versión de la Licencia Pública General GNU.

El término Open Source nace el 1998 a partir de la publicación de la “Open Source Definition”, basada en el “Debian Free Software Guidelines” (1995), y la creación de la Open Source Initiative (OSI), para promover el software Open Source. La definición, así como la de Software Libre, no es una licencia, sino un conjunto de criterios para decir si el software es Open Source o no. Aunque tenga criterios diferentes de los de Software Libre, y existen ejemplos concretos de software que cumple con una definición pero no la otra, la OSI se proclama el departamento de marketing del Software Libre.

Sin embargo, promueve Software Libre en si, y sus modelos de desarrollo y comercio. Pero relega a un segundo plano los fundamentos más importantes del Movimiento del Software Libre: la filosofía ética, moral, social y política de buscar las libertades esenciales respetadas por el Software Libre, y por lo tanto el rechazo al Software no-Libre, que no las respeta.

LICENCIAS LIBRES O ABIERTAS

Aunque existen una serie de licencias, existe una clara definición por parte de la FSF sobre cuando un Software puede ser catalogado como Libre. De este modo una licencia de derecho de autor que respete las 4 libertades puede ser usada para publicar Software que, no existiendo otros impedimientos al ejercicio de las libertades, es Libre, así como también una licencia que no respeta estas libertades servirá para publicar Software NO-Libre.

Existen licencias que, a pesar de no ser Libres, están de acuerdo con la Open Source Definition, y por lo tanto son consideradas como licencias Open Source, incluso por la OSI. Algunos ejemplos son:

- NASA Open Source Agreement
- Artistic License 1.0
- Reciprocal Public License

Consideremos por un momento la RPL (Reciprocal Public License), esta licencia no es una licencia apta para ser utilizada en la publicación de Software Libre, puesto que considera una obligación publicar las modificaciones realizadas sobre algún programa, de este modo la libertad #3 se transforma en una obligación.

Por otro lado, la licencia GNU GPL, la cual es la licencia mundialmente mas utilizada para publicación de software, es considerada como el punto de convergencia entre Software Libre y Open Source, lo que es totalmente cierto, ya que a pesar de que existen otras licencias que atienden a las dos definiciones, la GNU GPL prevalece por sus propios méritos al ser una licencia bastante robusta, sumado al efecto Copyleft que logra, el que busca garantizar que el software, modificado o no, permanezca Libre (y Open Source) para todos sus usuarios, junto a que la incompatibilidad del resto de las licencias Copyleft dificulta que otras licencias logren un éxito similar.

La razón de que las compañias de Software No-Libre se preocupen tanto sobre este punto, es que muchas han hecho uso de tecnologías basadas en licencias permisivas, y al no ser estas licencias Copyleft, cualquiera puede usar el programa y transformarlo en Software NO-LIBRE bajo su propia licencia privativa, al contrario de la GNU GPL que buscar garantizar que el Software permanezca Libre.

SOFTWARE LIBRE SIGNIFICA LIBERTAD

Cuando uno habla sobre Código Abierto, uno podría entender que el código fuente esta disponible y se puede ver, pero el problema reside en si este concepto involucra las Libertades esenciales del Software Libre.  Utilizando nuevamente el ejemplo de la licencia RPL, esta obliga a la distribución de los cambios de manera de avanzar el desarrollo del software, un aspecto que va totalmente en la linea del Open Source, pero que elimina la libertad sobre este punto, por lo tanto no es Libre, va en contra de la linea del Software Libre.

El Software Libre es libertad, y al hablar sobre el movimiento del Software Libre, uno se refiere a aspectos filosóficos, referidos en su base, un sentido ético y moral, el cual claramente no tiene que ver con metodologías de desarrollo o aspectos económicos, sino con las cuatro libertades esenciales, es decir, la ausencia de prohibición o posibilidad de oposición substancial al usar el programa para cualquier propósito, examinar y estudiar cómo funciona, distribuirlo libremente a quien se desee, y mejorar el programa, esto ES SOFTWARE LIBRE.

PARA FINALIZAR

Como dice Richard Stallman en su publicación: Why “Open Source” misses the point of Free Software

As the advocates of open source draw new users into our community, we free software activists have to work even more to bring the issue of freedom to those new users attention. We have to say, “Its free software and it gives you freedom!”—more and louder than ever. Every time you say “free software” rather than “open source,” you help our campaign.

En la medida en que los defensores del Open Source traen nuevos usuarios a nuestra comunidad, nosotros los activistas del Software Libre tenemos que trabajar aún más para poner el asunto de la libertad en la atención de estos nuevos usuarios. Tenemos que decir Es software libre y te da libertad!, más y más fuerte que nunca. Cada vez que usted dice software libre en vez de código abierto, ayudará a nuestra campaña.

Para concluir le pedimos que recuerde:

...UNA PUERTA ABIERTA, NO SIEMPRE ES DE LIBRE ACCESO. UNA DE LIBRE ACCESO SIEMPRE ESTARÁ ABIERTA..