Skip to Content

Freedom for Java

In a flat world whose economy is dependent on global relationships, IT has an essential enabling role to power the global business network. SAP systems are at the core of large parts of global IT, and are powering more than 65% of the transactions that make up the world’s Gross Domestic Product (GDP). SAP bears a great responsibility to provide a stable core.

At the same time, SAP software also needs to be open and adaptable in order to allow customers and partners to be nimble and benefit from the speed of innovation within the SAP ecosystem.

The Role of Java in Global IT

There are few inventions that exemplify our aspirations and have captured our imagination the same way as the Java programming language, and we commend Sun Microsystems as its owner and steward for the ecosystem it has been able to build.

For 15 years, Java has been a programming language that brought about significant innovation. Java is everywhere, from large scale enterprise applications to mobile devices and payment cards.  Java is also the language of the community, enabling a whole generation of developers to collaborate and co-innovate within open source communities like Apache and Eclipse.

While remarkable new programming languages are invented frequently, on average roughly every ten years, the many software systems built using these languages have extensive lifespans. It is safe to say that systems developed with Java will be around for long long periods of time.

For SAP, it was an important decision when in 2001 we incorporated Java into our core products and made it an essential part of our technology platform SAP NetWeaver.

Change is Coming

The Java industry is currently going through important changes, and there are many discussions around the openness of Java and the Java Community Process (JCP). To date, the JCP is heavily dominated by Sun Microsystems which was not always to the benefit of all parties interested in Java. Java is the lifeblood of the IT industry, and IT is a fundamental underpinning of the way business is conducted in the 21st century. The technical interfaces that are jointly developed by the community should be immune from bias, and the community should be able to work even closer together in the spirit of cooperation to continue the Java success story.

Independence and Freedom

To ensure the continued role of Java in driving economic growth, we believe it is essential to transition the stewardship of the language and platform into an authentically open body that is not dominated by an individual corporation. Java should be free of any encumbrances to permit fair competition between compatible implementations for the benefit of customers. By preserving the integrity of Java, the IT industry can ensure a vibrant developer community and continued innovation for enterprise software customers. This ensures the continued global economic success brought about through open innovation.

Eclipse is an excellent example where a brilliant technology has enjoyed dramatic adoption after it was set free and subsequently managed by a team not employed by a particular company. With the acquisition of Sun, Oracle has now the unique opportunity to open the Java Community Process, which manages the Java specifications, and transition it to an equally independent body. The Java Virtual Machine should become open source and be managed by an independent Board, including its license terms that are currently restricted to free software and thus not adaptable to the commercial terms required in the global IT marketplace.

 

In fact, Oracle itself had already proposed such transition and the Java Executive Committee has subsequently made the following decision:

 

 “It is the sense of the Executive Committee that the JCP become an open independent vendor-neutral Standards Organization where all members participate on a level playing field …”

JCP EC meeting summary – December 7th 2007, Resolution 1 (proposed by Oracle, seconded by BEA)

 

If such new Java Foundation will be proposed by the owner of the Java programming language, SAP is committing to make significant investments in form of engineering and financial resources into Java technology and its new governance structure.

History Repeats Itself …

Erich Honecker and Mikhail Gorbachev at the GDR's 40th Anniversary Celebration (October 7, 1989)   (c) picture-alliance / Sven Simon

History has always been the best judge for what a man has accomplished in life. In October 1989, visiting the country’s leadership for the 40th anniversary of the German Democratic Republic (GDR), Mikhail Gorbachev told hardliner Erich Honecker a sentence which is credited for setting in motion the Gentle Revolution of the GDR that effectively ended the Cold War: “Wer zu spät kommt, den bestraft das Leben” – “Those who are late are punished by life.”

Photograph of President Reagan giving a speech at the Berlin Wall, Brandenburg Gate, Federal Republic of Germany, 06/12/1987 - 06/12/1987  

The German people will be forever grateful to their “Gorby” because on November 9, 1989 the Berlin Wall came down. But let us not forget that it took an equally great man and politician, Ronald Reagan, President of the United States of America, to have the vision to directly address Mr. Gorbachev in a historical speech in front of Berlin’s Brandenburg Gate on June 12, 1987.

There are some striking similarities between the final days of the GDR and the fate of Java. In both cases, there has been a dangerous erosion of confidence because the ruling party has not been living up to the long awaited promise of reform to its people and community.

I believe that today, during these important times for Java, President Reagan’s words can again provide us with that much needed vision. And so it is with great respect for him when I say:

“Mr. Ellison and Mr. Schwartz, open this gate! Gentlemen, tear down this wall! Let Java be free!”

 The Fall of the Berlin Wall, 1989

27 Comments
You must be Logged on to comment or reply to a post.
  • It would really be great if SAP, IBM, the open source community and perhaps another couple of industry leaders would be able to create a new governing body for Java. I think the acquisition by Oracle and the lack of clarity about the future of Java has been a concern for many people in the industry for too long already that slowed down development and innovation and created an atmosphere in which everyone was just trying to save their own investments.

    I really hope that this new governing body would become common ground that everyone is comfortable with. That is would mean the end to the proliferation of Java forks and VMs, and that it will boost innovation instead of defense mechanisms again.

    Although many folks have already tried to convince Sun and Oracle of open sourcing Java (e.g. IBM's Rod Smith and Eric S. Raymond of the Open Source Initiative), Sun/Oracle never did. I hope the Java community will persevere though and wish Vishal and Java the best of luck. I love Java.

    • Sun is claiming that Java is Open Source, and according to the definition of Open Source licenses they are right. The code is distributed under a Open Source license.
      But something important is missing. At Eclipse we call this "open source rules of engagement":
      - meritocracy
      - openess
      - permeability
      - vendor neutrality

      None of these attributes are met by Sun's Java Open Source effort. They are not the only ones, many commercial open source companies are acting the same way. JBoss e.g. also used their trademark ownership extensively in the past.

      Java will be a much more viable platform if it would be governed in accordance with the open soure rules of engagement. So let's hope that Sun is listening and capable of letting Java become independent.

  • IMHO, it would really be in the best interested of all companies (including Sun and Oracle) to instead of trying to counter any Java-FUD just to use the created vacuum of uncertanty around Java and simply make the next step with Java, opening it from owned-by-one-company to an independant governance model.

    I think everyone would love this: Businesses, individuals, small and large communities alike.

  • Thank you for the clear statement from SAP on where it wants Java to be.

    Can mention that the hashtag #freejava is used to discuss this topic on twitter.

    Regards
    Dagfinn

  • As some other have commmented, it`s relieving to know that SAP is still sticking up to Java technology in its products.
    After Oracle incoporporated Sun, everything about the future of Java became dark and `unforeseeable`.
    Reading a message from SAP telling people they are still confident on Java let the community calm and head for new investments.
  • Vishal,
    You found the right words at the right time. Part of finding the right words is not to use the wrong words. I assume that using the words "or else", however shrouded, would not have helped the cause of opening a dialogue with Oracle/Sun.
    But as an outsider, I am free to point at the elephant in the room and ask: "or else?" What possible paths of action exist if Oracle/Sun won't budge? What regulatory role could the European Union play in this in the future? Suppose they do allow the merger, could they still regulate Oracle's management of Java?
    Cheers,
    Thorsten
  • At face value, I completely agree that this is the right path to take in terms of open language specifications, open source, and a strong community to move things forward.  I also made an early bet on Java as the foundation for my last company's platform, and it worked out well.

    My reservations are as follows:

    Much like the discussion of the effectiveness of a government role in healthcare (with the associated bureaucracy and politicization), I have my doubts as to whether bureaucracy (and make no mistake about it, most open standards efforts are steeped in it) can make any more effective progress than alternatives.  There are successes, and there are failures.  There's no assurance that the "new boss" would be any better or worse than the "old boss".

    Another aspect that I think is important to consider is whether this is the right fight to fight.  I say this in the spirit of "Wer zu spät kommt, den bestraft das Leben" - are we perhaps too late for this battle?  Even some of the architects of Java are now questioning whether the language has reached or is reaching its limits. 

    With increasing need for functional programming, transparent or easier parallel programming, dynamic languages, and other "next generation" requirements, I wonder if Java is the right platform to make this substantial investment in, or should the community start from the beginning on a new language/VM.  The time to achieve results could conceivably be comparable, without the inevitable billions of dollars of legal challenges that could result from the full communitization of Java.   I don't have an answer, but I think it is an important question to ask.

    I welcome anyone's ideas and thoughts on these issues!

    • Well, I think one has to distinguish between Java as language and the Java VM / Platform. Scala and Clojure are only two examples of languages which go into the direction of functional programming. Groovy and JRuby is there for the fans of dynamic languages. There is an enormous value in both, the Java language (Millions of programmars trained on that) and the VM/Platform (billions of dollars spend on it to optimize it, billions of dollars spend to create frameworks and tools)

      Even if we ignore that, I think it will be hard to come up with a new platform that is as well optimized and has the same level of quality.

    • The sentiments of "too late" I would agree with.  After almost a decade now, of creating OpenSource connectors for every scripting language that I could manage, with little or no adoption by SAP (Corporate), I also suspect that SAP has also picked the wrong "fight".
      Consistently, over that decade, the greatest paradigm shifts, and innovations I witnessed in the industry, came from people who had free and easy to use tools, and infrastructure to develop with - not just OSS - they used their tools of choice.  This does not necessarily mean it is the architecture that services end up with (development is a continuous process), but in a tough industry where time to market is measured in weeks, then how you manage to get started is everything.  IMO SAP has never quite understood how to deal with this - I still can't get a free download of the RFCSDK with regular updates (so consequently neither can my OS RFC Connector users - Oracle made their first free OCI connector available back in 97).
      Sure - maintain your investment in JAVA to build your stable, business critical core, but make it easy and free for every punter to use the infrastructure of choice to integrate whether that be OSS or not.  Then pro-actively engage all those people, not just through SDN, but make sure that the marketing team get onboard too - when was the last time SAP had a stand at an OpenSource conference like OSCON, or FOSDEM?

      Cheers,
      Piers Harding.

  • Hi,

    I think it is crucial to be very exact in the wording here, because "Java" is a too much 'overloaded' term.

    First and foremost, Java is a trademark owned by Sun! With the help of this trademark Sun (or anybody else who aquires the rights on this trademark) can freely decide to whom to grant (or not to grant) the rights to use this trademark. Currently, in order to get the rights to use the Java trademark, one has to pay a license fee to Sun *and* one has to pass the Java TCK (Technology Compatibility Kit) tests which also have to be licensed from Sun.

    In my opinion, the most important things to resolve this issue would be:

    1. to establish a fair, equal and well defined way for ANYBODY to get access to the TCK and the usage of the Java trademark. Noticed that this access must not necessarily be free, but it must be under the same conditions for ANYBODY.

    2. to establishing an independant authority which defines and specifies the Java language and platfrom (but only as the second step, after the first one has been resolved).

    If we manage to solve the above mentioned points in a satisfactory way, there's no need for any request for an "open source" Java Virtual Machine. In fact we already have quite a lot of 'free' implementations of the Java language and platform under various "open source" licenses: GCJ, JamVM, Harmony, Jikes, OpenJDK to name just a few of them. The only problem is that they are not allowed to call themselves "Java" because of the trademark issue mentioned above.

    SAP should use all its power to ensure that point 1 will be solved. If that is done, it is free to (and I hope it will) engage in solving point 2. The "significant investments in form of engineering and financial resources" could finally be used at SAP to build a competitive implementation of the now "free" Java specification (hopefully beeing based on "open source" and beeing "open source" itself!).

    Regards,
    Volker

  • Generally, "+1" on this as it seems pretty much "to the point" in my opinion. Then again, however: At least "Java" is an open-source technology, isn't it? Why not join forces with these driving forth the "open source" Java platform, establishing sort of a "technological lead" related to Java no matter what Oracle might (not) be doing? Maybe this way a truly "Java community" driven body of standardization and governance could arise from the Java community itself rather than by being pre-established (like some blame the JCP to be...).
    • Unfortunately, Java is *not* an open source technology. The Java specifications can't be independently implemented without licensing the compatibility kit from Sun.

      Passing the compatibility kit is not just an issue of calling it "Java" - beyond the trademarks, passing the compatibility suite is important for getting all necessary IP rights that Sun is holding in escrow. Open source implementations of Java need those IP rights as well. If Sun does not license the compatibility kit and the associated IP rights, open source can't exist.

      You should ask Sun whether they have licensed their compatibility kits to any open source group, other than the one they are in charge of themselves (OpenJDK).

      Some people have criticized us from following double standards (ABAP is closed, but Java should be open). The difference is that Sun has promised more openness for years, and they still have not delivered the basics. We never claimed that ABAP will be open; as a result, it only exists in SAP systems and is not as widely adopted as Java. However, Java was always promised to be open, just unfortunately, it isn't. 

      That does not mean that I disagree with the notion that SAP needs to do more in open source and standards. We do.

      • Michael;

        surely you are right, and indeed I know about these implications... Unfortunately, as for most Sun open source projects it seems that, well, they are sort of just being "public source repositories" of Sun products which, then again, still are maintained and developed in a process internal to Sun.

        Anyway, as far as it concerns Java, I always wonder why not to go for a different approach: Given the interest companies IBM, SAP, Adobe and maybe a bunch of others do have in Java, why not...

        - do a "fork" of open-source OpenJDK and do a quick release of a "new" platform which is not called Java anymore (maybe "New-a"? ;), and

        - for this platform, state that it is and continuously will be tested and ensured to be compatible with latest Sun JDK builds (and _not_ to be a "compatible" Java implementation according to Sun TCK)?

        I am not sure whether this would work out as I don't know how "complete" the OpenJDK source code is, but it seems an obvious way. By then, assuming such a platform to be made widely available (i.e. along with Eclipse, the Apache folks, ObjectWeb, whoever you could think of, not to mention commercial offerings of the companies involved with this hypothetical foundation), I _think_ it should put the ball back on Sun/Oracles playing ground: By now, all know that "open source" Java has this TCK problem related to "Java" and "Java compatibility". If this "compatibility" issue is addressed in a different way and the companies involved into such a fork might even propose this platform to be "the Java successor", wouldn't this immediately make "Sun Java" redundant if Sun doesn't feel like acting in a meaningful way? So far, things are the way they are, and Sun doesn't really have some need to change anything.

        (Disclaimer: I am and always have been an enthusiast of Sun as far as technology is concerned and still think this is sane, but I always wondered about some of their business / strategy decisions).

        As far as SAP is concerned... Well, maybe that's another point, but however: Yes, I would enjoy seeing SAP a little more "open" in some respect. To give you an example: Back in 7.5 days when it was available dually licensed, we adopted SAP MaxDB for our business operations and still use it (and actually spent a considerable amount of money into integrating it into our environment). By now, we see we can't get support from SAP on that because we're not an SAP customer, but the other way 'round, we don't see a way of becoming an SAP customer as we have yet to find an SAP product other than SAP MaxDB to fit our needs. MaxDB used to be open-source but it isn't anymore, and the community using it outside SAP seems _rather_ limited. As we mostly develop on top of the Java EE platform, we would love to, in example, run a Netweaver environment on top of MaxDB just for the purpose of running Java EE applications, knowing to use a "standardized" technology and yet having an option to get reliable support. Grow a community out of both projects to satisfy customers(?) like us and eventually attract new ones... that wouldn't be too bad. 🙂

        • Kristian,

          forking OpenJDK is certainly a possibility, even though a pretty extreme one. In addition, it bears risks because without passing the certification suite from Sun, a Java licensee does not have the right to use any Java patents that Sun may hold. Unfortunately, the compatibility gate is something that needs to be licensed from Sun, so in other words Sun has a lot of control of who gets access to their patent portfolio.

          It is frustrating to see that the Java community has trusted Sun for a long time to do the right thing, but it has still not provided any roadmap for Java to be an open standard. Sun has always talked about Java standards, and the JCP certainly works similar to a standard, but due to the veto control of Sun with regards to the licensing of Java IP, it has a lot of power.

          And that is the most frustrating thing for me: While SAP is being accused to be the "Microsoft of Europe" (see http://boycottnovell.com/2009/11/12/sap-java-lobbies-against-oracle/), nobody talks at all about Sun's licensing practices and their patents with which they hold on to every little bit of power they have.

          So, forking Java is perhaps possible, but I'd be very wary of Sun's use of Java-related patents.

  • Vishal, please clarify which "privileges" SAP is able to recognize to Java trademark owner or if SAP position is that every member of JCP should have the same level of control in Java trademark management.

    Regards,
    Ignacio.

  • Personally, I think Sun (& many others in the JCP) did a great job on ensuring the core Java platform gets proper engineering governance & in ensuring compatibility, over these years.

    Of course, it is never a perfect arrangement given the large number of community players who have adopted Java as their technology livelihood, and balancing their desires to see more openness in the Java specs evolution yet ensuring nothing breaks or gets "forked" in ways which will de-fragmentize the ecosystem we so dearly love.

    But yes, as Vishal remarked, change is coming.
    It is probably high time we elevate the Java stewardship to an independent & open standards body, to ensure its continual success, without bias / skewed by commercial gains due to its licensing terms.

    We are live, breathe & thrive together on Planet Java. Like Mother Earth, we are all part of it but no one entity owns it.

    Let's see where will go from here, Java-nians.

  • How should Sun be compensated for the many many many millions of dollars it has spent thus far in the creation and evolution of Java?

    Isn't pressuring them to give up their IP rights it somewhat like nationalizing an industry "after the fact"?

    Again, just trying to stimulate debate and discussion, not voicing a specific opinion (yet).

    • Rick, it was Sun who has talked for years about Java standards, and that the JCP was an open organization. The Apache Open Letter (http://www.apache.org/jcp/sunopenletter.html) is exactly describing that issue. This is not about after the fact nationalizing an industry, but about finally fulfilling Sun's promise that the JCP is producing true standards that can be widely implemented. We don't want "free" software; but we want unencumbered standards.
  • Hi Vishal,

    in general I understand your statement and I for sure agree to it. It is important to ensure a "free" Java platform also in the future - but to compare this to the wall which splits the two german parts for a long time is just an impertinence for all the families, friends etc. who were forced to live in different parts of one country without chance to meet each other.
    IT is important, Java is important - but there are more important things going on in the world. You should not mix the priorities here.

    Best regards

    Jochen

  • By the direction the blog takes I guess David Hasselhoff will be hired to sing at the next Teched...

    Seriously: The JCP and free contributors like apache have opened the environment to developers and companies in a decade-long process. And with SAP's now growing contributions it might be able to gain some footprint in the Java-ecosystem. Keep pushing!

  • What I don't like is the Sun is sitting with a competitor. It must be making SAP confused to invest in Java based solutions, and I see end of Java Stack support by SAP.

    Is this blog a ground for that ?

  • I always have admiration for Java and Sun - the company which has contributed this great platform. Working with Sun's core developers way back in 2000 was inspiring on their vision and solid roadmaps. To tell in Vishal Berlin wall terms - they were building huge sports stadiums for everyone to play without any restrictions. But it should also be noted that Sun has not be monetarily recognized or sponsored by the people who used the vast sports arena. Now the entire stadium and the sport city as whole built-up is brought over by Oracle during the recession times, which happens to be big-competitor/rival of SAP.

    What would have SAP done if it has taken over Sun as Oracle's complete product lines are developed on it and it does not even a ABAP stack like SAP has ? And kindly note Mr. Larry Ellison crisp quote on the day of takeover(not charity funded to Sun/Java) that "Sun will be crown of jewels of Oracle's takeover" - which means his focus as Business person would be more - what say Vishal ?

    Note: We are a small company and all our product lines are in J2EE and in the same skeptical situations looking forward for Oracle’s move. Gopal, Founder- Eminentlabs™.

  • It is my humble submission that this take over ( or merger) should not have been allowed in the first place. Sun Microsystems Ltd controls so much in terms on the Java programming language as well as MySQL database servers such that a take over by Oracle might stifle all these products and yet the wide audience have no recourse! I feel disheartened but such a turn of events - but then we can we do? Is it too late?

    At the very least, let Oracle declare that Java will be an open source programming language, controlled by a community and not an individual company. Also, that MySQL database server will forever remain an open source database server - then we can rest pretty knowing that our interests are covered.