¿Java es gratuito para el desarrollo móvil? [duplicar]

7

Q1. Me gustaría saber si es gratuito para un desarrollador (es decir, si no tengo que pagar regalías a Sun / Oracle) para desarrollar aplicaciones móviles (Android) en Java.

Después de leer este fragmento de código sobre el uso del campo Java, me da la impresión de que Java no es libre para el desarrollo móvil, ¿verdad?

  

... "Computadoras y servidores de escritorio de uso general" se refiere a las computadoras, incluidas las computadoras de escritorio y portátiles, o los servidores, que se utilizan para las funciones informáticas generales bajo el control del usuario final (por ejemplo, correo electrónico, navegación de Internet de propósito general y herramientas de productividad suite de oficina). El uso del Software en sistemas y soluciones que proporcionan una funcionalidad dedicada (distinta a la mencionada anteriormente) o diseñado para su uso en aplicaciones de software integradas o específicas de funciones, por ejemplo, pero no limitado a: Software integrado o incluido en sistemas de control industrial, < fuertes> teléfonos móviles inalámbricos, dispositivos de mano inalámbricos, netbooks, quioscos, dispositivos de TV / STB, discos Blu-ray, equipos de conmutación de control de red y telemática, impresoras y sistemas de gestión de almacenamiento, y otros sistemas relacionados están excluidos de esta definición y sin licencia bajo este Acuerdo ...

y de enlace

  

Aviso: la licencia de tecnología Java SE Embedded actualmente prohíbe el uso de Java SE en teléfonos celulares.

Q2. ¿por qué estos desarrolladores de Android Java no están pagando un centavo a Sun / Oracle?

    
pregunta exTrace101 27.09.2012 - 07:14

3 respuestas

3

Su lectura del fragmento de licencia de Java que cita es incorrecto no solo porque no se aplica a Android ( como se explica en otra respuesta ).

Como desarrollador de aplicaciones, no tiene que pagar nada a Sun / Oracle al desarrollar aplicaciones para cualquier dispositivo que tenga Java instalado (aquí, estoy hablando de Java "oficial", no de Android). El fragmento de licencia que citó cubre / protege otra cosa, a saber, la instalación de Java Runtime en este dispositivo.

  • Probablemente ya haya notado cómo instala libremente Java Runtime (JDK / JRE) en computadoras de escritorio, notebooks, servidores, ¿verdad? Eso es legal y oficial y cumple con la licencia que citó.

    Pero, si desea hacer lo mismo con cualquier otro dispositivo, esto no sería gratis, tendría que pagar / negociar con Oracle para obtener permiso para hacerlo.

En ese sentido, sería más fácil pensar en el desarrollo de Java móvil como piensas en el desarrollo para Windows. Microsoft no te cobrará por desarrollar aplicaciones para Windows. Pero no se le permite instalar libremente el sistema operativo Windows.

Del mismo modo, Oracle no le cobrará por desarrollar aplicaciones móviles. Pero no está permitido instalar libremente el tiempo de ejecución de Java en el dispositivo móvil.

    
respondido por el gnat 29.09.2012 - 00:13
4

P1

No necesita pagar a Sun / Oracle ninguna tarifa de licencia para desarrollar para Android.

El texto de la licencia que se cita en la pregunta se refiere a las implementaciones Java de Oracle. Si desea utilizar uno de estos, obviamente deberá aceptar una licencia según los términos de Oracle. Pero eso está completamente separado de Android. También está el OpenJDK , que es la principal implementación de código abierto de Java y se puede utilizar prácticamente en cualquier lugar sin restricciones.

P2

Esto es complejo, pero las razones son amplias:

  • Google básicamente diseñó toda la pila de Android independientemente de Sun / Oracle. Entonces, Oracle no tiene derechos de IP con respecto a la implementación.
  • Los tribunales generalmente han mantenido que no se pueden proteger los derechos de autor de una sintaxis de idioma o definición de API. Por lo tanto, Google (¡y usted!) Pueden usar la sintaxis de lenguaje Java y las definiciones de la API de Java central libremente.
  • Oracle posee la marca registrada de Java. Por lo tanto, Google no puede anunciar Android como "Java" a menos que obtenga una licencia apropiada de Oracle. Pero a Google realmente no le importa, ya que lo están publicitando bajo su propia marca de Android.

Oracle intentó demandar a Google recientemente por estos problemas y perdió bastante.

P.S. IANAL, así que no trates esto como un consejo legal. Obviamente.

    
respondido por el mikera 27.09.2012 - 10:40
-3

Esta es más una cuestión de licencias y, por lo tanto, puede que no sea realmente una pregunta relevante en este espacio, pero creo que los desarrolladores de Android no pagan tarifas de licencias porque construyen sus aplicaciones en un sistema Java ya implementado (eso supongo ya ha sido pagado por Google).

Entonces, si quisiera crear su propio sistema operativo en un dispositivo móvil basado en Java, es probable que Sun / Oracle llamen a su puerta. Sin embargo, si está creando este software sobre el sistema Android, creo que su uso ya está cubierto en las licencias que Google tiene con Sun / Oracle.

    
respondido por el Dylan 27.09.2012 - 07:32

Lea otras preguntas en las etiquetas