# Apache Felix

Apache Felix is an open source implementation of the OSGi Core Release 6 framework specification. The initial codebase was donated from the Oscar project at ObjectWeb. The developers worked on Felix for a full year and have made various improvements while retaining the original footprint and performance. On June 21, 2007, the project graduated from incubation as a top level project and is considered the smallest size software at Apache Software Foundation.

## Running Felix

To run Apache Felix OSGi, you need to download the felix-framework-4.x.x.tar.gz or felix-framework-4.x.x.zip compressed file from the site. Once you have extracted the Felix framework distribution, from the command line in the extracted directory type the following:
java -jar bin/felix.jar
After bundles are installed and running, typing a command like help from the console will display all available commands, which are:
* bundlelevel <level> <id> ... | <id> - set or get bundle start level.
* cd [<base-URL>] - change or display base URL.
* find <bundle-name> - display bundles matching substring.
* headers [<id> ...] - display bundle header properties.
* help - display impl commands.
* inspect - inspect dependency information (e.g., packages, service, etc.).
* install <URL> [<URL> ...] - install bundle(s).
* log [<max>] [error|warn|info|debug] - list recent log entries.
* obr help - OSGi bundle repository.
* ps [-l | -s | -u] - list installed bundles.
* refresh [<id> ...] - refresh packages.
* resolve [<id> ...] - attempt to resolve the specified bundles.
* shutdown - shutdown framework.
* start <id> [<id> <URL> ...] - start bundle(s).
* startlevel [<level>] - get or set framework start level.
* stop <id> [<id> ...] - stop bundle(s).
* sysprop [-r] [<key>] [<value>] - Display, set, modify and remove system properties.
* uninstall <id> [<id> ...] - uninstall bundle(s).
* update <id> [<URL>] - update bundle.
* version - display version of framework.

## Version history

Felix Framework Distribution
| Version | OSGi spec support | Release date |
| 7.0.0 | R7 | December 25, 2020 |
| 6.0.3 | R6 | May 2, 2019 |
| 6.0.2 | R6 | January 31, 2019 |
| 6.0.1 | R6 | August 20, 2018 |
| 5.2.0 | R6 | September 25, 2015 |
| 5.0.1 | R6 | June 21, 2015 |
| 5.0.0 | R4 | April 24, 2015 |
| 4.6.1 | R4 | March 8, 2015 |

## Subprojects

List of subprojects of which the Apache Felix framework consists.
| Component | Latest version | Released |
| AutoConf Resource Processor | 0.1.8 | January 16, 2016 |
| Bundle Repository | 2.0.10 | April 21, 2017 |
| Configuration Admin | 1.9.16 | June 15, 2019 |
| Connect | 0.2.0 | May 25, 2018 |
| Configurator | 1.0.10 | June 15, 2019 |
| Converter | 1.0.10 | August 26, 2019 |
| Coordinator | 1.0.2 | November 9, 2015 |
| Dependency Manager 4 | r15 | December 23, 2018 |
| Deployment Admin | 0.9.10 | January 16, 2016 |
| Event Admin | 1.5.0 | May 4, 2018 |
| File Install | 3.6.4 | October 23, 2017 |
| Framework Security | 2.6.1 | August 16, 2018 |
| Framework | 6.0.3 | May 2, 2019 |
| Gogo | 5 | January 14, 2019 |
| Gogo BOM | 1.0.2 | January 14, 2019 |
| Gogo Command | 1.1.0 | January 10, 2019 |
| Gogo JLine | 1.1.4 | January 28, 2019 |
| Gogo Runtime | 1.1.0 | January 10, 2019 |
| Gogo Shell | 1.1.0 | January 10, 2019 |
| Health Check Annotations | 2.0.0 | February 25, 2019 |
| Health Check API | 2.0.2 | May 20, 2019 |
| Health Check Core | 2.0.6 | May 20, 2019 |
| Health Check General Checks | 2.0.4 | May 13, 2019 |
| Health Check Webconsole Plugin | 2.0.0 | February 25, 2019 |
| HTTP Service API | 3.0.0 | August 5, 2015 |
| HTTP Service Base | 4.0.8 | September 7, 2019 |
| HTTP Service Bridge | 4.0.10 | September 7, 2019 |
| HTTP Service Bundle | 3.0.0 | January 29, 2015 |
| HTTP Service Cometd | 2.3.2 | November 5, 2014 |
| HTTP Service Jetty | 4.0.14 | September 12, 2019 |
| HTTP Service Proxy | 3.0.6 | May 15, 2019 |
| HTTP Service Reactor | 5 | November 5, 2014 |
| HTTP Service SSL filter | 1.2.6 | October 19, 2018 |
| HTTP Service Whiteboard | 4.0.0 | April 26, 2018 |
| HTTP Servlet 2.6 + 3.0 API | 1.1.2 | August 5, 2015 |
| Inventory Printer | 1.0.6 | December 5, 2017 |
| iPOJO (Core) | 1.12.1 | December 16, 2014 |
| iPOJO Annotations | 1.12.1 | December 16, 2014 |
| iPOJO API | 1.12.1 | December 16, 2014 |
| iPOJO Architecture Command for Gogo | 1.12.1 | December 16, 2014 |
| iPOJO Architecture Command for the Felix Shell | 1.6.0 | April 16, 2010 |
| iPOJO BND Plugin | 1.12.1 | December 16, 2014 |
| iPOJO Composite | 1.12.1 | December 16, 2014 |
| iPOJO Event Admin handler | 1.8.0 | May 11, 2011 |
| iPOJO Extender pattern handler | 1.4.0 | July 21, 2009 |
| iPOJO JMX handler | 1.4.0 | July 21, 2009 |
| IPOJO Karaf Features | 1.12.1 | December 16, 2014 |
| iPOJO Manipulator Project (containing all iPOJO manipulator modules) | 1.12.1 | December 16, 2014 |
| iPOJO Manipulator | 1.12.1 | December 16, 2014 |
| iPOJO Manipulator BOM | 1.12.1 | December 16, 2014 |
| iPOJO Maven Plugin | 1.12.1 | December 16, 2014 |
| iPOJO Metadata | 1.6.0 | December 6, 2011 |
| iPOJO Runtime Project (containing all iPOJO runtime modules) | 1.12.1 | December 16, 2014 |
| iPOJO Temporal Dependency handler | 1.6.0 | May 16, 2010 |
| iPOJO URL Handler | 1.6.0 | April 16, 2010 |
| iPOJO WebConsole Plugin | 1.7.0 | May 15, 2013 |
| iPOJO Whiteboard pattern handler | 1.6.0 | July 3, 2011 |
| Jaas Support Boot Classpath Jar | 1.0.2 | |
| Jaas Support Bundle | 1.0.2 | February 13, 2017 |
| junit4osgi - maven plugin | 1.0.0 | May 1, 2009 |
| junit4osgi - shell command | 1.0.0 | May 1, 2009 |
| junit4osgi - swing gui | 1.0.0 | May 1, 2009 |
| junit4osgi | 1.0.0 | April 30, 2009 |
| Lightweight HTTP Service Complete | 0.1.6 | May 5, 2017 |
| Lightweight HTTP Service Core | 0.1.6 | May 5, 2017 |
| Lightweight HTTP Service Reactor | 0.1.6 | May 5, 2017 |
| Logback | 1.0.2 | January 22, 2019 |
| Main | 6.0.3 | May 2, 2019 |
| Metatype | 1.2.2 | September 26, 2018 |
| OBR Maven plugin | 1.2.0 | February 14, 2008 |
| OSGi Check Maven Plugin | 0.1.0 | September 23, 2018 |
| OSGi OBR service API | 1.0.2 | Apilr 25, 2008 |
| Preferences | 1.1.0 | October 12, 2016 |
| Remote Shell | 1.2.0 | November 25, 2016 |
| Resolver | 2.0.0 | July 3, 2018 |
| SCR (Declarative Services) | 2.1.16 | February 26, 2019 |
| SCR Annotations | 1.12.0 | October 13, 2016 |
| SCR bnd Plugin | 1.9.4 | May 9, 2019 |
| SCR Compat (Declarative Services) | 1.0.4 | July 6, 2016 |
| SCR DS Annotations | 1.2.10 | September 8, 2017 |
| SCR Ext Anno | 1.0.0 | July 10, 2016 |
| SCR Generator | 1.18.2 | May 9, 2019 |
| Shell Text UI | 1.4.1 | October 11, 2009 |
| Shell | 1.4.3 | March 6, 2012 |
| System Ready | 0.4.2 | April 5, 2019 |
| UPnP Base Driver (JDK 1.3) | 0.8.0 | June 12, 2008 |
| UPnP Base Driver (JDK 1.4+) | 0.8.0 | June 12, 2008 |
| UPnP Extra | 0.4.0 | May 17, 2009 |
| UPnP Tester | 0.4.0 | May 17, 2009 |
| User Admin | 1.0.4 | June 20, 2019 |
| User Admin File-based store | 1.0.2 | November 30, 2015 |
| User Admin MongoDB-based store | 1.0.1 | November 30, 2012 |
| Utils | 1.11.2 | December 11, 2018 |
| Web Console | 4.3.14 | August 16, 2019 |
| Web Console DS Plugin | 2.1.0 | September 23, 2018 |
| Web Console Event Plugin | 1.1.8 | September 26, 2017 |
| Web Console Memory Usage Plugin | 1.0.10 | April 2, 2019 |
| Web Console OBR Plugin | 1.0.4 | May 5, 2017 |
| Web Console Package Admin Plugin | 1.0.4 | February 17, 2017 |
| Web Console Script Console Plugin | 1.0.2 | November 30, 2015 |
| Web Console Service Diagnostics Plugin | 0.1.3 | September 16, 2013 |
| Web Console Subsystems Plugin | 0.1.0 | November 30, 2015 |
| Web Console UPNP Plugin | 1.0.6 | March 10, 2015 |
| Web Console User Admin Plugin | 1.0.2 | March 10, 2015 |

## Projects using Felix

The projects listed below highlight the adoption of Apache Felix:
* ServiceMix 4 - An open source ESB with an OSGi core. It also includes JBI support.
* Apache Sling - OSGi-based applications layer for JCR content repositories.
* EasyBeans - open source EJB 3 container.
* GlassFish (v3) - application server for Java EE.
* JOnAS 5 - open source Java EE 5 application server.
* JORAM and JoramMQ - open source messaging: JMS, AMQP and MQTT broker.
* Project Fuji in Open ESB v3 - Light weight and modular ESB core runtime.
* Jitsi (formerly known as SIP Communicator) - open source Java VoIP and multi-protocol instant messenger.
* modulefusion - open source collection for Java enterprise applications.
* NetBeans - The free MultiLanguage IDE.
* SOA Software - API Gateway application from Akana (formerly SOA Software).
* Spring Roo - RAD tool for Java-based enterprise applications
* Opencast Matterhorn - Open Source software to produce, manage and distribute academic audio and video content, especially lecture recordings.
* JIRA - JIRA supports plug-ins as OSGi bundles.
* Adobe Experience Manager - Enterprise content management system and digital asset management developed by Adobe Inc.