¿Cuál es la motivación subyacente para el código abierto?

c0210f1b97cde2735036e324b1161f27.jpeg

f60851762ea4682246adf074e281382b.png

 Este artículo responde principalmente a tres preguntas:

  1. ¿Por qué la gente abre el código fuente?

  2. ¿Por qué la gente participa en el código abierto de diversas formas?

  3. ¿Cuál es la motivación esencial detrás de esto?

  Aquí hay una pregunta primero:

  ¿La gente realmente hace todo para obtener ganancias?

  Para mi sorpresa, más de la mitad de la gente levantó la mano.

  A continuación ilustramos principalmente el problema a través de ejemplos.

f3950e6637e326eaa3b70f0514e1f300.jpeg

Primero echemos un vistazo a cómo piensa el gurú del código abierto Linus sobre este tema:

Según Linus, todas las motivaciones humanas se pueden dividir en tres tipos básicos. Estos géneros son, en orden, "supervivencia", "vida social" y "entretenimiento". 

Creo que tiene razón. Básicamente corresponde a la jerarquía de necesidades de Maslow. La motivación de supervivencia corresponde a las necesidades fisiológicas y de seguridad, la motivación de la vida social corresponde a la necesidad de pertenencia y respeto, y la motivación de entretenimiento corresponde al reconocimiento. Conocimiento, estética, autoconocimiento. realización, autotrascendencia, etc. Estas necesidades de nivel relativamente alto se pueden clasificar en entretenimiento y diversión.

El título de su autobiografía es: " Sólo por diversión" Tenga en cuenta que todos los títulos están cuidadosamente considerados.

Hay dos frases en este libro que me llamaron la atención. Una es que una vez dijo en una conferencia: "El desarrollo de Linux es un deporte de equipo global ". En otra entrevista, dijo: " El desarrollo de Linux es un deporte de equipo global". también entretenimiento, el tipo de entretenimiento que el dinero no puede comprar " .

429b274eb17411bf30cbc785e6dd40b1.png

Esto es muy consistente con sus dos últimas visiones del mundo: ciertamente no abrió el código fuente para sobrevivir.

 La invención de Linux, en gran medida, fue para satisfacer una de "Quiero desarrollar un Minix mejor que Minix".sus propias ambiciones: 

En ese momento, Tanenbaum recibía más de 200 correos electrónicos todos los días solicitando mejoras en el programa. Tanenbaum no estaba dispuesto a cambiar demasiado, porque después de todo, este es un sistema de enseñanza y el sistema es demasiado grande para ser adecuado para la enseñanza. configuración, y eso es algo que quiero preservar para mis estudiantes".

Tanenbaum sólo está dispuesto a introducir mejoras como ésta: "El criterio básico es que, si hay mucha gente que lo pide, y si el cambio no es problemático y no arruina la estructura de todo el sistema, yo Estaré de acuerdo", explicó . "Si no hay mucha gente que lo solicite, o si es una molestia, o si requiere una cirugía mayor en el sistema, no lo voy a hacer".

Desde el punto de vista de Linus, la emulación de terminal de Minix no es muy conveniente, no puede realizar el control de trabajos y la gestión de la memoria está demasiado simplificada. Linus quería escribir un Minix mejor que Minix.

Al principio, Linus simplemente escribió un emulador de terminal en Minix que podía leer mejor los grupos de noticias de Usenet en la red escolar. Modificó los dos procesos que escribió antes para probar la capacidad de cambio de tareas y un proceso lee desde el teclado. La información se envía al módem, y otro proceso lee los datos del módem y los envía a la pantalla. 

Para realizar estas funciones, escribió controladores de teclado y monitor; para descargar archivos de la red escolar, escribió un controlador de disco; para leer y escribir archivos, escribió su propio programa basado en el sistema de archivos Minix. nuevo sistema de archivos.

En 1991, de mayo a septiembre, Linus pasó 5 meses, 10 horas al día, escribiendo Linux 0.01.

9447c121b52a360b95d2ffa53978e922.png

El 17 de septiembre de 1991, subió la primera versión oficial de Linux, la versión 0.01, al directorio /pub/os/linux del servidor ftp.funet.fi creado por Ari Lemenko, profesor asistente de la Universidad de Helsinki. Solo se cargó el programa fuente (unas 10.000 líneas) y una nota de versión completa, unas 1.800 palabras. Destaca que "el principal objetivo de publicar esta versión es que todo el mundo pueda leer el programa".

4769b68f6148df73e28617c2a7e55352.jpeg

Echemos un vistazo a lo que piensa Denis, otro autor de software de código abierto a tiempo completo .

Entre los 1000 sitios web TOP globales, al menos el 52% de los sitios web utilizan el código del proyecto  core-js  .

Su autor Denis Pushkarev escribió un largo artículo el 14 de febrero de 2023, describiendo por qué desarrolló core-js:

"En 2012, cambié mi pila de desarrollo a JavaScript de pila completa. JavaScript todavía era demasiado primitivo en ese momento: IE seguía siendo más popular que cualquier otra cosa, los navegadores de la era ES3 todavía dominaban la web y la última versión de NodeJS es 0.7. apenas está comenzando.

JavaScript todavía no es adecuado para escribir aplicaciones serias. Los desarrolladores utilizan el traductor de lenguaje CoffeeScript para resolver el problema del azúcar sintáctico del que carece JavaScript y utilizan Underscore para resolver el problema de la falta de biblioteca estándar de Javascript.

Sin embargo, no son estándares y con el tiempo estos lenguajes y bibliotecas se vuelven obsoletos junto con los proyectos que los utilizan. Pero los antiguos motores de JavaScript siguen siendo populares, los usuarios no tienen prisa y hay pocas posibilidades de abandonarlos. Incluso si el nuevo estándar ECMAScript tiene las ventajas de velocidad y confiabilidad, los motores de JavaScript tardarán muchos años en admitir esto. nuevo estándar.

En ese momento, los Transpilers ECMAScript se hicieron populares y se desarrollaron rápidamente... pero no son modulares y pueden causar contaminación global del espacio de nombres... y aún no se han implementado demasiadas características básicas del lenguaje necesarias. "

969e0867aa577ce6703f6b4339d35e5e.jpeg

Dejó en claro que quería resolver un problema común y hacer la vida más fácil para él y para todos los desarrolladores de JS.

Sin necesidad de más, básicamente podemos concluir que la principal motivación de los individuos para abrir el código es : resolver problemas. Por diversión, ambición. Por compartir y la reputación que conlleva.

Cuando lo piensas, puedes ver que la resolución de problemas, la ambición, el compartir y la reputación pueden entrar en la categoría de "diversión".

Linus dijo: “Es divertido ser famoso” 

Por lo tanto, para las personas, el código abierto es divertido, divertido, divertido, divertido, divertido.

Y tal vez incluso se le ocurra algo famoso.

Eso sería más divertido.

2000afa34f0395ecf2076b58dd905dd3.jpeg

Personalmente, es principalmente por "diversión", entonces, ¿para qué sirve la empresa? La misión de la empresa es ganar dinero.

Esta pregunta me ha desconcertado durante mucho tiempo.

Eric Raymond dijo en La Catedral y el Bazar:

"Si sientes miedo y disgusto en el proceso de trabajo, debes darte cuenta de que algo anda mal en el proceso. La alegría, el humor y la alegría son activos reales... Uno de los resultados más importantes del éxito del código abierto es que nos dice , “Play” Es el modo de trabajo económicamente más eficiente en actividades creativas.”

Obviamente, el código abierto puede aportar diversión y creatividad, entonces, ¿pueden las empresas abrir el código fuente de sus propios contenidos?

Zach Holman, uno de los primeros empleados de GitHub, da este consejo en el libro The New Kingmakers: " Encarcela a tu gente con alegría, cosas buenas y flujos de trabajo encantadores. "

“Encarcela a tus empleados con felicidad, cosas bonitas y procesos de trabajo tiernos. —Zach Holman

Por lo tanto, cuando un empleado de la empresa sugirió que hiciéramos este proyecto de código abierto, los líderes con un pensamiento más moderno en las empresas de Internet lo considerarían seriamente. Mientras no sea muy central, ¿por qué no contribuir? Los empleados pueden ser más felices y parecen tener un mejor estado. Además, la empresa se ha beneficiado demasiado del código abierto, entonces, ¿qué hay de malo en hacer algunas contribuciones?

El caso del Envoy de código abierto de Lyft es más ilustrativo de este problema.

Los primeros empleados de Lyft apreciaban el código abierto y lo que hacía por la empresa. Claramente, Envoy no es el negocio principal de Lyft, entonces, ¿por qué no publicarlo y devolver algo?

Sí, es por eso que hoy en día varias empresas abren el código fuente de sus productos complementarios.

En mi opinión, las motivaciones de las empresas para abrir productos complementarios de código abierto son:

Hacer que el trabajo sea más divertido, hacer que el mundo exterior sea más visible y que la empresa sea más influyente.

063284a9ef86f1c61ef9692b584bb7f0.jpeg

En Quora, hay una pregunta:

"¿Por qué Google abrió Kubernetes de código abierto en lugar de comercializarlo?"

¿Por qué Google lanzó Kubernetes como código abierto en lugar de monetizarlo? 

Creo que hay dos buenas respuestas.

Andrew McGregor respondió: " Si el programador del clúster es de código cerrado, no ganará ningún impulso en el mercado, por lo que Kubernetes debe ser de código abierto " .

Levy McNary dijo: " Porque el código abierto lo convierte en un estándar. Una vez que se convierta en un estándar, podrán monetizar los servicios en la nube " .

Así es, es a través del código abierto y su fortaleza técnica que K8S capturó una gran cantidad de mercados y derrotó a sus competidores en ese entonces.

En el campo de los sistemas operativos y las bases de datos, esto es aún más obvio: los nuevos productos en este campo no pueden sobrevivir sin el código abierto. Según lo que dijo mi amigo Zhuang Biaowei, estos campos se han vuelto tan complicados que deben ser de código abierto.

Tao Jianhui fundó Taosi Technology. Es una base de datos de series de tiempo. En su sitio web oficial está escrito así:

"Taosi Data adopta la licencia AGPL y ha hecho que el núcleo de TDengine (almacenamiento, motor informático y clúster) sea 100% de código abierto. Taosi Data hará todo lo posible para construir una comunidad de desarrolladores y mantener este modelo de negocio de código abierto. Creo que el núcleo No ser Si el código es de código abierto, ningún software básico podrá ganar el mercado. Taosi Data espera obtener rápidamente comentarios del mercado, mejorar el producto, mejorar la ecología y atraer a más desarrolladores para que se unan al proyecto a través del código abierto. " 

Creo que está diciendo la verdad.

Este es un ejemplo típico de la motivación de la empresa para abrir el código abierto de sus productos principales:

Gana usuarios y mercado a través del código abierto.

Al mismo tiempo, trate de comercializar y obtener ganancias.

Por supuesto, si ya ha ganado el mercado, no es necesario que abra el código fuente.

Creo que Microsoft no abrirá Windows de código abierto dentro de 10 años.

Oracle no abrirá el código fuente de Oracle durante 10 años.

817b357bc739febc4014bb44b042f6c2.jpeg

Veamos las motivaciones de los contribuyentes para contribuir al código abierto.

Además del código abierto de sus propios productos, la empresa también participa en el código abierto a través de contribuciones, lo que también vale la pena considerar.

En 2014, me uní al equipo de middleware de Alibaba y comencé a encargarme del mantenimiento de los contenedores de aplicaciones del grupo. En ese momento, la mayoría de los contenedores de aplicaciones del grupo se basaban en JBoss , que era antiguo y no tenía mantenimiento. Una pequeña parte de ellos se ejecutaba en Jetty y Tomcat. En ese momento, el equipo de middleware mantenía una rama privada de Tomcat . El objetivo más importante era para unificar El contenedor de aplicaciones para todos los grupos es Tomcat . Antes de eso, nunca había estado expuesto al desarrollo, operación y mantenimiento de Tomcat, para mí fue un gran desafío.

Sin embargo, el mayor desafío vino de la meta propuesta por el líder del equipo, que parecía casi imposible de lograr en ese momento: convertirse en un committer de Apache Tomcat .

Ya sabes, como uno de los proyectos centrales de Apache , Tomcat ha sido un proyecto estrella en la comunidad de código abierto y en la Fundación Apache desde que se lanzó la primera versión en 1999. Todavía ocupa el primer lugar en participación de mercado en el campo de contenedores de aplicaciones después 20 años de desarrollo. , la popularidad sigue sin disminuir . Después de tantos años de desarrollo, Tomcat nunca ha tenido un confirmador de China. Solo hay 4 personas en nuestro pequeño equipo, no tenemos ninguna experiencia en código abierto y no tenemos idea de por dónde empezar. Cuando el líder del equipo nos preguntó quién estaba dispuesto a asumir el desafío, lo acepté sin pensar demasiado.

Pronto comencé a corregir errores. El primer parche fue para solucionar un problema en el que fallaba un caso de prueba de Websocket . La solución del problema implicó una refactorización del código. Todavía recuerdo que fui muy cauteloso antes de presentarme, lo discutí con el líder muchas veces y finalmente formé un plan relativamente satisfactorio. Después de enviarlo a la comunidad Tomcat, la comunidad respondió rápidamente y fusionó el parche que envié. Mi primera presentación fue aprobada, me sentí muy feliz y mi nerviosismo se alivió. Me alegré mucho de ver mi nombre aparecer en la nota de versión de Tomcat.

"Después de probar la dulzura de la contribución, el objetivo del equipo también se ajustó: la estructura de la versión interna de Tomcat y la versión de código abierto deben ser completamente consistentes. Esto hace que sea muy fácil fusionar el Apache Tomcat de código abierto; mejoras internas También es más fácil fusionarse con la comunidad.

La verdad es muy clara y simple. Hay una parte de contribución, pero también una parte de interés propio. Obviamente, UpStream también se beneficiará mucho.

La verdad es muy clara y simple. Hay una parte de contribución, pero también una parte de interés propio. Obviamente, UpStream también se beneficiará mucho.

4449894e4d70fa026d952fe5858bfbc6.jpeg

Ya he hablado de los ejemplos de muchas otras personas y ahora hablaré de un ejemplo personal.

Cuando   salió Github (2008), rara vez escribía código, pero aun así contribuí a un proyecto relativamente influyente en 2023.

 Este proyecto es el core-js mencionado anteriormente , Tiene 250 millones de descargas de NPM cada mes y 19 millones de repositorios en GitHub dependen de él. 

Su autor,  Denis  , corrió el script en los TOP 1000 sitios web y detectó que el 52% de ellos lo utilizaba. 

Como se dedica a tiempo completo al código abierto (es decir, al desarrollo de core-js), sus recursos financieros dependen principalmente de donaciones: al principio podía recibir 2.500 dólares al mes y luego solo 400 dólares. por mes.

Por eso Denis escribió ese largo artículo sobre el día de San Valentín de 2023, llorando.

Después de verlo, sentí que era muy útil para que la gente entendiera la situación actual del código abierto, así que traduje este largo artículo, que tiene aproximadamente 33.000 palabras.

Entonces pensé que si esta traducción se podía colocar en este proyecto, más programadores chinos que usaran este proyecto podrían ayudarlo.

Entonces envié esta versión traducida.

A Denis le encantaría ver eso.

c449466ace193c4f0024743fc511abae.png

Por supuesto, sigue siendo muy cauteloso. Después de que lo envié, llamó a personas que entendieran chino para que lo revisaran. Pasó aproximadamente un mes antes de que este RP fuera aceptado.

(En realidad, muy pocas personas hacen una revisión de la traducción; la mayoría simplemente brinda algunas opiniones sobre el formato)

3a232b47b2c52e2c2caa4e0c94230a36.png

Creo que debí haberlo ayudado.

Ahora podemos ver que ya sea que se trate de un individuo que contribuye al código abierto o de una empresa que contribuye al código abierto, las principales motivaciones son:

1. El código abierto es algo bueno, si tenemos la capacidad, ayúdelo.

2. Lo usamos, lo mejoramos y preferiblemente lo mantenemos al día.

3. Si hacemos lo suficiente, nos traerá otros beneficios

95d06bf69eff628da6206ea9d1f692e2.jpeg

“Hay muchas razones para esto, una de ellas, si no recuerdo mal, es el deseo de brindar protección legal a los contribuyentes y las empresas, y otra es el deseo de que recibamos dinero en efectivo y donaciones para que podamos desarrollarnos mejor. "Con todo, nuestro objetivo final es construir una organización que pueda apoyar la creciente participación en el desarrollo de código abierto, así como la adopción masiva". 

Otro fundador, Jim  , dijo:

"A medida que Internet y la tecnología web se desarrollan y se vuelven más estables, todos nos damos cuenta de que necesitamos leyes más formales que nos brinden más protección. Otra posible razón es que en ese momento, IBM tenía la intención de adoptar Apache HTTPD como servidor para su sitio web . servicios. La piedra angular es que IBM está un poco preocupada por el Grupo Apache, que tiene un fuerte olor a "ganghu". Se puede decir que esta es una oportunidad única en la vida. No solo la situación lo requiere, sino que Además, hay aliados tan poderosos que pueden ayudar, por lo que no nos tomó mucho tiempo facilitarlo en cuanto al establecimiento de la fundación esta vez”.

El fundador Drik  dijo:

"En ese momento, el Domino WebServer de IBM iba cuesta abajo y su participación estaba disminuyendo rápidamente. Estaban estudiando la viabilidad del código abierto para ver si podían cambiar a Apache. Sin embargo, con la retirada de NCSA, Apache no tenía una base legal clara. propietario. USL y AT & T El impacto de la demanda en BSD apenas ha comenzado a aparecer... Todas estas cosas se han unido. Por supuesto, para mí, un europeo, los hábitos de litigio de los Estados Unidos son demasiado agresivos . "Así que lo discutimos por un tiempo. Tomamos una decisión rápidamente".

" La Apache Software Foundation proporcionará apoyo organizativo, legal y financiero para el proyecto de software de código abierto Apache. La Fundación garantiza la continuidad del proyecto Apache más allá de la participación voluntaria individual, proporciona propiedad intelectual y apoyo financiero sobre una base sólida, y proporciona herramientas. para limitar el riesgo legal al participar en proyectos de código abierto." 

795d240723256988fe979bb65856ce85.png

Este es el propósito de la fundación ¿Cuál es la mentalidad de quienes donan a proyectos?

Como puede ver en el ejemplo siguiente, coincide perfectamente.

El mencionado creador de Envoy, Matt Klein, recordó:

En el otoño de 2017, dos cosas estaban claras. 

1. Envoy ha crecido más allá de lo que Lyft puede ofrecer. El proyecto requirió ayuda con asuntos legales, relaciones públicas, marketing, organización de eventos y más.

2. Me agoto muy rápido y necesito encontrar un camino sostenible. Finalmente acordamos considerar transferir a Envoy a la Fundación CNCF.

El punto más realista es que los individuos pueden perder interés en un proyecto y las empresas pueden hacer lo mismo. En los cimientos el proyecto tiene una vivienda independiente, si los cimientos son fuertes el proyecto vivirá más y mejor.

Los motivos de la fundación son simples y altruistas:

Ayude a proyectos de código abierto y brinde una variedad de soporte.

Hacer sostenibles los proyectos de código abierto.

9ef905c6d1f5a87e88520797b09f01fc.jpeg

En resumen, creo que hay cuatro motivaciones para el código abierto:

1. Haz algo bueno. (resolver problemas, demostrar habilidades)

2. Ayuda algo bueno. (La bondad es el puente entre las almas)

3. Envía algo bueno. (Da regalos, consigue usuarios)

4. Obtenga recompensas. (Gana reputación, gana mercado)

Los primeros tres puntos son los más importantes y el cuarto punto suele surgir de forma natural.

En una palabra, lo es: la gente siempre quiere hacer, usar, compartir y ayudar a hacer cosas buenas.

Esto es muy humanista, si quieres ser más sofisticado, puedes decir:

La gente está ansiosa por crear, experimentar, compartir y devolver bondad y excelencia.

0f6e8881f2e343dc9a8db8f53ea50d5e.jpeg

Entonces, ¿a dónde se fue la "diversión" que mencionamos antes? Mirando hacia atrás, ¿has notado que los cuatro puntos anteriores son todos divertidos? La "diversión" es un fenómeno superficial, y detrás de la "diversión" está el interés.

Cuando la naturaleza creó al hombre, hizo las siguientes disposiciones:

Todo lo que aporta beneficios es divertido.

Y todas las "cosas buenas" son beneficios.

Autor: Wei Jianfan

Editor: Wuriliga

Lectura relacionada | Lectura relacionada

KCC@北京|¿Qué nos aporta el código abierto?

Impresiones de organización/asistencia de Bobo's CommunityOverCode Asia 2023

Introducción a la sociedad Kaiyuan

Fundada en 2014, la Sociedad Kaiyuan está compuesta por miembros individuales que contribuyen voluntariamente a la causa del código abierto. Está formada según el principio de "contribución, consenso y cogobernanza" y siempre ha mantenido las características de neutralidad de los proveedores. bienestar público y sin fines de lucro. Un consorcio comunitario de código abierto con la misión de "integración internacional, desarrollo comunitario e incubación de proyectos". Kaiyuanshe coopera activamente y estrechamente con comunidades, empresas y unidades relacionadas con el gobierno que apoyan el código abierto. Con la visión de "con base en China y contribuyendo al mundo", su objetivo es crear una ecología de código abierto saludable y sostenible y promover la comunidad de código abierto de China. convertirse en una fuerza positiva en el sistema global de código abierto Participación y contribuyentes.

En 2017, la Open Source Society se transformó para estar compuesta enteramente por miembros individuales, operando de acuerdo con el modelo de gobernanza de las principales fundaciones internacionales de código abierto como ASF. En los últimos nueve años, ha conectado a decenas de miles de personas de código abierto, ha reunido a miles de miembros y voluntarios de la comunidad, cientos de conferenciantes en el país y en el extranjero y ha cooperado con cientos de patrocinadores, medios y socios comunitarios.

3704548c5867cfc5444afc40f2e88786.gif

Supongo que te gusta

Origin blog.csdn.net/kaiyuanshe/article/details/132632673
Recomendado
Clasificación