💻 💿 ⛓ Software libre y código abierto: estado del arte y su relación con la ciencia y la tecnología. 1ERA PARTE del extenso para el conversatorio virtual
Este epílogo es una frase de Richard Stallman, el mentor del movimiento software libre, quien desde su posición como activista comprometido con la libertad de los usuarios de computadora, ha declarado en varias oportunidades la importancia de la idea de libertad en la educación y en la producción de conocimientos.
Inaugura también el ensayo que presentaré a continuación, el cual es una versión extensa del tema “La tecnología de software libre y código abierto”, que por cierto también inspiró el conversatorio virtual (webinar) semanal de STEM-Español, llevado a cabo hace unos pocos días a través del grupo en Discord (servidor) de la comunidad.
El objetivo de este ensayo es presentar una aproximación al estado del arte de la tecnología de software libre y código abierto, mediante el análisis y síntesis de sus generalidades e impacto dentro y fuera del mundo informático, contribuyendo a informar sobre esta temática y dar a conocer su relación con la ciencia, la tecnología y la innovación.
El escrito desarrolla un temario que comprende aspectos como la conceptualización técnica del software, la definición oficial del software libre y el sistema de libertades, el licenciamiento, algunos ejemplos de software libre, datos históricos sobre su origen, estadísticas de adopción en el mercado, sus usuarios en el mundo, quiénes desarrollan esta tecnología, modalidades de software NO libre y conceptos relacionados, los pros y los contras del software libre y, finalmente, su herencia dentro y fuera del mundo informático.
Debido a lo extenso de su contenido, he divido el ensayo en dos entregas. En esta primera entrega, nos concentraremos, a lo largo de cinco subtítulos, en los aspectos constitutivos de lo que significa software libre y código abierto. Me apoyaré en una serie de mapas mentales diseñados como material didáctico para apoyar la narrativa. Han sido diseñados por mi persona utilizando -claro está- programas libres como XMind, LibreOffice Impress y GIMP.
¡Espero sea útil y agradable para la comunidad!
LA TECNOLOGÍA DE SOFTWARE LIBRE Y CÓDIGO ABIERTO
1. ¿Qué es el software?
Imagen 1: mapa mental del software. Autor: @eniolw. Licencia: CC BY SA
Para comprender qué es el software libre (y de código abierto), puede ser de mucha utilidad el análisis de los términos que conforman ese sintagma (“software” y “libre”), es decir, su etimología.
El software, además al hardware, es uno de los elementos del sistema computacional. Es un anglisismo usado para referirse al componente lógico de la computadora, en contraposición al componente físico representado por el hardware. De tal manera que software como componente abarca tanto a los programas de computadora en cualquier tamaño o arquitectura, al contenido que se presenta mientras estos se ejecutan, y la información descriptiva de estos almacenada en formatos virtuales.
El software puede entenderse también como un simple sinónimo de programa de computadora, por lo que para muchos especialistas, bibliografías y demás fuentes, son palabras intercambiables.
Una tipología básica del software, y que será de utilidad a lo largo de este escrito, es la de 1) software en la capa de sistema y 2) software en la capa de aplicaciones. El primero comprende al sistema operativo, que es el conjunto de programas que gestionan los dispositivos hardware de la computadora y la interacción usuario-máquina, tales como Windows, GNU/Linux y Mac OS. El segundo tipo de software (capa de aplicaciones), se refiere a todos los programas de usuario y aquellos desempeñan funciones mucho más específicas, tales el procesador de textos, la hoja de cálculo, el navegador web, el editor de imágenes, el reproductor de audio y video, entre otros.
El software es un bien de consumo producto del trabajo de los programadores y desarrolladores. Tras su producción hay toda una serie de ingenierías. A lo largo de su ciclo de vida, desde su concepción hasta su puesta en ejecución y mantenimiento se van creando una serie de artefactos que se van transformando progresivamente en el programa que finalmente ejecutamos en nuestras computadoras.
Uno de esos artefactos es el código fuente. Este es el programa tal como fue originalmente escrito, como serie de instrucciones denotadas en un cierto lenguaje de programación abarcando uno o muchos archivos. El rol del código fuente es más o menos equivalente al concepto de “planos” en obras de ingeniería civil.
El código fuente es inteligible por los seres humanos, es decir, es comprensible por estos, y eso es así porque está escrito en algún lenguaje hecho precisamente para programar. No obstante, el código fuente es incompresible por la computadora, que entiende sólo código binario. La tabla 1 contiene un programa escrito distintos lenguajes, lo cual ayudará a comprender este punto (véase tabla 1).
Lenguaje | Código |
Python | print “Hola mundo” |
Java | public class Main(){ public static void main(String[] args){ System.out.println(“Hola mundo”); } } |
Binario (Spoon) | 0101111111110010001111111111010000001101100101001011111110010001111110 1000000110111001010111111100101000101011100101001011111111111001000110 0000000000000000001000000110110000010100000000000000000000000000000000 0000000101001011111111111001000111111101000000110110010100101111110010 0011111101000000110110010101110010100000000000000000000010100000000000 0000000000000000101001011111111111001000110000000000000000000100000011 011000001010 |
Tabla 1: Tres versiones de un mismo programa en lenguajes diferentes
En la tabla 1 se aprecian 3 versiones de un programa que lo único que hace es mostrar en pantalla la frase “Hola mundo” (“hello world”). Las diferencias entre las 3 versiones es el lenguaje en el que está escrito el programa, estando las dos primeras en lenguajes de programación (de alto y medio nivel) y la última en código binario (incluyendo cláusulas del lenguaje esotérico Spoon en el binario).
No es difícil percibir qué versiones son más fáciles de entender y escribir para los programadores, pero esas versiones (en Python y Java) son totalmente incomprensibles por el computador. De allí que para completar el proceso hay que hacer una progresiva compilación de lenguaje de programación a código binario, obteniendo otro artefacto: el binario o programa ejecutable, que resulta el que finalmente ejecuta la computadora para obtener el comportamiento y resultados esperados.
De tal manera que los programas de computadora tienen dos formas de expresión: como código fuente y como binario o ejecutable, siendo este último el que generalmente adquirimos y el que se instala y/o ejecuta en nuestros equipos.
2. Software LIBRE
Imagen 2: mapa mental de la definición del software libre. Autor: @eniolw. Licencia: CC BY SA
Ahora bien, ¿qué quiere decir el que el software sea “libre”? Esto tiene que ver con la concepción más conocida de esta categoría de software, que es la manejada por Richard Stallman (1986) y la Free Software Foundation (FSF), quienes son los fundadores de este fenómeno informático y los primeros en teorizar al respecto.
La concepción de Stallman de lo que es software libre está en función de la idea de libertad de expresión. Un software se considera libre si su creación y distribución se rige por las llamadas “cuatro libertades” fundamentales del software, las cuales se citan a continuación:
Libertad 0: Usar el programa con cualquier propósito.
Libertad 1: Estudiar el programa y modificarlo, adaptándolo a las propias necesidades.
Libertad 2: Distribuir copias del programa, con lo cual puedes ayudar a otros usuarios.
Libertad 3: Mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie.
Las libertades se enumeran desde el cero (0) debido a que así se enumera en la práctica de programar. Cada una de ellas rige un aspecto importante en relación con el software: uso, aprendizaje, distribución e innovación, cada uno de las cuales se detallan como sigue.
A) Uso: el software debe poder ser usado para cualquier propósito, sea para consumo personal o dentro de una organización, sea con aplicaciones domésticas, académicas e incluso de explotación comercial y por cualquier tipo de iniciativa. Las funciones del software incluidas en la versión usada no deben tener limitaciones.
B) Estudio: se refiere, por una parte, a que el código fuente del programa debe estar disponible públicamente, no sólo el binario o su versión para la ejecución. El código debe ser accesible, es decir, que se debe poder ver y descargar, con lo cual se puede estudiar y aprender de él, pero también se puede modificar y, como dice la libertad 1, 'adaptarlo a nuestras necesidades'. De tal manera, que al tener un programa libre, cualquiera con suficientes conocimientos de programación puede descargar su código fuente y cambiar algo que esté más acorde a sus intereses y necesidades o las de sus clientes.
C) Distribución: una vez el usuario obtiene el software, gana el derecho de ‘pasárselo’ a quien sea, bien sea regalado o incluso vendido. Esto puede hacerse por cualquier medio y formato, sea por USB, por CD, DVD o más comúnmente a través de una red, como internet. Se puede colgar en un repositorio o publicar un enlace a un blog con el acceso a la descarga del programa y cosas por el estilo. Todo esto sin tener que pedir permiso al creador original del programa, ni tener que pagar licencias o regalías ya que no se está violando ninguna ley puesto que el software es libre.
Los usuarios también gozan este derecho para con todo el mundo, es decir, sin ningún tipo de discriminación. No puede restringirse que el programa sea distribuido a determinado grupo social o nacionalidad, etc. Esta distribución debe contener tanto al programa ejecutable como al código fuente o por lo menos un enlace a un sitio dónde conseguirlo.
D) Mejora: Similar a la libertad de estudio. La diferencia está en que es posible generar un trabajo derivado del programa distribuido libremente, es decir, se puede innovar. Los programadores pueden crear un fork (bifurcación) y añadirle funciones y personalizarlo, y luego publicar y distribuir esa nueva versión, reconociendo el trabajo “padre”, por decirlo así, pero sin tener que pedirle permiso ni pagarle nada al creador de aquel.
Todo esto suena bien, pero... ¿Cómo se hacen efectivas estas libertades?, ¿Cómo se logra que sean operativas y respetadas? La respuesta: a través de las licencias de software libre.
3. Licencias
Imagen 3: mapa mental de las licencias software libre. Autor: @eniolw. Licencia: CC BY SA
Sabemos que las licencias son un instrumento jurídico adquirido entre al menos dos partes, y contiene ciertos términos que definen un permiso o autorización. Este instrumento existe también en el mundo del software y revela las condiciones de permiso que el productor del software da a sus usuarios.
El software libre existe porque esos programas son publicados junto al documento de licencia contenido en un archivo digital, y éste contiene los términos que expresan las cuatro libertades (o criterios similares) mencionadas anteriormente, pero en un lenguaje jurídico, más desarrollado, con más cláusulas que cubren todos los aspectos para que tengan validez ante la ley y sean utilizables en un proceso judicial.
Asimismo, para que las licencias de software funcionen, hay que ejercer el “copyright”, es decir, el derecho de autor. Un autor de un programa tiene los derechos sobre él debido a que es su obra y él su creador, por lo tanto, dicho autor tiene el derecho natural de decidir que su programa pueda ser libre. Es la voluntad del creador del software que su programa sea distribuido con una licencia de software libre y ello es inobjetable. Se trata, por tanto, de un interesante alegato moral y artificio legal que garantiza la libertad del software.
Por supuesto, esto es irreversible, ya que una vez que se ha publicado el programa como software libre ya no se podrá apelar al derecho de autor para retractarse y cambiar las condiciones, ya que jurídicamente se estaría contradiciendo. El derecho de autor básicamente sirve para reconocer la autoría original y para asegurarse legalmente de que el software va a ser libre.
Otro aspecto importante de las licencias de software es el concepto del copyleft. Un nombre curioso que le hace parodia al copyright. Este último significa literalmente “derechos de copia”, a veces doblado como “derechos reservados”, mientras que copyleft es “copia dejada” o “copia permitida”, ya que “left” es el participio pasado del verbo “leave”, que significa “permitir”, “dejar” en inglés. “Left” (izquierdo) también es el antónimo de “right” (derecho).
Técnicamente, el copyleft es una práctica legal que va a asegurar la libertad permanente del software, al obligar que los trabajos derivados conserven los mismos términos de libertad que el software original. Esto se refleja como una o unas pocas cláusulas dentro del documento de licencia. De esta manera, si un productor A desarrolla y libera una aplicación Y como software libre y posteriormente la persona (natural o jurídica) B bifurca al software Y, y crea un trabajo derivado X, éste no podrá ser licenciado como software cerrado, ya que violaría la licencia de Y.
Esto, curiosamente, sería la única restricción en el software libre según la FSF. Esto significa que está prohibido prohibir la libertad, se restringe el restringir la libertad. No se pueden reducir los derechos de los usuarios a medida que el software evoluciona y se bifurca. No obstante, el hecho de que al software derivado no le sea “impuesta” la práctica del copyleft es, para otros, algo aún más parecido a la idea de libertad.
Entonces, éste es el concepto del copyleft, que según la FSF define a aquellas “licencias fuertes” de software libre, tal como la licencia GNU GPL que significa GNU General Public License (licencia pública general de GNU), que es la primera de todas y hasta hace poco resultó ser la más usada en proyectos de software libre en todo el mundo.
También hay licencias sin copyleft, o también llamadas “licencias permisivas” por la FSF, ya que estas licencias no prohíben el hecho de que el software derivado deba ser también software libre, es decir, permiten que a partir de un software libre padre se genere un software no-libre derivado.
Estas licencias han ganado mucha popularidad también y un ejemplo es la BSD (Berkeley Software Distribution). Esta licencia es muy parecida al dominio público, excepto por el hecho de que la licencia sí garantiza el reconocimiento de la autoría original, pero no exige que el trabajo derivado sea libre también. Es por ello que es usada en muchos proyectos como Chromium, que es el navegador base para Google Chrome, cuya licencia, precisamente, no es de software libre.
4. Ejemplos de software libres
Imagen 4: mapa mental de ejemplos de software libres. Autor: @eniolw. Licencia: CC BY SA
Los ejemplos siempre ayudan a entender mejor. Entre los exponentes del software libre se tiene al más famosos de todos: el sistema operativo GNU/Linux del cual se hablará más en la segunda entrega de este ensayo. Este sistema actualmente se conoce mayormente por sus versiones derivadas, llamadas “distribuciones” o simplemente “distros”, en la jerga del área. Algunas distribuciones populares (y no tan populares) son Debian, Ubuntu, Linux Mint, Elementary OS; Red Hat Enterprise Linux, Open SUSE, Slackware, Canaima y un largo etcétera.
También está Android, que es un sistema operativo para dispositivos móviles como tablets y smartphones,, posee a Linux como su kernel y es desarrollado por Google.
A nivel de aplicaciones, algunos ejemplos son los navegadores web Firefox y Chromium (padre de Google Chrome), el reproductor de multimedia VLC, el servidor web Apache, la suite ofimática Libre Office, el editor de imágenes GIMP, los sistemas de gestión de cursos Moodle, Chamilo, Claroline; el gestor de intercambios P2P Amule, diferentes clientes de la mensajería Telegram, entre otros.
5. Características
Imagen 5: mapa mental de características del software libre. Autor: @eniolw. Licencia: CC BY SA
Se tiene, por tanto, que el software libre define una categoría de programas de computadora según la licencia con que son distribuidos y según las condiciones de su producción, por lo que “software libre” se refiere no solamente al producto, sino también al proceso implicado en su producción, es decir, al modelo de desarrollo de software libre o código abierto. A continuación se listan atributos que circundan a este tipo de software:
A) Es transparente: se ha dicho que si el programa en software libre ha sido distribuido, su código fuente debe ser abierto, es decir, debe estar incluido entre los archivos que integran al programa distribuido o en algún tipo de repositorio de acceso público cuya ubicación debe ser apropiadamente informada a los usuarios. Frecuentemente, estos repositorios son especializados para estos propósitos y están contenidos en plataformas para el desarrollo colaborativo de software, llamadas forjas, tales como GitHub, SourceForge, Google Code, GNU Savannah, entre otras. Estas forjas facilitan la organización para desarrollar y mantener proyectos de software libre. El hecho de que el software libre sea transparente comporta algunas ventajas que se explicarán posteriormente.
B) Es colaborativo: la mayoría de los programas en software libre son desarrollados aprovechando la sinergia de muchos actores que pueden constituirse en completas comunidades online, compuestas fundamentalmente por desarrolladores, programadores, diseñadores y otros tipos de informáticos. Estos pueden trabajar de manera voluntaria o pueden ser financiados. Dependiendo de cómo se organice la comunidad, las actividades básicas del desarrollo consisten es distribuir tareas y recibir contribuciones, como parches y/o modificaciones al código fuente, reportes de errores, ideas, informes de pruebas, entre otros.
C) Es compartido: esto se refiere tanto al hecho de que el software libre puede ser distribuido libremente, sin ningún tipo de discriminación o exigencia, como al hecho de que durante su producción se pueden compartir las cargas de responsabilidad entre los miembros de la comunidad.
D) Es gratis la mayoría de las veces: aunque también puede ser comercializado (es un mito que los software libre sean todos gratis). El modelo de negocios del software libre no se basa en el de licencias EULA, (que se explicarán en la segunda parte), sino principalmente en la idea de servicio, como soporte y mantenimiento.
E) Es un bien común: el carácter libre y abierto hace que los proyectos de software libre no tengan forzosamente un único epicentro en su desarrollo. Esto significa que una institución pública, una empresa privada, una organización o comunidad pueden dirigir y coordinar el mantenimiento de un proyecto de software libre, pero no pueden impedir que se conformen otras comunidades sobre la base del proyecto que ellos mantienen. El software libre distribuido es un bien de consumo sin dueños, por y para los usuarios.
6. Orígenes
Imagen 6: mapa mental de orígenes del software libre. Autor: @eniolw. Licencia: CC BY SA
El nacimiento del software libre está asociado con Richard Matthew Stallman (RMS), físico de profesión egresado de Hardvard y del MIT, pero más conocido por desempeñarse como programador estadounidense que durante las décadas de los 70 y 80 perteneció a la “cultura hacker”, que es como se conocían a los gurús informáticos de la época. Para ese entonces, las computadoras se usaban casi exclusivamente en universidades y los hackers solían tener la práctica de compartir su trabajo, lo que incluía el código fuente de los programas.
Stallman trabajó por muchos años en el famoso Massachusetts Institute of Technology (MIT) al tiempo que presenciaba cómo se desmoronaban las bases de la cultura hacker, porque a finales de los años 70, los fabricantes de computadoras comenzaron a considerar productos diferentes al hardware y el software, derivando en la comercialización del segundo mediante la no distribución del código fuente y el establecimiento de acuerdos de licencias entre ellos y sus consumidores, lo que implicaba muchas restricciones nunca antes vistas.
Cuenta Richard Stallman en sus conferencias que durante esa época en el laboratorio donde trabajaba, había una impresora que frecuentemente se atascaba y tampoco notificaba a los usuarios del incidente. Los usuarios que habían ordenado una impresión, a menudo se encontraban con que la impresora estaba atascada, sus documentos no estaban impresos y ello ocasionaba pérdidas de tiempo y molestias. A Stallman se le ocurrió la idea de modificar el controlador de la impresora para que notificara a los usuarios cuando estuviera atascada, por lo que al no conseguir el código fuente entre sus archivos se puso en contacto con el proveedor de la impresora para que se lo suministrara, quien, como puede suponerse, se negó de plano a hacerlo.
Esta y otras vivencias frecuentemente relacionadas con conflictos éticos provocados por las licencias restrictivas de los programas, animaron a Stallman a fundar un movimiento en pro de la libertad y los derechos de los usuarios de computadoras. De allí que desde 1983 comenzó el desarrollo del Proyecto GNU, siglas de “GNU is not UNIX” (GNU no es UNIX), un sistema operativo inspirado en UNIX (el predominante de la época), pero que sería completamente libre y constituiría la bandera de todo el movimiento.
Desde entonces, se dedicó a la conformación del movimiento con el desarrollo del sistema GNU y la publicación de trabajos como el Manifiesto GNU (1985), la definición del software libre (1986) y, junto a otros colaboradores, con el nacimiento de la Free Software Foundation FSF (Fundación Software Libre). También registra y publica en 1989 la primera versión de la GNU GPL (Licencia Pública General de GNU) junto al concepto revolucionario del copyleft.
El trabajo de la FSF y Stallman continúa hasta el día de hoy y las ideas que promueven son sobre la moral y ética alrededor de la relación entre los productores de software y sus consumidores. También declaran ser un movimiento “social” y “político”, en el sentido de militar mundialmente por la defensa de los usuarios de computadoras, frecuentemente "sometidos" por las industrias del software. También se suele decir que han dado origen a toda la filosofía del software libre.
Años más tarde, surge en la escena Linus Torvalds, un ingeniero de software finlandés, quien durante sus estudios en 1991 anunció por internet el desarrollo de un sistema operativo también compatible con UNIX (a través de Minix) a manera de “hobbie”, pero que resultó ser tan buena idea, que al año siguiente decidió publicarlo bajo licencia GPL versión 2, dando origen al kernel libre Linux, el cual se integró a las capas de GNU para generar un sistema operativo completo. El movimiento de software libre finalmente tenía ya su bandera que fue rápidamente acogida por muchas universidades en todo el mundo.
Posteriormente, surge otro movimiento que promueve un concepto de software libre paralelo al promovido por la FSF (free software). Sucede que muchos informáticos partidarios del software libre no se sentían identificados por las ideas de Stallman y la FSF, en términos de su promoción y argumentos sobre la base de cuestiones morales, (como lo de “libertades de los usuarios”), y el discurso con influencia política manejado frecuentemente por Stallman, que aparentemente “espantaba” a las empresas, así como también por la ambigüedad de la palabra “free”, puesto que en inglés también significa “gratis”, lo que puede transmitir una idea equivocada del software libre.
Todo esto lleva a Eric Raymond, también hacker contemporáneo con Stallman, a fundar junto a otros como Bruce Perens, la Open Source Iniciative OSI (Iniciativa de Código Abierto) en 1999, con lo cual acuñaron el término “open source” (código abierto) para referirse a esta categoría de software según su licencia. Este movimiento escribe su propia “Definición del código abierto” que se extiende a lo largo de 11 criterios, todos compatibles con el sistema de cuatro libertades de la FSF. Los miembros de la OSI se han concentrado en transmitir una visión más pragmática y técnica que filosófica sobre lo que debe ser el software de código abierto, razón por la cual la FSF está en conflicto con ellos.
El término “open source” (código abierto) ha ganado más popularidad en inglés, en lugar de “free software”. Sin embargo, en español es lo opuesto: el término “software libre” es más popular que el de “código abierto”.
Y fue así como surgió la tecnología de software libre y código abierto. En una próxima entrega de este extenso se profundizará en aspectos más modernos y quizá más curiosos del software libre, tales como su métricas de mercado, quiénes son sus usuarios y sus desarrolladores, qué conceptos están relacionados y cuáles son antagonistas, los pro y los contra de esta tecnología y su herencia dentro y fuera de la informática.
REFERENCIAS
- Stallman, Richard Matthew (2004). Software libre para una sociedad libre . Editorial Traficantes de sueños.
- Raymond, Eric (1997) La catedral y el bazar .
NOTAS
- La imagen del encabezado ha sido creada por el autor y está publicada bajo dominio público.
- Las imágenes 1-6 son también del autor y para su confección se han integrado imágenes de dominio público y usado aplicaciones libres como XMind, LibreOffice Impress y GIMP.
- La imagen del pie es de @carloserp-2000 y @iamphysical y está publicada bajo dominio público.
Veo las láminas y lo extenso de tu post que muestran el inicio del software libre y el arduo trabajo de los desarrolladores en mantener este sistema, te felicito.
Así es @azulear, lo bueno es que muchos proyectos no son tan difícil de mantener porque hay toda una diligente comunidad tras ellos! Gracias por leer
Saludos estimado @eniolw esta presentación es una muestra de tus disciplina en el mundo del software libre. Excelente el uso de los mapas mentales como herramienta didáctica en la exposición de las ideas. Éxitos!
Agradecido @eliaschess333. Aprovecho para aclarar que originalmente son mapas mentales, sólo tuve que configurar las ramas al estilo de organigrama horizontal para aprovechar más el espacio. Gracias por tu comentario!
Excelente trabajo @eniolw, ciertamente agrado mucho el uso de los recursos. Saludos!
Gracias @yusvelasquez
:D
Saludos igualmente!
Excelente @eniolw. Este contenido debe llegar a mas personas para fortalecer la adopción del software libre . En mi opinión es una tecnología con muy altas prestaciones .
Así es @vjap55. En la próxima parte del artículo hablaré precisamente de las métricas de adopción del software libre en el mundo. Gracias!
Excelente trabajo como el de conversatorio, espero escucharte pronto de nuevo porque eres multiplicador de conocimientos, felicidades bro
Gracias amigo. Me alegra que te haya gustado. Los conversatorios son una buena oportunidad para que entre todos vayamos aprendiendo cosas nuevas. Saludos!
Excelente trabajo mi estimado @eniolw
El dominio que tienes sobre el FSF es impresionante, como lo demostraste durante el Conversatorio de #stem-espanol. Tus conocimientos contribuyen al fortalecimiento de esta comunidad.
Gracias por el cumplido estimado Dr. @iamphysical. Me alegra saber que la comunidad ha encontrado valor en mi trabajo. Me complace formar parte de #stem-espanol.
Congratulations @eniolw! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes received
Click on any badge to view your Board of Honor.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last announcement from @steemitboard!
Muy buen post @eniolw sobre software libre.
Gracias @zulosteemit! :D