è Java gratuito per lo sviluppo mobile? [duplicare]

7

Q1. Mi piacerebbe sapere se è gratuito per uno sviluppatore (voglio dire, se non dovessi pagare royalties a Sun / Oracle) per sviluppare app mobili (Android) in Java?

Dopo aver letto questo frammento sull'uso del campo Java, ho l'impressione che Java sia not gratuito per lo sviluppo mobile, giusto?

.."General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, netbooks, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement...

e da link

Notice : The Java SE Embedded technology license currently prohibits the use of Java SE in cell phones.

Q2. come mai questi pletora di sviluppatori Android Java non stanno pagando Sun / Oracle a un centesimo?

    
posta exTrace101 27.09.2012 - 07:14
fonte

3 risposte

3

La tua lettura della licenza Java snippet che hai citato è sbagliato non solo in quanto non si applica ad Android ( come spiegato in un'altra risposta ).

Come sviluppatore di applicazioni, non devi pagare nulla a Sun / Oracle quando sviluppi applicazioni per qualsiasi dispositivo dotato di Java installato (qui, sto parlando di Java "ufficiale", non di Android). Lo snippet di licenza che hai citato copre / protegge un'altra cosa, ovvero l'installazione di Java runtime su questo dispositivo.

  • Probabilmente hai già notato come puoi installare liberamente Java runtime (JDK / JRE) su computer desktop, notebook, server, vero? Questo è legale e ufficiale e questo è conforme alla licenza che hai citato.

    Ma, se vuoi fare lo stesso con qualsiasi altro dispositivo, questo non sarebbe gratuito: dovresti pagare / negoziare con Oracle per ottenere il permesso di farlo.

In questo senso, sarebbe più semplice pensare allo sviluppo Java mobile come si pensa allo sviluppo per Windows. Microsoft non ti addebiterà alcun costo per lo sviluppo di applicazioni per Windows. Ma non ti è permesso installare liberamente il sistema operativo Windows.

Allo stesso modo, Oracle non ti addebiterà alcun costo per lo sviluppo di applicazioni mobili. Ma non ti è permesso installare liberamente Java runtime sul cellulare.

    
risposta data 29.09.2012 - 00:13
fonte
4

Q1

Non è necessario pagare a Sun / Oracle eventuali costi di licenza da sviluppare per Android.

Il testo della licenza citato nella domanda si riferisce alle implementazioni Java di Oracle. Se si desidera utilizzare uno di questi, sarà ovviamente necessario accettare una licenza in base ai termini di Oracle. Ma questo è completamente separato da Android. C'è anche il OpenJDK , che è la principale implementazione open source di Java e può essere usato praticamente ovunque, senza restrizioni.

Q2

Questo è complesso, ma i motivi sono in generale:

  • Google ha praticamente progettato l'intero stack Android indipendentemente da Sun / Oracle. Quindi Oracle non ha diritti IP sull'implementazione.
  • In genere, i giudici hanno affermato che non puoi copyright una sintassi della lingua o una definizione dell'API. Quindi Google (e tu!) Può utilizzare liberamente la sintassi di Java langauge e le definizioni di base dell'API Java.
  • Oracle possiede il marchio Java. Pertanto, Google non può pubblicizzare Android come "Java" a meno che non ottenga una licenza appropriata da Oracle. Ma a Google non interessa molto perché lo pubblicizzano con il proprio marchio Android.

Oracle ha provato a fare causa a Google di recente su questi problemi e ha perso molto male.

P.S. IANAL quindi non considerare questo come un consiglio legale. Ovviamente.

    
risposta data 27.09.2012 - 10:40
fonte
-3

Questa è più una questione di licenza e quindi potrebbe non essere effettivamente una domanda pertinente in questo spazio, ma credo che gli sviluppatori Android non paghino i costi di licenza perché costruiscono le loro applicazioni su un sistema Java già in atto (che presumo è già stato pagato da Google).

Quindi, se volessi creare il tuo sistema operativo su un dispositivo mobile basato su Java, probabilmente busserai a Sun / Oracle alla tua porta. Tuttavia, se stai costruendo questo software sul sistema Android, credo che il tuo utilizzo sia già coperto dalle licenze che Google ha con Sun / Oracle.

    
risposta data 27.09.2012 - 07:32
fonte

Leggi altre domande sui tag