Mostrando las entradas con la etiqueta Android. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Android. Mostrar todas las entradas

sábado, mayo 31, 2014

Microsoft reenfocándose


Una noticia reciente poco comentada, pero quizá importante, ha sido la de abrir .NET y C# a proyectos open source, digamos, en mayor medida de lo hecho anteriormente. Recogido por Mary Jo Foley a comienzos de abril, pocos comentarios más se vieron en casi dos meses. Siguiendo a eWeek, Microsoft anunció en su conferencia Build 2014, sus planes en open source: la creación de una fundación (.NET Foundation), veinticuatro proyectos para iniciar actividades, y la conformación de una dirección integrada por funcionarios de Microsoft, de la subsidiaria Microsoft Open Technologies, y Miguel de Icaza. Entre los proyectos puestos en open source, está .NET Compiler Platform ("Roslyn"), y un par vinculados a Xamarin, la implementación de Miguel de Icaza de la plataforma de desarrollo.NET para dispositivos Android, iOS y GNU/Linux (el desarrollo completo en el comunicado de la fundación). En eWeek:
Microsoft formed the .NET Foundation to foster further innovation across the .NET ecosystem. The .NET Foundation will start with 24 .NET open-source projects under its stewardship, including the .NET Compiler Platform (previously known as "Roslyn") and the ASP.NET family of open-source projects, as well as the MimeKit and Mailkit libraries from Xamarin.

"We are going to be delivering a preview of the Roslyn compiler as a service," Somasegar said. "The most interesting thing that we're doing there is we are making both our C# compiler and our VB [Visual Basic] compiler open source. You want to be able to work with the community, you want to be able to take contributions back from the community, and you want to be able to work in the open. The other thing we are doing is adding support for .NET in Azure Mobile Services." - 
Tanto de la lectura de los comunicados iniciales, como de los comentarios de Foley o Tim Anderson, se puede decir que lo más importante a la vista es la mayor colaboración con Xamarin e Icaza, y por lo tanto, un frente más en la apuesta por ganar un lugar en las tecnologías móviles. Tim Anderson pone especialmente el acento en este futuro móvil:
The focus now though is on mobile, and interest in C# is stronger, mainly from Microsoft-platform developers reaching beyond Windows. There is also Unity, which uses C# as a scripting language for developing games for multiple platforms, including iOS, Android, Windows, Mac, Linux, Xbox, PS3 and Wii – PS4 is coming very soon.
Microsoft has now consciously embraced multiple platforms, as evidenced by Office for iOS as well as the Xamarin collaboration. “We want C#developers to build great applications across different form factors and different device platforms,” said Jay Schmelzer Director of Program Management for Visual Studio.
You might observe that this position has been forced on the company by the rise of iOS and Android, a view which likely has some merit, but the impact it has on C# and .NET itself is still real.
Una nueva acción  en el sentido de adecuarse al rumbo actual y próximo del mercado tecnológico, como los movimientos de apertura de Office o los intentos de mejorar la posición de sus tabletas. ¿Con qué alcance? probablemente, destinado a ofrecer una alternativa al mercado propio en el ajeno de Android o iOS.
¿Hasta qué punto este nuevo lanzamiento es open source?  Si atendemos al inicio, en cuanto al carácter abierto de la fundación, su directiva es casi completamente Microsoft:
The new foundation will be initially staffed by Microsoft and third parties, including a representative from the Microsoft Open Technologies subsidiary and someone from the .NET organization, as well as Miguel de Icaza, CTO and co-founder of Xamarin, which is partnering with Microsoft on a related effort, Somasegar said.
"There will be a board of directors," he said. "There are going to be a couple of people from Microsoft that are going to be on the board. There will be one person from MS Open Tech that's going to be on the board; there will be one person from the .NET team that will be on the board. We are also getting Miguel de Icaza to be on the board, so we'll have at least one third-party person on the board from Day 1. And we'll have a couple of third-party projects, including efforts from Xamarin and others. Our plan is, over time, to expand the board to include more people. There will be a board that will govern the .NET Foundation. Microsoft will initially have a strong presence, but it will not be exclusively Microsoft."
Mi primera impresión fue de sorpresa, ya en que demasiadas ocasiones las grandes empresas mandan a open source los productos que dejan de ser centrales en sus proyectos: una manera de reducir fondos a un producto que no está en sus planes, descargando en una comunidad el esfuerzo futuro de desarrollo. Sin embargo, en este caso, existe un deseo de mantener un control estricto sobre la conducción de la fundación, y existe un área de sumo interés futuro. En los artículos de Foley hay parecidas impresiones:
I have to admit that I wasn't sure if Microsoft's decision to open-source more of .Net would be met by cheers or jeers by those attending Build last week. I was curious if developers might see the move as an indicator that Microsoft no longer considered .Net valuable enough to keep in-house as part of its collection of crown jewels. Most of the devs with whom I spoke at the show seemed upbeat about the move, however.
Hejlsberg told attendees of a press panel during Build that Microsoft is not abandoning .Net.
"We are actively investing in .Net going forward," Hejlsberg said, in response to an audience question as to whether Microsoft was putting .Net on the back burner.
"It's not going away," Hejlsberg said. "We are all in on .Net."
El tiempo, más rápidamente que lo que nos podríamos pensar, irá diciendo a dónde va esta iniciativa. La competencia actual no da lugar a muchas dudas.

domingo, mayo 19, 2013

Android, nueva IDE?

 Oficialmente presentado en Google IO, el soporte de Android a una nueva IDE: IntelliJ IDEA, agregada a la existente sobre Eclipse. De lo que en distintas fuentes informales se puede inferir, no se trata de una IDE mas, sino de una preferente. Aunque parece ser que para los desarrolladores de Google es una excelente noticia (1, 2, en algún caso con alguna reserva,3), no estoy muy seguro que lo sea para un buen número de desarrolladores o empresas que hoy usan Android sobre Eclipse, no sólo por lo bien o mal que Android se puede usar sobre esta IDE, sino por el soporte que Eclipse ofrece en otros tipos de proyectos, que usualmente estarán conectados con Android. El valor de Eclipse está en la fuerte comunidad de desarrollo abierto, que ha montado sobre la IDE centenares de proyectos en el terreno del modelado, o de la infraestructura al  servicio de la construcción de estos proyectos. No sé si el  impacto de este cambio ha sido pesado de manera correcta.
En todo caso, si observo el tipo de críticas de los "googlers" a Eclipse, diría que están dispuestos a avanzar sobre IntelliJ con preferencia, dejando atrás a Eclipse si no es capaz de responder en sincronía a nuevos desarrollos. De sus dichos no se desprende un abandono de éste, sino un "soporte relegado".
En demérito del cambio se debería señalar que la comunidad de soporte de IntelliJ tendrá por lo general una extensión menor que la que Eclipse tendría...y que estamos hablando en este caso de una empresa comercial, de la que Android está tomando la parte de su producto que está puesta en open source. ¿Es esta una gran idea, estratégica? ¿Es comparable el alcance de la apertura y extensibilidad de uno y otro? Lo pongo en duda.
Una política que ha restado contínuamente seguidores a Microsoft es la de efectuar cambios a sus productos que dañan a su comunidad de usuarios (lo más evidente y profundo, el cambio de Win32 a WinRT). Parece ser que Google está jugando con el mismo estilo.
El anuncio del equipo de IntelliJ, en su sitio y su blog.

miércoles, agosto 29, 2012

Una presentación: Plex + Webclient

Una presentación publicada hoy por CM First, sobre PLex + Webclient. Para quienes no conocen Plex, una vista estimulante de sus posibilidades. Para quienes usan Plex y evalúan mover sus aplicaciones a nuevas arquitecturas, una idea de cómo mover aplicaciones a web + /o cloud +/o dispositivos móviles. Para quienes no conozcan Plex, es importante tener en cuenta la flexibilidad disponible en cuanto a arquitecturas.

En mi caso, este mes, testeando Plex + Android. Quizá agregue algunas líneas sobre sus resultados.

jueves, mayo 31, 2012

El futuro de Chrome

Tengo una PC portable obsoleta, de la que me niego a desprender porque en su momento me dió buenas prestaciones, ahora escasa  en velocidad de su procesador, memoria y disco disponible, pero con una capacidad de conectividad que sigue siendo importante. Durante un tiempo pensé en instalarle algún Linux light, pero nunca me terminó de convencer la alternativa. He pensado en usarla como "servidor" para tests en casa, o para restringirla a un browser y un editor de texto...En meses recientes, sin embargo, se ha presentado una posibilidad más interesante: instalarle el sistema operativo de Chrome, aparentemente más o menos light, como para ayudarme con el hardware que tengo, y orientado especialmente a la nube. Hoy, un artículo de ZD Net refuerza la idea de Chrome como un sistema operativo hegemónico, y con razones nada despreciables. Esto es lo que afirma en ZD Net (5 reasons everyone will be using Chrome OS in 3 years):
Google’s first round of Chromebooks met with mixed reviews and far greater adoption in schools where their easy management and fast boot times made them more popular than with consumers. Google and Samsung announced yesterday that next-generation Chromebooks were rolling out, along with a major release of Chrome OS and new devices call Chromeboxes. All in all, it was a big day for Chrome OS, and yet, as Larry Dignan pointed out, the pricing on Chrome OS devices remains too high for serious consumer or enterprise adoption.
However, in computer-land, three years is forever, and in that period of time, I expect that Chrome OS will be all over the enterprise, consumer spaces, schools, and SMBs. In fact, I expect that it will be ubiquitous in the way that Linux and Java are: we don’t even know we’re using them on our phones, in our TVs, in our DVRs…everywhere. Here’s 5 reasons why.

1. It’s going to be cheap

Yes, Larry’s right. These devices are too expensive right now. But Moore’s Law tells us that this will change. Fast. And Chrome OS doesn’t need the latest hardware to run quite well, particularly now that it can take advantage of GPU acceleration. Sure, the original Atom-based Chromebooks were a bit pokey, but enhancements to the OS itself have taken big steps to address the issue. The latest generation of Chrome OS devices aren’t exactly using quad-core beasts. They’re leveraging commodity hardware, paving the way for serious price drops in the relatively near future.
Chrome OS is also being tested on ARM hardware and is unencumbered by much in the way of licensing since it’s based on the open source Chromium OS project.

2. It’s flexible

Have you used the Chrome Web Store? There’s a lot of really useful software just a click away that runs right within the browser. Whether you are using Chrome OS or the Chrome web browser, the experience is the same and the developer ecosystem is pushing hard on the boundaries of what we thought was possible in terms of web applications. The variety of applications already available in the Web Store is impressive, to say the least, just a year and half after its launch.
If Netflix, Facebook, Angry Birds, and Autodesk applications can all run happily in Chrome OS, there won’t be much to differentiate it from a full-blown desktop OS in the months and years to come. Or from an embedded OS. Or a mobile OS. It all depends on the applications OEMs choose to develop, surface, and install for users.

3. Because Chrome OS and Android will merge

As early as 2009, Sergey Brin predicted that Android and Chrome OS would likely draw closer to each other and then merge. The Chrome browser for Android is hinting that this is getting closer to reality, as are various bits of information emerging about Android 5, most of which point to at least the beginnings of unification.
Android is already dominant in mobile devices and runs on everything from televisions to refrigerators to tablets. Chrome has the largest browser marketshare now. When Chrome, Chrome OS, and Android all start looking very much like each other and all dominate their respective markets, it’s not a big stretch to start calling Chrome OS ubiquitous.

4. It’s Google

If Google has proved anything, it’s that they have enough money to keep hammering away at a market until they own it. They proved it with Android on mobile phones. They proved it with their Chrome browser. They proved it with search and related ads. They’ve had their share of missteps and projects like Google+ remain out with the jury. However, if the project is ultimately about growing their core business (namely advertising) and getting ads in front of more people, they’re absolutely dogged. And while their war chest isn’t quite up to Apple’s standards, they can win wars of attrition with just about anyone. Besides, what would you rather see on that connected television? A familiar web browser with snappy app interfaces and a cool Web Store or some kludgy Java interface that doesn’t look a thing like what you use on your desktop, laptop, mobile phone, or tablet to access content?

5. Because the web will be all you need

This is already true for most users. In developing countries, the only personal computing device that many people own is a simple mobile phone with basic web access. Elsewhere, cloud-based applications continue to displace desktop applications and increasing numbers of users spend their days staring at a web browser instead of any particular application. Microsoft’s Office 365 acknowledges the need for at least a hybrid approach to the cloud and most of the interesting software we read about now comes in the form of cloud-based web applications or mobile apps.
Even Adobe, the last reason I bother using a full-blown PC, started shipping Muse (a rich WYSIWYG web development platform) this month and, while not a web application itself, leverages the Air runtime environment to be small, light, and fast.
The next version of Bethesda Software’s massively popular and visually stunning Elder Scrolls series? An MMORPG. No, it won’t be 100% browser-based, but without the web, fans would just be sitting in front of their aging XBOXes. Goodbye game consoles, hello cloud.
This webification movement has taken off in the last 18 months. It isn’t hard to imagine what the next three years will do to the way we think about personal computing. So while Chrome OS got off to a slow start, it’s only a matter of time until Google can take advantage of this inflection point at which we find ourselves.

Creo que el elemento determinante entre los argumentos, es la futura confluencia de Android y Chrome, facilitando un enfoque de la informática absolutamente ubicua, dado el uso de Android en toda clase (y aumentando) de aparatos de la vida diaria o la industria. Su introducción en el mundo multimedia hogareño es sólo el principio.
Windows 8 sin duda es una salida a hacer frente esta perspectiva próxima, con la gran desventaja de que el factor movilizador de este cambio de paradigma ha estado en telefonos inteligentes y tabletas. Y este es un mundo donde Microsoft está prácticamente ausente.

lunes, enero 23, 2012

Plex => WebClient => Ipad

Para usuarios de Plex, o interesados en mover un modelo a aplicaciones móviles: una pequeña presentación de WebClient adelanta bastante información acerca del proceso de creación de una aplicación desarrollada para Ipad con Plex. No es posible entrar en detalles sin la documentación esperada para la versión 1.8, pero da una idea de los pasos a seguir, básicamente en la misma vía que lo necesario para construír una aplicación web estándar de Webclient, pero en una Mac: Plex [en una máquina virtual]=> Eclipse [Indigo en este caso] => [PhoneGap] => Código listo. Brevemente se explica también la variante Android.

domingo, enero 15, 2012

Webclient 1.8 anunciado

CM First ha publicado una presentación que adelanta la salida de su versión 1.8, y programa la 2.0. Debo decir que conozco de primera mano la versión 1.8, y puedo asegurar que en principio la versión agrega confiabilidad y robustez, sin contar cualquier otro cambio que incluyera. La principal novedad es el lanzamiento oficial del soporte de aplicaciones móviles (Ipad, Android) usando patrones de Sencha, HTML5, CSS3. Arrastrar y soltar, exportar a Excel y otros, almacenamiento local, manejo de temas como conjuntos de definiciones de estilo, son aspectos que se agregan. Soporte de servicios web,  portlets y la nube de Amazon son anunciadas, y veremos hasta dónde es aprovechable su extensión. Webclient 1.8 está testeada sobre la próxima nueva versión de Plex (7.0), que está en este momento en pleno beta. Buenas noticias...

lunes, abril 11, 2011

Telefonía móvil, batalla por la hegemonía en TI

Dos notas sobre computación móvil: una sobre hechos, la otra sobre estrategias, ambas sobre tendencias.La primera, firmada por Tamara Toro, en América Economía, describe lo que representa el cambio de escenario más grande que ha habido desde la aparición de la World Wide Web: la masificación universal de la telefonía móvil, acompañada de la "computación en la nube". Un cambio que se ha transladado a la renovación de los actores en la industria del software, sea por readaptación a estos cambios, o sea por la aparición de nuevas empresas. Vayamos a la primera nota: la guerra de sistemas operativos para smartphones. Dice Tamara Toro, basándose en estudios de IDC:
La batalla en el mundo de los sistemas operativos para teléfonos inteligentes (o smartphones) se ha ido transformando en una lucha cada vez más encarnizada entre los cuatro desarrolladores mundiales más grandes de la industria, que por medio de lanzamientos y nuevas aplicaciones han pertrechando sus respectivas posiciones de mercado.


Se trata de marcas reconocidas por los consumidores, pues en los últimos años el nivel de penetración que han mostrado ha sido avasallador. Los que hoy dominan el mercado son el Android de Google y el Symbian de Nokia, aunque éste último ya tiene fecha de defunción, pues fue reemplazo por Windows Phone 7 de Microsoft, sistema que pretende reverdecer los laureles de la marca finlandesa en la nueva era "smart" de la telefonía.


Tras ellos se quedan el Blackberry OS, de la canadiense RIM; y el iPhone OS, de Apple. Bastante más resagado, y con cifras marginales a nivel global, se sitúa el WebOS, de Palm-HP, que aún no ha despegado como se esperaba.


Las cifras de mercado evidencian el liderazgo de Android en el sector, con ventas de smartphones con este sistema en el 4Q de 2010 superiores a los 32,9 millones. Según la consultora Canalys, durante el mismo periodo el volumen de teléfonos inteligentes basados en sistemas operativos de Google, no sólo Android, sino también OMS y Tapas, crecieron bastante de la mano de vendedores como LG, Samsung, Acer y HTC, anotándo tasas de 4,1%, 1,4%, 709% y 371% respectivamente.


Los números de Google, con su sistema operativo estrella (Android) y los secundarios, se enfrentan a los 31 millones de envíos de Nokia y su plataforma Symbian, que en la última etapa del año pasado mostró un leve baja frente al gigante estadounidense de los bucadores de internet y probablemente durante 2011 siga con la misma tendencia debido a la transición hacia el Windows Phone 7, aunque analistas preveen que será un efecto parcial de "acomodamiento".


Al respecto, Ramon Llamas, investigador senior del equipo de Mobile Devices Technology and Trends de la consultora IDC, dice que recién se espera el lanzamiento de los primeros equipos de esta unión hacia el año 2012. "Para el 2015, en IDC esperamos que Windows Phone sea el sistema operativo número dos a nivel mundial, después de Android", asegura Llamas.


Según la consultora, este año Android dominará el mercado con el 39,5%, secuandada por el Symbian, con el 20,9%; el iOS de Apple, con el 15,7%; el BlackBerry OS, con el 14,6%; el Windows Phone 7 y Mobile (sin Nokia aún), con el 5,5%; y otros sistemas operativos, con el 3,5%.


Hacia el 2015, Android seguiría dominando el mercado, ahora con el 45,4%, pero Symbian (desaparecerá paulatinamente) sería desplazado del segundo lugar por Windows Phone 7 (con Nokia) con el 20,9%. En el tercer lugar se posicionaría el iOS, con el 15,3%; y en el cuarto BlackBerry OS, con el 13,7%. Symbian estaría en el último lugar, con el 0,2% de la cuota de mercado, superado incluso por otras plataformas, con el 4.6%


El reporte de IDC presume que los usuarios de Nokia se mantendrán fieles a la marca y migrarán de Symbian a Windows Phone 7, olvidando que Nokia se retirará por un tiempo del mercado.


Competencia de Ecosistemas. Roberta Cozza, especialista en dispositivos móviles de la consultora Gartner, dice que más allá de un sistema operativo o dispositivo móvil determinado, la competencia se centrará en ecosistemas, los que se componen de la integración del software, hardware, aplicaciones y servicios dirigidos. Android estaría bien preparado para competir con Apple y RIM, con la capacidad de dar soporte a muchos proveedores claves y a diversos precios. "Entonces, con la cuota de mercado de Symbian decayendo, el que desaparecerá como actor hacia 2012, Android se beneficiará y llenará los espacios de mercado que hayan quedado libres", asegura la analista.


Otra de las características que convierten al sistema operativo estrella de Google en el preferido por las compañías, es su flexibilidad. "Los mercados de Apple y RIM también están creciendo, debido a que poseen una oferta integrada (software y hardware en un mismo producto), pero controlan completamente sus ecosistemas y le dan al consumidor un ciclo de actualización más tranquilo. Con Android existe una mayor flexibilidad al ser de código abierto, aunque significa también mayor fragmentación y hojas de ruta menos claras", dice Cozza.


Asimismo, la especialista indica que dado que el aumento en el uso de teléfonos inteligentes, así como la sofisticación de las funcionalidades de los sistemas operativos, la forma en cómo accedemos e interactuamos con el contenido online ha cambiado, lo que motivará a las compañías a crear extensiones de sus estrategias de negocios que sean replicables a través de estos dispositivos. Por lo mismo, Cozza sostiene que "el hecho de que la interfaz de usuario de los teléfonos inteligentes, su sistema operativo y ecosistema estén impulsando otras categorías de dispositivos como son los media tablets, significará que las aplicaciones móviles migrarán y tendrán que ser usables a través de diversos aparatos, sin limitarse a los teléfonos inteligentes, para darle al usuario una experiencia consistente".


En tanto, desde una perspectiva corporativa, se prevee que el mercado continuará dominado por marcas como RIM, que poseen un público cautivo. Sin ir más lejos, durante el 4Q de 2010 la compañía vendió aproximadamente 14,9 millones de smartphones. Incluso, y a pesar de que Nokia lideró durante el año pasado en Europa, Oriente Medio y África, RIM la desplazó en América Latina, donde envió más de 1 millón de teléfonos más que la gigante finlandesa. De hecho, sus teléfonos inteligentes de rango medio como la BlackBerry Curve, se constituyerons como un acierto para el posicionamiento de la marca en la región.


En términos de ventas globales, IDC asegura que los marcas pondrán en el mercado unos 450 millones de teléfonos inteligentes, en comparación a los 303,4 millones de dispositivos que se comercializaron durante el 2010. El mercado de teléfonos inteligentes crecería incluso cuatro veces más rápido que el mercado tradicional de telefonía móvil, en la medida que los consumidores finales y corporativos migren hacia este tipo de dispositivos en búsqueda de aplicaciones más avanzadas.
Un aspecto importante es que la masificación de la telefonía móvil también implica que el negocio del software ya no se limita al mercado corporativo, de negocios o instituciones públicas o privadas: ahora se trata del consumidor final, un campo infinitamente más grande. Los que lo han entendido, lo liderarán. Y esto tiene que ver con la segunda nota.

sábado, diciembre 11, 2010

Plex adopta los sistemas móviles

Finalmente, luego de la entrada inicial de Websydian con aplicaciones WAP, la introducción de Ajax en distintos grupos de patrones derivados de Plex, favorecieron la extensión de su soporte a recursos móviles. Ya prefigurado en la versión 1.6 de Webclient (con soporte de Dojo y JSON) , el anuncio de su siguiente versión confirma la capacidad de generar aplicaciones para smartphones (iPhone, Android). ADC Austin ha programado una webcast para enero con explicaciones específicas sobre las nuevas capacidades planeadas. El nuevo release está previsto para la primavera europea.
Websydian, como hemos dicho antes, también agrega soporte AJAX a sus patrones usando Ext JS, que seguramente también robustecerá su soporte de aplicaciones móviles. Su versión está anunciada para junio del próximo año.

sábado, noviembre 06, 2010

Nuevas reflexiones sobre el software futuro

La semana pasada hubo un gran revuelo en la comunidad de usuarios de Silverlight. En su PDC2010 (Professional Developers Conference 2010, finales de octubre), Bob Muglia y Steve Ballmer hicieron comentarios que indujeron a pensar a distintos observadores que Silverlight pasaba a una vía muerta. Mary Jo Foley publicó un artículo que corrió como la pólvora, y desató toda clase de especulaciones que todavía duran. Aunque el tema de por sí es muy interesante, en este caso deberá quedar para otra oportunidad. Está por verse si realmente Siverlight pasa a mejor vida, o el revuelo proviene de un torpe manejo de relaciones públicas (dicho sea de paso, el post del blog de Siverlight que acompañó al anuncio, y que se convirtió en un muro de los lamentos, todavía no ha tenido una respuesta clara y definitiva de parte de sus autores, a cinco días de emitido). En fin, lo que particularmente me atrajo en este caso, fue el tipo de discusión que generó: una vivísima representación del estado de la construcción del software en ésta época. Lo que sigue es una lista de asuntos de primera importancia que fueron discutidos. Todos los comentarios siguientes son respuestas al post de Bob Muglia en el sitio de Silverlight. Al fin de cada párrafo se indica el nom de guerre que cada usuario prefirió usar. Hay mucho más material en otros sitios que generaron respuestas, otros interesados con blog propio, comentarios de periodistas de tecnología, etc. Quizá más adelante se agregue algo de esto.

Múltiples dispositivos y plataformas, no más un ambiente cerrado y confortable
Uno de los temas de mayor preocupación reflejados es el de la cobertura del producto respecto de dispositivos crecientemente heterogéneos, no sólo escritorio: mientras sus seguidores esperarían la ampliación de Silverlight "al menos" a Android, si algo dejan claro, es que para el producto, sólo hay planes para Windows Phone 7. Claramente, el mundo ha devenido heterogéneo y no monoproducto:
I'm in a project where we have to make a decision between Silverlight and HTML5. We were leaning toward Silverlight, but then put the brakes on when we heard about the comments from the PDC. This blog post doesn't help Silverlight's case. It merely looks like you're trying to calm a panic. But the reality is that anyone deciding on Silverlight vs HTML5 for new applications, that will be supported years down the road, must seriously consider jumping into HTML5 as the safer path. Clearly you've admitted it's the best path for cross platform applications. In an iPad, Android, Windows and everything else world we are flying toward... how can we *not* pick HTML5. (Dave Friedel)

To rectify this, I need to see an announcement that Silverlight will be ported to Android. Flash has. Yes, an iPhone port won't happen bc Apple policy, but Android is shipping on more phones and is more likely to be used by business people than iPhone. WP7 is starting from too small a base to invest in significant development. Right now develop for iPhone bc it's got the buzz, Android bc it's got the momentum, and then WP7 if and when resources allow. An Android port of Silverlight means develop for Android/WP7 first which further deflates iPhone momentum. Think strategically. (Anónimo)


I understand that porting it to iPhone is beyond Microsoft's reach and depends primarily on Apple , but it would be nice to get it ported to Android. No one expects you guys to cover all of the platforms with SL, but it would be nice to cover the most popular ones.(Nick Polyak)


Your competitior isn't backing away from taking its technology to popular platforms - they're finding ways to reward developers and designers for their continued support and loyalty by making sure they have a path to run everywhere that's relevant. There's no questioning their commitment, and yet questions persist about yours. (Anónimo)

Basically you're saying that it's not a battle you want to fight, so you're giving up altogether. I don't think everyone expected Silverlight to be on every device. Heck, the top 10 would be more than enough to satisfy nearly everyone out there (including devices your company controls and owns, such as Windows, Zune/WP7 and XBox).
HTML5 certainly hasn't had a problem with adoption on several devices. Heck, even Android (an entire OS) hasn't. So why is Silverlight having such a challenge in doing it? (Daniel)


I've been building a website over the past 2 years that incorporates 20,000+ lines of Silverlight on the client side (and yes, it really does need to be that complex.). I've been completely trusting Microsoft's commitment to this platform, but I'm now very very worried indeed. I've just spent all weekend learning GWT, and I'm starting to think a port might actually be plausible. Bob's blog post really seems nothing more than a half-assed effort at damage control, and I'm afraid that where there's smoke there's probably fire.
This time last week, I was silverlight's greatest fan. But unless you do a *lot* more to restore my confidence, I'm planning to spend the next month seeing how far I can get in migrating to GWT. I can't quite understand why you think this is a good thing for Microsoft. (ArcMan)
I'd like to see Silverlight and the Metro UI phone/tablet interface integrated tightly into Windows 8 the way iOS is being integrated into OSX Lion.
Microsoft should utilize Windows Phone 7 and the Silverlight implementation to create an install base of developers who can then populate a mobile, desktop, tablet, and web app store. It only makes sense then to include license options for apps that run across the different mediums the Silverlight can hit.
I think anyone who doesn't see Silverlight as an LOB/media tool is missing the boat. I would never build a website in Silverlight. I would build my media viewer or my backend system though. I would definitely build an app on Silverlight. (CKLuis)


" As a result, getting a single runtime implementation installed on every potential device is practically impossible. " [conceptos de Bob Muglia en su post]
It's absolutely possible, and moreover that's exactly what must be done. You can have platform specific extensions of course, but core must be the same for all platforms. And if you cannot implement SilverLight runtime for all possible devices, just open source it, and it will be ported to any "potential" device in few months, and we won't need to even listen this meaningless statements how "cool" HTML5 is. (Sipank)
As a .NET/XAML programmer I've been very disappointed that I can't target one of Microsoft's popular platforms, the XBOX 360. It has been difficult to understand this glaring omission, but Scott Barnes' explanation as to the internal unpopularity of WPF sure seemed to make a lot of sense. For the immediate future, say the next five years, these are the relevant platforms...
Windows
Mac
iPhone
Droid
WP7
XBOX
Playstation
You're already on three of the seven. After watching you guys for years supporting NT on x86, Alpha, and x64, you can't convince me that you can't easily port a 5MB runtime to four more platforms. The tools and silverlight groups have done AMAZING work, to "shift" strategies now would truly be grabbing defeat from the jaws of victory. I imagine your partners like Netflix would be delighted if they never had to do another port again and could rely on Silverlight. Seriously, if Sun and their grotesquely incompetent programmers were able to port java to so many platforms, you guys should at least be able to get it on seven. (Jack Bond)
I see silverlight as a better and lighter version of desktop runtime in replacing wpf which is so heavy and hard to deploy to people who don't have the latest runtime.
I found that even without html 5, the current javascript + html4 + css enable people to build much prettier and user friendly UI. Silverlight follows a desktop UI philosophy and doesn't really fit into the browser except some case of advertising oriented banner... (collaboration cloud)

Do what should have been done in the first place - make Silverlight compile down to a html5 compliant web application. You know, sorta like how GWT does it. Write java, get all the benefits of it, but it produces minimized, best practice compiled javascript.
I think MS took the fight against 'Flex', and by the time it was ready, realized they missed the train because Apple and Google are attacking the web pieces, meanwhile MS went backwards and is now sitting in the same 'yucky' spot as Adobe.
Making browser plugin's is yesterday's technology.
Actually, what is odd, is that the MS team used Script# to build the online Office - not Silverlight - that alone should tell you the status of Silverlight. Wake up people. MS should be investing in Script#, not Silverlight. (Steve)


The community will definetly like to see silverlight ported to more platforms. How commited are you to making silverlight cross platform? (Arson)

When you buy a PC or a car, you own it. You are free to use it the way you like and you can install any extension/software you want without asking the manufacturer. The mobile phone market is different. Think of it as a car you paid for in cash, however every year you have to pay a license fee and for every drive you have to pay-per-use for the steering wheel. Not to mention the payment for the manufacturer's OK for 3rd party tires... This is exactly the Apple business model for the iPad/iPhone. You buy it, yet Apple owns it/controls its usage.
Now Microsoft obviously failed in coming up with a similar or competing business model. Option a) entering the hardware market, controlling the devices, with full power offends all hardware partners and option b) controlling the application market through a license check in the SL runtime fails, because Silverlight (legally) cannot be installed at the majority of mobile devices.
(...)
So dear fellow developers, this is not about SL, this is about losing the first big battle on the mobile phone operating theatre. We're the collateral damage.
Microsoft has enough cash for scraping another phone platform; happened early this summer didn't it? However what about you and me?
And I hope: Microsoft buys Nokia. (Hidden War)
Los lenguajes y arquitecturas propietarias son un escollo
Un tema que subyace en la preocupación de varios de los reclamantes, es la necesidad (aceptada o no, da lo mismo en este caso) de adaptarse a estándares concertados, dado que "el mundo es ancho y ajeno":
What we have here is a fundamental conflict between the desire for standards (although how anyone can call HTML a standard is beyond me since even simple stuff renders differently in different browsers) versus the desire for productivity. Given enough time, resources, and patience, you could create and maintain just about any piece of software using just about any environment and tools. However, creating increasingly complex RIAs with the brain dead HTML/CSS/Javascript/4 million libraries stack strains the time constraints and resource that companies have and exceeds the patience of professional developers used to working with even modestly productive development environments. Silverlight should be more correctly call Silverbullet because it massively overdelivers on the productivity and capability needed to create RIAs. If standards are a problem, why not just turn the future definition Silverlight over to a standards body like Netscape did with Javascript and whoever did with HTML? Then the standards people would have their objections undercut and those of us who actually do development could get on with our work. (Bryan Morris)


Perhaps MS should consider releasing a lightweight SL runtime for low power handheld devices. This make great sense, because these small screen interfaces normally use fancy animations with just a minimal input control set, and a lightweight runtime would allow MS to easily port SL to a large number of low power devices.
The apparent problem now is that SL is rather weighted with features -- many of which are appropriate only in larger screen environs, and this limits the potential device audience. This is likely why WP7 required a more robust engine. Perhaps a simple solution would be to offer WP7 with the full runtime, but publish lightweight runtimes for the rest of the mobile universe. This would give WP7 a control set edge, and at the same time, would allow most (efficiently coded) apps to cover the bulk of the device universe.
The iPhone and other market-significant proprietary boxes will quite likely be pressed by market forces or lawsuits into support other runtimes, such as Flash and SL. A lightweight runtime option makes SL more palatable to these vendors, since they wish to protect product performance perceptions, but at the same, wish to enjoy revenues from app sales. (Handled device suggestion)


Silverlight is not and never will be the one tool to use for all situations but it continues to be a very useful tool for many situations.
I'm typing this on a iPad and so I cant use many of my own Silverlight apps in the same way that Flash isn't available to me.
After lunch I'll go back to my desk and continue to work on my current Silverlight project which is the best tool for that particular project and environment with some support software being written in MVC2 for the web.

To get angry for being told Silverlight won't run on iPads and some other environments is madness, we already know this. If you want to hit every environment, use an open standard like H5 and accept the limitations that come with it. Judge on a project by project basis. (kaseciu pildymas)


I understand your point and your choice of client side technology is the most reasonable choice given the platforms you are targetting. However that does change nothing about Javascript not being suitable for complex client application development. I believe that the main reason for the choice has nothing to do with Javascript qualities as a language and development technology rather than the simple fact that Javascript is available on all those platforms and Silverlight is not. And I believe you would seriously consider Silverlight or other technology based on statically typed language, full cross-browser and cross-platform compatibility etc. if it was supported on all those platforms.
My understanding of Microsoft's message is "we are not able to put Silverlight on every platform so we are moving to HTML5/Javascript". And my fear is that it will slow down and with time maybe even stop Silverlight development and expansion because Microsoft "already has a strategy to get you everywhere" so why invest to Silverlight. Or at very least "why invest to Silverlight in a pace like last years", which is also disappointing.
HTML5 is a must have, there is no doubt about it, but it should not affect Silverlight in any way. (Martin)


I am not sure why so many people blame Microsoft for their commitment to Silverlight. It was quite clear from the beginning that Silverlight will be only available for Windows platform. I don't think this decision changed to much. If you stick with Widows platform you will be fine in any case. If you wanted to have a cross platform solution Silverlight was never a good choose or did some of you naively think that it will be ported to other platforms? (Aleximo)


I commited our development team and reputation to Silverlight. And now I have been left high and dry ! I am not really convinced by this Blog Post. The message is out there, Microsoft is adopting HTML5 in preference to developing Silverlight further. Microsoft are just going to let Silverlight die, after a couple more weak releases. Shopw me the Silverlight Roadmap for the next 5 years, on the Main Microsoft.com page, and maybe you will convince the Developer and their bosses that we have all not just adopted a turky technology.
I should have learn't from the J++ experiment.
I will never trust MS again. (No longer trust Microsoft)
I think some of you are missing the big picture. Whether or not Silverlight's direction has "shifted" or whether or not HTML5 is a full replacement is tangential at best to the point Bob made in his original quote.
Many of you have been saying Silverlight is "cross platform". If we were in the 90s, this would be right, it covers multiple browsers on the two largest operating systems.
Bob's comments are simple: web development is not about cross browsers, and it's definitely not about two operating systems. The ecosystem of web applications on a broad scale is widening greatly to include many new OSes, hardware types, form factors, screen sizes, hell even bandwidth assumptions are up in the air at this point.
If you wanted a "cross platform" web site or web application, Silverlight isn't and never was the right answer. The only difference between last week and this week is that Bob pointed out that it is infeasible to port Silverlight to all of these devices, form factors, and platforms. That should have been obvious to anyone knowledgable enough to be on this thread; him saying it is just a rubber stamp on something intuitively true.
This was true last week and it'll be true next week: If you're trying to come up with a desktop application that is loaded through a web interface, and you're okay with only supporting two operating systems, Silverlight will give you some nice bells and whistles for grander application. However, if you're looking to make a truly cross platform web solution, you need to be using HTML and its related standards and technologies. (ChrisC)
El panorama está dado...Hay otros elementos de gran interés, que en todo caso, irán en otro momento. Por ahora es suficiente. Un común denominador entre tantos desarrolladores del ecosistema de productos de Microsoft, es la nula referencia entre todos ellos a herramientas de desarrollo basado en modelos, o al menos, referencias a lenguajes específicos de dominio,  a pesar que durante dos años el tema fue un caballo de batalla de Microsoft. Sin embargo, en el fárrago de lenguajes y arquitecturas, éste debiera ser el punto que les diera perspectiva y tranquilidad ante abruptos cambios de frente o apariciones de nuevas arquitecturas. Un elemento general es el sentido de decepción y vacío, frente a la inversión de horas y dinero, cuando el dueño de un producto los deja solos y sin respuesta. Una estrategia no recomendable, existiendo la alternativa del desarrollo basado en modelos, en el sabor que se desee.

sábado, octubre 16, 2010

Oracle/Java: Golpe de timón de IBM?

Leído primero en Infoq, y luego en todos lados...IBM anuncia que colaborará con Open Java Community (OpenJDK):
REDWOOD SHORES, CA & ARMONK, NY - 11 Oct 2010: Oracle (NASDAQ: ORCL) and IBM (NYSE: IBM) today announced that the companies will collaborate to allow developers and customers to build and innovate based on existing Java investments and the OpenJDK reference implementation. Specifically, the companies will collaborate in the OpenJDK community to develop the leading open source Java environment.
With today's news, the two companies will make the OpenJDK community the primary location for open source Java SE development. The Java Community Process (JCP) will continue to be the primary standards body for Java specification work and both companies will work to continue to enhance the JCP.
The collaboration will center on the OpenJDK project, the open source implementation of the Java Platform, Standard Edition (Java SE) specification, the Java Language, the Java Development Kit (JDK), and Java Runtime Environment (JRE).
Oracle and IBM will support the recently announced OpenJDK development roadmap, which accelerates the availability of Java SE across the open source community.
"The Java community is vital to the evolution of the Java platform," said Hasan Rizvi, senior vice president, Oracle. "The collaboration between Oracle and IBM builds on the success of OpenJDK as the primary development platform for Java SE."
"IBM, Oracle and other members of the Java community working collaboratively in OpenJDK will accelerate the innovation in the Java platform," said Rod Smith, vice president, emerging technologies, IBM. "Oracle and IBM's collaboration also signals to enterprise customers that they can continue to rely on the Java community to deliver more open, flexible and innovative new technologies to help grow their business."
Java is a general-purpose software development platform that is specifically designed to be open and enable application developers to "write once, run anywhere." The platform is most widely used in business software, web and mobile applications.
Una ola de comentarios sobre este movimiento. Existe coincidencia en que este acuerdo, más allá de todo lo positivo que pueda tener, también tiene un perdedor: la implementación de Java Apache Harmony, de la cual participa IBM y colisiona con OpenJDK. Dice InfoQ:
InfoQ asked if IBM would continue to support both Apache Harmony and the other ASF projects with which it is involved. Smith suggested that they would, but also made it clear that IBM would be shifting its development effort from Apache Harmony to the OpenJDK. As part of this, Smith noted that IBM could bring some innovations from the Harmony project across to the Java SE Reference Implementation.
¿Qué rumbo tomará Java ahora? InfoQ recoje algunas opiniones positivas:
De Mike Milinkovich, de la Fundación Eclipse:
Today’s announcement that IBM is going to join forces and work with Oracle on OpenJDK is good news for Java, and by extension for Eclipse. All of us who live within the Java ecosystem need to recognize that this fundamentally strengthens the platform, enhances the business value of Java and offers the hope of an increased pace of innovation.
Although it will take a while for all of the ramifications and reactions to become clear, at its face the announcement challenges the conventional wisdom that the future of Java is going to be a fractured one. Some recent examples of these expectations can be seen in blog posts like James Governor’s “Java: The Unipolar Moment, On distributed governance for distributed software” and Joseph Ottinger’s “The Future of Java: forking, death, or stasis”. When I read them just a short time ago, I thought they accurately reflected the likeliest outcomes for Java’s sure-to-be fractious future. Now I am much more optimistic that we can get back to innovation.
To me the overarching motivation is obvious. Both IBM and Oracle have a shared interest in assuring their enterprise customers that Java was, is and always will be the safe technology choice that they’ve been selling for the past ten to fifteen years. As much fun and excitement as a further escalation of the “Java Wars” would have been, both companies have a very large vested business interest in combining forces, closing ranks and focusing on reassuring their customers that Java should remain their platform of choice.
This announcement fundamentally alters the equation in at least three important ways.
  • The presumption of conflict: Implicit in almost all of the recent writings on the future of Java is the notion that IBM’s interests would lie in direct competition, if not outright conflict with Oracle’s. Many have been assuming that IBM would eventually snap and declare war on Oracle’s Java hegemony, with the battles being fought in places like OSGi, Apache and Eclipse. It is now apparent that is not going to happen. Furthermore, now that IBM is working with Oracle on OpenJDK, we can expect a lot more mutual support within the JCP on driving specifications, especially platform specifications, forward.
  • Oracle is focused on reviving the business of Java: In case you hadn’t noticed, Oracle’s stewardship of Java is going to be a significant departure from Sun’s. As Amy Fowler said…this is a practical company who isn’t suffering from an identity crisis and knows how to make money from software.” A couple of thoughts on the differences: First and foremost Oracle actually has resources to invest in moving Java forward, whereas Sun’s financial weakness prevented forward progress for at least the past three years. Second, Oracle is putting in place the software engineering discipline and process in place to ensure that future releases of Java can happen on a much more reliable and predictable timetable than Sun. Third, Oracle is large enough and confident enough in its execution that it is much more comfortable in striking business deals with its co-opetition such as IBM. It will be darn interesting to see if they are successful in signing up more participants down the road. And finally, there will be less talk about community-driven motivations and more focus on the business. In my opinion, all but the last of those are unequivocally positive. But Oracle’s current focus on the business at least offers the hope that it may pay community dividends down the road. It is a lot easier for large companies to consider community motivations when they’re profitable and feel that they have momentum on their side. The past couple of years of Java have been years of stalemate, lack of innovation and lost opportunities. Turning that around has to be job one if Oracle is going to see a return on its acquisition.
  • This is an inflection point in the Oracle-IBM relationship: If you think back a few years ago, IBM and BEA were two companies who competed fiercely in the Java marketplace, but managed to collaborate on many JCP specifications and in numerous open source projects at places such as Apache and Eclipse. It was a mature industry relationship. Maybe I’ve missed it, but I haven’t seen a similar historical pattern with IBM and Oracle, even after Oracle acquired BEA. This is an important step in the relationship between the two companies, at least in the Java space. Hopefully it is a harbinger of additional collaboration.
The big question is what are going to be the reactions of the other significant players in the Java ecosystem. The actions of Google, SAP and VMware in particular will all be interesting to watch.
 De Mark Reinhold, Chief Architect de Java Platform Group en Oracle:
I’m very pleased that IBM and Oracle are going to work more closely together, and that we’re going to do so in the OpenJDK Community. IBM engineers will soon be working directly alongside Oracle engineers, as well as many other contributors, on the Java SE Platform reference implementation— starting with JDK 7.
I expect IBM’s engineers to contribute primarily to the class libraries, working with the rest of us toward a common source base for use atop multiple Java virtual machines. We each have significant ongoing investments in our respective JVMs; that’s where most of the enterprise-level feature differentiation between our respective products is found, and it makes sense for that to continue. Focusing our efforts on a single source base for the class libraries will accelerate the overall rate of innovation in the JDK, improve quality and performance, and enhance compatibility across all implementations.
Our tighter collaboration will be evident not just in OpenJDK but also in the Java Community Process. IBM has endorsed Oracle’s proposal for Java SE 7 and Java SE 8, which already has strong support from across the community. We’ll also join forces to enhance the Java Community Process so that it remains the primary standards body for Java specifications.
This is excellent news, for the Java SE Platform and for OpenJDK. I’ve gotten to know many of IBM’s top Java engineers over the years, and I now look forward to working more closely with them.
También es muy importante la opinión de Bob Sutor, con larga responsabilidad en este área en IBM:
When people talk about open source, the notion of “forking” often comes up. The idea is that some folks are not happy with the direction in which a project is going, so they take a copy of the source code, come up with a new name, and set up shop elsewhere. This is no guarantee that the newly forked project will be successful, but it functions as an important escape valve for those who have donated time and effort to a community project and want to see the work done in what they believe is the right manner.
You less often hear about what I’ll call a “reverse fork”: people developing largely similar but separate projects who decide that they instead want to work together. They can do this for a variety of reasons but it all comes down to “burying the hatchet” or otherwise resolving their differences for the sake of the project.
(...) IBM will work with Oracle and the Java community to make OpenJDK the primary high performance open source runtime for Java. IBM will be shifting its development effort from the Apache Project Harmony to OpenJDK. For others who wish to do the same, we’ll work together to make the transition as easy as possible. IBM will still be vigorously involved in other Apache projects.
We think this is the pragmatic choice. It became clear to us that first Sun and then Oracle were never planning to make the important test and certification tests for Java, the Java SE TCK, available to Apache. We disagreed with this choice, but it was not ours to make. So rather than continue to drive Harmony as an unofficial and uncertified Java effort, we decided to shift direction and put our efforts into OpenJDK. Our involvement will not be casual as we plan to hold leadership positions and, with the other members of the community, fully expect to have a strong say in how the project is managed and in which technical direction it goes.
We also expect to see some long needed reforms in the JCP, the Java Community Process, to make it more democratic, transparent, and open. IBM and, indeed Oracle, have been lobbying for such transformations for years and we’re pleased to see them happening now. It’s time. Actually, it’s past time.
Ultimately this is about making Java more successful and pervasive than ever before. Java is not about any single company’s technical direction and it helps prevent lock-in. It runs on many, many different operating systems and hardware platforms. As a blatant plug, let me say Java runs exceptionally well on Linux and IBM’s System z, POWER, and Intel-based hardware. Indeed Java is one of the open standards that makes System z the amazingly interoperable platform that it is.
Java is about compatibility and always has been. It’s not been easy to maintain runtime environments that are consistent across platforms while exploiting the underlying features and performance advantages of those platforms. With this newly unified OpenJDK open source project, we can give customers the confidence they need to continue to invest in Java-based solutions knowing that they will get the best technology, the most important innovations, and the tightest collaboration among industry leaders.
We believe that this move to work together on OpenJDK is in the best interests of IBM’s customers and will help protect their investments in Java and IT technology based on it.
So to summarize my opinions on this: OpenJDK represents the best chance to provide a top notch unified open source runtime for Java; customers will benefit by having first class Java open standards developed collaboratively and constructively; and our energy will be focused on working together and optimizing our joint work, rather than wasting time on duplicative projects.

De las opiniones críticas, hay una especialmente didáctica: la de Paul Fremantle, participante de proyectos de la fundación Apache, y coincidente en puntos esenciales con Sutor:
This week IBM announced it would be supporting Oracle's OpenJDK. At first glance it seems like "Great!"
Isn't it good that two big supporters of Java are getting behind a single open source project?
Well, in my personal opinion, no. It is bad. Bad for Java. I'll try to explain why.

The first point is that IBM are not just saying they will support OpenJDK. They are also saying that are pulling effort out of Apache Harmony. Apache Harmony is a project to build an Open Source JVM under the Apache license, rather than the GPL which is the license under which OpenJDK is available.

Harmony significantly predates OpenJDK and parts of Harmony are widely distributed in Android phones. Unfortunately there is a huge cloud over Harmony right now, and this news just made that cloud a good deal blacker. The lack of some IBM committers on the project isn't the problem. Apache encourages enough diversity that projects live on when one company pulls out.

To understand the clouds over Harmony let's first look at the legal situation here. Intellectual property, as we all know, is protected by two main models: copyright and patents. Simplifying hugely, copyright is about copying code, patents about copying ideas.

Apache Harmony was designed and built as a clean room implementation of Java. So no code was copied from any existing copyrighted JVM. But that doesn't protect against copying ideas - because even if the developers came up with the same idea independently, the patent still applies.

So how do Open Source projects protect themselves against patent issues?

The main way is to work with Open Standards that are covered by Open Specification promises or "Royalty Free" patent licenses. This is where major IP owners such as IBM and Microsoft have stated that they will not exert patent rights over either Open Source or Open Standard implementations of a particular standard.

Likewise most new standards from organizations such as OASIS are built on a Royalty Free basis, which means that all the companies that helped author the standard offer a free patent license to anyone implementing the standard.

There is a model under which Sun (and now Oracle) offers protection from patent issues: The Java Specification patent grant says that as long as you fully implement the Java specification and pass the tests that prove it - the Technology Compatibility Kit (TCK) - then you have a perpetual royalty-free license to patent rights that Oracle has over Java.

This sounds great. Not only has Sun/Oracle has made available Java under an Open Source license (GPL), but if you don't want to use GPL you can simply write another JVM that conforms to the tests and you won't be sued for patent infringement. Perfect. So what on earth are those whiners at Apache bothered about?

Unfortunately it isn't quite so simple. I hope you are following me so far. All Apache Harmony needs to do to protect against patent suits is to pass the TCK. Can Apache Harmony pass the TCK? Well, yes and no. Would it pass the TCK if the tests were run? Probably. Can the tests be run? No.

The TCK is not available to Apache in a way that allows Apache to run it. The JDK is available as Open Source, but the TCK isn't. To protect against patent issues, you have to talk to Oracle and get the TCK. And they will only give it to Apache with restrictions. In particular restrictions of a kind called Field of Use (FOU) restrictions.

Ok, this is becoming overly legal. I apologise. But I think its important to understand this story, because this really gets to the heart of how open Java is.

Open Source is not just "published code". If you take an Open Source library, then you are allowed to redistribute the code without prejudice. This is key to Apache and the Apache license. So Apache can't build in restrictions on who is allowed to take Apache code or what they can do with it. The Apache license doesn't allow it.

Unfortunately, Sun - and now Oracle - have said that they will only give the TCK to Apache if it restricts how the Harmony code can be used. Effectively what Sun/Oracle is trying to say is that Harmony code cannot be used by mobile devices (like Android). If Apache were to go along with this, it would mean shipping Apache Harmony under a different license from the Apache License. And this would no longer be Open Source.

Why not? Well a key part of the definition of Open Source is that there is no restriction on the Fields of Endeavour. In other words, if Apache agrees to the FOU restrictions that Oracle insists on, then the result would be that Harmony would not be Open Source. Naturally Apache cannot agree to that.

Let's recap. Anyone can create an Open Source JVM, but they cannot get patent protection unless they agree to Oracle's FOU restrictions, at which point it is no longer Open Source. Therefore no-one but Oracle can create an Open Source JVM without fear of being sued.

Ok, this all sounds highly legalistic and possibly quite theoretical so far. That was until Oracle sued Google over patents breached by Android phones running code from Harmony. The gloves are off. And the real result of this is that the only Open Source JDK that you can rely on having a patent grant is the OpenJDK. And if I modify OpenJDK then I am at the mercy of Oracle to grant me a TCK license.

Unfortunately this is simply bad for Java. Java as a language is threatened by many other new and old languages. For many users its simply a commodity runtime that they will use as long as it is commonly available. And knowing there are Open Source implementations that they can use is part of that decision. Knowing that there is effectively only one Open Source project that is free from Oracle's patent claims will affect the perception and the reality of Java's openness. And for many people the fact that this is under the GPL is an issue. You can see why IBM joined OpenJDK: Oracle has Apache Harmony in a tight place.

If you want to know more - as well as hearing the official Apache line as well as my own, then please take a look at Apache's letter to Sun when this first happened.

When this first blew up Sun was a struggling company that you could have argued needed the extra revenue Java licensing to mobile phones bought them, and which Harmony and Android threatened.

The question before us now is whether the same is true of Oracle, and whether Oracle is working in the best interests of its customers, the Java community, and the Open Source community. Do you believe that Oracle should license the TCK under an open license? And are you happy that despite the move to take Java Open Source, there really is no freedom to create Open Source implementations of the Java language.

The good news for Harmony is that Apache's diversity approach means that IBM pulling out won't harm the future of the code. The bad news is that there is one less company putting pressure on Oracle to make Java truly open.
Que Oracle piensa hacer valer sus patentes, lo demuestra la demanda abierta a Google por Android. Más allá de que los defensores de la fundación Apache se vean particularmente afectados, los reales hechos parecen darles la razón, aunque la decisión de IBM quizá tenga tanto valor como el esfuerzo de Apache en Harmony. Queda por ver si la voracidad no es enemiga de los buenos negocios.