Oracle Java: How to avoid risk and optimize?

Share on facebook
Share on google
Share on twitter
Share on linkedin
Share on email

Java is on most platforms, however, many people don't know it or even know it exists. Many people know Java as synonymous with an object-oriented programming language for application development, but the term also refers to the countless applications that we use in our day-to-day when we browse the Internet.

A long-running legal dispute between Google and Oracle over the use of Java on Android was recently ended when the US Supreme Court awarded a victory to Alphabet, Google's parent brand.

The court ruled that the company did not violate federal intellectual property laws to develop the Android system. Supreme Court justices overturned an earlier opinion, which favored Oracle and found that Android's source code did not make fair use of the Java base. The company claims that the competitor has copied “structure, sequence and organization” of 37 APIs from Java to Android.

After all, some social networks, such as Facebook and Twitter, use Java in their back-end. The java on android itself, already mentioned and that we use on our smartphones, as well as the applications we install on it, are developed in this language. The Weka artificial intelligence data mining and learning tool, one of the most popular and used in the world, was written entirely in Java.

Oracle estimates that more than 3 billion devices worldwide use some Java product. In this way, it is possible to calculate the company's global influence, which is not restricted to the technology business. In addition, platform resources are found in other applications, which makes licensing an essential task for the good conduct of business.

Java subscription allows you to make use of the LTS version, with support, bug fixes, and security updates guaranteed during the subscription period. It also includes support, which is done through OTN, where tickets will be opened and updates will be downloaded.

If you don't know what Java SE, or Java RE, is and how it can affect your organization's software licensing costs, this article is for you.

Licensing: What Changed After Oracle's Purchase of Sun Microsystems

Sun announced at JavaOne 2006 that Java would become free open source software. Sun released the HotSpot virtual machine and compiler as open source under the GNU General Public License on November 13, 2006, with a promise that the rest of the JDK (which includes the JRE) would be placed under the GPL in March 2007. Following its promise to release a JDK fully compilable based almost entirely on free software and open source code, in the first half of 2007, Sun released the full source code of the class library under the GPL on May 8, 2007.

On April 20, 2009, Oracle announces that it has purchased Sun Microsystems for $7.4 billion, boosting the enterprise software developer in the hardware industry. The company is known for having systems based on Sparc chips. It also has a vast portfolio of software, which includes the Solaris operating system, the open source database MySQL, and the Java programming language.

After the purchase of Sun Microsystems by Oracle, all the intellectual property of Sun Microsystems was incorporated by Oracle, and with that, the Java license agreement underwent several changes over time, going from an Open-Source agreement (GPL) to a license-based agreement (BCL/OTN).

With this change came several questions such as:

  • Can I continue to use Java SE for free?
  • What about receiving support and updates?
  • Can I distribute Java SE?

Oracle BCL (Binary Code License) Agreement for Java SE Products

Oracle continued to offer the use of Java SE free of charge under a so-called Binary Code License (BCL) agreement. This use is restricted and free of charge only if the following conditions are met.

  • You can only use Java Standard Edition components (eg JDK, JRE, JavaFX, JRockit JDK) internally in your organization to run your Java applications (internally developed or third party applications).
  • Java Standard Edition components must be used on desktops or servers for general purpose use.
  • You are permitted to use commercial resources (eg Java Flight Recorder, Java Mission Control) for the purpose of designing, developing and testing your programs (eg your internally developed Java application) without any licensing requirement.
  • You are permitted to distribute the Java Standard Edition software components as long as you do not modify or remove any component of it. Also, you need to make sure the end user agrees to the standard BCL agreement.

OTN (Oracle Technology Network) Agreement for Oracle Java SE

Starting with Java version 11 (more precisely the release of JDK 11), or version 8u202, Java Standard Edition is no longer available under the BCL contract. Rather, usage rights are governed by the Oracle Technology Network (OTN) license agreement.

Here are the most important terms of the OTN license agreement compared to the OBCL agreement:

  • You can still use Java Standard Edition components (for example, JDK, JRE, JavaFX, JRockit JDK) internally in your organization. However, under the OTN license agreement, you can only use Java Standard Edition for the purpose of developing, testing, prototyping and demonstrating your application (software development).
  • You no longer need to differentiate between general-purpose and non-general-purpose computers and/or servers.
  • The use of commercial facilities for any type of data processing, business, commercial or production purposes is not permitted under the OTN License Agreement.
  • You are not permitted to distribute, provide or transfer the Java program to third parties.
  • You are not allowed to remove or modify any Java programs.

As with all other Oracle products, if you wish to use the Java program for any purpose other than those expressly permitted in the OTN agreement, you must obtain a valid license that permits such use.

Oracle Java Versions

Java Licensing Models

Oracle sold three different commercial licenses for Java:

  • Java SE Advanced
  • Java SE Advanced Desktop
  • Java SE Suite

These programs were sold on a Named User Plus and/or Processor metric (Java SE Advanced Desktop was licensed on Named User Plus only) in which you paid for a license and a support fee. As of January 2019, this licensing model is no longer available. Instead, Oracle only makes its Java Standard Edition programs available through so-called subscriptions:

  • Java SE Subscription
  • Java SE Desktop Subscription

Oracle JDK vs Oracle OpenJDK

Until Java 11, you could download the Oracle JDK and use it for production use with paid support or use in other environments for free. Starting with Java 11, Oracle introduced two different JDK builds:

  • Oracle JDK (commercial) – Free as long as you don't use it in a production environment. You will receive updates and include support.
  • Oracle OpenJDK (Open Source) – Free in any environment, like any open source library. When it comes to getting security updates, it's less frequent as it's made available by the Java community.

Oracle JDK and Oracle OpenJDK are the same from a functionality standpoint. From a tech support standpoint, there is a difference. Oracle will provide you with security patches and/or updates for the Oracle JDK, while the Java community will provide you with the Oracle OpenJDK release. Many end users are considering moving to OpenJDK instead of the paid Oracle version. The question you should consider is how much time and energy will your organization take to continuously update / update your OpenJDK releases?

4Matt Oracle Java Optimization Framework

Origins of Java

The story begins in 1991, in San Hill Road, a company affiliated with sun (of which the company Oracle currently belongs), formed by the team of engineers led by Patrick NaugthonSun Fellow and James Gosling. The group was starting a project called Green Project, which consisted of creating modern software technologies for consumer electronics companies. The main idea of Java was that electronic devices communicate with each other.

Java was the first to use decoders from televisions interacting on portable devices and other consumer electronics products, it was the same way it was started in 1991, having portability to any environment and development for multiple platforms, in consumer electronics environments, since then Java has been leading the market in terms of language.

Java applications have a fundamental characteristic that allows software development without worrying about the type of system or platform that needs to be developed and prepared.

Java has been quite successful among programmers and common users alike for allowing rapid development and for having the ability to run its source code on any system that supports the Java Virtual Machine (JVM), or Java Virtual Machine. Other virtual machines and JDKs that can increase developer productivity, such as GraalVM Enterprise and Azul Java, are also available for use. To have the Java Virtual Machine on your system it is necessary to install the JRE (Java Runtime Environment).

Many sites, usually with multimedia content (or even your internet banking), require the user to install Java to work correctly.

Conclusion and Recommendations

The Java Standard Edition (including JDK, JRE, JavaFX, JRockit JDK) will continue to be freely available as long as it is used to develop, test, prototype and demonstrate the application(s) developed in-house. If you are using Java Standard Edition for any data processing, business, commercial or production purposes, your use of Java will come at an additional cost as it must be licensed.

Alternatively, the company may decide to start using OpenJDK, or keep the versions that are covered by the BCL contract, which is not recommended as your organization will be without the support and security patches made available for the product by Oracle.

4Matt can help your company optimize costs in Java in the following ways:

  • Analysis and categorization of the inventory report, classifying the Java that is installed on machines (Desktops, Servers and VMs) according to its version and license agreement
  • Evaluation of the use of Oracle Java, verifying the need for each environment and use of commercial features.
  • Creating a report with evaluation results
  • Assistance in optimizing licensing and updating of Oracle Java products

If you or your company need any of these services or talk a little more about Oracle Java, contact us by ON HERE.

Indirect Tag: multiple programming languages, java however, human resources, login, oracle over usage, dispute between google, google wins, app development, java apis, supreme court judges, artificial intelligence, additional cost, long dispute, oracle advertises, social networks, graalvm enterprise, legal dispute, developer productivity, fair use, oracle cloud, oracle weblogic, lts release, musical instruments, lifecycle, java lts, linux mint, create an account, java community, cadence release, java environment, future of java, cycle management, digital transformation, luiza magazine, java management, deep dive, latest version, development platforms, oracle java se subscription, personal care, oracle released, data engineering, next version personal use oracle java se subscription oracle weblogic oracle cloud lifecycle management java management java subscription musical instruments contact us cu personal data create an account java platform, SAM, FinOps, Software Asset Management, Software Asset Management, ServiceNow, Database java certification
language java design patterns java card design patterns free shipping data types runtime income tax java continued write once run programmers frontend brazil ltda hello world study plan we can help build apis earn money code java java download internet explorer best practices shipping free hello world magazine luiza technology java development environments react native java ee product details java no internet explorer java development platform java development platform java virtual machine gnu general public java runtime environment runtime environment programming languages technical support java runtime oracle subscription evaluation from customers software developers oracle university java development kit java development kit jdk development kit end users product details java continued license optimization java software java download release cadence linux mint java development personal use v latest version

Related Posts