Llegamos a ustedes gracias a:



Reportajes y análisis

7 razones por las que Apple podría convertir Swift a código abierto

Y siete razones por las que no lo hará

Apple Swift

[21/10/2014] El nuevo lenguaje de programación de Apple, Swift, se hizo público hace solo unos pocos meses, pero los fieles seguidores de Apple ya están más que entusiasmados. Sus comentarios están girando alrededor de palabras como "más limpio", "sencillo", "moderno" y "de gran alcance".

El resto del mundo, sin embargo, solo puede hablar de Swift hipotéticamente -mientras que las herramientas de codificación son libres, éstas corren únicamente sobre Xcode o un Playground, el cual, a su vez, se ejecuta solo en hardware de Apple. Por supuesto, si está realmente desesperado, un sitio web inteligente le permite probar algún código Swift básico, siempre y cuando no toque las bibliotecas.

Esto es un poco extraño. En los últimos años, los creadores de lenguajes de programación se han salido de su camino para hacer que su código se ejecute en tantos equipos como sea posible. Esto ha significado hacer que sus herramientas sean de código abierto, y hacer todo lo posible para evangelizar su trabajo.

Apple nunca ha seguido el mismo camino que todos los demás. La mejor decisión podría ser abrir Swift a todo el mundo, pero eso no significa que esta sea la voluntad de Apple. Tampoco hay que suponer que Apple nos dará algo gratis o que su meta es cumplir nuestros mejores intereses. El tema de hacer abierto a un lenguaje como Swift es más complicado de lo que parece.

A continuación, le presentamos siete razones por las que Apple debería hacer que Swift sea de código abierto, seguidas de siete razones por las que esto no va a suceder.

Por qué Apple debería abrir Swift: El código abierto fomenta la innovación

En el mundo de la programación, las nuevas ideas, herramientas y arquitecturas comienzan con frecuencia siendo de código abierto. Lenguajes importantes como JavaScript, PHP, Clojure, y Haskell, tienen motores de código abierto que atraen a los codificadores. Node.js, por ejemplo, trajo a JavaScript hacia el servidor, gracias a abrir motores de JavaScript, como V8 y Rhino. Si quiere lograr compartir las ideas, la forma más simple es publicar el código libremente en un sitio de intercambio de código como GitHub o SourceForge, y difundirlo lo más ampliamente posible. Los desarrolladores acuden a estos sitios, ampliando las características y alcance de sus trabajos.

Por qué Apple no va a convertir a Swift a código abierto: La innovación no es lo que Apple realmente quiere

La sintaxis es diferente y los comunicados de prensa repiten la palabra "nuevo" una y otra vez, pero, en su esencia, Swift es simplemente una táctica de negocios inteligente para mantener el status quo y exprimir más la vida de las bibliotecas existentes.

Con toda su elegancia, Swift está diseñado para soportar un mundo construido desde sus cimientos en Objective-C. Está pensado para funcionar bien con las innumerables bibliotecas de Objective-C existentes, no para suplantarlas. Esto significa que Apple gana poco a partir del fervor creativo de un nuevo proyecto de código abierto, que se mueve en la dirección que la mayoría quiere que tome. Apple quiere que su hardware siga funcionando sin problemas, no fomentar la innovación caótica.

Por qué Apple debería hacer que Swift sea de código abierto: El futuro laboral está entrando a la era del código abierto

Un profesor de informática me dijo que le encanta Swift, pero no puede exigir que sus alumnos compren el hardware más caro que existe simplemente para usarlo. Esta es una razón importante por la que muchos cursos de informática adoptan IDEs gratuitos, como Eclipse, ejecutados en hardware básico, y es la misma razón por la que muchos cursos para principiantes se enfocan en HTML5, JavaScript, y sus mundos simples como Firefox OS. Los hackers autodidactas siguen la misma ruta: El código abierto o morir en el intento.

Si Apple quiere ganar participación en los cursos de programación y entre los autodidactas, es necesario conseguir que Swift se ejecute en hardware más barato. Una vez que los alumnos aprenden Java en Eclipse, la instalación del Kit de Desarrollo de Android toma unos minutos. Ahorrar dinero suficiente para comprar una Mac para instalar Xcode toma un poco más de tiempo. Una generación joven enganchada al desarrollo en Android puede significar tiempos difíciles para Apple.

Por qué Apple no va a hacer que Swift sea de código abierto: Los mercados definen lo que los programadores codifican

Si bien puede ser cierto que es sencillo y económico no usar las propias fortalezas en programación y desarrollar en Android; al final del día, los estudiantes quieren un empleo. iOS sigue generando más ingresos para los desarrolladores de aplicaciones, y la ganancia es directamente proporcional al trabajo. Los estudiantes siempre quieren aprender la plataforma que soporta a los clientes que más pagan, y en este momento, no hay muchos de ellos en el mundo de los teléfonos Android de gama baja. Mientras Apple lidere, los alumnos lo seguirán -incluso si tienen que comprar hardware costoso para ganar la entrada al jardín amurallado.

Por qué Apple debería abrir Swift: Con el código abierto, "todos los bugs son sencillos"

Un principio central en cuanto al código abierto es que el hecho de que haya muchos ojos encima, significa que todos los errores son sencillos. Debido a esto, el código de fuente abierta bien mantenido, está libre -a menudo- de muchos de los problemas que pueden acosar al nuevo código. La amplitud de la comunidad que trabaja en el código es ideal para la depuración. Si alguien comete un error; una persona, a la que seguro nunca conocerá, lo arreglará. Si Swift quiere moverse rápidamente, añadir funcionalidad y garantizar un rendimiento y una seguridad óptima, es necesario que haga más fácil para los programadores modificar el código y compartir los "retoques" con todo el mundo.

Por qué Apple no va a abrir Swift: Los jardines amurallados tienen ventajas

El mundo del código abierto puede jactarse de su récord, pero no hay forma de medir la eficiencia de la corrección de errores. Declarar que todos los errores son corregidos es equivalente a demostrar una negación. Pregunte a los amigos que confiaron en OpenSSL todos estos años.

Un jardín amurallado puede llamarnos a confiar en una caja negra que puede traer bugs y puertas traseras ocultas, pero esto tiene una ventaja: Los chicos malos están tan confundidos como nosotros. La ignorancia no es algo que se deba celebrar, pero puede ser una ventaja. Además, uno de los errores más vergonzosos de Apple, la farsa del "goto fail", era de código abierto hace mucho tiempo. ¿Cuántos años les tomó encontrarlo a los muchos ojos que hay en la comunidad de código abierto?

Por qué Apple debería hacer que Swift sea de código abierto: La apertura significa expansión y nuevos mercados

Érase una vez, que Apple era el dueño del mundo smartphone. Entonces el sistema de código abierto de Google, Android, se ganó un porcentaje asombroso del mercado -85% de los nuevos teléfonos inteligentes, según un estimado reciente. Esa es una cifra tentadora para los desarrolladores. El código abierto ofrece una manera sigilosa de infiltrarse en los mercados, fomentar nuevos dispositivos y atraer a muchos nuevos socios. Hay televisores, cámaras, computadoras portátiles, e incluso los refrigeradoras Android. Mientras, la noticia más importante del mundo iOS es que los iPhones ahora vienen en diferentes colores.

Por qué Apple no va abrir Swift: Compartir conduce a la fragmentación

Compartir puede atraer un mayor interés y nuevas ideas, pero a menudo esto lleva a la fragmentación y a la confusión -o como dicen los fanáticos de Android, "la diversidad de dispositivos". ¿Por qué Apple querría promover más versiones de Swift para confundir a la gente? Ya es bastante difícil dar soporte al iPhone 4 y al iPhone 5 al mismo tiempo. Los desarrolladores de Android maldicen las variedades infinitas.

Además, ¿qué sucedería si algún nuevo código maravilloso para Swift se ejecutase solo en Linux pero no Mac? ¿Cómo ayuda eso a Apple y a sus clientes? Apple está en el negocio de la entrega de soluciones que se ejecutan sin problemas para todos, y no para alimentar un festival para los programadores.

Por qué Apple debería abrir Swift: El código abierto garantiza un ecosistema de herramientas robustas

Si quiere desarrollar para Android, puede utilizar cualquiera de las herramientas de código abierto de la mayor fuente de código abierto: Java. ¿Eclipse? Claro. ¿IntelliJ? ¿Le suena bien? ¿Ant o Maven desde una línea de comandos? Muchas personas los adoran. La lista de herramientas para Java es larga y llena de mucha innovación. Y aquí hay un hecho importante acerca de esta lista: Sun / Oracle no construyeron ninguna de ellas. Abrir Swift nutrirá el ecosistema de desarrolladores y asegurará que éstos tengan muchas más razones para elegir Swift.

Por qué Apple no va a abrir Swift: La apertura es una victoria para Android

Apple no venderá la mayor cantidad de teléfonos inteligentes, pero vende sus teléfonos inteligentes para aquellos que son más propensos a comprar más aplicaciones. Numerosos estudios muestran que los usuarios de iPhone gastan mucho más en aplicaciones que las vastas hordas de compradores Android -y es por eso que los desarrolladores móviles se dirigen hacia el iPhone primero, haciendo que la App Store sea una experiencia de compra más robusta. Si los desarrolladores pueden presionar un botón y desplegar código Swift tanto para iPhone como para los mercados Android, Apple podría muy bien perder su dominio sobre el mundo de las aplicaciones. Si la gente puede obtener las mismas aplicaciones en un costoso iPhone o en un económico Android, es muy probable que los precios bajos sean los que ganen.

Por qué Apple debería abrir Swift: Apple se lo debe al código abierto

Apple no ha logrado toda la gloria de Swift por su cuenta. Se puso de pie sobre los hombros de gigantes. No es que Apple construyó gcc o LLVM por sí mismo. La fundación de Swift comenzó en el mundo del código abierto, y es justo que Apple devuelva el favor abriendo y compartiendo los resultados de ese trabajo. Apple ha hecho de código abierto muchas de sus contribuciones para BSD a través de Darwin. ¿Por qué no más?

Por qué Apple no va a abrir Swift: Apple no le debe nada al código abierto

No necesita compartir o abrir su trabajo hacia el código abierto si lo construyó con una herramienta de código abierto. Claro, algunas licencias, como la GPL insisten en que comparta todos los cambios que le hizo a la herramienta, pero eso no se extiende a la creación de algo nuevo. Apple construyó algo nuevo sobre una base de código abierto. Todos hemos hecho lo mismo y mantuvimos la propiedad. ¿Por qué no puede Apple hacer lo mismo?

Por qué Apple debería abrir Swift: Swift puede ser clonado

Microsoft trató de mantener .Net en la plataforma Windows. Luego, la comunidad de código abierto lo clonó. Lo mismo puede suceder con Swift. Si alguien construye un paquete totalmente abierto, este puede convertirse en la versión dominante del lenguaje. Los programadores podrían empezar a construir con ella, entonces Apple no tendría ninguna influencia. Abrir Swift desde el principio permitiría a Apple defenderse de la aparición de un competidor legítimo.

Por qué Apple no va a abrir Swift: ¿Quién querría un clon?

Una iPad puede costar 500 dólares o más. En eBay se puede encontrar un clon corriendo Android por menos de 100 dólares. ¿Qué tienda tiene las colas más largas y las esperas más interminables? De acuerdo, algunos hackers trabajando en algún sótano puede clonar la mayoría de Swift; eventualmente, ellos van a querer poder comer y eso significa conseguir empleos bien remunerados. Hasta que alguien ofrezca apoyo financiero, los clones permanecerán siendo atractivas demos, no productos emergentes. Y hasta que la gente comience a hacer cola para comprar el hardware básico corriendo código abierto Swift, no habrá mucho apoyo financiero.

Peter Wayner, InfoWorld (EE.UU.)