Nuestro primer mes juntos :)

Este es un pequeño artículo de celebración puesto que ya llevamos compartiendo un mes en la comunidad :) No necesito plantear un tema muy elaborado y lo dejaré en pequeñas reflexiones y tal vez comentarios, así que sin más que agregar, empecemos: :)

El primer paso siempre es el más difícil

Las dudas

Esto es algo con lo que quiero comenzar :) a decir verdad siempre es complicado dar el primer paso en algo, recuerdo mucho el primer mail que mandé a Gentoo, pidiendo entrar al equipo de seguridad. Al principio pensaba… ¿Cómo voy a poder ayudar YO a todas estas personas inteligentes y hábiles? o ¿Acaso estaré a la “altura” de la comunidad? o Tal vez no pueda comunicarme bien con ellos o no los entienda… o mil y un cosas más que pueden venir a la mente :)

La realidad

Pero la realidad es que no es gente de otro mundo no muerden ni atacan de la nada (alguno que otro será un poco gruñón :P pero sucede en todo lugar :) ). Esto me recuerda que aquel mail lo mandé pero no empecé a participar hasta como mes y medio después, esto debido a que tenía otros pendientes y tal vez involuntariamente lo estaba aplazando.

El siguiente paso

Tal vez esta bella experiencia de aprendizaje hizo mucho más sencillo el atreverme a fundar CodeLabora, comenzar a participar en Git, empezar a escribir aquí :) y muchas cosas más, puesto que al tener la confianza de que YO tenía algo de valor para compartir, era más sencillo poder iniciar nuevos proyectos.

Ahora ustedes

Pero ¿por qué les comento esto? Pues porque si yo pude, ustedes también pueden :) no niego que implica tiempo, dedicación, y uno que otro error por ahí (no tantos si somos cuidadosos) pero la sensación de aportar algo al mundo entero es sumamente gratificante :) y espero que esto anime a más de uno a empezar a colaborar en su comunidad/instituto/universidad/trabajo/etc…

Así que, no importa si no sabes mucho, incluso si no sabes nada sobre un tema :) participar es la mejor forma de aprender, y estar en comunidad te ayuda a aprender de aquellos que ya cruzaron el camino y descubrieron los caminos seguros :) Eso es un poco de lo que trata CodeLabora (alguno que otro me ha mandado correso al respecto) y es un lugar donde se puede compartir experiencias :)

Ser autodidacta es lo mejor que existe

Esto va para los más jóvenes (jeje me siento viejo diciendo esto porque yo también soy jóven :P ), pero es una de las lecciones más importantes que he aprendido en mi vida como desarrollador.

El instituto/universidad/colegio es el punto de partida

NUNCA crean que lo que les enseña el instituto/universidad/… es suficiente. Hace poco leía un artículo que desmitificaba un poco aquellos elevados sueldos de desarrollador en USA. Y es cierto que solamente en Silicon Valley pueden darse el lujo de pagar esos elevados salarios, pero no es un lujo que viene gratis. Saber usar un framework o una librería no te va a poner en el nivel de un trabajo así. Y esto es algo que a mi me mueve bastante al momento de aprender cosas

Aprende a crear GNU/Linux no solo usar GNU/Linux

Existe el ya acuñado término “superusuario” (no me refiero al root). Según este, los superusuarios son aquellos administradores/desarrolladores/usuarios que no solamente son capaces de usar de manera correcta las herramientas, sino que también son capaces de crearlas o modificarlas de acuerdo a las circunstancias.

Y es que eso aplica a cualquier lenguaje/framework/herramienta del planeta. Ser dependiente de algo/alguien por la pereza de no entenderlo es uno de los mayores males que nos podemos hacer los que trabajamos o usamos tecnología hoy en día. Esto no aplica a cosas de las que puedes depender porque de no hacerlo sería algo sumamente complicado o consumiría mucho tiempo de crear.

La zona de confort

Este seguro será un punto que lanzará uno que otro comentario de “corrección”, pero hay que admitirlo, la zona de confort es muy confortable :) y hay gente que se “estanca” en el mismo uso o tecnología por años, sin aprender algo nuevo cada día (yo también tengo mis temporadas en las que no quiero aprender más, es normal), pero la idea es siempre estar pendiente para poder evitar que ese “estancamiento” dure por mucho tiempo.

No importa de dónde vengas, sino cuán duro trabajes

Esto es algo que me gustaría recalcar, porque yo entiendo que muchos dirán que la universidad/institución de la que egresas es importante, pero es solo una parte pequeña comparada con todo el trabajo que uno debe realizar para poder ser alguien en el mundo. Y con esto no desprestigio a las entidades, sino que aliento a las personas que todavía estudian a demostrar que no necesitan un título del MIT para poder brillar a nivel tecnológico :)

Tú eres capaz de cambiar el mundo

Empieza siempre tendiendo tu cama

Este es un video que me emociona mucho, no solo por su contenido, sino por lo que representa en mi vida. Yo intento (no siempre me funciona :P ) tener todos los días mi cama al despertar, lo que no sucede nunca es que al final del día sigue destendida, pero es un hábito que he adquirido con el tiempo. Sumamente recomendable ver el video de principio a fin :)

Tu representas a la comunidad

Esto lo aprendí hace mucho, pero lo he reforzado en Gentoo con el pasar de las semanas. Recuerden siempre que ustedes representan a su comunidad, yo hoy por hoy represento a Gentoo, represento a Perú, represento a CodeLabora, y a muchas otras personas y lugares que la lista sería muy larga para comentar ahora, pero una cosa es clara:

Siempre, sin importar donde esté, debo pensar que no soy solo yo el que se afecta por mis palabras o acciones.

Recuerden siempre que lo que escriben o dicen queda guardado por mucho tiempo, y todo debe ser dicho y hecho como para que después de haber pasado toda una vida, uno pueda seguir orgulloso de dicha acción o palabra :) Esto espero que ayude a muchos en el futuro y en el presente :)

Reflexión final

Este artículo intentaré mantenerlo corto, y pues a pesar de que me gustaría compartir muchas más cosas, creo que esto es suficiente por hoy. Solo me queda agradecer a cada uno de ustedes, por darse el tiempo de leer, compartir, comentar estas pequeñas contribuciones al mundo FOSS, intento siempre responder a los mensajes y también intento no dejar dudas en lo que digo en caso de necesitar se aclaradas. Así que si gustan comentar, compartir, corregir, sientanse totalmente libres de hacerlo :) y gracias por este gran tiempo juntos, espeor que siga así durante mucho más ;) Saludos

Cómo compartir archivos en una red Linux

Este va para nuestro compañero Claudio, quien desea aprender a configurar una red Linux sin usar Samba. En un comentario poco amigable, Claudio solicita la creación de un GUI para poder realizar un trabajo que miles (sino son millones) de personas ya han realizado antes y lo seguirán realizando… como gran parte de este trabajo es por consola, y no le gusta mucho, prefiere la creación de un GUI para poder utilizar de manera sencilla (a lo Windows como él mismo dice) su red interna. Primero vamos a discurrir un poco sobre esto antes de la solución.

El modo empresarial vs el FOSS

Bueno, vamos por lo sencillo desde el principio… Esto es algo que siempre se reclama a los proyectos FOSS (Free and Open Source Software), la fatal de calidad en el trabajo. Siempre he escuchado, pero tal juego es mejor comprarlo de la empresa tal porque es mejor, tal programa es mejor que su versión libre, tal sistema es mejor que otro libre. Vamos a ver por qué es esto:

La empresa tal vive de su software

Si yo soy una empresa y mi trabajo es vender software, eso quiere decir que tengo que vender algo extremadamente bueno para que la gente lo compre, y por tanto tengo que pagar a mis desarrolladores para conseguirlo, y este es el punto de partida de este asunto, el software libre y en algunos casos el open source es desarrollado por buena voluntad. A la gente no le están pagando por desarrollar algo para el resto. Así que si tú me dices que tal software sistema o lo que sea es mejor que su versión libre, pues yo te digo, probablemente, pero existe un gran problema en eso:

Está hecho para hacerte dependiente

Esto es como una droga, mientras más software privativo usas, menor es tu capacidad de pensar y resolver cosas de manera autónoma. Solo pensemos en esto un segundo, ¿saben dónde se gana más,?¿en la venta o en el mantenimiento? Pues la respuesta a esto es sencilla, no importa cuán caro sea un programa o sistema, siempre será mayor la ganancia en mantenimiento que la ganancia en venta, porque al momento de los problemas, no importa la cantidad de dinero que deba invertirse para resolverlo porque simplemente no se puede cambiar la infraestructura a esas alturas.

La necesidad es la madre de la creación

Una forma poco amigable de solicitar una GUI no es motivo suficiente para hacerla, y al mismo tiempo, disculpa si te duele Claudio, pero tengo cosas mucho más importantes que hacer y proyectos en los que participar como para invertir mi tiempo en resolver tu falta de autonomía y tu pasividad mental. Pero como lo has pedido, pues te vamos a explicar por qué no existen los GUI todavía para algo que en Windows es tan sencillo.

Cuando compartes carpetas en windows creas huecos de seguridad

Aquí más de uno me dirá que me equivoco y etc etc… pero la verdad es que cuando utilizas nmap para reconocer un equipo windows, probablemente si este se encuentra en una red de “confianza”, estará corriendo un servicio en algún puerto para poder compartir archivos. Esto no solo es peligroso, sino que es tan poco sabido que muchos de los ataques exitosos surgen a causa de que se estaba compartiendo el accesso por medio de la red. ¿Pero por qué surge esto? Pues porque la filosofía  de Windows te enseña a decir SI sin saber exactamente qué está sucediendo. (¿Recuerdan lo de dependencia?) Una manera muy sencilla de solucionar esto sería cuidando bien el equipo, pero como la filosofía de Windows no es esa, aquí es donde el mantenimiento entra en juego, y hace que tengas que necesitar de alguien que haga las cosas por ti.

No es necesario

Si la necesidad es la madre de la creación, sin necesidad, pues no hay nada. Esto es algo sumamente sencillo de entender, si la gente que lo usa (normalmente administradores de sistemas, o gente usando servidores) no lo necesita, pues no lo va a crear. En casos muy especiales (normalmente en software libre) los creadores se ponen un poco en los pies de los menos experimentados y deciden ayudar creando un GUI (Git tiene un GUI para los que desean probarlo), pero nuevamente, esto es por pura buena voluntad de los creadores, puesto que la cantidad de trabajo real es tan grande, y los desarrolladores tan pocos, que esos trabajos quedan relegados al tiempo libre de algún desarrollador de buen corazón. ( Recordemos que nadie le paga por hacerlo, y aún así tiene familia, trabajo y responsabilidades)

Intimidar nunca será la solución

Esto tómenlo de consejo y comentario para todos aquellos que lo lean, recuerdo mucho un video que vi una vez de una entrevista de Obama (alguien que considero un gran ejemplo de persona) , donde un hombre enojado empieza a criticarlo e insultarlo y el no hizo absolutamente nada. No hizo nada, no porque no pudiese, es decir, era el hombre más poderoso del planeta en ese momento, sino porque sabía que no debía rebajarse a ese nivel. Esa no es ni será una solución en esta vida, entrar en discusión nunca traerá nada bueno, hay gente que puede creer que sí, pero a mí al menos no me va a mover la intimidación y comentarios de un X. Solo lo dejaba como comentario suelto antes de empezar el tutorial.

NFS

Network File System es un protocolo a nivel de aplicación que permite contar con información centralizadasincronizada en una red, funciona tanto para sistemas Linux como Windows y otros (esto debido a estar diseñado a nivel de aplicación). Como hablamos de manera centralizada, quiere decir que nos encontramos frente a una solución de modelo Cliente/Servidor. Esto ya lo hemos tocado superficialmente en otro momento, pero nada más recalcar un pequeño detalle.

¿Por qué es importante tener centralizada la información?

Alguno que otro dirá, “pero yo tengo información importante en cada tipo de máquina que tengo, la laptop de trabajo, el equipo de casa, etc etc”. El problema es el siguiente, si se siguiese un modelo de backup eficiente, uno notaría que crear y mantener backups de muchos puntos es compicado, mucho más sencillo (para todos los que usamos scripts y demás) es crear un único punto donde la información llegue y de ahí empezar a resguardar la data.

No estoy inventando la pólvora

Para quien por un segundo crea que he descubierto esto a modo de prueba y error, pues nada más lejano de la verdad, solo uso un poco de lo que Google me ofrece y veamos lo que encontré en la primera búsqueda (Asumiré que están en Ubuntu aquellos que lo usen, y supongo que para Fedora el cambio debe ser mínimo)

Google

Diseño propio. Christopher Díaz Riveros

Siempre sigan lo que dice Oficial. Esto es tal vez uno de los primeros pasos a seguir, y lo pongo por si alguno cree que yo sabía algo de NFS antes de escribir este post.

TL;DR

Diseño propio. Christopher Díaz Riveros

Too long; don’t read. Cada vez que vean este acrónimo, pueden estar 100% seguros que es la manera “floja” de resolver un problema, muchos me reclamarán que cómo saberlo si está en inglés, bueno, pues ahora lo saben para que no pueda haber opción a reclamos después ;) Yo uso bastante el urban dicciontary para entender muchos de estos conceptos.

Official Documentation (¡¡En español!!)

Diseño propio. Christopher Díaz Riveros

Algún alma de buen corazón se dio el trabajo de traducir por nosotros esta simple pero completa página con todo lo necesario para poder instalar un servidor NFS en nuestra red.

Vamos a ver de manera rápida los pasos a seguir. Les dejo el link para los curiosos que no puedan usar por X motivos Google para llegar al mismo lugar.

Instalar el servidor y el cliente

Ahora vamos a instalar por consola lo necesario en ambos lugares para utilizar los archivos compartidos. En el servidor instalamos nfs-kernel-server y en el cliente nfs-common

Diseño propio. Christopher Díaz Riveros
Diseño propio. Christopher Díaz Riveros

Configurar el servidor

NFS funciona mediante un archivo de configuración ubicado en /etc/exports. Dicho archivo indica a NFS qué archivos compartir y cómo llamarlos, además de contar con muy buenos ejemplos de cómo usarlo por default, usaremos nuevamente la consola para editarlo gracias al siempre confiable vim (los que no estén cómodos con vim pueden usar nano)

Diseño propio. Christopher Díaz Riveros

Para este simple ejemplo yo estoy diciendo a exports que quiero compartir mi carpeta workspace (el * indica que quiero compartir todo el contenido y sin dejar espacio escribo los permisos y opciones que más me acomoden, en este caso rw para escritura y lectura)

Reiniciar el servidor

Si hemos configurado bien, necesitamos reiniar el servidor (o iniciarlo si es que no está activo), no es necesario cada vez que hay un cambio, pero aprovecho la oportunidad para dejarlo claro, si no deseas reiniciar todo, un simple exportfs -ra resuelve todo.

Diseño propio. Christopher Díaz Riveros

La primer línea systemctl start nfs-kernel-server activa el servidor, la segunda solo es para verificar que todo está bien (si no está verde, no está bien).

Conectar al servidor

Ahora vamos a conectar nuestro otro equipo, para eso usaremos nuevamente la consola, y el comando mount.

Diseño propio. Christopher Díaz Riveros

Aquí vale la pena recalcar que los IP se asignan a su gusto, no sé si usarán DHCP o manual, pero una vez tengan el IP pueden usarlo, agregen :/ruta/de/tu/carpeta y un lugar donde puedas montar la conexión, en mi caso creé una carpeta llamada compartido.

Abre tu explorador

Diseño propio. Christopher Díaz Riveros

Aquí están tanto en versión consola como en versión GUI. Y les muestro un poco de cómo llevo mi trabajo en el instituto, siempre uso máquinas virtuales para trabajar la información de los cursos, (por eso van a ver un OSX instalado) y uno por cada lenguaje, así puedo tener ambientes de desarrollo controlados y no llenar mi Gentoo de programas innecesarios. ¿Por qué ubuntu? pues me gusta más que Fedora y es más rápido para crear máquinas de prueba que puedo borrar también de manera rápida. Como ya dije :) cada cual sigue su filosofía y el dejar todo listo para usar sin pensar mucho es algo que facilita mucho ubuntu a sus usuarios :) (además que mi certificación de administrador de sistemas la hice en ubuntu, así que era una buena forma de recordar apt-get y apt)

 Reflexiones finales

Ya he escrito mucho esta vez, pero como podrás ver Claudio, son solamente 4 pasos ( espero que puedas hacer el de Google tú solo para no contarlo), y adivina qué… no es necesario un GUI para cinco comandos. Disculpa si no puedo cumplir tu deseo de hacerte el mundo GNU/Linux más Windows, y evitar que pienses un poco y aprendas a googlear cosas. Y si quieres tener cambios permanentes en tu red y equipos mediante /etc/fstab, pues tendrás que buscarlo tú mismo.

Para todos los demás, disculpen por favor si he sido rudo con este post, y aunque lo he escrito un poco mal humorado (debo admitir que a nadie le gusta que pongan en duda su trabajo y esfuerzo, y menos que lo tilden de fanfarronería)… espero que de verdad esto pueda ayudar a más de uno en sus trabajos de conexión. Muchas gracias por llegar hasta aquí a pesar de mis torpezas y errores, Saludos :)

¡Git ya tiene versión en español!

Hola a todos, este es un proyecto que me emocionó mucho, y en el cual invertí bastante tiempo hace unos meses, para todos los amantes de la línea de comandos, me emociona mucho poder compartir que ¡Git ya cuenta con una versión inicial en español! El código está disponible desde hace 5 días. Pero, ¿esto qué quiere decir?

Agregamos un archivo .po

Las traducciones en muchos proyectos en C se realizan a través de archivos .po, estos tienen una lista con todos los strings que tiene el programa, se acumulan y se pueden cambiar a lo largo del tiempo para poder utilizar el mismo programa en distintos idiomas. Para poder editarlos se pueden utilziar muchos métodos, el primero y más sencillo es directamente por medio de la terminal con algún comando de edición como ed o vim.

Poedit

Yo decidí utilizar un programa llamado Poedit para poder realizar el trabajo de traducción de las casi 30 mil líneas de texto. Con una interfaz bastante amigable, es posible generar un ritmo de traducción bastante bueno al contar con diversos atajos de teclado y recomendaciones que facilitan el proceso de creación de cadenas de texto.

Diseño propio. Christopher Díaz Riveros

Git

La conocida herramienta base para miles de proyectos a lo largo del mundo cuenta con traducciones a más de 8 idiomas distintos, por algún extraño motivo nunca se había concretado una traducción al Español, incluso habiendo versiones en Catalán. Pero este pequeño esfuerzo acerca a una de mis herramientas favoritas al mundo de habla hispana.

Diseño propio. Christopher Díaz Riveros

Primera versión

Espero que a más de uno pueda ayudar esta herramienta en su nueva versión y aunque en muchas líneas he tratado de mantener una dicción coherente, es posible que en los comandos menos comunes todo esto se pueda ver un poco opacado por mi falta de cuidado. Ante esto solo puedo pedirles que si ven algún comentario mal traducido, o sugerencia poco amigable, me puedan hacer llegar esto mediante correo con la recomendación o traducción misma si es posible. Incluso acepto PR en mi fork de github ;) .

Diseño propio. Christopher Díaz Riveros

Seguramente encontrarán bastantes tildes que faltan, eso se debe a que cuando iba por la línea 5000 descubrí que no compilaba bien con tildes, poco después aprende que tenía que cambiar el charset por defecto para hacer que sea posible compilar, pero ya gran parte había sido traducido, poco a poco iré buscando estos detalles para solucionarlos :) Pero, nuevamente, si alguien quiere practicar sus PR con esto, estoy más que encantado de poder agregar sus nombres como contribuyentes :)

La comunidad

La comunidad de Git es bastante amigable, muchos de ellos han trabajado o trabajan directamente con la comunidad del kernel, y es un buen código el que han desarrollado a lo largo de estos años. Su principal método de comunicación es el IRC y las listas de correo, mandan parches a través de estas y solo dados pocos casos se permite contribuir mediante PRs. Pero todo es fácil de aprender con un poco de motivación :)

Reflexión

Pues solo quería compartir este pequeño logro con ustedes y recordarles que así como este, existen muchas cosas pendientes en muchos programas, y ustedes pueden ser la diferencia :) no es necesario ser un experto programador para empezar a ayudar, y ayudando uno crece bastante y conoce a gente increíble en el proceso :) Espero que disfruten la nueva CLI de Git y los motive a usarla un poco más. Saludos,

Holy wars: Uno de los mayores problemas *NIX

Hay un tema del que no he podido escapar en todo mi tiempo saltando entre distribuciones, escogiendo programas, programando, incluso leyendo en o sobre todo lo relacionado a Linux o UNIX… Las Guerras Santas (Holy Wars en su más conocido término).

¿La primer guerra santa?

Bueno, el término fue oficialmente popularizado por Danny Cohen en un artículo sobre endianness, más específicamente sobre las controversias entre el formato little-endian vs el big-endian. Para los más curiosos, la endianness especifíca el orden en el que los bytes son leídos, cada uno representa una filosofía dinstinta y por este mismo motivo, son imcompatibles por definición. Esto divide el mundo de los procesadores en dos y genera pequeños satélites llamados middle-endian, usado basntante en tecnologías ARM y otras, los cuales pueden leer ambos formatos.

Otros grandes ejemplos

Dentro de los más grandes ejemplos de la actualidad tenemos el eterno combate entre GNOME y KDE, la ya antigua rivalidad entre vim y emacs, e incluso a nivel de sistema operativo, la no tan conocida rivalidad entre Linux y [Free|Net|Open]BSD. Estos son algunos de los ejemplos, que han sido motivo de incontables posts, artículos, tésis, incluso libros. Recuerdo mucho un Libro de O’Reilly sobre Bash que  fue escrito por algún seguidor de emacs, esto es evidente por algunos comentarios típicos contra vim, como la falta de “naturalidad” en el uso de sus accesos de teclado. En fin, la cantidad de información es abundante en estos temas.

La espada de doble filo

La historia nos ha mostrado que incluso de las rivalidades más encarnizadas nacen cosas buenas, una de estas es el avance tecnológico. Mucho se ha hablado sobre la ruptura de C y C++, algunos llamando “puritanos” a los otros y diciendo mi lenguaje es mejor. Aunque en cierto punto de la historia C++ utilizó C como base para crear nuevas funcinalidades (estamos hablando de aproximadamente 30 años atrás) hoy por hoy, ambos lenguajes han evolucionado tanto que se podrían considerar dos totalmente distintos, y cabe mencionar que con casi las mismas funcionalidades en ambas partes. Por otro lado tenemos la evolución visual de algunos Frameworks como Qt o WebKit, utilizados abuntantemente en KDE y GNOME respectivamente. Esta “competencia” ayuda a ambos a mantenerse despiertos y mejorar cada día las funcionalidades que ofrecen.

En el nivel técnico

Pues cuando vemos esto desde un punto de vista totalmente técnico, las opciones pueden volverse “objetivamente” mejores o peores, y es que esto es una realidad tangible, uno puede describir un software o programa en cuanto a medidas de tiempo, o de carga, o de estrés, o cualquier otra imaginable. Esto ayuda a las decisiones de cada individuo, puesto que da fuerza a los argumentos, y puede esclarecer mejor las necesidades que se necesitan cubrir, y los riesgos que se deben tolerar. En este punto las cosas son un poco más claras y si se llevan de una manera cordial, pueden resolver muchos conflictos, pero el problema surge cuando…

La política entra en juego

Este es un punto sensible, así que intentaré no dar muchas vueltas al asunto. Todo es bueno hasta el punto en el que comienzan los extremos, cuando empiezas a creer que tu solución es simplemente mejor que cualquier otra y todo el mundo debería estar de acuerdo contigo. Este es posiblemente uno de los puntos más complicados de todo el Open Source, e incluso del Software Libre.

Yo he tenido oportunidad de conversar directamente con ambos grupos, y a decir verdad ambos se encuentran bastante politizados, al punto de decirme: “Si te vas con ellos, no vengas con nosotros”. Y es que para su concepción de la vida, solo existe el negro o el blanco, ningún punto medio o gris. Ahora muchos estarán de acuerdo conmigo y otros no tanto, pero la vida no es solo blanco y negro, existen el gris y los matices (incluso en cosas en las que no deberían existir, pero es inevitable).

Lo gracioso de todo esto es que los que “dirigen” estos grupos, al menos los que he tenido la posibilidad de conocer, no programan, y piensan que el ideal del software va tan más allá del mismo software, que la programación ha quedado marginada en el olvido.

Mi opinión personal en este tema

Solo voy a hacer una acotación a lo que yo considero importante del software libre y el open source, ciertamente ambos tienen muchos puntos en común, pero difieren tanto en aquellos que no son comunes,  que no deja de ser motivo de disputa para ambos bandos.

Yo creo que en el mundo de hoy, el software privativo (aquél que te impide la libertad esencial de poder pensaraprender) es el mayor enemigo. A mi siempre me ha gustado saber por qué suceden las cosas en mi computadora, y considero que un programa que no te permite conocer lo que sucede es el mayor enemigo que puedes tener.

En este punto el Open Source y el Software Libre concuerdan (aunque no lo quieran admitir), y es que uno por motivos prácticos y el otro por motivos éticos, desean que los usuarios sean capaces de contribuir y aprender del código fuente.

El punto donde empieza el problema es respecto a la libertad de distribución. El Open Source es un poco más restrictivo que el Software Libre, este es el punto de partida para muchos conflictos de filosofías. Pero yo lo veo de la siguiente manera:

En este mundo el negro viene a ser el software privativo, aquel que no te permite conocer realmente lo que sucede, ni por qué sucede. En un punto más gris, tenemos al Open Source, el cual no te entrega todas las libertades  pero al menos te permite tener el código a disposición para aprender y mejorar. El lado blanco vendría a ser el software libre, por contar con ideales más éticos en los que el software tiene que estar a disposición de la comunidad y ayudar a todos sin esperar beneficios a cambio.

La utopía

Si todos fueran como el blanco, pues no habría necesidad de dinero, pero tal vez las cosas serían muy distintas por lo que la gente solo trabajaría por vocación, y no por necesidad. En este punto es donde se confirma la existencia de grises en nuestras vidas, si bien uno puede ayudar al mundo con proyectos Libres, el mundo no por eso va a dejar de exigirte todo lo que exige siempre.

Esto suena muy bueno, pero la verdad es que todos necesitamos dinero en este mundo, y aunque el software libre pueda ser lo más blanco que se pueda encontrar, siempre existirán los negros dominando no solo el mercado, sino también las mentes de los consumidores. Y siempre existirán deudas con el Estado, y cualquier otro tipo de cosas que te obliguen a necesitar dinero.

Gentoo

Este es uno de los puntos que más me gustan de Gentoo, la capacidad de elegir. Esto no solamente implica poder elegir software, sino que también enseña a pensar por uno mismo. Y como en todo lugar, también existe política, y bandos, y demás. Pero lo bueno es que siempre existe la libertad de elegir, en especial cuando alguno de los bandos no sigue tu forma de pensar. (Tenía que meter esto aquí porque como habrán visto, una gran parte del FOSS (Free and Open Source Software) trata de filosofías.

Reflexión final

Las filosofías son buenas, ayudan a resolver problemas mediante nuevas perspectivas. Esto es algo que siempre será útil para todo el mundo, pero el problema comienza cuando un grupo desea imponer su filosofía. Nunca es bueno decir “esto es mejor” como se ha visto mucho en el mundo Linux, con el típico:

Ubuntu/Fedora/Mint/Manjaro/… es mejor que Ubuntu/Fedora/Mint/Manjaro/…

No existen mejores absolutos, simplemente siguen distintas filosofías.

Yo me considero alguien bastante tolerante en el tema, me he acostumbrado a creer que nada puede ser absolutamente bueno o malo cuando viene de alguna persona. Todo tiene matices y yo me siento inclinado a compartir las cosas que yo considero útiles. No pretendo hacer que todo el mundo me siga en mi forma de ver y usar la tecnología, pero soy consciente que no muchos usan o prueban las cosas que yo uso, así que intento compartir eso para que otros puedan tener un punto de referencia al respecto :)

Ya me he extendido mucho esta vez, pero me pareció un tema bastante interesante para tratar. Saludos,