Twitter github

Gosling, OSGi, Jigsaw and Shenanigans

I read an article where James Gosling comments on OSGi and Jigsaw, here’s what I found:

James Gosling and OSGi

According to James, OSGi is:

  • from a different universe
  • kind of huge
  • doesn’t play well in the smaller spaces

So… I’m sorry, all due respect to James but I’m going to have to call shenanigans on this one.

Why? Well, let’s go through his three points.

First, Gosling claims that OSGi is from a different universe. I’m not sure which universe he’s referring to, but OSGi has been around since 1999 (in fact, the OSGi Alliance was founded in March 1999). OSGi initially targeted things like set top boxes, mobile, automotive and the home automation market. If you look at the OSGi membership, you see the diversity of companies involved. About 5 years ago, OSGi moved into the desktop application space via Eclipse and the Rich Client Platform (RCP). Now you see companies building applications on top of OSGi. Here are some examples:

A couple years ago, OSGi started to move into the server and enterprise space. Now, I can’t find any major application server that doesn’t use OSGi under the covers. From IBM’s Websphere, GlassFish to SpringSource’s dmServer.

So on the contrary James, I believe OSGi is well entrenched in the universe we live in. In fact, OSGi has continued to evolve since its inception, the specification didn’t come out of nowhere.

Second, James claims that OSGi is kind of huge. I’m not sure what he means by this, there are various flavors of OSGi that come in different sizes based on your needs:

I wouldn’t call any of these implementations huge. If OSGi was huge, you wouldn’t see companies like BugLabs power their BUG device to enable modularity for building cool little devices:

BUG

Finally, James claims that OSGi doesn’t play well in the smaller space. Well, as we saw with the BUG example above, that’s obviously not true. If you look at the history of OSGi, James’ statement is ludicrous as OSGi’s initial mission focused on the mobile and embedded space. Nokia and Sprint have shipped phones running OSGi technology. There are even companies like Band XI running Equinox OSGi-based applications on embedded devices like the Catalyst EC:

EC Catalyst

Heck, you can even plug a device into your wall socket that runs OSGi.

I can go on and on… so what’s my point?

If James wants to talk about OSGi, he should learn more about it first, otherwise he perpetuates misconceptions that help no one. I think we all agree that modularity is a good thing for the software industry and we should be working together to push that concept forward.

On a side note, James, if you want to learn more about OSGi and its history, I would gladly set some time aside to chat. I’m sure people like Peter Kriens and BJ Hargrave would do the same. You’re also welcome to attend a free OSGi mini-course that Jeff McAffer and I are giving on Equinox and OSGi in a couple of weeks.

  • http://arhipov.blogspot.com/ Anton

    By “different universe” he probably mean that it is not advocated by Sun, e.g. not a Sun’s established standard. Jigsaw to OSGi is the same as EJB3.0 to Hibernate :)

  • http://arhipov.blogspot.com Anton

    By “different universe” he probably mean that it is not advocated by Sun, e.g. not a Sun’s established standard. Jigsaw to OSGi is the same as EJB3.0 to Hibernate :)

  • http://blog.nirav.name Nirav Thaker

    Interesting points, I didn’t know OSGi implementation can be so small.

    I think James thought he was talking about EJB2.x (and most other JEE frameworks for that matter) again where his arguments are unquestionably correct..

    This is a typical case in Java’s Ecosystem: NIH syndrome, now at JSR level!

  • http://blog.nirav.name Nirav Thaker

    Interesting points, I didn’t know OSGi implementation can be so small.

    I think James thought he was talking about EJB2.x (and most other JEE frameworks for that matter) again where his arguments are unquestionably correct..

    This is a typical case in Java’s Ecosystem: NIH syndrome, now at JSR level!