Comunidad de código abierto: ¿un comunismo digital o algo más?

Aquí en política SE leo lo siguiente:

Para que el comunismo sea moral, requiere que todos cooperen voluntariamente entre sí hacia un objetivo común. Desafortunadamente, la gente no trabaja de esta manera. Son diferentes en sus ambiciones, en sus capacidades y en sus valores.

Pero, la economía digital mundial moderna es posible exactamente porque los programadores intercambian los resultados de su trabajo de forma gratuita, lo que ha llevado al hecho de que todo el software propietario se construye en un 90% a partir de estos componentes gratuitos. Y está Linux, que solía ejecutar Internet y muchos dispositivos IoT.

Entonces, definitivamente, lo que está sucediendo aquí es una contradicción de la declaración anterior. No creo que esto sea un ejemplo, ni siquiera una prueba del comunismo.

Pero, ¿qué es esto entonces?

UPD

Por supuesto, la comunidad de programadores es bastante pequeña, ¿tal vez un par de docenas de millones en todo el mundo en el mejor de los casos ?

Pero:

  • El analfabetismo mundial cayó del 40% al 15% desde 1970; ¿Cuántos podían leer hace 300, 500 años?
  • La conducción de automóviles era posible para algunas personas hace apenas 100 años, hoy es normal. Tal vez no sea un buen ejemplo porque los autos sin conductor podrían hacer que las personas sean menos capaces aquí.

Entonces, mi suposición es que escribir código es la nueva forma de alfabetización que, por supuesto, llevará tiempo propagar entre la población.

UPD2 si Linux está patrocinado en un 80% por capital privado y está disponible gratuitamente, esto no es ni comunismo ni capitalismo, pero ¿entonces qué?

El número de programadores es mucho menor que el número de personas. E incluso los programadores pueden ser muy diferentes (por ejemplo, hay una cantidad bastante pequeña de contribuyentes significativos cuando se hace referencia a la cantidad total de programadores; solo eche un vistazo a la comunidad de StackOverflow). Como se indica en una respuesta en esta comunidad, el comunismo se implementó con éxito solo en pequeñas comunidades que no tienen que lidiar con asuntos sociales complejos como investigación y desarrollo, educación moderna, salud moderna, etc.
@Alexei, gracias por ayudarme a darme cuenta de la siguiente suposición. -UPD
Es un error común pensar que los programadores de código abierto son todos voluntarios. Por ejemplo, el 80% de los contribuyentes al kernel de Linux son pagados por alguna empresa .
@Philipp, esto es aún más interesante, lo que significa que una gran cantidad de empresas privadas invierten en el mismo producto de innovación abierta, disponible gratuitamente. Esto no puede ser el capitalismo, o?
@ J.Doe ¿Cómo es que eso no es capitalismo? A menos que su definición de capitalismo sea "todo bien y servicio solo debe proporcionarse con fines de lucro", pero eso es una violación de los preceptos del libre mercado tanto como "nada puede ser", porque como muestra su propio ejemplo, algunas personas quieren hacer algunas cosas gratis y si lo hacen o no es su decisión.
En primer lugar, los programadores a menudo intercambian su código porque quieren ser finalmente recompensados ​​por su habilidad. En segundo lugar, una cosa que está muy clara sobre la economía de la codificación es que muchos solo contratarán cuando aumente su propio poder, incluso si perjudica el bienestar general, y están perfectamente dispuestos a despedir incluso si la pérdida de habilidad técnica tiene un impacto negativo en cientos de miles.
Steve Ballmer de Microsoft una vez llamó a Linux 'comunista', también lo llamó 'cáncer'.
Normalmente, los desarrolladores de código abierto persiguen sus propios intereses. Aprenda nuevas tecnologías, exposición de mercado, negocios basados ​​en freemium o sea adquirido por alguna empresa. Pocos lo hacen (y lo mantienen) por amor y altruismo

Respuestas (5)

Fuente abierta

Pero, la economía digital mundial moderna es posible precisamente porque los programadores intercambian los resultados de su trabajo de forma gratuita.

En realidad, no es así como funciona el código abierto.

Como desarrollador, utilizo el producto de código abierto y me baso en él. Envío mis cambios a la fuente porque quiero que se hagan otras actualizaciones teniendo en cuenta mis cambios.

Si intentara hacerlo de otra manera, tendría que volver a escribir mis cambios personales con cada actualización de la fuente que tocara los mismos archivos o interfaces. Es menos trabajo para mí volver a enviar a la fuente que hacer esas actualizaciones constantes.

Todo funciona porque puedo vender mis habilidades como alguien que configura software de código abierto, lo modifica y, en general, lo hace funcionar. Mis clientes se conectan conmigo. No están calificados para hacer las cosas que yo hago. Agradecen mi aporte monetario. Es decir, me pagan. Y me pagan más por cosas que les ayudan más.

TL;DR : El código abierto es ciencia. Cada nuevo conocimiento se basa en el anterior. Cuanto más se comparte el conocimiento, más rápido puede crecer.

Comunismo

Contraste esto con el modelo comunista. Allí, mis clientes no me pagan. Soy "pagado" por el estado. Me pagan lo mismo si tengo muchos clientes o pocos. Entonces, ¿por qué tendría muchos? Puedo obtener el mismo salario con solo unos pocos. ¿Por qué desarrollar esa cosa inteligente que hace que el software funcione mejor? No es piel de mi nariz. Puede permanecer pequeño para siempre. Así que nunca llego al punto de considerar si debo retribuir.

Peor aún, digamos que agregué funcionalidad al software. Después, tendría aún más trabajo del que se esperaba que hiciera. Yo sería el experto en esa modificación. Dado que tengo la capacidad, de cada uno según la capacidad me llevaría a ser yo quien brinde apoyo. Y se esperaría que hiciera modificaciones adicionales para que eso funcione. La gente pronto aprendería que tal iniciativa sería castigada en lugar de recompensada. Y dejan de hacerlo.

TL; DR : el comunismo y el código abierto son fundamentalmente incompatibles.

Por supuesto, una sociedad real puede comprometer los ideales comunistas para que el sistema funcione. En lugar de pagar lo mismo a todos los desarrolladores, podrían otorgar beneficios adicionales a los mejores desarrolladores. Así que a cada uno según su capacidad y de cada uno según sus necesidades, un sistema de libre mercado. También llamado capitalismo.

Capitalismo

Por el contrario, con el capitalismo, existen fuertes incentivos para que las empresas compartan software de fuente abierta. En un momento dado, el software de código abierto es más barato de usar, ya que la empresa no tiene que pagar rentas de monopolio para comenzar a usarlo. Sólo tienen que pagar por su modificación. Y una vez comprado, es una ventaja para la empresa devolver la modificación a la fuente para que las personas la mantengan actualizada a medida que agregan otras modificaciones.

Si una empresa intenta crear una alternativa propietaria, entonces la empresa paga el costo total del desarrollo y las actualizaciones. Además, la empresa se enfrenta al problema de las funciones disponibles en la alternativa de código abierto que no están disponibles en el software propietario. De vez en cuando esto funcionará. Oracle, DB2 y SQL Server de Microsoft son versiones patentadas de software de base de datos que compiten con versiones gratuitas como MariaDB (MySQL) y PostgreSQL.

Otras veces, el software de código abierto expulsará al software propietario. Solaris se ha ido. Linux y varias variantes de BSD sobreviven. Solo Windows de Microsoft permanece entre las alternativas propietarias, y es principalmente un kernel de escritorio que también usan para servidores.

TL; DR : el capitalismo es compatible con un modelo de código abierto. Sus incentivos se refuerzan mutuamente.

Contradictio in contrarium en toda su belleza con tu ayuda. Gracias. :-)
Re " Comunismo... incompatible ".: describir cómo el comunismo no encajaría con sus motivaciones declaradas para trabajar en software libre, no es un argumento suficientemente general para apoyar una conclusión amplia. Si el software libre (o código abierto) es ciencia, y el comunismo no es incompatible con la ciencia y la ingeniería, entonces no está claro qué hace que el software sea diferente de esos. (OTOH, algunas de las formas más onerosas de comunismo pueden ser incompatibles con los sistemas de copyright de estilo occidental que hacen posibles las licencias GPL et al ...)
Buenos pensamientos y recuerde que el código abierto no obliga a otros productos que no sean de código abierto. En los países comunistas (inicialmente), una vez que las personas eligen no participar en el modelo comunista, vemos que se forman tiranías rápidamente, ya que el comunismo obliga inherentemente a otros a ser parte. No vemos ninguno optional communismy nunca lo haremos.
@FalseHooHa: lo hacemos, pero en una escala muy pequeña. Lo que dice se vuelve realidad una vez que escala más allá de doscientos voluntarios

La respuesta de Brythan cubrió FOSS como encaja con el mundo corporativo; Trataré de cubrir cómo encaja con los contribuyentes individuales.

Parece que estás haciendo dos preguntas separadas:

  • ¿El hecho de la existencia y el éxito del software de código abierto contradice la premisa de que el comunismo no es viable?

    No, no necesariamente.

    • A la mayoría de las personas que trabajan en FOSS se les paga por otra cosa. Pueden darse el lujo de codificar gratis ya que para ellos es un pasatiempo, no un trabajo .

    • Escribes el software que quieres usar que no está disponible.

      En otras palabras, no escribes con el objetivo de dar software a otras personas, lo escribes con el objetivo de dártelo a ti mismo.

    • Usted se beneficia al regalar el software que usted también escribe.

      • Consigue que otras personas ayuden a mejorar el software mucho más de lo que usted mismo puede ( modelo de bazar de desarrollo de software ).

        En otras palabras, con la excepción de alguien del nivel de Linus Torvalds o Stallman, es probable que obtenga más beneficios netos al escribir software de código abierto que los beneficios que ofrece a otros solo con su participación.

      • Es un movimiento ganador en teoría del juego.

        Personalmente, una de las razones por las que proporciono respuestas "gratuitas" a las preguntas de Perl en Stack Overflow es porque quiero que Perl sea más popular, como desarrollador de Perl. Mi contribución de esta manera (con suerte) ayuda a avanzar en ese objetivo mío, mientras que si fuera un oportunista, Perl sería un poco menos popular. Lo mismo con responder preguntas sobre los autores que me gustan en Literature.SE, donde pretendo tratar de popularizar a los escritores que me gustan. En general, las estrategias cooperativas suelen ser las que obtienen mayores beneficios en muchos juegos, siendo la economía informacional una de ellas.

      • Obtienes reputación profesional (así como networking).

        Esto tiene tanto beneficios materiales (la reputación de FOSS se puede convertir en ofertas de trabajo, consultoría, puntos de currículum, redes con otros buenos desarrolladores de software) como beneficios intangibles; específicamente, aborda de manera aguda el elemento n . ) y #4 ("Estima")

        (a riesgo de una generalización un tanto ofensiva, esto último es aún más importante en el entorno FOSS, ya que una gran proporción de los participantes son geeks introvertidos que a menudo se encuentran en el espectro de Asperger y, por lo tanto, tienen muchos menos medios para satisfacer estas dos necesidades de Maslow fuera del desarrollo de software como afición).

      • Disfrutas resolviendo desafíos lo mejor que puedes. Algo que no siempre se puede hacer en un trabajo remunerado donde se fomenta menos la toma de riesgos.

        O, en términos más técnicos de Maslow, parte de la "Autorrealización" de la Jerarquía de Necesidades.

      • Por último, se siente cálido y confuso al dar su software a otros.

        Esto cubre el último elemento de la jerarquía de Maslow, Autotrascendencia.


  • ¿Pero el hecho de que la gente esté dispuesta a contribuir gratis no significa que el comunismo puede funcionar ?

    No, por tres razones:

    1. Existe una marcada diferencia entre la economía material y la economía de la información.

      • En este último, regalar tu trabajo NO necesariamente reduce tu posición económica. Como se discutió anteriormente, las personas obtienen beneficios tanto tangibles como intangibles (pero aún importantes para ellos) al trabajar en FOSS.

      • Igualmente (si no más) importante, a diferencia de los bienes materiales, cuando le das a otros tu código, no pierdes mucho económicamente (a menos que sea un código que podrías haber vendido por dinero real, en cuyo caso, por supuesto, hay un costo marginal. Pero eso solo es cierto para una pequeña minoría de código/colaboradores de FOSS: nadie lo contratará para escribir un módulo Perl para convertir fechas entre sí; o un controlador de dispositivo oscuro para Linux que solo sería utilizado por 100 personas). Todavía tiene todos los beneficios del código que escribió, ya que el costo marginal de copiar su código es cero.

      • La última diferencia se cubre en gran medida en la sección anterior: FOSS ofrece grandes beneficios para los participantes; de un modo que recuerda más al proceso científico que a la economía material.

      Si compartes un martillo que hiciste, nadie volverá y te dará un martillo mejorado porque el tuyo tenía una falla. Nadie construirá un clavo especial para su martillo de propósito especial. No habrá 1000 herreros entusiasmados con ese martillo que regalaste, ya que solo lo diste una vez.

    2. Otra razón es que FOSS (y otras estructuras de intercambio de conocimientos como Stack Exchange o Wikis) NO es una sociedad cerrada en términos demográficos.

      Las personas que participan en él son voluntarios . No es necesario "motivarlos" a participar por la fuerza, como tenía que ser la gente en la URSS .

      Si alguien está desencantado con FOSS, tiene la opción de abandonar. Y hay un grupo de miles, y en este punto, millones, programadores jóvenes que probablemente querrán reemplazar cualquier abandono.

      Este es un punto importante: las pequeñas comunidades de voluntarios pueden hacer que el comunismo funcione un poco. Por ejemplo, Kibbutses en Israel; o algunas comunas en USA.

    3. La última razón es que FOSS no es una sociedad cerrada desde el punto de vista económico.

      Esto tiene dos facetas:

      • FOSS no soporta la carga de tener que servir a toda la economía. Diablos, ni siquiera tiene la carga de servir a todos los usuarios de software: pueden darse el lujo de tener herramientas menos que perfectas porque las personas tienen la opción de pagar mejores herramientas de desarrolladores con fines de lucro (Early Linux en el escritorio es un buen ejemplo) si simplemente no fuera lo suficientemente bueno para la mayoría de los usuarios, a pesar de la evidente atracción por los usuarios avanzados).

      • FOSS no soporta la carga de tener que sostener toda la economía. La gran mayoría de los contribuyentes de FOSS tienen trabajos remunerados reales; y hacer FOSS como un pasatiempo.

        Trate de que los usuarios de FOSS construyan casas para los colaboradores de FOSS, los alimente y los vista, a cambio del derecho a usar el software de FOSS; y verá rápidamente que muy, muy, muy pocos estarían dispuestos a hacerlo.

Para comprender la naturaleza del código abierto, debe considerar cómo se utiliza.

No siempre, pero por lo general, el código abierto consiste en lo que uno podría categorizar como rutinas de utilidad: fragmentos más pequeños de código que realizan una función específica, como un cuadro de edición de texto para poner en pantalla, tal vez un administrador de listas para organizar la información. Los desarrolladores nuevos en un campo en particular lo usan como un punto de partida: ¿cómo llamar a un servicio web y procesar lo que devuelve? Aquí hay un ejemplo funcional... un ejemplo funcional de lo que debe hacer no tiene precio para un desarrollador.

Hay algunos paquetes grandes de código abierto como Apache, Tomcat, MySQL, etc... pero es muy raro que un solo desarrollador haga cambios en ellos. Casi siempre, simplemente los usa: hacer un cambio en un motor de base de datos o en un servidor de aplicaciones va más allá del alcance y las limitaciones de tiempo de la mayoría de los desarrolladores. Para sistemas de muy gran escala, el código abierto puede formar algunas piezas, pero los servidores en la nube de trabajo pesado, por ejemplo, generalmente dependen de motores propietarios como Oracle o SQL Server para la base de datos, tal vez WebLogic o WebSphere para los servidores de aplicaciones.

Y cuando uno usa el código abierto, no están obligados a publicar los resultados completos, solo los cambios que hicieron en el código abierto, si es que hicieron algún cambio. Es posible que esos cambios ni siquiera se acepten, especialmente si apestan.

No es común que un desarrollador cambie un paquete de código abierto. La mayoría de las veces, simplemente lo usan para no tener que perder su tiempo para encontrar la funcionalidad deseada. Eso está bajo la licencia de código abierto GNU. Bajo la licencia de Apache, uno ni siquiera está obligado a publicar sus cambios en la fuente.

Los beneficios para el desarrollador son ahorros de tiempo inmediatos, y hacer buenos cambios en el código abierto mejora la reputación y la empleabilidad. El código abierto también rompió el dominio que Microsoft tenía sobre la industria a principios de la década de 2000, cuando estaban en modo de monopolio total y, como resultado, la industria comenzaba a estancarse.

Como resultado de la comunidad de código abierto, ya no es necesario pagar miles de dólares por un sistema operativo basado en Unix. Claro que puede comprar MS Windows Server por un par de grandes, pero las distribuciones de Linux son gratuitas y también son más confiables.

No, esto no es comunismo. Es más como un club social de nerds, donde no intercambian chismes, intercambian ideas.

Pero, si quieres atribuir características políticas al software... si miras hacia atrás en los últimos 30 o 40 años, el único grupo que ha hecho más para atacar la represión política y la injusticia en general no han sido los guerreros sociales, fuimos nosotros los frikis. Y no lo hicimos marchando, exigiendo o propugnando conceptos políticos... lo hicimos haciendo que nuestra creación fuera tan valiosa que incluso los regímenes represivos tuvieron que usarla... oh, y hay esta pequeña cosa de libertad de expresión incorporada en es que no pueden parar por completo. Los agujeros que dejamos en el sistema de Internet para evitar que los administradores de la universidad nos bloquearan el acceso a nuestra creación ahora dificultan que los gobiernos de línea dura bloqueen a su propia gente del resto del mundo. Prácticamente hemos eliminado la censura al publicar tanta información de tantas maneras que

Esta fue nuestra broma práctica para todos los estudiantes de humanidades que nos criticaron en la universidad por 'no estar involucrados en causas sociales'. Pensamos que era gracioso...

Vale la pena señalar que Eric S. Raymond, el padre del movimiento Open Source (y uno de los mayores defensores públicos de Linux y Mozilla) siempre ha sido un ávido libertario político y se opone firmemente a los políticos progresistas, entre otras razones, porque son contrarios a todo el concepto detrás de las ideas de los hackers en general y del código abierto en particular.

Tengo una perspectiva ligeramente diferente.

No creo que el OSS muestre que el comunismo funcione por la sencilla razón de que hay muy pocos proyectos de OSS que se desarrollen con un modelo que sea comunista.

Usas el ejemplo de Linux, así que yo también lo haré. El modelo político de Linux es incuestionablemente jerárquico y casi seguro absolutista. Puede ser oligárquico, pero probablemente se describa mejor como una dictadura. Ahora, uno puede argumentar que es una dictadura benigna (aunque dudo que todos estén de acuerdo) y que sirve al bien común (con lo que estoy de acuerdo), pero su modelo político está tan lejos del comunismo como creo que es posible.

¿Por qué la confusión? Lo que OSS ha demostrado es que las personas son receptivas a un modelo de incentivos que no sea pura ganancia monetaria. Esto, por supuesto, se conoce desde hace algún tiempo, por ejemplo, la idea de servicio público. Pero OSS lo ha extendido al sector comercial de una manera que rara vez se había visto antes.

Lo que también es cierto es que OSS ha entregado productos que son altamente competitivos y, a veces, mejores que sus alternativas propietarias. En otras palabras, es posible demostrar que los incentivos no monetarios pueden ser competitivamente ventajosos. Podría decirse (y esto es probablemente bastante polémico) que el servicio público, el socialismo de Estado, etc., no han demostrado esto en el pasado.

¿Tiene esto alguna relación con el comunismo como modelo político? Posiblemente. Para que el comunismo sea viable necesitaría que la gente siguiera trabajando y creando. OSS ha demostrado que las alternativas a los incentivos monetarios pueden funcionar en algunas circunstancias. Ahora, creo que eso no es suficiente para hacer ninguna afirmación sobre la viabilidad del comunismo, pero sugiere que se justificaría más investigación.

TL;DR: Linux es la República de Platón :)

Algo más

...exactamente porque los programadores intercambian los resultados de su trabajo de forma gratuita...

La pregunta parece estar basada en la confusión, y quizás en una premisa contradictoria, como se muestra en la cita anterior, que establece que

  • los programadores intercambian su código, es decir, el programador A intercambia código con el programador B , y viceversa , de modo que el código va y viene, algo así como un trueque o un potlatch .

  • los programadores hacen esto gratis .

Pero los intercambios y el quid pro quo no son gratuitos. El comercio precede a la acuñación. Puede haber comercio sin monedas, pero no monedas sin comercio.

Una mejor manera de ver el software libre podría ser comparándolo con la cocina. Si bien parte del conocimiento culinario del mundo toma la forma de recetas secretas y secretos comerciales, la mayor parte está abierta: los cocineros de todas partes intercambian fácilmente consejos, recetas, consejos, métodos, etc. Uno podría preguntarse " ¿la cocina es comunista o capitalista ?" , pero esas categorías están en niveles de abstracción incompatibles con el tema, como la pregunta " ¿cuál es la temperatura de un electrón? "

Volteando las cosas, el software propietario es para el software en general algo así como lo que es la comida rápida registrada en comparación con las comidas en general. Una conveniencia temporal costosa, quizás mejor que nada cuando la cosa real no está disponible.

+1 para un buen comienzo de la comparación de respuestas. -1 para el último párrafo siendo dogmáticamente propagandístico a favor de FOSS - y he tenido Linux ejecutándose en una PC u otra durante más de 20 años desde los días de Slackware.
@ user4012, tienes razón, el último párrafo es demasiado desdeñoso. No existe una razón mecánica necesaria intrínseca por la que la cocina patentada preparada industrialmente deba ser peor que los métodos más abiertos. Supongo que el problema es que la proporción intergeneracional de mayordomos fieles versus niños pródigos a menudo parece modificar gradualmente recetas secretas orgullosas en recetas secretas vergonzosas. (Con el software patentado, el traspaso intergeneracional ocurre tan rápido como la rotación de ejecutivos).