Software de código abierto y bifurcando lo bueno, lo grande y lo feo
Hay un grave error en el mundo del código abierto..
Demasiadas personas piensan que consiste completamente en personas que trabajan juntas por un objetivo común. Que aquellos que eligen escribir código, y regalarlo de forma gratuita, son Digital Hippies; gente barbuda, con gafas, con sandalias que, si nunca hubieran descubierto computadoras, estarían sentadas alrededor de una fogata, tocando la guitarra y cantando Kumbaya..
Falso. Totalmente falso.
Ha habido momentos en que han surgido serias divisiones en la comunidad de código abierto, que produjeron disputas amargas, cismas y mala sangre que no se veían desde los embriagadores días de Oasis y los notoriamente tempestuosos hermanos Gallagher..
Pero mientras que Noel y Liam Gallagher resuelven sus diferencias con puños voladores e ingeniosos de una sola línea, la comunidad de código abierto elige una forma (típicamente) más productiva. Bifurcación.
¿Qué es el tenedor??
Bifurcación no tiene nada que ver con su cajón de utensilios. Más bien, se relaciona con la dirección que toma un proyecto de código abierto.
La mayoría del software de código abierto está licenciado bajo licencias permisivas abiertas Licencias de software de código abierto: ¿Qué debe usar? Licencias de software de código abierto: ¿Qué debería usar? ¿Sabías que no todas las licencias de código abierto son iguales? Lea más que le permiten al usuario aprovechar las cuatro libertades del software Free Libre. La Free Software Foundation los describe así:
La libertad de ejecutar el programa como desee, para cualquier propósito (libertad 0).
La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga su computación como desee (libertad 1). El acceso al código fuente es una condición previa para esto..
La libertad de redistribuir copias para que pueda ayudar a su vecino (libertad 2).
La libertad de distribuir copias de sus versiones modificadas a otros (libertad 3). Al hacer esto, le puede dar a toda la comunidad la oportunidad de beneficiarse de sus cambios. El acceso al código fuente es una condición previa para esto..
Cuando un programador "bifurca" un programa, toman una copia de un código ya escrito y lo tratan como un proyecto completamente separado. Podrían cambiarle el nombre y cualquier cambio realizado solo se reflejará dentro de esa 'rama' en particular.
Hay muchas razones por las que una pieza de software puede ser bifurcada. A veces, el usuario final se beneficia enormemente. A veces, la bifurcación se hace bajo un velo de ira, odio y animosidad. Veamos algunos ejemplos: uno bueno, otro grande y otro feo..
Lo bueno - LibreOffice y MariaDB
En la década de los noventa y principios de los novatos, había una empresa llamada Sun MicroSystems. Sun era una empresa bastante grande, con miles de empleados, y los ingresos empequeñecían a Apple (entonces enferma).
Sun Microsystems construyó una familia de procesadores llamada SPARC (que, en muchos aspectos, tenía mucho en común con los chips ARM que alimentan la mayoría de los teléfonos móviles y tabletas, y algunos Chromebooks), así como servidores que fueron alimentados por ellos. También construyeron una gran cantidad de software informático que todavía se usa mucho en la actualidad..
Software como el lenguaje de programación Java / máquina virtual, y la base de datos MySQL. Software como OpenOffice, que virtualmente terminó con el monopolio absoluto de Microsoft Office.
Desafortunadamente, todas las cosas buenas deben llegar a su fin, y en 2009 Sun Microsystems fue adquirida por la Corporación Oracle de Larry Ellison. Esto asustó a la comunidad Open Source, dado el pobre historial de Oracle en lo que respecta a la apertura y el igualitarismo cuando se trata de software libre. Esto se ejemplificó en 2010 cuando Oracle llevó a Google a los tribunales por violar sus derechos de autor y patentes sobre el lenguaje de programación Java utilizado en el sistema operativo móvil Android..
Esta fue la paja que rompió la proverbial espalda del camello. Los miembros de la comunidad de código abierto tomaron dos de los productos de Oracle más importantes y los obtuvieron. MySQL se convirtió en MariaDB, mientras que OpenOffice se convirtió en LibreOffice LibreOffice - Una suite ofimática gratuita para Windows, Linux y Mac LibreOffice - Una suite ofimática gratuita para Windows, Linux y Mac Leer más .
Este movimiento aseguró que estos productos podrían usarse durante los próximos años, aún bajo una licencia permisiva y sin costo para el consumidor. Crucialmente, Oracle no podría hacer nada al respecto.
Hoy en día, LibreOffice LibreOffice: una suite ofimática gratuita para Windows, Linux y Mac LibreOffice: una suite ofimática gratuita para Windows, Linux y Mac Read More es una de las suites ofimáticas más utilizadas del mundo, y viene de forma predeterminada con varios Linux distros OpenOffice ha sido asumida por la base de Apache y ahora se conoce como Apache OpenOffice. MariaDB también ha tenido un gran éxito, y ha reemplazado a MySQL en varias distribuciones de Linux, incluyendo Fedora a partir de la versión 19 Fedora 19 "El gato de Schrödinger" está vivo y lleno de nuevas características y mejoras Fedora 19 "El gato de Schrödinger" está vivo Y lleno de nuevas funciones y mejoras Alegría para el mundo, ¡se ha lanzado una nueva versión de Fedora con el nombre en código "Schrödinger's Cat"! En el pasado, Fedora ha proporcionado liderazgo en la comunidad de código abierto, respetando las estrictas políticas de código abierto, continua… Leer más .
The Great - Node.js y Node Forward
JavaScript es uno de los bloques de construcción fundamentales de Internet. ¿Qué es JavaScript, y puede existir Internet sin él? ¿Qué es JavaScript, y puede existir Internet sin él? JavaScript es una de esas cosas que muchos dan por sentado. Todo el mundo lo usa. Lee mas . La mayoría de las páginas, incluida esta, lo utilizan para presentar contenido, manejar la interactividad y controlar con precisión la experiencia del usuario.
Hace unos años, JavaScript dio el salto desde el navegador al servidor con Node.js ¿Qué es Node.JS y por qué debería importarme? [Desarrollo web] ¿Qué es Node.JS y por qué debería importarme? [Desarrollo web] JavaScript es solo un lenguaje de programación del lado del cliente que se ejecuta en el navegador, ¿verdad? Ya no. Node.js es una forma de ejecutar JavaScript en el servidor; Pero también es mucho más. Si… Leer más
Permitió a los desarrolladores crear aplicaciones de servidores y la funcionalidad de back-end de los sitios web con el lenguaje de programación familiar de JavaScript. Lo que lo hizo realmente especial fue el gestor de paquetes NPM. Similar a apt-get ¿Qué es un PPA de Ubuntu y por qué querría usar uno? [Explicación de la tecnología] ¿Qué es un PPA de Ubuntu y por qué querría usar uno? [Explicación de la tecnología] Leer más o OneGet Windows obtiene un administrador de paquetes: descargue el software centralmente a través de OneGet Windows obtenga un administrador de paquetes - descargue el software centralmente a través de OneGet Microsoft está agregando otra característica de Linux a Windows. La administración de paquetes puede aumentar considerablemente la productividad, aumentar la seguridad y, en última instancia, ahorrarle muchos dolores de cabeza. Te mostramos cómo funcionará. Leer más, permitió a los programadores instalar extensiones y bibliotecas a través de una conveniente interfaz de línea de comandos. A los desarrolladores les encantó.
El gran patriarca del mundo Nodo fue Joyent, una importante empresa de alojamiento de nubes con sede en San Francisco. Aunque Node era de código abierto, dependía de Joyent para obtener apoyo financiero, y muchos empezaron a sentir que Joyent había asumido el papel de "Dictador benevolente para la vida" y había ejercido demasiado control en la dirección del proyecto Node..
Algunos desarrolladores centrales, sintiendo la necesidad de que Node tome una dirección más independiente, Node se bifurcaron. Node Forward nació.
Este cisma ha sido bastante traumático para la comunidad, pero se espera que la decisión de unir a Node finalmente resulte en un enfoque más abierto y democrático para desarrollar uno de los proyectos de software más importantes del mundo..
Puedes involucrarte o seguir su progreso en Github..
El feo - SystemD
Vocación systemd controversial es un poco como describir la mantequilla frita como "algo poco saludable". La verdad es que systemd casi divide la comunidad de Linux en dos..
¿Pero, qué es esto? Bueno, primero, hablemos un poco sobre cómo funciona Linux. Hasta hace poco, cada vez que se iniciaba una computadora que ejecutaba Linux, se ejecutaba primero un programa llamado init. Esto se ejecutaría hasta que la computadora finalmente se apagara, y es responsable de iniciar la computadora y manejar los procesos huérfanos.
El problema es que Init no es tan genial. Sobre todo porque es lento. Me gusta, De Verdad lento. Eso es porque lanza tareas. en serie, o uno a la vez. Para que una nueva tarea comience, primero tiene que esperar a que termine la última. Aunque esto podría haber sido una característica útil hace mucho tiempo, cuando las computadoras tenían poca potencia crónica, en realidad no es tan útil en 2015, donde la mayoría de las computadoras son gigantes de varios núcleos con gigabytes de RAM..
Así, se creó systemd. El problema fue que systemd rompió una importante filosofía de diseño sobre cómo deberían funcionar las herramientas de sistema para Linux. En lugar de hacer una cosa y hacerlo bien, systemd hizo varias cosas además de arrancar la computadora. Suena inocuo, pero en el mundo de Linux está lo más cerca posible gran traición.
En este punto, el mundo de Linux se dividió en dos campos. Uno que desesperadamente quería deshacerse del daemon de inicio antiguo, lento y desactualizado. El otro se opuso firmemente a systemd como una cuestión de principio, y no quería que estuviera cerca de sus máquinas Linux..
Las cosas se calentaron.
Los bloggers decretaron lo que sería el 'fin de Linux' como lo sabían. Linus Torvalds, creador del kernel de Linux, llegó incluso a prohibir que un desarrollador de sistemas clave trabajara en el kernel de Linux, aunque más tarde afirmó que "no tenía pensamientos fuertes" sobre la controversia de systemd.
Con el cisma en el mundo de Linux ganando pulgadas de columna en la prensa tecnológica, los afligidos y los trolls tomaron nota y comenzaron a causar caos en una serie de importantes listas de correo y foros de Linux.
A medida que más y más distros anunciaban que se mudarían a systemd, un grupo de programadores frustrados tomaron el asunto en sus propias manos y lanzaron un fork de Debian llamado Devuan.
Los giros y derivados de las distribuciones existentes no son exactamente raros, pero, por todas las cuentas, Deuvan ha adquirido una cantidad impresionante de vapor. Los desarrolladores están trabajando arduamente en un futuro lanzamiento público del sistema operativo, mientras que los organizadores ya han comenzado a solicitar donaciones.
Si bien la bifurcación de Debian sin duda resultará en una mayor elección cuando se trata de cómo se usa Linux, y puede que algún día se convierta en un jugador importante en el panorama de Linux, es importante recordar de dónde viene. Un lugar tumultuoso y áspero que casi puso de rodillas a uno de los proyectos de código abierto más cultural y comercialmente significativos..
Un tenedor muy lejos
La controversia del sistema muestra que el forking puede ser indicativo de un cisma, o un conflicto profundo, dentro de un proyecto. Pero al mismo tiempo, también puede ser un grito de independencia de un patrocinador corporativo dominante. De hecho, forking a veces puede garantizar que el software libre siga siendo eso. Gratis.
¿Qué piensas? Me encantaría escuchar tus pensamientos. Déjame un comentario abajo, y charlaremos..
Créditos de las fotos: Silver Forks (Nana B Agyei), Forking con HyperBob (HyperBob), img_7809 (Michael Hicks), Joyent da la bienvenida a knockout de node.js (Nina Baidley), mensajes de estado de systemd (Kai Hendry)
Explorar más sobre: Open Source.