JKoala : un portage d'OpenJDK sur Mac

Christophe Laporte |
Suite à la décision d'Apple de ne plus assurer le support de son implémentation de Java dans les prochaines versions de Mac OS X, les utilisateurs et les développeurs d'applications Java sont dans l'expectative d'une solution de remplacement. En attendant une éventuelle réaction d'Oracle, Emmanuel Puybaret a décidé de poursuivre le portage d'OpenJDK sous Mac OS X, et notamment le portage de la couche graphique AWT / Swing sous Cocoa.

OpenJDK est la version libre du langage de programmation Java. Un portage similaire avait été initié en 2007 suite à la décision d'Apple de ne pas porter Java 1.6 sur Tiger et Leopard (lire : Un portage non-Apple de Java 1.6 sur Tiger et Leopard). Ce dernier sera utilisé pour toute la partie qui ne concerne pas la partie graphique AWT / Swing.

Pour ceux qui désirent contribuer ou soutenir à ce projet, toutes les informations sont disponibles sur cette page.
Tags
avatar methos1435 | 

Oracle n'est t'elle pas partie en guerre contre les machines virtuelles tiers ?

Je pense qu'il faut juste attendre un peu. C'est oracle qui assurera le maintien de Java sous Mac OS X.

avatar Skwaloo | 

Pourquoi faire ?!

Apple à boucher l'avenir de Java sur MacOSX en l'[u]interdisant[/u] sur son Market. Pourquoi Oracle irait se casser la nénette ? Oracle à bien autre chose à faire.

avatar totorino | 

Parce que des tas d'applications pro n'ont pas vocations d'être sur le store.

avatar marc_os | 

@ skwaloo : Pourriez-vous citer vos sources chez Apple svp ?

avatar methos1435 | 

Le mac appStore va resté cantonné au """petites""" app. Je vois mal Microsoft reverser 30% de ses benefs de vente à Apple pour Office ou Adobe pour Photoshop, lightroom ... Donc en l'état actuel des choses, le marché de l'application à encore son mot à dire en dehors de l'appStore. Vu comme ça, Oracle va assurer la relève pour jav sur Mac OS X.

avatar lolodigital | 

Oracle n'assurera rien du tout.

Oracle est le contraire de SUN. Oracle rachète dans le but d'être incontournable en entreprise. Oracle est le MSFT du datamining.

Oracle n'est pas un précurseur ou un innovateur, oracle est un gros portefeuille.

Oracle lâchera toute techno non prédominante en entreprise qui lui permettrait de tenir ses clients par les coui.....

Je parierais mon slip que les jvm clients vont quitter l'escarcelle d'Oracle et seront données en pâture à la communauté libre...

avatar Skwaloo | 

@ totorino, j'ai peur de voir une réponse d'Oracle du genre : les Mac sont des pc compatible Linux et Windoz alors si les utilisateurs veulent utiliser Java ils n'auront qu'a installer ces OS là...

@ marc_os http://www.mac4ever.com/news/58251/mac_app_store_le_paradis_des_bisounours/

avatar Lemmings | 

J'adore, Apple annonce un "market", et hop... Il n'y a plus que ça comme source d'appli sur Mac ? :D Ils sont beau les fanboy !

avatar Skwaloo | 

@Lemmings, Apple à décidé d'arrêter de développer Java ? Oui.
Oracle à dit qu'il allait faire une version Java pour MacOSX ? Non (s'il en avait l'intention je pense qu'il n'aurait pas manquer de faire parler de lui en l'annonçant).
Quelqu'un à envie de payer une licence pour faire un moteur Java ? Pas entendu parler (ça m'étonnerait...).

Alors tes applis qui tu auras trouvé en dehors du "market" qui auront besoin de Java, tu en feras quoi ???

Là c'est toi qui fait le fanboy en faisant celui qui est sûr d'avoir une version à jour de Java à moyen terme.

avatar oomu | 

Apple ne développait PAS java

Apple développait cocoa-java, ils ont cessé cela il y a des années (puis ce fut viré de os X)

Oracle est le principal éditeur JAVA, ce n'est pas un "gros portefeuille". Ils sont contributeurs au noyau linux par exemple (système de fichier brtfs, entre autre).

Oracle va évidemment paquetager java pour os X, je ne vois pas la difficulté à cela.

Openjdk = oracle java. C'est JAVA 6 !

-
avec java 7, il n'existera plus de différence entre openjdk et oracle java (qui actuellement sont minimes), sauf si oracle change de plan.

avatar oomu | 

Apple ajoute java dans os x comme Flash actuellement ou comme Redhat (linux) intègre java dans linux : simple puzzle livré tout fait.

avatar oomu | 

"Alors tes applis qui tu auras trouvé en dehors du "market" qui auront besoin de Java, tu en feras quoi ???
"

ben à part limewire... bon ok... un convertisseur XSLT -> fOP -> epub java ? je doute que cela motive beaucoup de monde sur mac.

hein quoi ? vous êtes un professionnel jboss ? ho pardon ! et bien vous installerez la machine virtuelle java.

avatar oomu | 

y a vraiment aucun problème. (quasi comme d'habitude quoi)

avatar Buf000 | 

Juste pour info, Oracle (la base de donnée) a été portée sur Mac il y a quelques temps, et utilise Java à plusieurs niveaux (programme d'installation, outils et assistants divers, procédures stockées, entre autres) En gros, Oracle, c'est un coeur en C/C++, et énormément de Java autour.

Du coup, la question d'un JDK Oracle officiel pour Mac ne se pose plus vraiment : c'est certain qu'il y en aura un à relativement court terme, vu le manque à gagner que représenterait l'absence de Java sur Mac pour Oracle.

avatar Skwaloo | 

@oomu [25/10/2010 17:24]

"Apple ne développait PAS java"
Ben faut mettre Steeve au courant par qu'il à dit qu'Apple sortait toujours son Java avec 1 version de retard.

"Apple développait cocoa-java, ils ont cessé cela il y a des années (puis ce fut viré de os X)"
Et la mise à jour de la semaine dernière sortait de chez qui ?
Apple à dit que c'était sa dernière.

"Oracle est le principal éditeur JAVA,"
Ce n'est pas le principal éditeur, c'est celui qui en détient les droit depuis le rachat de SUN.

"Oracle va évidemment paquetager java pour os X, je ne vois pas la difficulté à cela."
Tu trouves ça évident de perdre de l'argent avec le temps de développeurs pour faire une version sur une plate-forme où le patron n'en veut pas sur son market ?
Je ne vois pas ce qui pourrait le poussé à faire ça vu qu'un Mac c'est un pc alors il y a moyen de faire tourner un Java d'un autre OS. Je préfère bien sûr qu'Oracle nous fasse une version native.

"Openjdk = oracle java. C'est JAVA 6 !"
Oracle demande une licence pour faire un moteur Java. C'est le problème qu'à Google en ce moment sur Android. Tu penses qu'un projet Open-Source peut payer une licence ?

Mais bon, quand on est prêt à naviguer entre les briques bleu par manque de Flash à cause du caprice d'iPapy on doit bien être prêt à ce passer de Java qui est le langage le plus utilisé au monde (d'après un récent sondage).

avatar Skwaloo | 

Merci @Buf000 pour cet éclairage.

avatar eTeks | 

@skwaloo
Merci pour tes précisions sauf que OpenJDK (contrairement à Java ME si j'ai bien compris) est sous licence GNU GPL avec exception du classpath. Ceci veut dire que n'importe qui peut enrichir OpenJDK s'il le distribue sous la même licence, sans payer quoi que ce soit à Oracle. C'est tout le but de JKoala justement. ;-)

avatar Skwaloo | 

Je ne crois pas que grâce à la licence GPL un logiciel peut se permettre d'utiliser des brevets sans payer. Et Java à des brevets et pour les utiliser Oracle oblige à payer.

Google est dans ce cas là : https://www.macg.co/news/voir/164911/oracle-attaque-google-en-justice

avatar Lemmings | 

skwaloo : La décision d'Apple est assez mauvaise en soit. Et comme toi je doute qu'Oracle fasse le travail, mais on ne sait jamais.

Cela dit, Apple aurait voulu se faire bouder dans le milieu de l'entreprise, ils n'auraient pas fait mieux !

Perso je m'en fou, j'utiliserais Java sur Windows... Tant pis.

avatar NicolasO | 

Independemment de la validite des brevets Oracle, l'Open JDK est distribue par Sun.
Donc pas de probleme de brevet sur l'Open JDK.

avatar Skwaloo | 

Je pense tout comme toi. On dirait que le succès des $ on donné l'envie à Steeve de se mettre tout le monde à dos. Ça m'écœure.

Moi ce sera un Linux. Ça fait longtemps que j'ai goûter aux proc ARM avec le RiscPC d'Acorn et je rêve d'y retourner. Je pense que je vais prendre une tablette ARCHOS 101 en attendant de me trouver un smartop.

avatar Skwaloo | 

SUN n'avait pas du tout les mêmes ambitions qu'Oracle.

... mais Oracle à acheter SUN.

avatar Mithrandir | 

@ skwaloo :
Non, le problème c'est que Google a appelé Javz un truc qui ne l'était pas, tout en récupérant tout ce qu'ils ont pu.

avatar Mithrandir | 

Pour continuer, la position de Google est très ambiguë, ils se posent en défenseur de Java devant la communauté Open Source, et ils indiquent qu'ils ont fait autre chose et qu'ils n'ont rien pris à Java quand ça les arrange... Je rappelle que IceTea n'a jamais été gêné par Sun ou Oracle, tout comme GNU Classpath d'ailleurs.

Le problème d'Harmony, c'est que les motivations d'IBM qui a été l'initiateur du projet et le plus gros contributeur n'étaient pas très claires. La vérité, c'est qu'ils voulaient prendre le pouvoir sur Java au détriment de Sun. Ca n'a pas marché, parce qu'ils se sont un peu mis la communauté des Java libres à dos, et ceux ci ont préféré participer à OpenJDK, sous licence GPL. D'ailleurs IBM a clairement dit qu'ils abandonnaient Harmony, depuis qu'ils se sont mis d'accord avec Oracle.

avatar Skwaloo | 

J'patoge un peu là, à part que Gogole y pu du c... Mais j'espère qu'a la fin le Java restera Java et qu'on pourra l'utiliser sur toutes les plates-formes sans avoir a engraisser Oracle (ou un autre d'ailleurs).

avatar oomu | 

@skwaloo [25/10/2010 23:13]

>J'patoge un peu là, à part que Gogole y pu du c... Mais j'espère qu'a la fin le Java restera Java et qu'on pourra
>l'utiliser sur toutes les plates-formes sans avoir a engraisser Oracle (ou un autre d'ailleurs).

vous utilisiez bien JAVA pendant des années pour engraisser Sun (qui est une société qui méritait toute la graisse qu'elle souhaitait), alors pourquoi pas ORACLE ?

Qu'est ce qui se passe contre oracle ? Larry Ellison vous a piqué votre croissant ?

-
un logiciel GPL n'exclue pas de respecter d'éventuels brevets, c'est d'ailleurs une technique hypocrite de faire croire qu'un logiciel est libre, en le mettant sous licence GPL 2 mais en gardant sous le coude un brevet retors pour faire payer tout usage sérieux.

C'est l'une des raisons qui a conduit à l'écriture de la GPL 3.

-
Le cas de google est bien plus compliqué. Ils n'ont pas simplement utilisé le code GPL de java, ils ont réécrit leur propre version de la jvm pour tenter de contourner la propriété de Oracle.

Allez savoir maintenant si l'un ou l'autre ont raisons n'est pas simple et demande bien l'avis d'un juge bardé d'experts qui liront en détails l'historique du développement de oracle java/openjdk et dalvik.

-
icedtea ou les gnu classpath n'ont eu aucun soucis effectivement.

-
"Je pense tout comme toi. On dirait que le succès des $ on donné l'envie à Steeve de se mettre tout le monde à dos. Ça m'écœure. "

vous faites du romantisme.

Cette décision dit simplement que Apple ne considère plus utile d'intégrer java de base dans les macs pour en vendre. Cela devrait commencer à vous donner une idée du poids réels de java pour les utilisateurs.

Le Mac était la dernière plateforme d'importance à avoir java intégré. C'était la plateforme la plus vendue avec java.

avatar oomu | 

"Cela dit, Apple aurait voulu se faire bouder dans le milieu de l'entreprise, ils n'auraient pas fait mieux !"

Hello, vous avez oublié les propos De Schiller et Steve Jobs ? le marché de l'Entreprise est moins important que celui du grand public, et ce n'est PAS leur priorité. Et comme l'a souligné Schiller, malgré cela, Apple VEND en entreprise plus que jamais dans leur histoire passée.

en long et en large : apple n'est PAS intéressé par la vente de serveurs d'entreprise (ils font le minimum comme j'ai souvent expliqué pour viabiliser Final Cut Studio par exemple) ni par la vente de machines de bureaux d'entreprises (grands comptes) à ultra-faible rentabilité (voir aucune, si on en croit les chiffres de HP, Dell et Lenovo).

Apple ne cherche pas à être le leader du serveur Tomcat/JEE.

avatar oomu | 

skwaloo [25/10/2010 17:57]

@oomu [25/10/2010 17:24]

"Apple ne développait PAS java"

>Ben faut mettre Steeve au courant par qu'il à dit qu'Apple sortait toujours son Java avec 1 version de retard.

il est au courant.

Apple ne faisait qu'intégrer jre 1.6 de sun/oracle, avec effectivement 1 ou 2 versions (mineures) de retard, justement parce que les développements et planning de sun/oracle ne sont pas calés avec ceux de Apple.

Si Apple s'était "approprié" le code source de openjdk comme apple l'a fait avec Webkit, là oui, tout aurait été différent.

-

" "Apple développait cocoa-java, ils ont cessé cela il y a des années (puis ce fut viré de os X)" "
>Et la mise à jour de la semaine dernière sortait de chez qui ?

de chez Oracle.

"Apple à dit que c'était sa dernière."

vous confondez fournir la JVM java, avec les "bindings cocoa".

Les Bindings cocoa consistaient en un ensemble de classe java spécifique, fournie dans le cadre de Openstep/cocoa pour écrire des applications natives Mac os X. (via Project Builder / Interface Builder)

peu de temps (ou pendant ?je ne me souviens plus) après la migration à XCode, apple a abandonné le développement, puis le support des bindings java. Tout simplement personne ou prou les utilisait et Apple a vu l'intérêt de se focaliser sur une seule technologie : objective-C/Cocoa.

ne confondez pas des "bindings" (Java/Cocoa) avec le runtime (le moteur, ici la jvm : la machine virtuelle java)

avatar oomu | 

@skwaloo

"Tu trouves ça évident de perdre de l'argent avec le temps de développeurs pour faire une version sur une plate-forme où le patron n'en veut pas sur son market ?"

oui c'est évidemment évident :)

L'intérêt de Oracle est de fournir Java pour tous les utilisateurs, qu'ils soient sur linux, mac ou windows.

Il s'agit avant tout de professionnels.

Vous avez ensuite le "plugin java" pour les navigateurs.

Je vous rappelle que Windows n'a PAS java de base, que oracle/sun fait java pour windows et le paquetage pour lui, alors que Microsoft a spécifiquement créé C#/.NET pour contrer Java (et fournir l'équivalent mais propriétaire à windows).

Microsoft n'a jamais voulu de Java et de son universalité. Microsoft tenta d'intégrer une jvm spéciale avec des ajouts propriétaire et Sun attaqua et gagna en justice contre Microsoft.

Pourtant, maintenant sun/oracle fournit toujours la jvm pour windows : ils fournissent la jvm là où se trouvent les utilisateurs et développeurs java : windows, mac et linux.

sur le site de Java, vous trouverez des paquetages prêt à installer pour Linux Debian et Redhat (les 2 grandes distributions linux , couvrent tous les usages de linux).

avatar oomu | 

"Oracle demande une licence pour faire un moteur Java. C'est le problème qu'à Google en ce moment sur Android. Tu penses qu'un projet Open-Source peut payer une licence ?"

non, le conflit entre oracle et google (qui était déjà débuté par Sun) est plus complexe qu'une licence.

Oracle ne veut d'ailleurs pas que google paye une "licence"; Oracle veut que google _cesse_ Dalvik. point barre.

Oracle ne veut pas l'argent de google, Oracle veut la tête de Google. voyez la différence ?

Pourquoi ? Parce que Sun, tout comme Oracle naturellement, s'oppose à toute déclinaison alternative à Java.

Et dans le cas de Dalvik, son développement et son indépendance vis à vis de la propriété intellectuelle de Oracle n'est pas claire.

-
les projets opensource comme Openjdk SONT chapeautés PAR Sun/Oracle.

Harmony de Apache fut laborieux, mais au moins il passait via la certification de Sun.

Le procès autour de Dalvik est complexe, à la fois un problème de copyright (sur le code), de brevets (pour l'implémentation), de licences (accords entre google et oracle/sun ) et la volonté de Oracle de ne pas voir Java se faire diluer. (cette volonté et peur a toujours existé chez Sun )

-
"Mais bon, quand on est prêt à naviguer entre les briques bleu par manque de Flash à cause du caprice
d'iPapy "

IPapy ne fait que décider ce qui permet de vendre des macs et des ibidules. Manifestement les clients lui donnent raison : ils ne s'en apercoivent pas. Surtout que c'est pas encore fait la suppression de java.

"on doit bien être prêt à ce passer de Java qui est le langage le plus utilisé au monde (d'après un récent sondage)."

Il l'est le plus utilisé en développement de logiciels SERVEURS d'entreprises.

Les ingénieurs comme moi l'installeront d'un clic comme on fait avec linux ou windows pour créer des serveurs d'applications JEE.

les développeurs se l'installeront tout comme ils s'installent Eclipse.

avatar eTeks | 

oomu ce que tu racontes est ok mais citer le binding Java/Cocoa ne peut que troubler les esprits.
Soyons clair : JKoala n'est en aucun une remise à jour du binding Java/Cocoa, c'est un projet qui permet d'avoir une interface utilisateur Mac OS X avec un programme Java, ce que ne permet pas OpenJDK pour l'instant (sauf si on utilise SWT mais là ça oblige à réécrire une grande partie des programmes Java).
JKoala correspond à la plus grande partie de ce qu'ajoutait Apple à la version Java développée par Oracle/Sun. Comme Apple abandonne Java, il faut reprogrammer cette partie et l'intégrer à OpenJDK pour avoir une version de Java équivalente à celle qui existe sous Mac OS X.

Si vous avez tout compris, vous devinerez donc que la mise à jour de la semaine dernière sortait de chez Apple car c'est Apple qui ajoute la gestion l'interface utilisateur Mac OS X à la version de Java qu'Oracle lui fournit.

Bon avec tout ça, les dons pour démarrer [url=http://www.jkoala.org]JKoala[/url] n'ont pas évolué d'un Euro aujourd'hui. Si vous voulez la mort de Java sous Mac OS X, continuez ainsi les gars, mais ne venez pas vous plaindre le jour où tel ou tel programme ne fonctionnera plus. On vous aura assez prévenu.

CONNEXION UTILISATEUR