Hoy en Software Libre: Concpeto y Mercado, nos toca hacer una pequeña reseña sobre lo que es una licencia de software.

Licencias de Software.

Podemos definir las licencias de software como un contrato por  medio del cuál el titular del derecho de autor del programa informático, que recibe el nombre de licenciante, cede el uso y/o la explotación de dicho programa a otro, que recibe el nombre de licenciatario.[1]

El licenciante será el titular del derecho de autor, ya que es en razón de dichos derechos que se encuentra facultado para establecer las condiciones de uso y explotación del software que ha creado. Debemos advertir que la licencia solamente puede tener por objeto un software existente, ya que no cabe hablar de licencia si lo que se acuerda es el encargo del desarrollo de un software que todavía no existe[2], en dicha situación estaríamos ante otro tipo de contrato, pero si se pretende calificar como contrato de licencia de software, debemos señalar que jurídicamente carece de objeto.[3]

Las licencias de software las podemos clasificar desde varios puntos de vista, pero para el presente trabajo utilizaremos dos categorías: aquellas que distinguen entre licencia típica y atípica; y la que distingue entre licencia libre y licencia privativa.

Licencias Típicas y Atípicas.

El criterio de distinción entre licencia típica y atípica gira en torno al hecho que existen ciertas licencias de software que debido a su uso masivo han devenido en estándares, convirtiéndose en licencias tipo. Los ejemplos más recurrentes son las licencias BSD, Xfree86, Mozilla y la GNU/GPL; sin embargo, cada autor es libre de estructurar la licencia con la que distribuye su software, en los términos que estime conveniente, es por ello que existen las licencias atípicas, que son aquellas que no se ajustan a estos estándares.

Dentro del mundo del software libre es común el uso de licencias típicas, lo anterior debido a la comodidad que la estandarización acarrea[4] ya que dichas licencias son más o menos familiares para todo el mundo ligado al software libre. Por otro lado la compatibilidad entre los diferentes programas y sistemas en los aspectos jurídicos son tan importantes para los desarrolladores como la compatibilidad en aspectos técnicos y la manera más fácil de asegurar dicha compatibilidad es utilizando la misma licencia que emplea el sistema destino de la aplicación creada, u otra licencia típica cuya compatibilidad con la licencia empleada por dicho sistema, sea ampliamente conocida.[5]

Licencias Libres y Privativas.

En términos simples diremos que las licencias libres son aquellas que entregan al licenciatario todas las libertades propias del usuario de software. Por consiguiente, licencia privativa será toda aquélla que restrinja, de alguna manera, dichas libertades. En este punto nos remitimos a todo lo dicho en su momento, sobre las libertades del usuario de software.

A su vez, las licencias libres admiten una subclasificación, entre aquellas que poseen cláusula Copyleft y aquellas licencias sin dicha cláusula.

La licencia libre con cláusula Copyleft “es aquella cuyos términos de distribución no permiten a los redistribuidores añadir a su licencia restricciones adicionales a las de la licencia de que se sirvieron.”[6]

La cláusula Copyleft fue creada por Richard Stallman y la Free Software Foundation con la finalidad de asegurar al desarrollador original de un software libre que todo desarrollador derivado, que pretenda publicar su producto derivado, deba hacerlo mediante una licencia que asegure las mismas libertades a los usuarios que las contempladas en la licencia original. El ejemplo típico de licencia con cláusula Copyleft es la licencia GNU/GPL.[7]

La naturaleza de dicha cláusula es la de una condición resolutoria, ya que el licenciante entrega al licenciatario las libertades propias del usuario de software, con la condición que la licencia de todo trabajo derivado entregue a sus respectivos usuarios las mismas libertades.

Por otro lado, en las licencias libres carentes de dicha cláusula, nada obsta al desarrollador derivado para publicar y distribuir su creación bajo una licencia privativa. Ejemplo típico de este tipo de licencia son la licencia BSD.[8]

Notas

[1] Nos hemos visto en la necesidad de elaborar una definición propia de licencias de software ya que la mayoría de los textos no se detienen en este punto, o estudian las licencias de software entregando una descripción detallada del proceso de formación del consentimiento, muestra de ello es: Nonius, Jorge “Introducción a las licencias de software libre

[2] Nonius, Jorge idem.

[3] El objeto es un requisito de existencia de los actos jurídicos.

[4] Nonius, jorge, op. cit., p. 26

[5] En tal sentido existen muchas organizaciones que llevan catastros de licencias de software a objeto de analizar las compatibilidades entre unas y otras, destaca en este sentido la Free Software Foundation, la que posee un completo catálogo de licencias libres y privativas, señalando además, en el caso de las licencias libres, tanto su compatibilidad o incompatibilidad con la licencia GNU/GPL, como el hecho de si posee o no cláusula Copyleft. Free Software Foundation, “Diversas licencias y comentarios sobre ellas

[6] Nonius, jorge, op. cit., p. 27

[7] Texto en Español (traducción no oficial) de la licencia GNU/GPL disponible en: http://www.viti.es/gnu/licenses/gpl.html

[8] BSD License Definition disponible en: http://www.linfo.org/bsdlicense.html

En Software Libre: Concepto y Mercado, nos toca analizar un par de conceptos que puede llevar a confusiones:

El Freeware y el Shareware

Aún dentro del software privativo, queremos definir dos conceptos que se tienden a asociar al software libre, pero que, en realidad, no son otra cosa que medios ingeniosos de publicidad o de venta de software privativo.

Freeware.

El Freeware[1] es un método de distribución de software privativo que busca captar el interés del usuario entregando una copia completamente operativa de dicho software, y sin límite en el tiempo, ofreciendo a la vez, la venta de una edición con más herramientas o más moderna del mismo software, o incluso la venta de hardware y otros productos asociados al programa[2].

Las licencias de freeware generalmente permiten su redistribución, pero es muy raro que den acceso al código fuente, ni menos permiten la modificación del software, e incluso más, en muchas ocasiones llegan a restringir el uso que se puede dar al producto. Ejemplos de freeware son: Windows Media Player, iTunes, Internet Explorer, Opera Browser, Quicktime.

Shareware:

El Shareware[3] es una modalidad de distribución de software, para que el mismo pueda ser evaluado de forma gratuita, dicha copia de evaluación puede no ser completa o bien caducar después de un período de uso. Si el usuario desea utilizar de forma permanente o completa dicho software, debe comprar su licencia. Con posterioridad a la compra el desarrollador envía al usuario una copia completa del programa o la clave necesaria para superar las limitaciones señaladas.

Este método de distribución de software ha tenido mucho éxito y ha ayudado a muchas pequeñas empresas desarrolladoras a tener acceso al público masivo, sin necesidad de una gran inversión en publicidad.

Sin embargo, de lo dicho anteriormente, aparece claramente que este método Shareware es incompatible con el software libre pues limita las libertades del usuario, tanto en la etapa de prueba como en la posterior a la adquisición de la licencia, ya que todo el sistema de negocio descansa en el poder que tiene el desarrollador de liberar de las trabas propias de la etapa de prueba a cada copia del software, previo pago del precio correspondiente. Y, una vez superadas dichas trabas, la única facultad que se da al usuario es la de utilizar el software, pero nada obsta que incluso dicha facultad esté restringida. En cuanto a la redistribución generalmente está permitida, pero sólo referente al producto de prueba, de tal forma que el nuevo usuario deberá comprar la licencia correspondiente si lo que desea es el producto libre del mecanismo de limitación.

Notas:

[1]“Free (gratis) + ware (software). Cualquier software que no requiere pago ni otra compensación por parte de los usuarios que los usan. Que sean gratuitos no significa que se pueda acceder a su código fuente. El término fue acuñado por Andrew Fluegelman en 1982”, Diccionario Informático Alegsa

[2] Ejemplo de esto es iTunes, exitoso software reproductor de música de la compañía Apple, cuyo principal objetivo es servir de nexo entre e la compañía y los usuarios a fin de promocionar su sistema de venta de contenidos multimedia y su hardware reproductor de audio y video: iPod.

[3]“De share (compartir) + ware (software). Un tipo de software que es distribuido gratuitamente exclusivamente para ser probado, pero posee restricciones en su funcionalidad o disponibilidad. Por lo general son limitados a 30 días de uso, pero también algunos desactivan opciones como «Guardar», o tienen limitado el número de veces que pueden ejecutarse, etc. En caso de que al usuario le convenza el software podrá comprarlo. El término fue acuñado por Bob Wallace.” Diccionario Informático Alegsa

Siguiendo con Software Libre: Concepto y Mercado, ahora nos toca señalar lo que entenderemos por software privativo.

Software Privativo.

Por oposición al concepto de software libre propuesto, podemos decir que software privativo es todo aquel software que priva a cualquier persona de las libertades de ejecutar, distribuir, estudiar, modificar y publicar dichas modificaciones. Lo determinante en esta definición es el hecho que las licencias privativas restringen de manera total o parcial las libertades de los usuarios del software.

Otras denominaciones no dan cuenta de esto, incluso llevan al error, ya que distraen de lo que realmente diferencia al software libre del software privativo. Algunos ejemplos son:

a) Software Propietario: Este nombre evoca la idea que sólo el software privativo tiene dueño, en el sentido que solamente el desarrollador del software privativo estaría amparado por el derecho de autor, pero esto no es así, ya que tanto el desarrollador de uno como de otro se encuentran amparados por  el estatuto dominical propio de la propiedad intelectual. Muy diferente es el tema de la manera que dicho creador autoriza la utilización de su obra, donde, como hemos dicho, tenemos que estar a lo señalado en el contrato de licencia.

b) Software Comercial: Este nombre entraña la idea que solamente el software privativo tiene potencial empresarial. Pero, como veremos, el software libre mantiene una industria que mueve gran cantidad de dinero, por lo que su potencial comercial es innegable. Debido a esta denominación muchas personas confunden el software libre con voluntariado, idea que no puede estar más alejada de la realidad, así por ejemplo, varias de las distribuciones más importantes de GNU/Linux son desarrolladas y mantenidas por grandes empresas[1], con un afán y vocación evidentemente comercial.

Notas:

[1] Por ejemplo, Ubuntu es propiedad de Canonical; SUSE Enterprise Linux es propiedad de Novell; Red Hat Enterprise Linux es propiedad de la empresa Red Hat

Retomando la transcripción de mi memoria a este blog, luego de intentar definir software libre, toca ocuparnos de otra manera de abordar la realidad del software libre, con otra perspectiva y prioridades: El Open Source.

Open Source (Código Abierto)

En el año 1998 dos importantes desarrolladores Eric S. Raymond y Bruce Perens[1], inspirados en el novedoso sistema de desarrollo implementado por Linus Torvalds en su kernel[2] Linux, ven la necesidad  y la oportunidad de acercar el software libre al mundo empresarial, para lograrlo atacan dos puntos:
a)La idea de gratuidad que la expresión Free software produce. Ya que el empresario desconfía de lo gratis; y,
b)El énfasis que la Free software Foundation[3] pone en el elemento ético, trasladando dicho acento a las ventajas técnicas y económicas que el software libre posee. De esta manera presentan al software libre como un modelo más eficiente de desarrollo de software[4].

A fin de lograr dichos objetivos acuñan el concepto Open Source (Código Abierto) y crean la Open Source Initiative (OSI), con el objeto dar un contenido al concepto de Open Source utilizan las Directrices Debian para el Software Libre[5] y elaboran lo que se conoce como Open Source Definition (Definición de Software de Código Abierto). Queremos señalar desde ya, que la Open Source Definition en ningún sentido se aleja de la idea central de la definición de software libre de Stallman y de la Free Software Foundation.

La Open Source Definition cuenta con diez puntos que a continuación reproducimos6:

1.    Redistribución Libre: La licencia no deberá impedir la venta o el ofrecimiento del software como parte de una distribución mayor, que contenga programas de diferentes fuentes. La licencia no deberá requerir el pago de los derechos de autor u otra tasa por dicha venta.
2.    Código Fuente: El programa tiene que incluir el código fuente, y tiene que permitir la distribución tanto en código fuente como en forma compilada. Si alguna forma de un producto no es distribuida con el código fuente, tiene que haber una forma, correspondientemente publicitada de obtener el código fuente a un precio razonable, preferentemente, una descarga a través de Internet sin cargo. A través del código fuente un programador puede modificar el programa. El código fuente deliberadamente ofuscado no está permitido. Las formas intermedias tales como la salida de un preprocesador o traductor no están permitidas.
3.    Trabajos Derivados: La licencia tiene que permitir modificaciones y trabajos derivados, y  además autorizar que ellos sean distribuidos bajo los mismos términos de la licencia del software original.
4.    Integridad Del Código Fuente Del Autor: La licencia puede impedir que el código fuente sea distribuido en forma modificada solamente si la licencia permite la distribución de «archivos parches» en conjunto con el código fuente, con el objetivo de modificar el programa al momento de compilarlo. La licencia tiene que permitir explícitamente la distribución del software construido a partir del código fuente modificado. La licencia puede requerir que los trabajos derivados tengan un nombre distinto o un número de versión distinto al del software original.
5.    No Discriminación de Personas o Grupos: La licencia no puede discriminar a ninguna persona o grupo de personas.
6.    No Discriminación de Campos Laborales: La licencia no puede restringir a nadie que haga uso del programa en un campo laboral específico. Por ejemplo, no puede impedir que el programa sea usado en un negocio, o que sea usado para una investigación genética.
7.    Distribución de la Licencia: Los derechos adjuntos al programa tienen que aplicarse a todos aquellos a los que se redistribuya el programa, sin la necesidad de pedir una licencia adicional para estas partes.
8.    La Licencia No Deberá que Ser Específica de un Producto: Los derechos adjuntos al programa no deberán depender de que el programa forme parte de una distribución particular de software. Si el programa es extraído de esa distribución y es usado o distribuido de acuerdo a los términos de la licencia del programa, todas las personas a las que el programa sea redistribuido deben tener los mismos derechos que son garantizados cuando forma parte de la distribución original.
9.    La Licencia No Puede Restringir a Otro Software: La licencia no tiene que colocar restricciones en otro software que es distribuido junto con el software licenciado. Por ejemplo, la licencia no tiene que insistir en que todos los otros programas distribuidos en el mismo medio tengan que ser software de código fuente abierto.
10.    La Licencia Debe Ser Tecnológicamente Neutra: no debe requerirse la aceptación de la licencia por medio de un acceso por clic de ratón o de otra forma específica del medio de soporte del software.

La Open Source Initiative ha dado un impulso innegable al software libre principalmente a través del cumplimiento del objetivo para el que fue creada, logrando la incorporación de un sinnúmero de empresas al movimiento. Pese a ello, debemos señalar que la expresión Open Source presenta un inconveniente mucho más grave que  la expresión free software. Tanto en inglés como en todo otro idioma Open Source tiene sólo una interpretación, código abierto (a la vista), lo que describe de manera acertada el proceso de desarrollo; sin embargo, esto nada tiene que ver con las libertades entregadas al usuario.

Lo anterior, por cuanto puede existir, y de hecho existe, software privativo desarrollado de manera similar al Open Source, entregando acceso al código a gran cantidad de personas a objeto de ayudar en la detección de errores y depuración del código. Sin embargo, el producto final limita al usuario en alguna o todas las libertades entregadas por el software libre.

A fin de evitar este problema y debido a que el término software libre en español no presenta inconveniente alguno, creemos que es el indicado para describir con precisión el objeto de nuestro trabajo. Por ello reservaremos la expresión Open Source, para referirnos al sistema de desarrollo propio del software libre, ya que si observamos la Open Source Definition, es  fomentar dicha práctica lo que este movimiento busca.

Notas:

[1]Bruce Perens, miembro activo de la comunidad del software libre, ex líder del  Proyecto Debian, entre sus muchos aportes destaca la “Bruce Perens’s Open Source Series”, una serie de libros de carácter técnico.

[2]Según el diccionario informático Alegsa, kernel o núcleo es “una parte esencial de un sistema operativo que provee los servicios más básicos del sistema. Se encarga de gestionar los recursos como el acceso seguro al hardware de la computadora. Se encarga también del multiplexado, determinando qué programa accederá a un determinado hardware si dos o más quieren usarlo al mismo tiempo. El kernel también ofrece una serie de abstracciones del hardware para que los programadores no tengan que acceder directamente al hardware, proceso que puede ser complicado.”
Otra explicación similar la encontramos en wikipedia: «En informática, el núcleo (también conocido en español con el anglicismo kernel, de raíces germánicas como kern) es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, el núcleo también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso para el programador.»

[3]La Free Software Foundation (FSF), fundada en 1985, está dedicada a promover el derecho de los usuarios de computadores a usar, estudiar, copiar, modificar, y redistribuir los programas de computador. La FSF promueve el desarrollo y uso del software libre, particularmente el sistema operativo GNU, ampliamente usado en su variante GNU/Linux. (Traducción libre del autor), más información disponible en: http://www.fsf.org/.

[4]Este nuevo modelo de desarrollo se inspira en el éxito de Linus Torvalds en el desarrollo de su kernel llamado Linux, al analizar dicho fenómeno en “La Catedral y el Bazar” Eric S. Raymond se detiene en un comentario de Torvalds y elabora lo que se ha denominado “Ley Linus”, la que establece que “dados muchos ojos todos los errores serán obvios”, además agrega que todo error por muy complejo que sea, deberá ser “transparente” para alguien, por lo que no necesariamente quién detecta un error será quién lo resuelva. La importancia de lo anterior radica en que unos de los aspectos más importantes y complejos del proceso de desarrollo de un software es la depuración del código, es decir la búsqueda y solución de errores, a fin de hacer el software más eficiente. Proceso que es completamente diferente si se trata de software libre o Privativo.

[5]El proyecto Debian es una distribución de GNU/Linux desarrollada y mantenida por la comunidad de usuarios (a diferencia de otras distribuciones como SUSE, Fedora o Ubuntu que son desarrolladas y mantenidas, principalmente, por empresas, Novell, RedHat y Canonical respectivamente). El proyecto Debian cuenta con un documento llamado “Contrato Social de Debian”, el que está compuesto de dos partes, la primera es una declaración de intenciones y principios del proyecto, la segunda se denomina “Debian Free Software Guidelines (DFSG)”-Directrices Debian para el Software Libre- lo que no es otra cosa que una definición de software libre hecha por la comunidad Debian. Dicha definición se divide en 10 puntos o directrices, los se encuentran en completa armonía con la definición elaborada por la Free Software Foundation.

Estas vacaciones me dio por instalar y configurar Fluxbox, algo que hace tiempo quería hacer pero tenía la impresión que me iba a tomar más tiempo de lo que tuve durante el año.  Y de verdad me tomó bastante tiempo, no tanto en la configuración propiamente dicha,l sino que en la solución de algunos problemas (tuve que dar vueltas por muchas páginas, foros, blogs incluso registros de listas de correos de dudosa virtud 😀 );  es por ello que para tener las soluciones a mano y de paso ayudar a todos los que quieran usar este entorno de escritorio me decidí ha hacer esta guía. Ojo que desde ya digo que no pretende de ser el manual de cortapalos para los usuarios de fluxbox.

Nota: Fluxbox es un escritorio 100% configurable y es por ello que todo lo que aparece acá se puede hacer de dos o tres formas diferentes, pero esta guía esta pensada para:

1º Un ayuda memoria para mi, por eso las cosas están hechas de la manera en que a mi me gusta hacerlas, además por eso lo he hecho en una entrada y no lo he dividido en varias.

El amo del mal.

Linus Torvalds: Creador del Kernel Linux de GNU/Linux - RMS Richard M. Stallman: Creador de GNU, (todos los otros elementos del sistema GNU/Linux), Y Bill Gates: El amo del mal.

2º Esta pensado para personas que no son los hijos perdidos Linus Torvalds o Richard Stallman, sino que seres humanos normales que vienen recién llegando al mundo de Linux desde los dominio del bueno de Bill, por eso ha tratado de explicar lo más posible muchas cosas que muchos considerarán obvias, pero que seguro para otros no tanto. (Acabo de contestar una pregunta a un chico en el foro de ubuntu-cl -gran foro por cierto 😀 – que no sabía visualizar las carpetas ocultas).

Luego de las excusas y explicaciones varias vamos a entrar en materia:

Acciones Previas

Dentro del escritorio de gnome debemos hacer dos cosas para «preparar el camino».

Lo primero es instalar un tema Gtk que nos guste, (que luego usaremos en fluxbox) en mi caso es Dust.

Lo segundo será instalar un tema de íconos para usar en nuestro fluxbox. En mi caso es gnome-human.
(Vienen varios sets de íconos de varios colores yo elegí el naranja (human) Descarguen el archivo que dice Gnome Color icon set y luego dentro vienen todos los temas de iconos.

Los instalan en gnome
y listo, ya están en el sistema y los podremos utilizar luego en fluxbox.

También en esta etapa podemos descargar el style que usaremos en fluxbox.

Yo elegí fawn porque es justo lo que busco: minimalista.
Descarguen el archivo que dice fluxbox, el gtk theme de fawn es bien malo, así que nos quedaremos con el Dust.
El archivo lo descomprimen y les queda una carpeta que se llama fawn, dejenla en un luegar que recuerden en lo posible en su home, traten de no usar el escritorio porque en fluxbox el escritorio no funciona de la «manera tradicional»

Ya que tenemos todos estos materiales nos dedicaremos a la instalación y a la configuración básica.
El resultado será un escritorio completamente carente de icónos, dónde solamente tendremos  conky para indicar diferentes cosas de nuestro sistema y una consola pegada al escritorio cuatro, lo que puede ser muy útil. (Eso último lo dejo para otro post pero es bien fácil de hacer y queda bastante bien)

Mi escritorio con Fluxbox

Instalación

Lo primero que debemos hacer es instalar fluxbox.

sudo apt-get install fluxbox

Luego necesitaremos un gestor de archivos, mi favorito es thunar así que vamos a instalarlo:

sudo apt-get install thunar thunar-archive-plugin thunar-thumbnailers ffmpegthumbnailer

Con esto se instalará:
Thunar
Pluggin para extraer archivos
El generador de thumbnails (no queremos vivir sin thumbnails como los usuarios de win 😀 )

Un poco de configuración

Ahora ya pueden ingresar con confianza a su sesión de fluxbox (eligiéndola desde la pantalla de login)
Quedan dos cosas por mejorar:
La funcionalidad.
El aspecto.

Partamos por la funcionalidad.

Si están desde un note necesitan decirle a su sistema que inicie el network manager al inicio de fluxbox para que se conecte a la red wifi. Además pueden agregar el control de energía (el ícono de la pila) y el notificador de actualizaciones.

Deben entrar al archivo ~/.fluxbos/startup
Nota: ~/. significa que está en tu carpeta de usuario por ejemplo en mi caso /home/alvaro/.fluxbox/startup
Nota2: las carpetas que son .algo (ejemplo .fluxbox son carpetas ocultas, para verlas debes apretar contrl + H y Thunar te mostrará las carpetas y los archivos ocultos, todos son .algo)

Allí donde pone:
# Applications you want to run with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN »&» AT THE END.

Agregan estas lineas:
nm-applet &
gnome-power-manager &
update-notifier &

Para probar si funciona bien deben reiniciar (no solamente la sesión sino que el sistema). Si reiniciado la wifi se conecta igual como lo hace en gnome significa que funcionó (a mi me funcionó a la primera)

Ahora que tenemos internet por wifi, sigamos con el tema del lanzamiento de las aplicaciones.

En esta lista pueden agregar todos las aplicaciones que quieren que se inicien al comienzo. solamente deben tener el cuidado de agregar al final el » &» con el espacio.

La mayoría de la gente modifica el menú. Yo no soy muy de menús ni de íconos en el escritorio, a mi me gustan los atajos de teclado, me voy directo a crear dichos atajos.

Para ello en thunar buscamos la carpeta oculata ~/.fluxbox
Dentro de esta carpeta están los archivos de configuración de fluxbox.

Busquen el que se llama Keys, con gedit lo editan y le agregan los atajos que gusten. Ojo esto es a gusto del consumidor, por lo que sientan plena libertad de colocar, sacar, modificar y hacer lo que quieran en este archivo). El contenido del mio es el siguiente.
Mod1 Tab :NextWindow
Mod1 Shift Tab :PrevWindow
Mod1 F1 :Workspace 1
Mod1 F2 :Workspace 2
Mod1 F3 :Workspace 3
Mod1 F4 :Workspace 4
Mod1 F5 :Workspace 5
Mod1 F6 :Workspace 6
Mod1 F7 :Workspace 7
Mod1 F8 :Workspace 8
Mod1 F9 :Workspace 9
Mod1 F10 :Workspace 10
Mod1 F11 :Workspace 11
Mod1 F12 :Workspace 12

#La idea es que con control + alt y las flechas nos podamos mover entre escritorios.
Mod1 Control Right  :NextWorkspace
Mod1 Control Left   :PrevWorkspace

#Mis aplicaciones más utilizadas agreguen las que uds prefieran. Yo decidí usar la tecla win (Mod4) porque control y alt son usadas por el sistema para otras cosas como cortar-pegar y otras.
Mod4 f   :ExecCommand firefox
Mod4 space   :ExecCommand thunar
Mod4 t   :ExecCommand gnome-terminal
Mod4 l   :ExecCommand lastfm
Mod4 d     :ExecCommand deluge
Mod4 e      :ExecCommand evolution
Mod4 c     :ExecCommand gnome-calculator
Mod4 a     :ExecCommand amule
Mod4 p     :ExecCommand pidgin
Mod4 m   :ExecCommand muine
Mod4 Shift s  :ExecCommand import -frame screenshot.jpg
#este último es para hacer screenshots.

Nota donde aparecen las caritas es porque debería decir dos punto y una P.


Ahora vamos a arreglar el aspecto de este asunto
.

En Fluxbox existen los styles, si dan click derecho encontrarán styles en el menú que se abre, vienen varios por defecto pero a mi me gustó fawn (se acuerdan el que descargamos allá arriba)
Toman la carpeta fawn que se crea al descomprimir el archivo que descargamos y la colocan dentro de la carpeta styles que está en:
~/.fluxbox/styles

Botón derecho y eligen restart, ya podrán elegir el style fawn. Este tema lo vamos a modificar un poquito (el color)  pero eso lo haremos al final.

Cada style viene con un diseño de wallpaper, para modificarlos debemos hacer dos cosas:

En el archivo startup ~/.fluxbox/startup debemos descomentar (quitar el signo #) la linea que dice: fbsetbg -f /home/alvaro/wallpaper.jpg
Si se fijan yo además de quitar el # puse una dirección a una imagen, y esa imagen tiene un nombre genérico: wallpaper. ¿por qué? simple porque así cuando quiera cambiar el wallpaper simplemente al que quiero le doy el nombre wallpaper y lo ubico en /home/alvaro y no tengo que modificar la dirección en el archivo startup.

No me pregunten el motivo, pero para ver el wallpaper tuve que instalar otra aplicación (simplemente intalarla), eterm, por eso debemos instalar eterm si tenemos este problema: sudo apt-get install eterm (reinician sesión y listo ya tenemos wallpaper)

Otros pueden tener el problema que su style dibuje el wallpaper que trae por defecto sobre el wallpaper que han elegido. (se nota porque al inicio aparece como flash el wallpaper que pusimos pero luego queda el por defecto del style). Esto se arregla fácil.
Si es un style de los que vienen por defecto debes entrar al siguiente archivo:
/usr/share/fluxbox/styles/(tu-style)

Si es un style que tu instalaste como hice yo con fawn.
~/.fluxbox/styles/(tu-style)

Allí encontrarás un archivo o una carpeta con el nombre del tema. Y ya sea en ese archivo o dentro de la carpeta en el archivo theme.cfg o algo parecido deben comentar (poner # al inicio) la siguiente linea:
background.color: algo

Como pueden observar el tema gtk (ventanas, barra de desplazamiento) y los iconos son bien feos. Para ello:

Debemos instalar una aplicación para manejar los temas Gtk. Yo elegí gtk-chtheme, así que:

sudo apt-get install gtk-chtheme

y lo ejecutan escribiendo el nombre de la aplicación en la terminal: gtk-chtheme. Eligen el tema que prefieran (en mi caso Dust)gtk-chtheme

Ahora los iconos.

Para ello debemos ubicar el archivo ~/.gtkrc-2.0

Y agregan la siguiente linea

gtk-icon-theme-name = «el-nombre-del-tema-de-iconos-que-quieran»

En mi caso quedó así:
# — THEME AUTO-WRITTEN DO NOT EDIT
include «/usr/share/themes/Dust/gtk-2.0/gtkrc»

include «/home/alvaro/.gtkrc.mine»

gtk-icon-theme-name = «gnome-human»

# — THEME AUTO-WRITTEN DO NOT EDIT

Thunar en Fluxbox

Listo. Ahora ya tenemos todo ok. ¿o no?

Si han usado Dust + Fawn notaran que hay algo que no se ve bien. Dust usa un gris oscuro y fawn tiene un tono café. Ahora me las di de diseñador y cambié el color de fawn para que quede del mismo color que Dust. ¿Cómo? Con gimp modifiqué el color de los pixmaps que vienen en la carpeta del tema.

Acá les dejo la carpeta Fawn modificada y la Carpeta Dust que necesitarán para hacer lo que señalo abajo.
http://rapidshare.com/files/191710307/Fawn-Dust.tar

Me acabo de percatar que el tema Dust ha sido modificado.
Para que les quede igual que a mi deben sobreescribir la carpeta que se encuentra en /usr/share/themes/Dust
Por la carpeta Dust que subí al archivo.

Espero que todo haya resultado bien.

Fuentes:

Usé decenas de páginas foros y… bueno eso ya lo dije, así que para el tema de las fuentes voy a colocar unas pocas de las muchas que encontré (lo siento no puedo ser mas preciso)

https://help.ubuntu.com/community/Fluxbox

http://www.gentoo.org/doc/es/fluxbox-config.xml

http://foros.ubuntu-cl.org/viewtopic.php?t=3171

http://manualinux.my-place.us/fluxbox.html

y un gran etc.