What is the purpose of OSGi?
OSGi is creating something of a buzz in the blogosphere at the moment, with claims that OSGi is not yet a mainstream technology, alongside suggestions of how to help OSGi bridge that gap and become more widely adopted.
Now, the OSGi Alliance have stepped into the fray, with a blog post that states some people have preconceived notions of what OSGi does, which are just plain wrong. OSGi's does not to simplify application development. OSGi's purpose is to enable third parties to provide frameworks, which can then be used to simplify application development. OSGi allows different frameworks to work together by defining collaboration mechanisms.
The OSGi Alliance sees OSGi as breaking an application problem into smaller parts where, crucially, the sum complexity of those small parts, is less then the complexity of all those parts combined. But, of course, there's no such thing as a free lunch. The flexibility that OSGi can offer at deployment level, is earned by imposing restricting rules at the component level. Whether you believe increased flexibility at deployment level is worth sacrificing some flexibility at component level, is a fair trade-off, will inevitably impact your opinion on OSGi.