| ApacheHarmony |
WebHome | UnixGeekTools | Geekfarm | About This Site
Pointers
- presentation by Geir Magnusson Jr. (Intel)
- The Apache Software Foundation
- geirm@apache.org
develop a complete, compatible implementation of J2SE5
- Tools - hard - eclipse
- java vm and jit - harder
- speed, memory
- 100% compatible - pass the TCK
- 10 years behind SUN
- not interested in J2ME at this point
new project in apache incubator
- sun is cautiously supportive
java is still seen as a closed technology
- second class citizen in the FOSS community
- can't be shipped with linux
- not the first choice now - due to licensing issues
- mono is more free/open - want to choose java instead
critics
- fork java - no plan to do this - compatibility
- too hard - linux has shown this can work
mustang
- SUN's j2se6
- still not FOSS
other approaches
kaffe
- the borg of free vms
- really portable, kinda slow
GNU Classpath
- java class library
- long running project, working toward j2se 1.4
JikesRVM - java in java - research jvm
- in it's heyday - faster than production c/c++
- less money in this project today
ORP: C/C++ research VM
- funded by intel
- another research VM
- ongoing work
GCJ - head of time compiler
- produces native binaries out of your java
- uses GNU Classpath
IKVM
- runs java bytecode on mono
- downright studly - very fast execution
- uses GNU Classpath
- part of the harmony commmunity
- massive govt support
- certified compatible FOSS J2SE platform implementation
modular implementation
- allow different components to plug in
- well defined set of interfaces between them
- freedom of choice for components - JIT, GC, Thread manager, OS Glue
- freedom of license for components - free, open soruce, proprietary
- allows developers to work on one little piece
reuse
- GNU Classpath
- JamVM, Jikes RVM, etc.
protection of IP rights
- individual contributors have been exposed to class library
source
- some could have worked on other VM or class libraries
doing an indempendent implementation of the existing spec
legal framework
- standard ASF procedure for code acceptance - ICLA and CCLA ?
- authorized contributors - declare areas of previous exposure,
don't work in those areas
- bulk contributors - for software repurposed from elsewhere
- JRL - java research license - clarified
- you're not 'tainted' if you saw the source at some point
contributions
JCHEVM - JC 'harmony edition' vm
- converts java bytecode into C and compiles at runtime
- allows parts of VM to be in Java
bootVM
- "Pedantic VM" by Dan Lydick
- Straight C
- Still in progress
- interpreted, no JIT, no GC, lots of work to be done
intel contributions
- java security apis (pulic API)
- cyrptop architecture (JCA)
- lots more
IBK contributions
- foudation code - vmi, port thread, util, zip
- enough class library code to run Ant and Eclipse java compiler (not ide)
- launcher - multiple VM implementations using a standard VM API
- platform support - windows and linux on 32-bit intel
IBM J9 VM binary (not source)
- very good production-grade VM
- evaluation of contribution
- will get away from this eventually, can use now to test against
going forward - a wishful plan
Q1 2006 - VM - basic VM w/suport for our VMI
- Classlib: more
- Tools: basics in place
- Community - diversify and grow - grow to 20 active commiters
- meaningful architecture discussion and specs
- infra - coherent build, continuous testing, stability
- harmony test suite augments others - Mauve
- continuous IP surveillance
Q2 2006
- Classlib - enough for eclipse
- Tools: done
- Modularity for class library and VM componentization
- community - focused subgroups
- Infra - get TCK
Q3 2006
- respectable JIT and GC
- more 1.5 features
Q4 2006
- vm performance
- enough code for Geronimo
- respectable functioning JDK brings users, participation by Sun
2007
community challenges
- licensing bridge - how to work with GPL
- how to incorporate expert communities not familiar with wild
west of OSS
- how to introduce and manage big company involvement
legal / IP challenges
- how to handle patches
- IP surveillance on our codebase
- anticipate the suprises
summary
- building commmunity
- building framework
- accepted 5 donations - 2 VM, 1 POC for componentization, 2 class libraries
Updated Sun Jul 23, 2006 12:10 PM