Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Open Source가 바꾼 자바
1. Open Source
…
,
2(1982)
…
Apple II, MSX, IBM, Mac…
Basic, Asm, Pascal, Cobol, Fortran, C/C++, PHP, Java…
2
,
SK Planet
JavaZone Video
Java Zone Trailer
Open Source?
Q1.
? Q2.
1. GNU & FSF
2. Linux
3.
4. Open Source & OSI
5.
!
Free Software
1983 RMS, GNU
.
? Q3.
?
2. 1985/4 Dr. Dobb’s
GNU
1985/10/4
1989 GNU GPL
1991 GBU GPL v2
Linux
1991
,
1991/2
0.12
GPL
1993 Ian Murdock
&
“given enough eyeballs, all bugs are shallow”
The more widely available the source code is for public testing, scrutiny, and experimentation, the more rapidly
all forms of bugs will be discovered.
(RMS
)
1997
“
19
”
1998/2 OSI
1998
Open Innovation
Open Source
François Letellier, “Open Source software: the role of nonprofits in federating business and innovation
ecosystems”
1
(~1990):
2
(~2000):
3
(2000~):
(GNU, Linux)
(Aache Software Foundation)
-
(meta-organizations)
Meta-Organization
Meta-organizations are organizations whose members are other organizations (firms, states or associations).
They include well-known examples such as the United Nations or the Fédération Internationale de Football
(FIFA), as well as others less well-known.
3G Open Source Model
Collaboration in an 3G open source organization may not happen at level of single projects - and one may even
argue that some projects leaders come from the dark side of open source. But the ultimate goal is to have
cross-projects collaboration. To bring back the value of open source at a higher level. And because the parties
involved no longer are individuals, but also legal entities, a governance model that goes beyond meritocracy is
needed. - Wikipedia
Open innovation
3. “Open innovation is a paradigm that assumes that firms can and should use external ideas as well as internal
ideas, and internal and external paths to market, as the firms look to advance their technology”. Alternatively, it
is “innovating with partners by sharing risk and sharing reward.” The boundaries between a firm and its
environment have become more permeable; innovations can easily transfer inward and outward. - Wikipedia
JAVA
1995 JDK Alpha & Beta
1996/1/23 JDK 1.0, Codename Oak, JDK 1.0.2 = Java 1
1997/2/19 JDK 1.1
1998 Java Community Process(JCP)
1998/3/24 EJB 1.0
1998/5 JPE(Java Professional Edition) Project
1998/12/8 J2SE 1.2, Codename Playground, Java 2
1999/12/12 J2EE 1.2, (EJB 1.1)
2000/5/8 J2SE 1.3, Codename Kestrel, HotSpot
2001/9/24 J2EE 1.3, (EJB 2.0)
2002/2/6 J2SE 1.4, Codename Merlin
2003/11/11 J2EE 1.4, Web Service, EJB 2.1, JSF
& Open Source
2004/9/30 J2SE 5.0, Codename Tiger
2006/5/11 Java EE 5, EJB 3.0, JPA
2006/12/11 Java SE 6, Codename Mustang
2009/12/10 Java EE 6, Servlet 3.0, EJB 3.1, JPA 2.0, DI, CDI, Apache voted NO!!
Oracle
2010/1/27 Oracle, Sun
2011/7/28 Java SE 7, Codename Dolphin
2013/6/12 Java EE 7, EJC 3.2, JPA 2.1
Oak + WWW = Java
HotJava(aka WebRunner), Mosaic Java clone
Applet (Client & Server
)
JDBC, RMI
WWW = SW
90
HTML5, Ajax, Web Socket
,
Middleware &
Open Source
(TP Monitor, MTS, CORBA)
4. (J2EE)
Enterprise Java Bean:
&
Servlet/JSP
Apache Jakarta!!!
Apache Software Foundation
…
NCSA HTTPd
NCSA(
)
Time Berners-Lee
Robert McCool
CERN HTTPd
CGI
HTTPd
95%
Robert McCool
NCSA
, 1994
Apache
NCSA HTTPd
“A Patchy” => Apache
1995/2 Apache Group
1995/4 Apache 0.6.2
. NCSA 1.3 + patch
1995/8 Apache 0.8.8
.
,
1995/12/1 Apache 1.0 Released
1999 Apache Software Foundation
Apache Jakarta
SUN
, Jakarta
1999/6/15 JavaOne, SUN
Apache
Apache
Servlet/JSP RI, JSWDK
Servlet & JSP
.
.
JSP
2000
Apache Foundation
.
2005 Jakarta
XML, WS
, TLP?
?
?
2011/12/21 Jakarta
ASF
JCP
(JCP)
(Java Community Process,
ASF, Dark Side
JCP)
1998
.
,
5. 2000/5 ASF, JCP
2000/6/2 JCP 2.0
JSR Implementations
Project
Geronimo 1.x
J2EE 1.4
TCK Pass RI
Geronimo 2.x
Java EE 5
TCK Pass
Tomcat
Servlet and JSP
RI
DB/JDO
JDO 2
Tomcat/Taglibs
JSTL
RI
MyFaces
JSF
TCK Pass
Portals/Pluto
Portlets
RI
WebServices
JAX-RPC, JAXB, J2ME WS, JAXM, JAXR, SAAJ
Jackrabbit
Content Repository (JSR–170, JSR–283)
OpenJPA
Java Peristence API (JSR–220)
Harmony
Java SE 5 (JSR–176)
CXF
JAX-WS (JSR–224), JAX-RS (JSR–311)
RI
RI, TCK Pass
& Open Source
2002/2/13 .Net Framework
J2EE
Open Source J2EE
EJB
(JBoss)
(Spring, Avalon, Pico)
OpenJDK
JBoss
Java Application Server
RedHat
History
1999 Marc Fleury, EJB-OSS(EJB Open Source SW)
2001 JBoss Group LLC
2002 JBoss AS 3.0
2003/9/24
JCP
. J2EE License Issue
2004 JBoss, Inc.
2004/9/20 JBoss 4.0
2006
Oracle $400m
2006/3/10 RedHat $420m($350m+$70m)
JBoss
2007/5/11 JBoss 4.2
Veni, vidi, vici
JBoss
TCK
SUN. $500K/yr
,6
8. Spring Framework
EJB
(POJO)
SW
Best Practice
,
SW
2002/10 Rod Johnson, Expert One-on-One J2EE Design and Development
2003/6 Spring Framework
2004 Expert One-on-One J2EE Development without EJB
2004/3 Spring Framework 1.0
Java
Bright Side
Job Trends: Tomcat, Spring, Weblogic, JBoss, EJB
OpenJDK
Open Source
2006/5/23 Sun announced in JavaOne 2006 that Java would become open-source software
2006/10/25 at the Oracle OpenWorld conference, Jonathan Schwartz said that the company intended to
announce the open-sourcing of the core Java Platform within 30 to 60 days
2006/11/13 Sun released the Java HotSpot virtual machine and compiler as GPL
2007/5/8 Sun released the complete source code of the Java Class Library under the GPL 4% of class
library remained proprietary
RedHat & 100%
2007/6 IcedTea launched by Red Hat
2007/11/5 Red Hat signing Sun’s broad contributor agreement & OpenJDK Community Technology
Compatibility Kit License Agreement
2007/11 Porters Group created
2008/4 IcedTea6 Released based OpenJDK6
2008/5 less than 1% remained
9. 2008/6 RedHat TDK Test
2008/7 Ubuntu TDK Test
2011/10 IcedTea 2(based OpenJDK 7) passed TCK testing
2010/12 100% Open sourced
? Oracle
2008 SUN, IBM
. 2009/5
2009/4/20 Sun
Oracle
2009/7/16 Sun
$9.50
, $5.6b
2010/1/27 Oracle, Sun
2010/1/30 SUN
Oracle
2010/12/9 - Apache resign JCP. Oracle’s refusal to provide the ASF’s Harmony open-source version of Java
with a technology compatibility kit (TCK) license for upcoming releases of Java Standard Edition.
The ASF Resigns From the JCP Executive Committee
2010/3/8 Simon Phipps, chief open-source officer
2010/4/2
2010/8/11
,
. 2010/4/9
, Java
2010/8/13 OpenSolaris
fork OpenIndiana, illumos, SmartOS
2010/9/22 OpenWorld
Oracle
“The model for Java has always been that we give customers
and the developer community ”access to“ open source Java and we also license it to commercial vendors
under the standard license process,”
opensource
, OpenJDK, NetBeans, GlassFish
2010/10/12 The JCP: Dead, Alive, or Zombified?
2010/10/22 Doug Lea JCP
,
2011/9/11 Alex Handy “Java is open, but is the process?”
OpenJDK VS JCP
2010/10/11 IBM leave Apache harmony and joined OpenJDK
2010/11/12 Apple & Oracle announce OpenJDK for MacOSX
2011/1/11 MacOSX port project created
2011/7 SAP officially joined OpenJDK
2012 Doug Lee, OpenJDK
3
Open Source Case 2, Eclipse
1999/11 IBM OTI Lab,
VisualAge Micro Edition
“I can’t believe it’s a Java program.”
.
10. 2001/11/7 Eclipse 1.0
2001/11
Borland, IBM, MERANT, QNX Software Systems, Rational Software, Red Hat, SuSE,
TogetherSoft, Webgain
2003 80 member
2004/2/2
Eclipse Foundation
.
2004/6/21 Eclipse 3.0, OGSi
2007/1 Eclipse joined JCP (and OMG, OSGi Alliance)
“I will say that Apache’s leadership in working with the JCP and making the changes that have happened
over the last couple of years, were the pre-requisites for us joining. If Apache hadn’t worked with the JCP to
make it more open and transparent and approachable, we probably would not be members. Kudos to
Apache for doing that.” Mike Milinkovich on Eclipse Joining the JCP
2007/5/3 Oracle
Eclipse
2008/5/17 EclipseLink
(Strategic Member)
. EclipseLink
JPA 2.0 RI
2010/7 Eclipse 4.0
3
Eclipse
“The Eclipse Foundation is a not-for-profit, member supported corporation that hosts the Eclipse projects and
helps cultivate both an open source community and an ecosystem of complementary products and services.”
@
Software
Open Innovation = Open Source
.
=
“
”
Open source is…
Open source has gone from a weird thing off on the fringes of hackerdom, through “cancer” and “communism,”
to absolute mainstream. People now think intelligently about its different attributes—a collaborative
development model, a frictionless distribution model, and a powerful way to win platform dominance.