La reciente decisión de Apple de liberar mediante licencia Apache uno de los principales componentes diferenciales de su sistema operativo Snow Leopard, recién salido al mercado, nos permite hablar de la gestión tecnológica en la era open source, uno de los temas que suele generar mejores discusiones en algunos de mis cursos.
La tecnología liberada, Grand Central Dispatch (GCD), permite gestionar el desarrollo de tareas en paralelo en procesadores de núcleos múltiples, mejorando así el rendimiento del sistema. Vendido como una de las grandes ventajas de Snow Leopard – que no es un nuevo sistema operativo sino una serie de mejoras sobre el anterior, de ahí que no se cambie completamente de felino en su nombre – su liberación puede resultar sumamente chocante para todo aquel que no termina de entender este tipo de dinámicas: ¿qué lleva a una empresa a poner a disposición del resto del mundo algo que vende como una de sus principales mejoras? ¿No deben las empresas, siguiendo la conocida resource-based view of the firm que se estudia en todas las escuelas de negocio, proteger celosamente las fuentes específicas de sus ventajas competitivas? La discusión de este tema resulta interesantísima para todos aquellos que ven una empresa como un sitio en el que debe reinar el más absoluto secreto, y que suelen caer en el estereotipo de mirar a las comunidades de desarrollo de código abierto como a una especie de pandas de hippies comunistas que responden a esquemas diferentes a los suyos y de los que bajo ningún concepto se puede uno fiar.
La respuesta es la misma que recoge Don Tapscott en el capítulo 3 de su muy recomendable Wikinomics utilizando el ejemplo de IBM: no necesariamente. En muchas ocasiones, liberar una tecnología puede suponer pasar a extraer de ella un beneficio notablemente superior. En el caso de IBM, el efecto se produce en los dos sentidos: por un lado, la empresa colabora con horas hombre en todos aquellos proyectos de código abierto definidos como importantes para la compañía. Por otro, libera todos aquellos desarrollos internos en los que espera que la colaboración de programadores externos aporte un progreso más rápido y eficiente. La estrategia proporciona a IBM ganancias muy sustanciales en la productividad de su I+D, pero no es en absoluto tan sencilla como aparenta. La participación en comunidades de desarrollo externas exige a IBM una muy cuidadosa gestión tanto de personal como de proyectos. En muchos casos, los programadores de la compañía se encargan del desarrollo de aquellas partes del proyecto consideradas menos vistosas o con menos glamour de cara a la comunidad, pero que alguien tiene que hacer: entre contribuir al desarrollo de una parte fundamental del programa y programar un conjunto de drivers de impresora, por ejemplo, hay una gran diferencia, que provoca que en muchos casos, la funcionalidad de un proyecto no se complete fácilmente por la escasez de personas en la comunidad que se encarguen de esas partes menos interesantes. En todos los casos, los programadores de la compañía tienen que adaptar sus actitudes a las de la comunidad: no se trabaja igual en la jerarquía de una empresa que inmerso en la muchas veces mayor laxitud y voluntarismo de una comunidad de desarrollo. Y sobre todo, requiere una cuidadosa gestión a la hora de decidir qué partes de los desarrollos internos liberar y con qué tipo de licencia hacerlo, no solo por la decisión de qué partes ceder al conocimiento público, sino también por las posibilidades que dichos desarrollos tienen de resultar atractivos a la comunidad. De nada sirve liberar un código que es recibido con indiferencia por la comunidad, o que nadie está dispuesto a trabajar para mejorar. La decisión de liberar un código responde al interés por extender y popularizar su uso, al de dar origen a un ecosistema cuyo desarrollo progrese a mayor velocidad, etc. y responde a criterios competitivos que deben examinarse con criterio.
En el caso de Apple con GCD, la decisión de liberar un componente que supone una de las mayores mejoras de Snow Leopard responde, entre otras cosas, a la intención de Apple de incrementar el atractivo de su plataforma más allá de sus propias máquinas, hacia sistemas basados de tipo cluster o superordenadores, así como al intento de estandarizar otras herramientas dentro de las plataformas de desarrollo. En el caso de Apple, el equilibro entre ser una plataforma minoritaria y mantener el interés de los programadores por generar herramientas para ella o trabajar con ella resulta crucial. Liberar GCD escogiendo además para ello una licencia Apache, que no requiere la redistribución del código cuando se desarrollan versiones modificadas, es un intento por provocar una popularización de su herramienta en la comunidad de desarrollo, algo que de otro modo sería difícil que ocurriese, al restringir la utilidad de dichas herramientas a la plataforma Mac. La decisión, por tanto, parece muy bien tomada y responde a un análisis muy cuidadoso, como lo fue en su momento la liberación de Webkit, gracias a la cual se ha convertido en una de las plataformas más dinámicas existentes en el mercado. En el caso de Google, otra de las empresas que se caracteriza por una gestión cuidadosa de lo que mantiene abierto y cerrado, tenemos ya muchos casos similares: la apertura de Android, por ejemplo, pretende generar una plataforma de desarrollo que lleve a un número cada vez mayor de fabricantes de terminales a adoptar Android como una base sobre la que pueden crear elementos propios que posibiliten una diferenciación en el mercado, algo que por el momento parece estar sucediendo razonablemente bien.
En la era open source, como en tantas otras cosas, el secreto para una gestión adecuada está en la medida. No todas las empresas liberan todo y de manera inmediata, ni tiene necesariamente que ser así. Liberar algo es un trabajo en sí mismo, y obliga además a una fuerte disciplina de documentación y limpieza en el desarrollo, lo que de por sí supone ya un importante beneficio. Para una empresa, desarrollarlo todo en modo «como si fuese a ser liberado inmediatamente» es una disciplina que, convenientemente implantada, puede generar importantes ventajas en costes de mantenimiento, y que puede además abrir la puerta a muchos beneficios más. En el caso de Apple, cuya tecnología se basa en gran medida en código abierto, el equilibrio es enormemente importante, y se escenifica con decisiones como ésta.
me he fijado que todo el rato hablas de código abierto
¿estas en contra de que se libere como software libre en vez open source?
yo creo que hubiera sido más acertado obligar a publicar las versiones modificadas para que incluso Apple se pudiera beneficiar
Yo creo que es un paso muy correcto, a eso hay que sumar otras tecnologias interesantes como CUDA de NVIDIA o su respectiva respuesta de AMD-ATI, el liberar ese tipo de especificaciones puede ayudar muy mucho a apple en su estrategia, aunque esta claro que este tipo de apuestas se realizan a largo plazo… ojala mas gente coincidiera en el que conocimiento deberia de ser libre..
#1 Código abierto y soft libre son la misma cosa. El nombre «open source» («código abierto») lo inventaron Eric S. Raymond y otros. Por razones comerciales le quisieron dar otro nombre a lo que ya se llamaba soft libre.
Lo que tú dices (obligar a compartir las versiones modificadas) se le llama copyleft. Todas las licencias copyleft son libres, pero no todas las licencias libres son copyleft. Por ejemplo, la GPL es libre y copyleft, mientras que la de BSD es libre pero no copyleft.
¿Y si tu «ventaja competitiva» puede verse potenciada por el trabajo -más o menos- desinteresado de terceros? ¿Y si tu ventaja competitiva es convertirte en un estándar de facto?
Pues ocurre lo que estamos viendo.
Valoro el gesto de Apple, pero no me parece un ejemplo de compañía ni que apueste por el software libre ni por los sistemas abiertos, apuesta única y exclusivamente por sí misma.
¿Era opensource? No lo veo tan claro, la única grande que hasta ahora ha liberado software realmente importante y estratégico para la misma ha sido Sun (Java y Solaris).
¿Liberará Google el motor de su buscador, Gmail etc?
¿Liberará Apple el entorno de escritorio de MacOSX?
Estas dos liberan software cuando esperan feedback de otros desarrolladores, popularización etc. o simplemente carece de importancia, no es tan distinto de Microsoft que también ha empezado a liberar alguna que otra cosa y consiente e incluso apoya al proyecto Mono.
Sin contar que también se dice que estamos en una nueva era de cloud computing, que tecnológicamente es un problema adicional para el software libre y si no leed a Stallman a ver qué opina.
Apple es uno de los mayores contribuidores a WebKit, y Mac OS X utiliza numerosos componentes de código abierto. Sin embargo, no tiene ningún sentido liberar Cocoa como «open source». Si Apple quiere controlar el escritorio para evitar alternativas o «forks», no podrá liberar su código fuente, o de lo contrario debería usar una licencia con numerosas restricciones que irá en contra de cualquier licencia considerada como libre por la Open Source Initiative.
Que macana liberaron el codigo, ahora microsoft se lo va a copiar, y si lo hace yo no voy a reemplazar a microsoft, porque tambien lo consigo gratis……
El otro día me topé con esto:
http://www.apache.org/foundation/thanks.html
me resultó un detalle curioso.
#3. El cambio de free software (software libre) a open source (código abierto) es un intento para clarificar en inglés que el software no es gratis, si no de código abierto. Por eso la frase «free como en free speech no como en free beer». Hablar de open source no confunde a nadie.
#6. Para los problemas del open source, especialmente de la GPL con el Software As A Service (SAAS), el llamado ASP loophole, ya existen licencias que lo solucionan y son apoyadas por la fsf:
http://www.fsf.org/licensing/licenses/agpl-3.0.html
Estimados amigos:
Precisamente para resolver uno de los problemas sobre la difusión real y efectiva del software libre entre las empresas para que conozcan todas sus posibilidades y se valoricen los servicios derivados, LA FALTA DE FORMACION SOBRE SW LIBRE, recientemente se ha puesto en marcha esta iniciativa dirigida a formar gratuitamente a los 500.000 profesionales TIC que hay en España (ing. informáticos, telecos, físicos, industriales, ADE, etc.).
Podeis ver mas informacion en:
http://www.morfeo-formacion.org
y en especial en esta noticia se explica cómo se está haciendo para que la red formativa creada perviva tras el proyecto:
«6 Comunidades Autónomas se suman a la RED FORMATIVA de MORFEO-FORMACION.org»
http://formacion.morfeo-project.org/archives/6-comunidades-autonomas-se-suman-a-la-red-formativa-de-morfeo-formacionorg
Saludos,
Santi
Aunque siempre es bueno que una gran compañía abra su código, probablemente lo que les ha empujado a tomar esta decisión hayan sido intereses comerciales. Al liberar Apple esa parte del código, otros fabricantes de soft como Adobe podrán hacer uso de él y desarrollar productos mucho más rápidos en plataformas con OS Mac que con un Windows. Y ahora que está a punto de ser lanzado Windows 7 puede ser el gran momento de captar a ‘switchers’, que vean como las herramientas que más utilizan van mucho más rápidas en un Mac.
No hombre no. Las compañías que hacen guiños al Software Libre, jamas liberan piezas de código relevantes para su negocio. Lease los mainframes de IBM o Websphere o todos sus productos de gestión. El 50% de la facturación de IBM es Software vendido con licencia cerrada. O ORACLE… A ver cuando vemos el código de sus motores de BBDD.
De la misma forma que jamas veremos a Google liberando sus cientos de algoritmos en los que basa su core business: el buscador.
Alejandro Lloro , seguro que van mas rápidas las aplicaciones en Mac que en Windows.
Fijate tú, que aún no tienen la versión de 64 bits para Maya….y en windows ya la hace desde hace un par de años…
Así que ahroa vete esperándote (pero sentado , mejor) a que Adobe implemente y adopte este código para su Phostohop (que aún ni es 64 bits ni leches) sólo en su versión MAC