Putting open source to the test: The making of JBoss Enterprise Middleware
8
www.jboss.com
brAnching cOdE And AssEMbling cOMPOnEnts
Once requirements have been agreed upon and code sources identified, the JBoss Enterprise Middleware
productization team creates a code branch that will become the next release of the product. At this point,
ongoing open source community development no longer affects the branched code, so the product team
can stabilize and test the software without having to incorporate new capabilities. Any code changes to the
branch, no matter how minor, are first submitted to the upstream JBoss.org project for approval, and then,
once approved, incorporated into the associated Enterprise JBoss Middleware product. The productization
team combines the code from these various sources — from JBoss.org projects or other open source proj-
ects — and integrates them to form a single enterprise software product.
When this analysis is complete, the product team identifies the specific components and versions that will
be assembled and tested to become the next release of the product. The team then defines specific objec
-
tives for the release, balancing ambitious requirements with time and resource constraints. Requirements
include not only functional capabilities, but also usability requirements, platform certification, perfor
-
mance characteristics, scalability requirements, installation and migration tools, and other requirements
for capabilities that make customers’ lives easier.
crEAting JbOss EntErPrisE MiddlEwArE
To create each JBoss Enterprise Middleware product, JBoss productization and delivery teams proceed
through a well-defined productization process that takes an average of four to five months to complete.
1
2
3
4
5
D
e
li
ve
ry
p
h
a
se
P
ro
d
u
ct
iz
a
ti
o
n
T
e
a
m
PLATFORM
CANDIDATE
RELEASE
QUALITY
ASSURANCE
jboss.org
projects
jboss.org
eng
community
Product
management
JBoss
productization
engineers
JBoss QA
documentation team,
certified partners
JBoss release
engineering
Product
requirements
definition
Platform
component
engineering
+ integration
Platform
testing
certifi
documentation
Platform release
(general availability)