Free Java and OpenJDK. Andrew Haley Tech Lead, Open Source Java



Similar documents
Zulu by Azul OpenJDK for Azure

Valgrind BoF Ideas, new features and directions

JBoss Enterprise MIDDLEWARE

System requirements. Java SE Runtime Environment(JRE) 7 (32bit) Java SE Runtime Environment(JRE) 6 (64bit) Java SE Runtime Environment(JRE) 7 (64bit)

VOL. 2, NO. 1, January 2012 ISSN ARPN Journal of Science and Technology ARPN Journals. All rights reserved

Java Interview Questions and Answers

Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.

A microeconomic analysis of commercial open source software development

JBoss Enterprise MIDDLEWARE

IEEEXTREME PROGRAMMING COMPETITION PROBLEM & INSTRUCTION BOOKLET #3

Migrate Joomla 1.5 to 2.5 with SP Upgrade

Building native mobile apps for Digital Factory

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

ipad, a revolutionary device - Apple

Hudson configuration manual

JAVA WEB START OVERVIEW

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Installing Java. Table of contents

JBoss. choice without compromise

Online Recruitment System 1. INTRODUCTION

EXPLORING SMARTCARDS: AN INDEPENDENT LOOK TO TECHNOLOGIES AND MARKET

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

Vulnerability in Magento's implementation of PayPal

Sun xvm VirtualBox Product Overview

Active Directory Implemenation

24x7 Scheduler Multi-platform Edition 5.2

Choose an IBM WebSphere Application Server configuration to suit your business needs

Project SailFin: Building and Hosting Your Own Communication Server.

Foundations for your. portable cloud

Building Applications Using Micro Focus COBOL

Azul's Zulu JVM could prove an awkward challenge to Oracle's Java ambitions

Testing and Deploying IBM Rational HATS 8.5 Applications on Apache Geronimo Server 3.1

Introduction to Open Atrium s workflow

SIM900 Eclipse environment install Application Note_V1.00

Oracle Java SE and Oracle Java Embedded Products

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

Overview. The Android operating system is like a cake consisting of various layers.

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

IOIO for Android Beginners Guide Introduction

How Java Software Solutions Outperform Hardware Accelerators

Categories of Free and Nonfree Software

Two-Factor Authentication Basics for Linux. Pat Barron Western PA Linux Users Group

Open Source and Sun. It's Importance

GNU General Public License, version 2, with the Classpath Exception

Module 8 Increase Conversions by 29% for EACH Branch through Technology! What You'll Learn in this Module...

Deepak Bhole Sr. Software Engineer, Red Hat Inc. May

ipad vs Kindle Fire Any thoughts? Between those two, I would take the ipad.

Home Course Catalog Schedule Pricing & Savings Training Options Resources About Us

Jenkins on Windows with StreamBase

Casper Suite Release Notes. Version 9.1

2 Introduction to Java. Introduction to Programming 1 1

Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT,

Installation Guide for contineo

Libre software business models (from an European point of view)

ON-PREMISE OR IN THE CLOUD, A SINGLE JAVA EE APPLICATION PLATFORM

Apache Gump. Continuous Integration on Steroids. Apache Software Foundation Building FOSDEM 2005

Platform Guide. SA Supported Platforms. Service Package Version 7.4R1

Fahim Uddin 1. Java SDK

Platform Guide. SA Supported Platforms. Service Package Version 7.3R1

REMOTE DEVELOPMENT OPTION

12Planet Chat end-user manual

Migrating Applications From IBM WebSphere to Apache Tomcat

Introduction to Android

Tablets: Will They Replace PCs?

B: He's getting a divorce and says he won't be able to pay for it after he pays alimony and child support.

Linux Distributions. What they are, how they work, which one to choose Avi Alkalay

What Perl Programmers Should Know About Java

CentovaCast 3 - Broadcasting With VirtualDJ

Maximize strategic flexibility by building an open hybrid cloud Gordon Haff

Open Source BI. Sometimes the best things in life ARE free! Dan Peacock Auto-Wares, Inc.

FAQS. You can schedule a WebEx session ahead or start it instantly in your choice of ways:

Introduction to the JCP

Table of Contents. Java CGI HOWTO

Integrating Microsoft Dynamics GP and Microsoft Dynamics CRM. Discussion Paper and FAQ s

Application Development Guide: Building and Running Applications

System Reference 2013

Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues

An Overview of Java. overview-1

Contents.

App Development Checklist

SOA Software: Troubleshooting Guide for WebSphere Application Server Agent

Choosing the web s future. Peter-Paul Koch Drupal Jam, 12 mei 2016

CS 209 Programming in Java #1

Symantec NetBackup Enterprise Server and Server 7.x OS Software Compatibility List

Transcription:

Free Java and OpenJDK Andrew Haley Tech Lead, Open Source Java

16 May 2006: Sun announce that it's going to free Java: "This announcement represents the next phase of open sourcing Sun's Java software portfolio. What was started last year with the enterprise Java platform, has now become a complete solution for SOA development through this release..", said Rich Green, Executive Vice President, Software, Sun Microsystems, Inc.

16 May 2006: Sun announce that it's going to free Java: "This announcement represents the next phase of open sourcing Sun's Java software portfolio. What was started last year with the enterprise Java platform, has now become a complete solution for SOA development through this release..", said Rich Green, Executive Vice President, Software, Sun Microsystems, Inc. I don't believe it!

16 May 2006: Sun announce that it's going to free Java: "This announcement represents the next phase of open sourcing Sun's Java software portfolio. What was started last year with the enterprise Java platform, has now become a complete solution for SOA development through this release..", said Rich Green, Executive Vice President, Software, Sun Microsystems, Inc. I didn't believe it! Wait until we actually see the code!

16 May 2006: Sun announce that it's going to free Java: "This announcement represents the next phase of open sourcing Sun's Java software portfolio. What was started last year with the enterprise Java platform, has now become a complete solution for SOA development through this release..", said Rich Green, Executive Vice President, Software, Sun Microsystems, Inc. I didn't believe it! Wait until we actually see the code! Which licence will they use?

A digression: free software licence incompatibility It's possible to have a pair of free software licences that are incompatible Both licences may be perfectly good free software licences, but their special terms make sharing code impossible Example: GPL and Apache licences

A digression: free software licence incompatibility It's possible to have a pair of free software licences that are incompatible Both licences may be perfectly good free software licences, but their special terms make sharing code impossible Example: GPL and Apache licences This is a Bad Thing

Another digression: Java at Red Hat gcj: started by Per Bothner at Cygnus in 1998 Still not fully Java(tm) compatible Part of many GNU/Linux distributions GNU Classpath: a set of core Java libraries Still not fully Java(tm) compatible Part of many GNU/Linux distributions

13 November 2006: Sun announce the licence Today in a historic move, Sun is opening the door to greater innovation by open sourcing key Java implementations Java Platform Standard Edition (Java SE), Java Platform Micro Edition (Java ME), and Java Platform Enterprise Edition (Java EE) under the GNU General Public License version 2 (GPLv2), the same license as GNU/Linux. This is a huge move, and probably the greatest ever single donation of free software Crucially, this is the same licence as gcj and GNU Classpath, so we can combine our code

9 May 2007: the complete source code is released

9 May 2007: the complete source code is released Well, not exactly complete 5% is missing

9 May 2007: the complete source code is released Well, not exactly complete 5% is missing Sun shipping binary plugs that come with no source code for that missing 5% This is a big problem for Fedora/Debian and friends: We don't like or trust weird bits of binary in our systems The Rules don't allow it anyway

IcedTea to the rescue Fill the missing 5% with code from GNU Classpath This is only possible because Sun chose the GPL We could have made this a Red Hat project but we didn't want people working on other GNU/Linux distributions to be disssuaded from working with us Mark Wielaard, GNU Classpath maintainer, sets up http://icedtea.classpath.org

So why did Sun not ship 5% of the code? Because they didn't own it!

So why did Sun not ship 5% of the code? Because they didn't own it! Over the years, Sun had licensed code from many vendors, some of whom did not want their code to be freed Important lessons to be learned

How are we going to build this thing, anyway? Bootstrapping is now a big problem Sun build OpenJDK with a previous (unfree) version of their own JDK, but we can't do that

How are we going to build this thing, anyway? Bootstrapping is now a big problem Sun build OpenJDK with a previous (unfree) version of their own JDK, but we can't do that gcj to the rescue! gcj is truly free software, so we're allowed to use it to build OpenJDK packages for GNU/Linux distributions We won't risk unfree software leaking into OpenJDK dusing the build process

Over the next few weeks, the Red Hat team toils heroically to create the hybrid of GNU Classpath and OpenJDK that is to become IcedTea Less than a month after OpenJDK is released, IcedTea 1.0 the first truly free version of the software is released

Over the next few weeks, the Red Hat team toils heroically to create the hybrid of GNU Classpath and OpenJDK that is to become IcedTea Less than a month after OpenJDK is released, IcedTea 1.0 the first truly free version of the software is released It's not complete, but it's good enough for most purposes

Over the next few weeks, the Red Hat team toils heroically to create the hybrid of GNU Classpath and OpenJDK that is to become IcedTea Less than a month after OpenJDK is released, IcedTea 1.0 the first truly free version of the software is released It's not complete, but it's good enough for most purposes Some non functional stubs Since then, Sun have found or created free replacements for most of the binary plugs

Only i386 and x86 64 supported by Sun IcedTea project releases interpreter only portable version This becomes Zero, the zero assembler OpenJDK Slow, but good enough

Only i386 and x86 64 supported by Sun IcedTea project releases interpreter only portable version This becomes Zero, the zero assembler OpenJDK Slow, but good enough We're looking at Just In Time (JIT) compilation using LLVM This is a very different approach from that of proprietary Java, which doesn't co operate with other projects This won't be released in the short term

OpenJDK / IcedTea was a preview of Java SE Version 7 Java SE Version 7 spec not yet released OpenJDK / IcedTea isn't really compatible with anything Good enough for most things Shipped as part of Fedora 8

Red Hat's contributions Java plugin for web browser For many people, the first experience of Java Shipped in Fedora 8 Java Web Start Integrated NetX with OpenJDK In the future: LiveConnect Java/JavaScript bridge Signed applet verification

After Fedora 8, the lack of a Java SE 6 compatible version becomes a real problem Java 7 specification is still in flux, and developers might depend on unstablea APIs Joe Darcy's team at Sun begins the work of fixing the Java 7 antibugs so that we can have a Java 6 compatible release We quickly decide that Fedora 9's Java must be based on this Java 6 compatible code base

Sun now allows Fedora to use the OpenJDK trademark for its package This makes good sense, as most of the original binary plugs have now been replaced, and Fedora's OpenJDK is very similar to the package that Sun themselves distribute

Not everything in the garden is rosy Many of the JSRs and TCKs are still secret / proprietary If Java is to become the free software platform of choice, this must end

We now can try to pass the Java SE Technical Compatibility Kit This is a huge job, but we're working on it We're hoping to make an announcement soon, so Watch This Space This will be the most significant single event since the first announcement that the code is freed It will allow us to call OpenJDK Java compatible

Free Java and OpenJDK We now can try to pass the Java SE Technical Compatibility Kit This is a huge job, but we're working on it We're hoping to make an announcement soon, so Watch This Space This will be the most significant single event since the first announcement that the code is freed It will allow us to call OpenJDK Java compatible And then we can say Java is Free!

Free Java and OpenJDK Get Fedora 9! http://fedoraproject.org/get fedora

Free Java and OpenJDK Questions? Comments?