Pages : 1
#1 Le 30/09/2010, à 18: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, à 18: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, à 18: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, à 19: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, à 19: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, à 19: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, à 20: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, à 13: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, à 11:04)
Hors ligne
#8 Le 01/10/2010, à 17: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, à 17: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, à 17:59)
Mini PC NUC avec Ubuntu: ebay
Hors ligne
#10 Le 01/10/2010, à 20:39
- L00d0v1c
Re : Java et Oracle
Ce serais formidable en effet !
Les poids lourds des solutions libres enfin indépendants.
Dernière modification par Fishkilleur (Le 01/10/2010, à 20:40)
Pour votre culture, chargez trois pages de Wikipédia par jour.
Hors ligne
#11 Le 04/10/2010, à 11:32
- doc
Re : Java et Oracle
Merci, c'est ce genre de réponses que j'attendais !
De rien.
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.
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, à 11:35)
Hors ligne
#12 Le 06/10/2010, à 21:54
- sam7
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
très bonne initiative ... bravo a eux
java indépendant, ça sera beaucoup mieux comme ça
sam7 @ http://www.sam7.blog/
Hors ligne
#13 Le 06/10/2010, à 22:05
- ehmicky
Re : Java et Oracle
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 (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, à 22: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 27/01/2012, à 23: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 ?
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
Dernière modification par kironux (Le 27/01/2012, à 23:57)
Hors ligne
#15 Le 28/01/2012, à 03: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, à 11: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
Hors ligne
Pages : 1