Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/09/2010, à 19:02

ehmicky

Java et Oracle

Salut à tous,

Je suis sur le point d'apprendre Java. Je me dis que c'est important parce que très populaire, il y a de nombreux frameworks intéressants et je crois que c'est un bon langage pour tout ce qui est multithreading.
Maintenant, je suis assez fanatique du libre, et j'ai tendance à ne vouloir apprendre que des langages ouverts. Je ne veux pas m'enfermer dans un langage propriétaire.
Or, depuis le rachat de Java par Oracle et le procès contre Android, je me pose de vraies questions.
Java me semblait pourtant être sous GPL. Or, mis à part peut-être le logo qui est sous trademark, je vois donc pas comment Oracle peut attaquer Google.
Donc du coup, je me dis qu'il doit y avoir quelque chose de pas 100% libre dans Java ?
  - est-ce qu'une partie du langage n'est pas GPL ?
  - s'agit-il d'une partie de la librarie standard ?
  - est-ce que le langage et la librairie standard sont GPL, mais la machine virtuelle ne l'est pas. Du coup, les développeurs / entreprises souhaitant porter cette machine virtuelle sur leur plateforme doivent payer une licence, et c'est ce que l'équipe d'Android a évité de faire, en faisant de la rétro-ingénieurie sur la VM de Java ?

Je ne comprends pas vraiment les tenants et les aboutissants de cette histoire comme vous le voyez, et j'aimerais savoir ce qu'il en est, parce que s'il s'avérait que les années qui suivent doivent voir Java devenir de plus en plus propriétaire, il n'est pas question que je l'apprenne tout de suite (c'est un choix personnel).

Merci !


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#2 Le 30/09/2010, à 19:22

Hedj-our

Re : Java et Oracle

Si c'est apprendre un langage pour le "plaisir" je pense que certain te conseillerons le Python plus que le java, les deux sont des langages de programmation objet.
Personnellement je n'ai pas eut le temps de me pencher dans ce qui semble être un troll java vs python puis que je suis obligé d'apprendre le java.


Re-nouveau sous nux mais libre depuis un moment:-)
Re-Passé sous l'O-S du Grand MAL longtemps mais quitté pour le lynx
Ils domineront le monde... (faute de pouvoir placer l'image voici le lien)

Hors ligne

#3 Le 30/09/2010, à 19:26

ehmicky

Re : Java et Oracle

Ce qui m'intéresse dans Java, c'est pas vraiment l'aspect POO, j'ai déjà les bases en C++, je pense qu'il vaudrait mieux pour moi approfondir C++ si c'était ma motivation.
Mais en fait ma question n'est pas de savoir si je devrais apprendre Java ou un autre langage d'un point de vue technique, mais de savoir dans quelle mesure c'est un langage libre, parce que c'est quelque chose qui m'importe beaucoup.


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#4 Le 30/09/2010, à 20:04

bloublou

Re : Java et Oracle

C'est un langage Libre depuis quelques années.

Et sinon, ben qu'Oracle puisse faire des procès, c'est pas lié à la GPL ou pas… C'est pas parce que c'est sous GPL que le code n'est pas le leur…

Hors ligne

#5 Le 30/09/2010, à 20:17

Hedj-our

Re : Java et Oracle

Merci louis tu me rassure je me demandais s'il était libre ou pas


Re-nouveau sous nux mais libre depuis un moment:-)
Re-Passé sous l'O-S du Grand MAL longtemps mais quitté pour le lynx
Ils domineront le monde... (faute de pouvoir placer l'image voici le lien)

Hors ligne

#6 Le 30/09/2010, à 20:38

ehmicky

Re : Java et Oracle

Merci, ta réponse me rassure.

Cependant, je veux bien que le fait que Java soit sous GPL n'empêche pas qu'Oracle soit propriétaire de la licence GPL.
Par contre, si, cela est sensé empêché une bonne partie des procès liés aux questions de propriétés intellectuelles puisque la GPL accorde des droits importants aux utilisateurs.
Bien que le code soit "le leur", les conditions pour lesquels ils peuvent intenter un procès pour utilisation de "leur" code est grandement réduit.

C'est pourquoi j'aimerais savoir si quelqu'un connaissait vraiment les reproches précis fait par Oracle à Android, et, si c'est le cas, quelles sont les parties non-GPL de Java impliquées ?

Edit : il me semble que le point du procès soit la VM Java d'Android. Ce que je ne comprends pas, c'est que la licence GPL3 est sensée donner la permission d'utiliser le code pour faire du profit notamment. Donc je ne vois pas en quoi la VM Java d'Android est susceptible d'enfreindre la propriété intellectuelle d'Oracle. Ils n'ont pas besoin de leur accord pour construire une VM.
Edit 2 : il y a déjà une partie de Java qui n'est pas libre selon ce que j'ai l'air de lire, c'est le TCK. J'ai l'impression que c'est impliqué dans le procès Oracle/Google.
Edit 3 : un commentaire sur un site quelconque :

To sum it up Oracle/Sun apparently charge a fee for licensing Java for mobile use. So they are claiming that Google is using Java for free (the claim Android uses Java in the filing). The only problem is that Google isn't using Java in terms of the JVM or class libraries at all. We all know they use their own VM, Dalvik, and most probably don't know that they use the Apache Harmony class libraries instead of those in the JDK. What Google does use is the Java syntax just like Microsoft uses the Java syntax in C#. What Oracle in effect is claiming is that you can't make your own implementation of the Java language. With Java being GPLv2 code I don't think they can make that claim unless the syntax is covered under something else. It would have to come down to literally the mobile implementation since its supposed to be free to do so otherwise

Il me semble que le fait de développer une VM pour Java ME ne soit pas couvert par la GPL.

Dernière modification par ehmicky (Le 30/09/2010, à 21:52)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#7 Le 01/10/2010, à 14:36

doc

Re : Java et Oracle

Oracle se plaint de violation de brevets par Google sur la plateforme Android. Oracle ne conteste pas le droit à Google d'utiliser Java ou d'avoir codé Dalvik (n'importe qui a le droit de le faire), ils se plaignent de violer les brevets suivants:

United States Patents Nos. 6,125,447; 6,192,476; 5,966,702; 7,426,720; RE38,104; 6,910,205; and 6,061,520.

En regardant les brevets concernés, les reproches concernent par exemple:

- Method And Apparatus For Preprocessing And Packaging Class Files
- Method And Apparatus For Resolving Data References In Generate Code
- Interpreting Functions Utilizing A Hybrid Of Virtual And Native Machine Instructions
- Method And System for Performing Static Initialization

et traduction Google (mon cerveau est fatigué):

- Méthode et dispositif pour le prétraitement et l'emballage des fichiers de classe
- Méthode et appareil pour résoudre les références données dans du code généré
- Interprétation des fonctions utilisant un hybride d'instructions machine virtuelle et natives
- Méthode et système pour initialisation statique

Ils les accusent aussi de violation de copyright. Il y a des parties du JDK de Sun qui ne sont pas libres (c'est pour cela que l'openJDK existe), donc apparement (à confirmer) Oracle se plaindrait que Google viole le copyright de certaines de ces parties.

Si vous voulez des précisions d'ordre technique sur les brevets en question je peux faire un petit laïus.

Dernière modification par doc (Le 04/10/2010, à 12:04)

Hors ligne

#8 Le 01/10/2010, à 18:27

ehmicky

Re : Java et Oracle

Merci, c'est ce genre de réponses que j'attendais !
Ok, donc je pense que j'avais vu ça pour ce qui est du JDK.
Maintenant, je cromprends pas trop ce à quoi ces brevets font référence, par rapport à Java : cela fait-il référence à la syntaxe même du langage, à la VM, ou à autre chose ? Par exemple l'initialisation statique, si c'est comme en C++ et que ça fait référence au fait d'initialiser une variable static, alors en C++, c'est le compilateur qui s'occupe de ça, mais en Java (que je connais pas !), j'imagine que ça doit être la VM, non ? Donc, cela voudrait dire que le code de la VM Sun/Oracle n'est pas libre ?


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#9 Le 01/10/2010, à 18:58

seb24

Re : Java et Oracle

Je viens de lire que Java pourrait aussi prendre ses distances avec oracle...
http://www.zdnet.fr/actualites/la-communaute-java-prend-elle-aussi-ses-distances-a-l-egard-d-oracle-39755058.htm

Dernière modification par seb24 (Le 01/10/2010, à 18:59)


Mini PC NUC avec Ubuntu: ebay

Hors ligne

#10 Le 01/10/2010, à 21:39

L00d0v1c

Re : Java et Oracle

Ce serais formidable en effet !

Les poids lourds des solutions libres enfin indépendants. cool

Dernière modification par Fishkilleur (Le 01/10/2010, à 21:40)


Pour votre culture, chargez trois pages de Wikipédia par jour.

Hors ligne

#11 Le 04/10/2010, à 12:32

doc

Re : Java et Oracle

ehmicky a écrit :

Merci, c'est ce genre de réponses que j'attendais !

De rien.

ehmicky a écrit :

Ok, donc je pense que j'avais vu ça pour ce qui est du JDK.
Maintenant, je cromprends pas trop ce à quoi ces brevets font référence, par rapport à Java : cela fait-il référence à la syntaxe même du langage, à la VM, ou à autre chose ? Par exemple l'initialisation statique, si c'est comme en C++ et que ça fait référence au fait d'initialiser une variable static, alors en C++, c'est le compilateur qui s'occupe de ça, mais en Java (que je connais pas !), j'imagine que ça doit être la VM, non ?

Les brevets font référence à des méthodes d'optimisation du Java et non pas au langage lui-même.

Typiquement l'initialisation statique en Java se fait par l'intermédiaire de méthodes spécifiques (les clinits, pour CLass INITialisation), ces méthodes sont résolues et appelées at runtime au loading d'une classe la plupart du temps. Une méthode d'optimisation sur embarqué pour le Java consisterait à résoudre ces clinits at compile-time et d'envoyer un format spécifique (par exemple un fichier xml décrivant la classe et la valeur de ses fields statiques) que la VM reconnaitrait. Ainsi au démarrage de la VM les clinits seraient déjà exécutées et tous les fields statiques initialisés ce qui évite à la VM de le faire d'ou un temps de démarrage des applications plus rapide. Tu vois rien ne dépend du langage mais bien de méthodes et outils d'optimisation pour le Java.

Dans le même sens il fut un temps où Sun voulait vendre leur VM avec un garbage collector (G1) optimisé et garder celle pas optimisée gratuite. La encore rien n'empêchait de coder sa VM mais on ne pouvait bénéficier du garbage collector qui roxxait des poney morts.

ehmicky a écrit :

Donc, cela voudrait dire que le code de la VM Sun/Oracle n'est pas libre ?

Le code de la VM de Sun/Oracle n'est pas libre. Une partie seulement l'est. En effet certaines parties sont détenues par Oracle et d'autres ont été acheté du temps de Sun et même Oracle n'en a pas les droits. Ces parties de code propriétaire ont été recodé pour l'OpenJDK grâce au projet icedtea.

Mon avis dans cette histoire c'est qu'Oracle cherche à mesurer son emprise sur le langage en testant ce qui pourrait passer et gagner en justice face à un poids lourd du logiciel. Et ensuite mettre à genoux tous ceux qui pourraient les faire chier sur ces points.

D'où l'importance de fuir le plus vite possible cette entreprise à deux balles qui menacent OpenOffice, MySQL, et Java (pour ne citer qu'eux).

Dernière modification par doc (Le 04/10/2010, à 12:35)

Hors ligne

#12 Le 06/10/2010, à 22:54

sam7

Re : Java et Oracle

seb24 a écrit :

Je viens de lire que Java pourrait aussi prendre ses distances avec oracle...
http://www.zdnet.fr/actualites/la-communaute-java-prend-elle-aussi-ses-distances-a-l-egard-d-oracle-39755058.htm

très bonne initiative ... bravo a eux tongue
java indépendant, ça sera beaucoup mieux comme ça wink


sam7 @ sweetux.org = "Faire connaître & promouvoir la culture libre"
& @ gafam.fr = "Faire connaître & promouvoir les alternatives aux GAFAMs"

Hors ligne

#13 Le 06/10/2010, à 23:05

ehmicky

Re : Java et Oracle

doc a écrit :

D'où l'importance de fuir le plus vite possible cette entreprise à deux balles qui menacent OpenOffice, MySQL, et Java (pour ne citer qu'eux).

+9000 smile (et OpenSolaris)
On dit toujours M$, M$..., mais Oracle est aussi un ennemi de l'Open Source et du logiciel libre. C'est une question de positionnement et de culture d'entreprise, et leur 3% de contribution au noyau Linux n'a pour moi rien à voir avec de la philanthropie.

Bon en tout cas, pour répondre à ma question initiale : cette histoire me fait peur malgré tout quant à l'avenir de Java. Il me semble que bien que le langage en lui-même soit libre, des points clefs de son intégration ne le sont pas, et qu'Oracle va tout faire pour accentuer ces points à l'avenir. Mais c'est juste une opinion !

Dernière modification par ehmicky (Le 06/10/2010, à 23:07)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#14 Le 28/01/2012, à 00:41

kironux

Re : Java et Oracle

Bonsoir,

Qu'en est-il alors ?
Je lis partout que c'est toujours comme ça, que rien n'a bougé.
Utiliser OpenJDK suffit-il pour développer entièrement de manière libre ? hmm

En fait, j'ai un tout petit projet, avec l'utilisation d'un Applet Java (sans l'Applet, mon programme perd toute son utilité), or j'ai remarqué qu'il n'y avait rien dans les autres langages qui puisse faire pareil sad

Dernière modification par kironux (Le 28/01/2012, à 00:57)

Hors ligne

#15 Le 28/01/2012, à 04:54

src

Re : Java et Oracle

Je pense que pour une application en entreprise, Java est plus judicieux. C'est ça ou les technologies de Microsoft comme .NET


Actuellement sur Manjaro Xfce (amd64)

Hors ligne

#16 Le 28/01/2012, à 12:16

kironux

Re : Java et Oracle

C'est juste pour un petit projet personnel ^^'
Mais le projet a impérativement besoin d'un Applet intégrable à une page web.

Or, il y a l'air d'avoir des soucis, certaines parties de la JVM ont été re-codées (projet Icedtea), je voulais juste savoir si il n'y avait plus d'ambiguïté (de problème de compatibilité) à utiliser la branche open-source Java, afin de rester dans la partie libre wink

Hors ligne