{"id":675,"date":"2020-07-21T12:16:30","date_gmt":"2020-07-21T11:16:30","guid":{"rendered":"http:\/\/blog.uclm.es\/gonzalorprieto\/?p=675"},"modified":"2020-07-21T12:16:30","modified_gmt":"2020-07-21T11:16:30","slug":"es-el-software-libre-resistente-a-todo-tipo-de-usuarios","status":"publish","type":"post","link":"https:\/\/blog.uclm.es\/gonzalorprieto\/2020\/07\/21\/es-el-software-libre-resistente-a-todo-tipo-de-usuarios\/","title":{"rendered":"\u00bfEs el Software libre resistente a todo tipo de usuarios?"},"content":{"rendered":"\n<p>El software libre, producido bajo los principios de las cuatro libertades de ejecuci\u00f3n, estudio, modificaci\u00f3n y distribuci\u00f3n(1), ocupa un lugar cada vez m\u00e1s importante en nuestras vidas, al ser el que soporta una gran cantidad de puntos fundamentales de la red internet actual. Por lo tanto, una cuesti\u00f3n relevante es cu\u00e1n f\u00e1cil o dif\u00edcil es que un determinado software libre pueda seguir adelante en el tiempo seg\u00fan sus usuarios, que tambi\u00e9n suelen ser los que lo mantienen.<\/p>\n\n\n\n<p>En el art\u00edculo que comento, empiezan en la introducci\u00f3n repitiendo que debido a su naturaleza, el mantenimiento de una base grande de usuarios comprometidos y capaces de modificar y ajustar ese software seg\u00fan se necesite es fundamental para el \u00e9xito de cualquier programa de este estilo.<\/p>\n\n\n\n<p>Contin\u00faan se\u00f1alando que debido a su naturaleza abierta y al \u00e9xito del modelo, hay cada vez m\u00e1s programas similares desarroll\u00e1ndose a la vez, lo que supone que hay una competici\u00f3n muy fuerte entre los diversos programas por captar y atraer los usuarios. Personalmente creo que con frecuencia varios de estos proyectos se unen o termina qued\u00e1ndose solo uno, pero el que se queda ha ganado la \u00abcompetici\u00f3n\u00bb, desde luego.<\/p>\n\n\n\n<p>En cualquier caso, la robustez(2) de su red es muy importante. Y por eso los autores de este art\u00edculo se pusieron a estudiarla para las redes t\u00edpicas de generaci\u00f3n y mantenimiento de software libre.<\/p>\n\n\n\n<p>Contin\u00faan diciendo que la mayor parte de los estudios sobre la robustez de redes se refer\u00eda a redes f\u00edsicas, como las de transmisi\u00f3n el\u00e9ctrica, transporte, etc. As\u00ed, hay menos estudios sobre redes virtuales, si bien al aumentar tanto la importancia y cantidad del software libre, algunos estudios se han realizado. En su revisi\u00f3n r\u00e1pida de la introducci\u00f3n, los autores de este art\u00edculo citan trabajos sobre software libre en los que encontraron algunas caracter\u00edsticas de estas redes de trabajo, que se pueden resumir as\u00ed:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Cambian su capacidad de resistencia a ataques externos seg\u00fan el tipo de escala que tenga la red,<\/li><li>Para que un proyecto pueda sobrevivir, es fundamental que su sistema de reclutamiento y mantenimiento de personal sea efectivo,<\/li><li>Su propia estructura de centro fuerte y una gran periferia m\u00e1s d\u00e9bil de usuarios la hace muy resistente a ataques externos, pero deja el proyecto en riesgo de anquilosarse si lo hace el centro,<\/li><li>Si un usuario de la red que posee una gran parte del conocimiento del programa se marcha, el proyecto sufre y puede llegar a abandonarse.<\/li><\/ul>\n\n\n\n<p>Adem\u00e1s, tambi\u00e9n citan dos art\u00edculos que analizaban el c\u00f3digo desde el punto de vista de si el software libre est\u00e1 mejor o peor codificado que otros tipos. Pero todos estos trabajos sobre la robustez se centran en alg\u00fan punto concreto, mientras que los autores de este art\u00edculo pretenden centrarse precisamente en la robustez en s\u00ed de las redes de software libre.<\/p>\n\n\n\n<p>Centr\u00e1ndose m\u00e1s en materia, los autores del art\u00edculo comentan que los contribuyentes a proyectos de software libre reconocen que es muy importante para que el proyecto saga adelante que se intercambie informaci\u00f3n t\u00e9cnica o de habilidades de programaci\u00f3n, mientras que otro tipo de datos, como felicitaciones, no es tan importante. Adem\u00e1s, hay un conjunto importante de usuarios llamados \u00abvaqueros de grupa\u00bb(3), que ni contribuyen ni colaboran al proyecto, la gran mayor\u00eda de usuarios, entre los que me encuentro.<\/p>\n\n\n\n<p>Este trabajo se centra en el problema que puede suponer para un proyecto de este tipo la p\u00e9rdida de usuarios con conocimiento. Uno de los problemas con los que se encuentran es que la mayor\u00eda de las investigaciones sobre la robustez de redes se centran en redes est\u00e1ticas, mientras que por su propia naturaleza las redes que producen software libre son muy din\u00e1micas, con los miembros cambiando a lo largo del tiempo mucho de manera muy fluida.  Adem\u00e1s, la mayor\u00eda de estudios sobre la robustez de redes emplean alg\u00fan tipo de medida que tiene en cuenta la propia estructura de la red, no el conocimiento de sus miembros, que en redes de programaci\u00f3n es fundamental, puesto que la p\u00e9rdida de demasiado conocimiento causa que el proyecto fracase.<\/p>\n\n\n\n<p>Para ello, emplearon redes de producci\u00f3n abierta de coches de la empresa <a href=\"https:\/\/localmotors.com\/\">Local Motors<\/a>, que tiene una filosof\u00eda abierta sobre su fabricaci\u00f3n y desarrollo de productos. Construyeron una base de datos de 11 proyectos de su web durante 8 a\u00f1os. Para construir la red, tuvieron que observar las 25472 comunicaciones de sus 1689 usuarios. Un trabajo complicado, que se tradujo en una red con nodos, los usuarios que poseen conocimiento, y filos, las formas en las que ese conocimiento se transmite por los nodos.<\/p>\n\n\n\n<p>Al observar la evoluci\u00f3n hist\u00f3rica delas diversas redes de la compa\u00f1\u00eda, representada en la figura 1, pudieron dividirlas en tres estados: comienzo, crecimiento y madurez. En los tres estados, la redes son del tipo \u00abmundo peque\u00f1o\u00bb, lo que quiere decir que la colaboraci\u00f3n se produce entre agrupaciones peque\u00f1as de los nodos de la red, m\u00e1s que entre todos los nodos. Tambi\u00e9n observaron que son redes libres de escala, es decir, que sus caracter\u00edsticas fundamentales no var\u00edan seg\u00fan el tama\u00f1o de la red.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"721\" height=\"528\" src=\"https:\/\/blog.uclm.es\/gonzalorprieto\/files\/2020\/07\/2020-07-21_12-10.png\" alt=\"\" class=\"wp-image-684\" srcset=\"https:\/\/blog.uclm.es\/gonzalorprieto\/wp-content\/uploads\/sites\/236\/2020\/07\/2020-07-21_12-10.png 721w, https:\/\/blog.uclm.es\/gonzalorprieto\/wp-content\/uploads\/sites\/236\/2020\/07\/2020-07-21_12-10-300x220.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><figcaption>Evoluci\u00f3n temporal de la red que estudiaron. Figura 1 del art\u00edculo citado.<\/figcaption><\/figure>\n\n\n\n<p>Al tratar de separar los usuarios (nodos) de la red, observaron tres comportamientos t\u00edpicos: los innovadores, los dise\u00f1adores importantes y los usuarios comunes. Con la red inicial, apenas hab\u00eda usuarios dise\u00f1adores o comunes, en comparaci\u00f3n con las redes en crecimiento y maduras. De manera bastante l\u00f3gica, es este \u00faltimo tipo de red la que tiene una mayor proporci\u00f3n de usuarios dise\u00f1adores y comunes frente a innovadores.<\/p>\n\n\n\n<p>Tambi\u00e9n pudieron contar el n\u00famero de usuarios por tipo que se un\u00edan a la red o que la dejaban, observando una gran variabilidad temporal, que se puede ajustar por una ley de potencias del estilo:<\/p>\n<p> y = a * x<sup>b<\/sup>,<\/p> tanto para los usuarios que llegan como para los que se marchan.\n\n\n\n<p>Luego tratan de ver como las p\u00e9rdidas de usuarios podr\u00edan afectar a la red, para lo que definen dos tipos principales de p\u00e9rdidas, las aleatorias y voluntarias. Las aleatorias son nodos que simplemente, cambian dentro de la red, pero que pueden volver a la misma, mientras que las voluntarias son personas que por cualquier motivo deciden dejar el grupo, llev\u00e1ndose su conocimiento con ellos.<\/p>\n\n\n\n<p>Tras definir estos valores, hacen simulaciones en los que representan la p\u00e9rdida de estos tres tipos de usuarios para las tres redes, inicial, en crecimiento y madura, con el prop\u00f3sito de observar cu\u00e1n resistentes son.<\/p>\n\n\n\n<p>Cuando la red es inicial, sus resultados demuestran que la misma es muy sensible a la p\u00e9rdida de usuarios innovadores, que pueden hacer que la red incluso caiga si son demasiados. Por la misma raz\u00f3n, adem\u00e1s de evitar que se vayan por la p\u00e9rdida de conocimiento que supone para la propia red, es importante tratar de que diseminen r\u00e1pidamente su conocimiento para que se transmita lo antes posible.<\/p>\n\n\n\n<p>Para las redes en crecimiento la situaci\u00f3n es parecida, en el sentido de que la p\u00e9rdida de usuarios deliberada puede hacer que la red deje de funcionar. Sin embargo, las p\u00e9rdidas aleatorias de usuarios no le afectan tanto, siendo una estructura muy resistente a ellas.<\/p>\n\n\n\n<p>En las redes maduras, la influencia de los usuarios innovadores se incrementa, en el sentido de que cuando ellos desparecen, la red sufre mucho m\u00e1s que en los casos anteriores, tambi\u00e9n debido a que todos los usuarios comparten mucho m\u00e1s conocimiento que en otros estados de las redes. Por ello, en este tipo de redes es fundamental la distribuci\u00f3n de tareas que logre una mayor implicaci\u00f3n de los miembros de la misma.<\/p>\n\n\n\n<p>El art\u00edculo termina con una serie de recomendaciones para que las comunidades de este estilo puedan crecer y prosperar seg\u00fan el estado en el que se encuentra la comunidad, que se pueden resumir en las siguientes ideas:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Para los gestores de la comunidad:<ol><li>para comunidades iniciales, lograr que los usuarios con conocimiento aumenten al interaccionar en la red e incrementar el n\u00famero de usuarios.<\/li><li>Para una comunidad en crecimiento, hay que establecer mecanismos de protecci\u00f3n de los usuarios que saben, para evitar su p\u00e9rdida.<\/li><li>Si la comunidad es madura, se deben establecer mecanismos para estimular los usuarios dise\u00f1adores e innovadores, para tratar de evitar su p\u00e9rdida.<\/li><\/ol><\/li><li>Para los usuarios:<ol><li>Tratar de tener una gran diversidad de usuarios,<\/li><li>animar a los innovadores y dise\u00f1adores a compartir conocimiento, para incrementar su n\u00famero,<\/li><li>animar a los usuarios normales a aceptar desaf\u00edos, con la idea de que se conviertan en usuarios experimentados.<\/li><\/ol><\/li><\/ul>\n\n\n\n<p>El art\u00edculo se public\u00f3 en la revista <a href=\"https:\/\/www.sciencedirect.com\/science\/article\/abs\/pii\/S0378437119316401\">Physica A, Statistial Mechanics and ist Applications, 15 February 2020, 122888<\/a>.<\/p>\n\n\n\n<p>(1) En la p\u00e1gina de la asociaci\u00f3n para el software libre explican (en ingl\u00e9s) estos cuatro principios: <a href=\"https:\/\/www.gnu.org\/philosophy\/free-sw.html\">What is free software?<\/a><\/p>\n\n\n\n<p>(2) Es mi traducci\u00f3n de la palabra \u00abrobustness\u00bb que emplean en el art\u00edculo. Se trata de la habilidad de cualquier sistema en red de resistir perturbaciones o falos, internos o externos, sin dejar de cumplir su funci\u00f3n. La Wikipedia en ingl\u00e9s tiene un art\u00edculo decente sobre el tema: <a href=\"https:\/\/en.wikipedia.org\/wiki\/Robustness_of_complex_networks\">Robustness of complex networks<\/a>.<\/p>\n\n\n\n<p>(3) En realidad en ingl\u00e9s los llaman \u00abfree riders\u00bb, pero me parece que se conserva mejor el sentido si se traduce pensando en vaqueros, entendidos estos como personas que cabalgan. Adem\u00e1s, es mucho m\u00e1s divertido.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El software libre, producido bajo los principios de las cuatro libertades de ejecuci\u00f3n, estudio, modificaci\u00f3n y distribuci\u00f3n(1), ocupa un lugar cada vez m\u00e1s importante en nuestras vidas, al ser el que soporta una gran cantidad de puntos fundamentales de la red internet actual. Por lo tanto, una cuesti\u00f3n relevante es cu\u00e1n f\u00e1cil o dif\u00edcil es &hellip; <a href=\"https:\/\/blog.uclm.es\/gonzalorprieto\/2020\/07\/21\/es-el-software-libre-resistente-a-todo-tipo-de-usuarios\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00ab\u00bfEs el Software libre resistente a todo tipo de usuarios?\u00bb<\/span><\/a><\/p>\n","protected":false},"author":378,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[52,60],"class_list":["post-675","post","type-post","status-publish","format-standard","hentry","category-articulo-interesantes","tag-redes","tag-software-libre"],"_links":{"self":[{"href":"https:\/\/blog.uclm.es\/gonzalorprieto\/wp-json\/wp\/v2\/posts\/675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.uclm.es\/gonzalorprieto\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.uclm.es\/gonzalorprieto\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.uclm.es\/gonzalorprieto\/wp-json\/wp\/v2\/users\/378"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.uclm.es\/gonzalorprieto\/wp-json\/wp\/v2\/comments?post=675"}],"version-history":[{"count":0,"href":"https:\/\/blog.uclm.es\/gonzalorprieto\/wp-json\/wp\/v2\/posts\/675\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.uclm.es\/gonzalorprieto\/wp-json\/wp\/v2\/media?parent=675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.uclm.es\/gonzalorprieto\/wp-json\/wp\/v2\/categories?post=675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.uclm.es\/gonzalorprieto\/wp-json\/wp\/v2\/tags?post=675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}