Unrealistic, childish dreams show up even far into a career. I can imagine binaries all playing nicely together, no API entanglements, no version overlaps. No Binary Hell.

We all sing 'Kumbaya' together, and the world is a better place!

OSGi was that promise for me. I even experienced the productivity benefits first hand. As a product manager for a major Eclipse release. OSGi kept 700+ competing Eclipse modules in their classpath sandboxes, and it all worked great. 16 major releases in less than 12 months. Read more »

In this post, I hope to illuminate that OSGi is not only the red-headed stepchild of Java development, but also quite helpful, when used by smart people on the right project. How delicious it was Tuesday night, when OSGi stood at the center  of one of the most helpful presentations I have seen in my 15 years of Java.

In this presentation, OSGi wasn't even trying. OSGi is like that.

Backstory: OSGI Sux

Team $$$ Efficiency Through Modularity

Any veteran developer knows that integration and maintenence is where all the time and money goes, writing a simple module can be a few days work once the requirements, interfaces, and dependencies are set in stone. Modularity (OSGi) promises to eliminate much of that cost, by never fully integrating a module into the rest of the code base. Every module stands on it's own, lives in it's own classpath, and develops in it's own tested, versioned process. Read more »

Martin Lippert's recently announced move to SpringSource is one of the most exciting events to happen in software so far this fall.

Speculation - Good Things that May Now Happen:

  • Fills gaps in OSGi and STS development at SpringSource
  • Many half finished pieces have prospect of now being glued together in a nice fit.
  • Critical last mile issues such as training and taking OSGi to the market, are now within reach. 

  Read more »

When I'm doing my job, I'm getting things done.

When OSGi (or modularity in general) is doing it's job, it is preventing things from getting done. That's the job of OSGi, to prevent things from working except within very narrow contractual relationships.

Which is why OSGi deserves a slow and painful death. OK OK OK, that's only the way I feel when I get in these week long moods that stem from my inability to get all the metadata right, and I can't get my "modules" to run perfectly. Read more »

Dangerous Fred

Every big team has seen one or two of these guys. Dangerous Fred. Brilliant and stupid at the same time, breaks the wrong rules and still gets pretty amazing stuff done. But you don't want him touching your code.

How many meetings do I have to go to, to keep Fred off my project?

I think I've been Fred in decades past, at least once or twice. Sure have written a couple things I'm not so proud of, on the way to becoming a slightly better programmer. Read more »

"main squeeze" is a slang term from 1950s American culture. It is similar to "going steady", or a serious relationship.

If I'm going to break up with my main squeeze: Eclipse - the Platform, especially after I publicly admitted I was seeing another platform, the least I could do is give our relationship an honorable recap. I already vented my long term gripes yesterday. Read more »

Yesterday I hinted at how far back my loyalty to the Eclipse Platform goes, as if I was really gun-ho on this relationship. I glossed over warts that bugged me, because I'm a loyal guy.

The truth is, I'm not so excited about this relationship. Not most of the time.

The problem with Eclipse as a Platform is exactly what you would expect from a super powerful, super flexible, open source platform. It is frightfully challenging to maintain a working relationship with, for a small enterprise like my own. Read more »

Woohoo! I'm in love!  What a great feeling, to find such a sweet platform that does almost everything I need, and most of it very well.

Sweet! I didn't know 

My main squeeze, Eclipse didn't know I was checking out other fish in the sea, but really I wasn't. I was just googling for "Swing OSGi" and here comes NetBeans releases an OSGi versionRead more »

The screencast below brings up many different approaches of modularity systems in Java. Hmmm. I never even considered anything beyond OSGi.

  • OSGi
  • JSR 277
  • JSR 294
  • NetBeans Modules
  • Maven
  • SMS
  • Jigsaw

Jaroslave Tulach, the guy who wrote the netbeans module system is interviewed here, it's a great discussion.