Length of Sun-Apple Java contract?

Posted:
in macOS edited January 2014
As some of you know, Apple develops and distributes Java on OS X, and not Sun Microsystems. Apparently, this was due to Apple expressing a strong desire to control and leverage Java on OS X in order to further the Mac platform.



As the years went by and Apple's faith in its own tools grew, Apple became less enthusiastic about Java and releases begin to lag those of Sun's. To this day, it's impossible to run Java 6 on PowerPC or 32-bit Intel chips (outside of Soy Latte and OpenJDK). Moreover, Sun is apparently prohibited from distributing a version of Java for OS X by their contract with Apple.



Given Sun (and probably Oracle's) desire to promote JavaFX in their rivalry with Flash, not to mention the fact that OS X is firmly the #2 desktop platform behind Windows, it stands to reason that Sun wants more control of Java on OS X. I'm guessing that when the contract expires, Oracle-Sun will want to distribute Java for OS X.



I know that this is probably not public information, but can anybody speculate on when the Sun-Apple Java contract will expire?

Comments

  • Reply 1 of 14
    hirohiro Posts: 2,663member
    Apple does the JVM because Sun won't. SUN has licensed the JVM from the start, to every platform that will have it. Windows and Linux became exceptions because MS created a fiasco with their license in an embrace and extend move, and there isn't anyone to pay for a Linux version.



    Since MS could no longer be trusted, and no JVM on Windows meant Java would essentially die, SUN maintains the Windows JVM as much as they hate the idea. Sun also took the Blackdown JVM in house. Blackdown was reverse engineered and an open source Linux JVM. Now Sun does the JVM because to not run on Linux means no more IBM Java support. And IBM has built a lot of Java tools to complement the Apache family (Apache isn't in Java though). Without IBM as a player, Sun loses a huge amount of credibility in the enterprise space and Java starts to whither.



    As for Apple and OS X. OS X needs SUN and Java a lot more than SUN and Java need OS X. That's just market-share economics. I don't know what any of the specific licensing terms are. This arrangement where SUN maintains the Windows and Linux JVMs is also why Apple lags on the same updates. SUN knows what they are doing in house and works the software updates as they implement it in their JVMs. Apple usually waits until the JVM standard is finalized, which is when SUN ships! Hence the built-in delay in Apple shipping JVM version updates.
  • Reply 2 of 14
    javacowboyjavacowboy Posts: 864member
    Quote:
    Originally Posted by Hiro View Post


    Apple does the JVM because Sun won't.



    Not according to James Gosling:



    http://blogs.sun.com/jag/entry/solar...os_x_continued



    ----

    Lots of folks ask "why doesn't sun just do the JDK for Mac?". The real answer is "because Apple wanted to do it". They've wanted to do all sorts of customization and integration that only they could do - because they own the OS.

    ----



    Quote:

    SUN has licensed the JVM from the start, to every platform that will have it.



    Historically, yes, but Sun licensed Java to Microsoft about 14 years ago. Times have changed. Do you have an example other than Apple to back up your claim (OK, FreeBSD does this as well, but it doesn't prove your point).



    Quote:

    Windows and Linux became exceptions because MS created a fiasco with their license in an embrace and extend move, and there isn't anyone to pay for a Linux version.



    Wrong! Red Hat came out with IcedTea. Despite the fact that Sun licensed the TCK to IcedTea, Sun still provides the Linux JDK.



    Quote:

    Since MS could no longer be trusted, and no JVM on Windows meant Java would essentially die, SUN maintains the Windows JVM as much as they hate the idea. Sun also took the Blackdown JVM in house. Blackdown was reverse engineered and an open source Linux JVM. Now Sun does the JVM because to not run on Linux means no more IBM Java support. And IBM has built a lot of Java tools to complement the Apache family (Apache isn't in Java though). Without IBM as a player, Sun loses a huge amount of credibility in the enterprise space and Java starts to whither.



    Again, you're attributing Sun's behaviour over 10 years ago to Sun's behaviour today. Since Jonathan Schwartz, Sun has gone out of its way to make Java available for Linux distro package managers. Sun wants developer mindshare, which is why they've made a huge effort to make Java available everywhere. OpenJDK being ported to FreeBSD is just the latest example of this.



    Quote:

    As for Apple and OS X. OS X needs SUN and Java a lot more than SUN and Java need OS X.



    Total nonsense. How many MacBook Pros were seen at JavaOne? A third of the laptops there were Macs. OS X has become one of the preferred Java development environments, despite Apple lagging severely in their Java releases. Meanwhile, all Apple needs Java for is WebObjects, which is a purely server-side Java web framework that powers Apple's various shopping sites. Apple absolutely doesn't give a flying fig about Java on the client side. They most certainly don't care about Java developers who use Macs, as the Java 6 Leopard scandal indicates. Sun does, which is why they've been pushing JavaFX so hard.



    Quote:

    That's just market-share economics. I don't know what any of the specific licensing terms are. This arrangement where SUN maintains the Windows and Linux JVMs is also why Apple lags on the same updates.



    No, Apple lags because they don't care about the platform or Java developers on Macs. They have only a handful of Java engineers (who are very helpful on the mailing list, BTW). All they want is a sever-side platform to run their shopping sites. Why do you think they only provide the server JVM, and not the client JVM?



    Quote:

    SUN knows what they are doing in house and works the software updates as they implement it in their JVMs. Apple usually waits until the JVM standard is finalized, which is when SUN ships! Hence the built-in delay in Apple shipping JVM version updates.



    If Apple cared about the platform, they wouldn't communicate so poorly with Java developers. They certainly wouldn't delete their forum posts when they complain about the lack of Java 6 in Leopard or their lack of communication (re: secrecy).



    I'm willing to bet that Sun and Apple have a long-term contract and that Sun is trying to get out of it. I'm also willing to bet that if it wasn't for Soy Latte, Apple would have delayed Java 6 longer than they did.
  • Reply 3 of 14
    mdriftmeyermdriftmeyer Posts: 7,503member
    Quote:
    Originally Posted by JavaCowboy View Post


    Not according to James Gosling:



    http://blogs.sun.com/jag/entry/solar...os_x_continued



    ----

    Lots of folks ask "why doesn't sun just do the JDK for Mac?". The real answer is "because Apple wanted to do it". They've wanted to do all sorts of customization and integration that only they could do - because they own the OS.

    ----







    Historically, yes, but Sun licensed Java to Microsoft about 14 years ago. Times have changed. Do you have an example other than Apple to back up your claim (OK, FreeBSD does this as well, but it doesn't prove your point).







    Wrong! Red Hat came out with IcedTea. Despite the fact that Sun licensed the TCK to IcedTea, Sun still provides the Linux JDK.







    Again, you're attributing Sun's behaviour over 10 years ago to Sun's behaviour today. Since Jonathan Schwartz, Sun has gone out of its way to make Java available for Linux distro package managers. Sun wants developer mindshare, which is why they've made a huge effort to make Java available everywhere. OpenJDK being ported to FreeBSD is just the latest example of this.







    Total nonsense. How many MacBook Pros were seen at JavaOne? A third of the laptops there were Macs. OS X has become one of the preferred Java development environments, despite Apple lagging severely in their Java releases. Meanwhile, all Apple needs Java for is WebObjects, which is a purely server-side Java web framework that powers Apple's various shopping sites. Apple absolutely doesn't give a flying fig about Java on the client side. They most certainly don't care about Java developers who use Macs, as the Java 6 Leopard scandal indicates. Sun does, which is why they've been pushing JavaFX so hard.







    No, Apple lags because they don't care about the platform or Java developers on Macs. They have only a handful of Java engineers (who are very helpful on the mailing list, BTW). All they want is a sever-side platform to run their shopping sites. Why do you think they only provide the server JVM, and not the client JVM?







    If Apple cared about the platform, they wouldn't communicate so poorly with Java developers. They certainly wouldn't delete their forum posts when they complain about the lack of Java 6 in Leopard or their lack of communication (re: secrecy).



    I'm willing to bet that Sun and Apple have a long-term contract and that Sun is trying to get out of it. I'm also willing to bet that if it wasn't for Soy Latte, Apple would have delayed Java 6 longer than they did.



    You're spot on in this one and I'll go further to say that OS X doesn't need Java, if Apple does the right thing and restores WOF to Cocoa/Objc where it belongs.



    If Apple released the WOF Runtime on Linux, OpenSolaris, FreeBSD and Windows; and just focused on Development in WOF for OS X Cocoa then Sun will ask the Open Source Community to move OpenJDK to OS X and maintain it outside of Apple.
  • Reply 4 of 14
    javacowboyjavacowboy Posts: 864member
    Quote:
    Originally Posted by mdriftmeyer View Post


    You're spot on in this one and I'll go further to say that OS X doesn't need Java, if Apple does the right thing and restores WOF to Cocoa/Objc where it belongs.



    If Apple released the WOF Runtime on Linux, OpenSolaris, FreeBSD and Windows; and just focused on Development in WOF for OS X Cocoa then Sun will ask the Open Source Community to move OpenJDK to OS X and maintain it outside of Apple.



    I'm sure Apple would like to, but they probably realized that it would be too much work to take a working production environment for all their online stores and undertake such a radical change. There's simply too much risk to Apple of something going wrong with production environments used by millions of customers. If the iTunes Store went down with normal web traffic it would be truly scandalous.



    The WebObjects runtime is a JEE compliant runtime, as the end result is a war file that should (in theory) run on any JEE compliant application server, so it would seem that this is already the case.



    As for OpenJDK, the entire native (non-X11) GUI stack is completely proprietary and closed source. Apple would have to open source it in order for OpenJDK to take over. Otherwise, they'd have a lot of upset customers. I'm sure Apple realizes that they can't just drop Java support on a whim. They need to do an orderly transition.
  • Reply 5 of 14
    hirohiro Posts: 2,663member
    @JC -- Interesting way to see the same facts differently. I disagree with your interpretations altogether, I don't disagree with the base facts. And I will probably disagree with where you try to draw the line between fact and derived opinion.



    Oh well. If you already know all the answers why did you even ask?
  • Reply 6 of 14
    javacowboyjavacowboy Posts: 864member
    Quote:
    Originally Posted by Hiro View Post


    @JC -- Interesting way to see the same facts differently. I disagree with your interpretations altogether, I don't disagree with the base facts. And I will probably disagree with where you try to draw the line between fact and derived opinion.



    Oh well. If you already know all the answers why did you even ask?



    What I don't understand is why you believe that Sun (under the current Schwartz management) would choose to deliberately loosen its control of the Java language and runtime. Furthermore, I don't understand why they would risk the bad press involved with somebody else messing up implementation details on the platform and those screw-ups reflecting badly on Sun. One example is the Java security flaw that took Apple over 5 months to patch after Sun did.



    Sun did release Java for Mac OS back in the mid-90's, which would also invalidate your theory.
  • Reply 7 of 14
    mr. memr. me Posts: 3,221member
    Quote:
    Originally Posted by JavaCowboy View Post


    ...



    Sun did release Java for Mac OS back in the mid-90's, which would also invalidate your theory.



    1. It is not the mid-90's anymore.



    2. Java was not an integral part of MacOS 8 or MacOS 9. Java is, however, an integral part of MacOS X.
  • Reply 8 of 14
    javacowboyjavacowboy Posts: 864member
    Quote:
    Originally Posted by Mr. Me View Post


    1. It is not the mid-90's anymore.



    2. Java was not an integral part of MacOS 8 or MacOS 9. Java is, however, an integral part of MacOS X.



    Define integral. It's just as integral a part of Windows as it is OS X, which isn't very integral. Apple favours Cocoa and XCode for application development. Java is a distant 3rd behind Carbon and just barely ahead of X11.
  • Reply 9 of 14
    mr. memr. me Posts: 3,221member
    Quote:
    Originally Posted by JavaCowboy View Post


    ... Apple favours Cocoa and XCode for application development. Java is a distant 3rd behind Carbon and just barely ahead of X11.



    You are confusing issues. The popularity or lack thereof a set of frameworks or development environment has nothing to do with whether or not it is integrated into the OS.
  • Reply 10 of 14
    javacowboyjavacowboy Posts: 864member
    Quote:
    Originally Posted by Mr. Me View Post


    You are confusing issues. The popularity or lack thereof a set of frameworks or development environment has nothing to do with whether or not it is integrated into the OS.



    Explain why Java is more "integrated into" OS X than it is with Windows or LInux (where I believe the OpenJDK JRE is now installed by default in many distros). "Being installed by default" is not a sufficient explanation.
  • Reply 11 of 14
    I think the one thing you didn't touch on is whether Apple is willing to give back their customisations to the open source JVM implementation that is occurring today - personally I think it is in their best interests to support something like that as to offload the costs of supporting Java onto a wider group of developers.



    At the same time, however, I wonder to what degree it would be possible to utilise LLVM in the future regarding Java. LLVM seems to have some really cool ideas and given how much Apple is willing to throw their weight behind the project, I wonder whether there are some long term plans Apple have in mind.



    Regarding Java in general, however, it has never really taken off on the desktop because right from the start it has always been a horribly difficult language to learn, the development tools when compared to what Microsoft provides have been terrible, and given the alternatives that exist out there with don't require major re-writes (.NET with the ability to support multiple languages such as managed C++, Objective-C 2.0, and I'm sure many others), the big focus will be between Adobe and Microsoft with Java sticking to the heavy lifting backend.
  • Reply 12 of 14
    javacowboyjavacowboy Posts: 864member
    Let take these points on one at a time, shall we?



    Quote:
    Originally Posted by scratchnsniff View Post


    I think the one thing you didn't touch on is whether Apple is willing to give back their customisations to the open source JVM implementation that is occurring today - personally I think it is in their best interests to support something like that as to offload the costs of supporting Java onto a wider group of developers.



    This I agree with. The reason Apple wouldn't do this is is it depends on some low-level code that would give away the "secret sauce" for Cocoa/Quartz/etc.



    Quote:

    At the same time, however, I wonder to what degree it would be possible to utilise LLVM in the future regarding Java. LLVM seems to have some really cool ideas and given how much Apple is willing to throw their weight behind the project, I wonder whether there are some long term plans Apple have in mind.



    LLVM looks really interesting, but I fail to see how this is associated with Apple's decision to hold on or outsource their Java implementation.



    Now, let's get to the disagreements:



    Quote:

    Regarding Java in general, however, it has never really taken off on the desktop because right from the start it has always been a horribly difficult language to learn,



    Wrong! The Java language was designed to be an effortless migration for C/C++ developers. In fact, James Gosling was forced to remove closures from the language because C/C++ developers wouldn't accept it (and thus the messy Inner Class compromise). This is one of the reasons why the Java language is starting to show its age, and alternatives like Groovy and Scala are gaining traction. In fact, it's a driving reason behind Sun's design of JavaFX.



    The reason Java traditionally failed to take off on the desktop is because traditionally Swing/AWT was onerous to code (thanks largely to IBM) and the tooling was non-existent (Sun wanted a third party tooling community to develop). The tooling has improved and JavaFX has simplified the coding.



    Quote:

    the development tools when compared to what Microsoft provides have been terrible,



    The 1990's are calling and want your stereotype back. There are excellent Java IDEs out there, from IntelliJ (paid) to Eclipse and Netbeans (free and open source). All three are not only excellent development environments, but are used (with and without plugins) for other languages such as C++ and PHP.



    But, yes, traditionally Java tooling before Eclipse wasn't up to snuff.



    Quote:

    and given the alternatives that exist out there with don't require major re-writes



    What alternatives? It's generally accepted that VisualStudio, IntelliJ, Eclipse and Netbeans are among the best IDEs in the industry. Even XCode (in terms of code editing, not GUI tools) is significantly behind in this regard. And what's this nonsense about rewrites? It's possible to take a Java project built in Ant and integrate it immediately as a project in modern Java IDEs.



    Quote:

    (.NET with the ability to support multiple languages such as managed C++, Objective-C 2.0, and I'm sure many others),



    The JVM supports multiple languages such as Groovy, Scala, Erlang, JavaFX, Ruby, Python (and I'm sure I'm missing some). Eclipse supports multiple languages without plugins. Netbeans support other languages such as Ruby and C/C++ out of the box. Where do you get this nonsense?



    Quote:

    the big focus will be between Adobe and Microsoft with Java sticking to the heavy lifting backend.



    Ever heard of JavaFX? It's the only RIA platform that uses the same runtime and APIs to run on desktop and mobile platforms? With version 1.2, it's technically competitive with Flash and Silverlight. Sun has been pushing this technology for a couple of years. Larry Ellison has promised to promote and accelerate development of JavaFX when Oracle takes over Sun.
  • Reply 13 of 14
    vineavinea Posts: 5,585member
    Quote:
    Originally Posted by JavaCowboy View Post


    Total nonsense. How many MacBook Pros were seen at JavaOne? A third of the laptops there were Macs.



    I had heard that JavaOne was tiny this year. And the giveaways sucked. Google I/O gave away android phones. Heh.
  • Reply 14 of 14
    vineavinea Posts: 5,585member
    Quote:
    Originally Posted by JavaCowboy View Post


    The reason Java traditionally failed to take off on the desktop is because traditionally Swing/AWT was onerous to code (thanks largely to IBM) and the tooling was non-existent (Sun wanted a third party tooling community to develop). The tooling has improved and JavaFX has simplified the coding.



    Mkay...so tell me, why in 200 freaking 9 do I still have to tell Java how much freaking memory to use? And why the heck does everyone use an exe hack to do this for desktop apps?



    Quote:

    What alternatives? It's generally accepted that VisualStudio, IntelliJ, Eclipse and Netbeans are among the best IDEs in the industry. Even XCode (in terms of code editing, not GUI tools) is significantly behind in this regard. And what's this nonsense about rewrites? It's possible to take a Java project built in Ant and integrate it immediately as a project in modern Java IDEs.



    Eclipse isn't near as good as VS. I say that as a daily Eclipse user. I haven't used XCode enough to say but Eclipse editing drive me batty the way it decides to stall out trying to background recompile or something when you're editing a line. This happens when I'm hitting backspace though variables or something.



    Quote:

    But, yes, traditionally Java tooling before Eclipse wasn't up to snuff.



    Still ain't really unless you pony up for IntelliJ. And I prefer netbeans over eclipse anyway. For one, the plugins seem a heck of a lot more stable.



    Quote:

    Ever heard of JavaFX? It's the only RIA platform that uses the same runtime and APIs to run on desktop and mobile platforms? With version 1.2, it's technically competitive with Flash and Silverlight. Sun has been pushing this technology for a couple of years. Larry Ellison has promised to promote and accelerate development of JavaFX when Oracle takes over Sun.



    Yes, I've heard of JavaFX. But I doubt many non-java devs have.



    Silverlight is almost a proper subset of WPF. Heck, it used to be called WPF/E. You can almost drop a Silverlight project into WPF environment and have it run.



    JavaFX would be more compelling for me if we could (easily) call JavaFX methods from Java and when JOGL seems to work better wrapped in JavaFX.
Sign In or Register to comment.