C# vs Java… El lado “no” técnico

Largo ha sido largo e intenso el debate entre los programadores amantes de los dos lenguajes. Pros y Contras existen en cada uno… pero en este caso voy a enfocar el lado no técnico que ha sacudido el entorno en los últimos días, y es el tema del licenciamiento.

Y muchos creen que Java es gratis porque parte del mismo lo es. Ahí comienza el problema. Java SE (Standard Edition) se puede descargar directo de Oracle, pero quién lee el contrato de licenciamiento completo antes de instalarlo y distribuirlo? En realidad, en letras pequeñas el uso es gratis para programar (a diferencia de la versión Java SE Advanced Desktop) y la distribución también, pero si de verdad necesitas que una aplicación empresarial funcione se requiere de la activación de funciones que requieren opciones pagas. Esa es la parte oscura del contrato de licenciamiento.

A dónde va todo este asunto? En los últimos meses, Oracle ha comenzado a auditar a los usuarios de Java y ha comenzado a cobrarles. Según un artículo en Business Insider un minorista sin nombre que se sometió a una auditoría en Java, recibió una factura de US$100,000, pero luego, aparentemente fue renegociado hasta US$30,000. Java SE cuesta entre US$40 a US$300 por usuario nombrado o entre US$5000 a US$15000 por procesador.

La historia con C# en .Net es distinta. Si bien Visual Studio en sus orígenes no es gratuito el .Net Framework sobre el cual se basa el lenguaje si lo es y las aplicaciones desarrolladas con completamente royalty-free. Actualmente Microsoft ofrece una versión de Visual Studio Community Edition que es completamente gratis. Y qué hay del .Net Framework en la actualidad? Es un proyecto Open-Source.

Oracle ve sus ingresos por ventas de software disminuir mientras intenta alcanzar a Amazon y Microsoft en su carrera hacia la nube y busca desesperadamente cubrir esos faltantes.

Quien es programador de Java no creo que deba alarmarse por la noticia. Debe solo documentarse correctamente y tomar las precauciones necesarias sobre el licenciamiento y verificar si sus aplicaciones violan los términos de activación de componentes comerciales.

Pero si eres un ejecutivo de empresa responsable por los costos y vas a comenzar un proyecto de desarrollo interno… Cuál lenguaje optarías en tu equipo de programación?

Leave a Reply