The problem with the referenced eWeek article is the author apparently chose only quotes which try to promote OSGi as the end all be all to everyone and everything and attempt to bash JSR 277 and Sun Microsystems. JSR 291 and 277 are not actually competing. 277 will actually make its way into standard Java, and will be part of the standard runtime used by the SE and EE platforms, where as 291 isn't a new specification. It is another location which points one to OSGi. It isn't a real specification of the JCP, so why is it even an actual JSR? That doesn't seem to make much sense outside of commercial politics.
291 can not even be contributed to by JCP members without first joining the OSGi Alliance (291 means OSGi in this case). Individuals such as you the reader or myself can join the JCP for free. Individuals can pay the OSGi Alliance $3,000 US. This seems strange to me, considering IBM, the main OSGi Alliance member (Eclipse Funding), was the loudest critic of Sun Microsystems open-sourcing Java. I believe the OSGi Alliance needs to take their own advice and move this initiative completely to the JCP. I get Sun used to be an OSGi Alliance member, and I don't really get why this wasn't first run through the JCP, but it needs to be now.
I agree with the sentiment of some, and I have been a proponent myself of modularizing the entire JRE/JDK, that a module system needs to remain a separate entity from the JRE/JDK itself. This allows the module system to be separately upgraded without waiting for a new JDK release. However, we need JVM level support for better partitioning of ClassLoaders and variable and static visibility. This allows better optimizations and other language and technology hooks which can have greater benefits than a single layer approach. Both ideas have their place.
A good point of view is expressed by Glyn Normington (JSR 291 lead and JSR 277 member) in this blog post with regard to both JSRs. If you are reading through an RSS reader you may need to use:
If OSGi were to fall under the JCP process I could get more behind it. Currently it is one more thing to be dependent which is not as easy to contribute to or influence by small startups or individuals. I would feel the same way if the JCP process is changed to be more closed in the future.
I'm a member of a new Netbeans group called the Dream Team. We are all supporters of the open-source Netbeans project. We work to promote and improve Netbeans. See www.netbeans.org which has a RCP package and a Java IDE. To me it is the best Java development environment available with many out of the box features. Best of all: it's free. I also contribute patches and modules/plug-ins to the project.
I created this module when I finally became tired of having to un-format large SQL queries I did not have a copy of any where other than Java source code. I ran into this large query from the past which used many many joins from this huge database. I was hours into trying to figure out what I had missed in the un-format process because Oracle's error message was more confusing than looking at the SQL. I finally decided it would be easier to write a Netbeans modules to just copy the formatted Java source code SQL String and paste it as un-formatted SQL into TOAD my SQL tool. After an evening of hacking at the module I have something which works great. It also does the reverse operation. I have been using it for a month now and it works great. I submitted it to the Netbeans contrib site hoping it might help someone else. I'll upload it the new Netbeans Plug-in Portal site when it goes live. Look for http://plugins.netbeans.org/ to go live soon.