---
title: Board Report 2019-06-19
--- pipeline:conf

h2. June 19th, 2019

{code}
Description
===========

Apache ServiceMix is a flexible, open-source integration container that
unifies the features and functionality of Apache ActiveMQ, Camel, CXF and
Karaf to provide a complete, enterprise-ready ESB powered by OSGi.

Issues
======

There are no outstanding issues requiring board attention.

Activity
========

The project focus of Apache ServiceMix is the assembly of the integration
container, the actual functionality is being maintained in related projects
like Apache Karaf, Apache CXF, Apache Camel and Apache ActiveMQ.

- We have released 5 sets of OSGi bundles.
- The work on ServiceMix Assembly was outstanding for a longer time. There was
  a lot of stuff implemented in the main components of the Assembly (Apache
  Karaf, Apache Camel,...). I hope we manage to discuss the future versions of
  the Assembly (and the themes around it, like documentation and samples)
  during the next period.


Health report
=============

- The activity of the community (mailing lists, JIRA, releases) has been a bit
  slower than during the last period.

PMC changes
===========

 - Currently 21 PMC members.
 - No new PMC members added in the last 3 months
 - Last PMC addition was Andrea Cosentino on Wed Mar 15 2017

Committer base changes
======================

 - Currently 50 committers.
 - No new committers added in the last 3 months
 - Last committer addition was Andrea Cosentino at Sun Mar 13 2016

Releases
========

 - Apache ServiceMix Bundles 2019.02 on March 12 2019
 - Apache ServiceMix Bundles 2019.03 on April 01 2019
 - Apache ServiceMix Bundles 2019.04 on May 09 2019
 - Apache ServiceMix Bundles 2019.05 on June 04 2019


JIRA activity
=============

 - 84 JIRA tickets created in the last 3 months
 - 84 JIRA tickets closed/resolved in the last 3 months
 {code}
