OpenJDK The Future of Open Source Java on GNU/Linux Dalibor Topi - - PowerPoint PPT Presentation

openjdk the future of open source java on gnu linux
SMART_READER_LITE
LIVE PREVIEW

OpenJDK The Future of Open Source Java on GNU/Linux Dalibor Topi - - PowerPoint PPT Presentation

OpenJDK The Future of Open Source Java on GNU/Linux Dalibor Topi Java F/OSS Ambassador Blog aggregated on http://planetjdk.org Java Implementations Become Open Source Java ME, Java SE, and Java EE 2 Why now? Java is everywhere


slide-1
SLIDE 1

OpenJDK – The Future

  • f Open Source Java
  • n GNU/Linux

Dalibor Topić Java F/OSS Ambassador Blog aggregated on http://planetjdk.org

slide-2
SLIDE 2

2

Java ME, Java SE, and Java EE

Java Implementations Become Open Source

slide-3
SLIDE 3

3

Why now?

Innovation Maturity Adoption

Java is everywhere F/OSS growing globally Faster progress through participation

slide-4
SLIDE 4

4

Why GNU/Linux?

Demand Values Stack

Freedom as a core value Free Software above and below the JVM Increasing demand for Java integration

slide-5
SLIDE 5

5

Who profits?

Sun

Developers Customers

New markets, new possibilities More innovations, reduced risk Mindshare, anchoring Java in GNU/Linux

slide-6
SLIDE 6

6

License

+ Classpath Exception

(for SE, EE)

  • Programs can have

any license

  • Improvements

remain in the community

  • FSFs license for GNU

Classpath

GPL v2

  • No proprietary forks
  • Popular & trusted

license

  • Compatible with

GNU/Linux

  • Fostering adoption
slide-7
SLIDE 7

7

Jun 1996: Work on gcj starts Nov 1996: Work on Kaffe starts Feb 1998: First GNU Classpath Release Mar 2000: GNU Classpath and libgcj merge Dec 2002: Eclipse runs on gcj/Classpath Oct 2003: Kaffe switches to GNU Classpath Feb 2004: First FOSDEM Java Libre track Apr 2004: Richard Stallman on the 'Java Trap' Jan 2005: OpenOffice.org runs on gcj Mai 2005: Work on Harmony starts

A Little Bit Of History

slide-8
SLIDE 8

8

Juni 2005: Java EE RI Glassfish goes Open Source Mai 2006: First Glassfish release Mai 2006: Java announced to go Open Source November 2006: Java ME RI PhoneME goes Open Source November 2006: Java SE RI Hotspot und Javac go Open Source Mai 2007: The rest of Java SE follows suit

Sun & Open Source Java RIs

slide-9
SLIDE 9

9

Status: JavaOne, Mai 2007

OpenJDK can be fully built from source, 'mostly' Open Source

25,169 Source code files 894 (4%) Binary files (“plugs”) 1,885 (8%) Open Source, though not GPLv2 The rest is GPLv2 (+ CP exception) Sun couldn't release the 4% back then as free software. “Encumbrancies”

slide-10
SLIDE 10

10

Encumbrancies (2007)

Font rasterizer Graphics rasterizer Sound engine Crypto providers Some SNMP code Imaging APIs

slide-11
SLIDE 11

11

Status 2008: Fixed Encumbrancies

Font rasterizer Font rasterizer Graphics rasterizer Graphics rasterizer Sound engine Sound engine Crypto providers Crypto providers Imaging APIs Imaging APIs

slide-12
SLIDE 12

12

Leftover Encumbrancies (2008)

Some SNMP code Some SNMP code (Any volunteers?) (Any volunteers?)

slide-13
SLIDE 13

13

Contributing

  • Sign the SCA (See http://sca.dev.java.net for FAQ)
  • Pick an issue from the bugtracker (Currently

http://bugs.sun.com)

  • Or pick a project to contribute to
  • Or send us your patches for OpenJDK
  • Or start a new project with your idea
  • Pick the right mailing list from your project's web site
  • If in doubt: discuss@openjdk.java.net
  • IRC: #openjdk on irc.oftc.net
slide-14
SLIDE 14

14

8 May 2007, 9:29am PDT

OpenJDK source code published

Gentoo OpenJDK ebuild Fedora source RPM

slide-15
SLIDE 15

15

8 May 2007, 9:29am PDT 8 May 2007, 2:46pm PDT

OpenJDK source code published Gentoo OpenJDK ebuild Fedora source RPM

slide-16
SLIDE 16

16

8 May 2007, 9:29am PDT 8 May 2007, 2:46pm PDT 9 May 2007, 3:06am PDT

Quelltext des JDK publiziert Gentoo OpenJDK ebuild Fedora source RPM

slide-17
SLIDE 17

17

IcedTea icedtea.classpath.org

7 Juni 2007

“We intend this build repository, based on OpenJDK, to provide a basis on which to experiment. It’s not a fork from OpenJDK, and doesn’t contain the OpenJDK source code.” — Andrew Haley

slide-18
SLIDE 18

18

9 August 2007

OpenJDK Community TCK License

slide-19
SLIDE 19

19

OpenJDK Community TCK License

For 'substantially derived' implementations Have to be distributed under GPLv2 Gratis access to the TCK Compatible implementations may use the “Java Compatible” brand under a separate trade mark license agreement

slide-20
SLIDE 20

20

OpenJDK Community TCK License

For testing compatibility to Java SE 6 TCK is not Open Source Licensees may help each other But the test code is confidential No claims of relative compatibility (x %, etc.)

slide-21
SLIDE 21

21

OpenJDK Community TCK License

  • Apply at the Conformance Group's

website in OpenJDK for access

  • Sign the OpenJDK CTLA
  • Get access to the TCK
  • Set the TCK up (the official docs are
  • nline, as well as Red Hat's)
  • Feedback and Support:

Conformance Group

  • OpenJDK Java Compatible

Trademark License

slide-22
SLIDE 22

22

OpenJDK Community TCK License

  • Red Hat & several others
  • Initial setup took Red Hat 3 months
  • Status: passing all the tests on x86/

x86_64 on Fedora

  • Published a 'JDK distilled' document
  • Cut setup time to days
  • Red Hat's patches are continously

going back to OpenJDK

  • So that other distributions can

follow suit

slide-23
SLIDE 23

23

Regression Tests

  • Part of OpenJDK
  • Getting published as well
  • Test tools are Open Source, too
  • Jtharness seit 2007
  • Jtreg seit 2008
  • Included in GNU/Linux distribution

builds in IcedTea

  • Build logs bei Ubuntu & Fedora
slide-24
SLIDE 24

24

New source code management system: Mercurial Allow us to have external committers 12/4/07: Read-only repositories 2/27/08: Read/write repositories April 2008: First external committers ~20 now

December 2007

http://hg.openjdk.java.net http://selenic.com/mercurial

slide-25
SLIDE 25

25

January 2008

  • OpenJDK Community Innovator's Challenge

> Up to $175,000 for up to 7 projects > Proposals were due until mid-March > Projects ran until beginning of August > Lone developers as well as teams > Proposals accepted in selected areas:

> API, Java language or OpenJDK Implementation improvements > Replacing encumbered code > Ports to new platfoms > Academia

slide-26
SLIDE 26

26

March 2008: Innovator's Challenge

  • Closures for Java - Neal Gafter
  • Implement XRender pipeline for Java2D - Clemens

Eisserer

  • Provide date and time library from JSR-310 - Stephen

Colebourne, Michael Nascimento Santos

  • Portable GUI backends (Caciocavallo) - Roman Kennke,

Mario Torre

  • Virtual Machine Interface - Andrew John Hughes
  • Free Software synthesizer implemention for OpenJDK -

Karl Helgason

  • OpenJDK on Windows - Ted Neward
slide-27
SLIDE 27

27

October 2008: Challenge Results

  • Gold (USD 75k): Implement XRender pipeline for

Java2D - Clemens Eisserer

  • Silver (USD 50k): Closures for Java - Neal Gafter
  • Bronze (USD 25k): Provide date and time library from

JSR-310 - Stephen Colebourne, Michael Nascimento Santos

  • Bronze (USD 25k): Portable GUI backends

(Caciocavallo) - Roman Kennke, Mario Torre

slide-28
SLIDE 28

28

February 2008

Developer's Guide: http://openjdk.java.net/guide

OpenJDK 6

FOSDEM 2008 and Java Libre Devroom

slide-29
SLIDE 29

29

OpenJDK 6

  • Only Free Software – No encumbered code
  • Stable – Support by the GNU/Linux distributions

> Patched for security, compatibility and ugly issues > Remove/replace non-free code in OpenJDK > Better Java Integration with GNU/Linux distributions

  • Compatibility – getting very close

> A handful of failures left to verify as fixed for b13

  • Quality – close to Java SE 6, tested using

applications like NetBeans, GlassFish, Tomcat

jdk6-dev@openjdk.java.net

slide-30
SLIDE 30

30

New Groups and Projects

  • Groups

> Porters > Conformance

  • Projects

> Type annotations, Compiler Grammar > Multi-language VM > JDK 6 > VisualVM > BSD port, Haiku port, MIPS port, Zero > Modules > Closures

slide-31
SLIDE 31

31

slide-32
SLIDE 32

32

OpenJDK in GNU/Linux

  • Requirements

>Only Free Software >(Mostly) complete >Packaging done right >Tested and accepted by distros

Goal: Get into (main) distribution repositories ... step by step.

slide-33
SLIDE 33

33

slide-34
SLIDE 34

34

What's next?

  • OpenJDK as the foundation for
  • ther code to follow

>NetBeans >GlassFish >Available in Ubuntu since

version 8.04

>Your open source project?

Goal: allow Java developers to be as

productive on Linux out of the box as everyone else is

slide-35
SLIDE 35

35

Improving the infrastructure Code Reviews, Wiki, Opengrok, Bugzilla Externalize processes & tools Replace the SNMP code Deployment Code (plugin, webstart) Grow the Community: Ports, Committers, Projects Governance

2008-2009

slide-36
SLIDE 36

36

The Java Community Process stays

Code APIs Specs OpenJDK, GlassFish, Mobile&Embedded

Community

slide-37
SLIDE 37

37

OpenJDK allows expert groups to develop Reference implementations for JSRs (Destined for Java SE 6+X) In the open, transparently with their users JSR 277 (Modulsystem), JSR 292 (MLVM, Invokedynamic), JSR for new NIO APIs, JSR 308 (Annotations on types)

OpenJDK has a positive effect

slide-38
SLIDE 38

38

Java is becoming a piece of GNU/Linux Part of the Linux toolchain JVM as a core component of distributions Full, Free Java Stack Packages for commonly used libraries 'apt-get install' for Java applications ... it's there, and it just works

Into the Future

slide-39
SLIDE 39

Thanks!

http://OpenJDK.java.net

dalibor.topic@sun.com irc://irc.oftc.net/#openjdk