Committers,,,,,,
Mika Hoikkala,,,,,,
alaurila (Arto Laurila),,,,,,
khorowitz (Kevin Horowitz),,,,,,
pvirtanen (Petri Virtanen),,,,,,
Marius Voicu,,,,,,
Minna Bloigu,,,,,,
Jesper Aaen,,,,,,

Developer Contributions,,,,,,
component,bug #,contributor name,key,committer,size (lines),description
Nokia initial contribution,134060,,,Arto Laurila,,
IBM initial contribution for signing,133856,,,Kevin Horowitz,,
IBM initial contribution for MIDP packaking,134125,,,Kevin Horowitz,,
EclipseME initial contribution,134243,,,Arto Laurila,,
org.eclipse.mtj.extension.smgmt.ui,162323,Jani Hautakangas,,Kevin Horowitz,4,Fix UI sizing issue on Ubuntu linux
org.eclipse.mtj.extension.smgmt.ui,163008,Jani Hautakangas,,Kevin Horowitz,8,Fix empty string comparis on linux

Third Party Software,,,,,,
name+version,directory or jarfile,license name and version,usage,,,
Jetty 4.2.25,org.eclipse.mtj.core/org.mortbay.http.jar,Apache 2.0,OTA deployment,"Only contains (javax.servlet.http, org.mortbay.http, org.mortbay.http.handler, org.mortbay.util)",,
ASM 2.2.1,org.eclipse.mtj.extension.preverify/asm-all-2.2.1.jar,BSD Style,Preverify,,,
EclipseME,,EPL,Initial material for MTJ jad editor and build features,,,
