Friday, January 11, 2008

CSI on Linux Magazine’s Top 20 Companies to Watch in 2008

Linux Magazine’s Top 20 Companies to Watch in 2008

Oh dear - 2008 is going to be busy.

Take the open source development methodology, mix well with enlightened self interest, stir with companies that have the dosh to fund serious development, and you have a really compelling business model. We're referring here, of course, to Collaborative Software Initiative (CSI).

CSI launched in early 2007, the brainchild of Stuart Cohen (formerly CEO of the Open Source Development Labs, which merged into the Linux Foundation in 2006). Its business model is to use the open development model to create necessary software for niche markets. For example, CSI's most recent project is creating software to automate the BITS Shared Assessment Program for companies in the financial services industry.

While it's unlikely that a community would spring up around this sort of software naturally, CSI is using the open development model to create software needed by industries and letting several companies split the development costs. Its role is to do the collaboration and community building, project management, tech support, and foundation building necessary to shepherd the software through its life cycle.

This is an idea that should have been obvious years ago, and we expect to see the CSI do well in 2008-- and attract copycat initiatives as well.

Update I liked the way it read so much that I put it in the post.

Thursday, January 10, 2008

Hudson CI Rocks

So I'm quite pleased with Hudson so far. Great FOSS Continuous Integration tool & community. Supports Java and basically anything else. And it has an IRC bot and who doesn't love IRC bots?

Wednesday, January 09, 2008

Fun in the JRuby Wiki: Warbler, Goldspike, & CI

I'm having fun making minuscule contributions to the JRuby community. As I learn, I'm documenting stuff in the JRuby wiki. I'm really impressed with the people doing the real work on JRuby. Freak smart.

I keep running into Nick Sieger in my wiki work. He wrote a couple of very helpful things:

Warbler (replacing Goldspike Rake soon) & ci_reporter mentioned on the JRuby and Continuous Integration page I started in the JRuby wiki today).

My other favorite JRuby guy is Robert Egglestone. He fixed the Rails 2 Goldspike Servlet bug I found Sunday. He has recently updated the Goldspike Roadmap. A release of the Goldspike component is coming this month to follow up on the JRuby 1.1RC1 release the other day.

The discussion on CI caught Mike McKinney's eye. He put together a great how to on JRuby and Hudson.

I love open source and the internet machine.

Monday, January 07, 2008

Open Source Marching up the Vertical Stack

Open Source is on the march up the stack - first operating systems, then integration software, and most recently commercial open source packages (CRM, ERP, BI, Content Management, etc.). Now applications? - where will it stop!?

My focus in working for the Collaborative Software Initiative (CSI) is on building commercial open source applications for industry verticals and government. I build on the shoulders of giants: Linux, Postgres, Java, Ruby, JRuby, and commercial open source packages.

At the application level, where is open source today and where is it going in industry verticals (government will be a different post as it is totally different)?

I see three categories *today*, but I bet over the next year I will see many more.

Regulated Software Today, there is a lot of desire to collaborate on systems that are mandated by the government. There are plenty of these in every industry. Pragmatic companies realize that there is absolutely no business value in differentiating here. It makes business sense to collaborate with their competitors to come up with an open, well-supported, cost effective solution to meet the regulation.

Industry Vertical Utility Applications Every industry has at least one industry standards body. These organizations do some great stuff. They also already have legal mechanisms in place to comply with anti-trust constraints. One common activity in industry standards bodies is putting together XML schema standards. My question for years has been: XML is nice and all, but how about we just sling some code, open source it, find somebody to support it, and solve the problem once and for all? I think we will see a lot of open source in this area in the coming years. XML is needed, but is just data exchange and only gets you so far. There is a common utility class of application that will be written in support of industries. I see this occurring more and more as there are success stories with the low hanging fruit in regulated software.

Industry Boat Lifters There are fundamental technical problems in many vertical industries. The cause can be many things from aging platforms to out of date industry networks to predatory vendors that create terrible industry inefficiencies due in part to the proprietary nature of their solutions. I see companies in vertical industries banding together to gently remove these types of inefficiencies. In some cases, their existence will depend on it. In others, the classic A rising tide lifts all boats argument will apply. Well placed open source industry vertical code could change the rules of the game in some industries.

Open source is just getting started in the vertical application space. We'll all see some very interesting things happen over the next few years. I think that what I described below is only the beginning.

Friday, January 04, 2008


I've been reading to my daughter a lot lately.

She is kinda past Mr Brown Can M00! Can You?, but when I read my new colleague, Pete Lacey's recent blog post, I started chanting it in my mind:


Mr. Brown is a wonder.


Mr. Brown makes thunder!

He makes ligtning


and it's very, very hard

to make a noise like that!

So Pete & I will be riding the CSI Rocket together. Wish us luck. I'm extremely excited.

PS: What Pete said about the power of the interweb.

Tuesday, January 01, 2008

JRuby .war packaging for Rails 2.0

I have been hacking on JRuby a bit lately.

I set out to deploy a Ruby on Rails 2.0 application to Tomcat 6 on Monday and it was harder than it should have been.

Some of my angst was no doubt the fact that I'm a newbie, but in case it helps anyone, here are the key bits that made it work for me.

I started with using the Goldspike .war generator. It worked, but was a little clunky.

So then I tried Nick Sieger's Warbler which is much simpler & has more of a Ruby feel to it. I found myself down a rat hole, however in that the Warbler gem comes with JRuby 1.0.1 and that doesn't seem to work with Rails 2.0. If you try to run on it you will be greeted with something like:

INFO: Deploying web application archive your-app-name-here.war 
Exception in thread "ObjectPoolManager" java.lang.NoSuchMethodError: org.jruby.RubyHash.op_aset(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRub
        at org.jruby.ext.openssl.X509Name.createX509Name(
        at org.jruby.ext.openssl.X509.createX509(

The documentation is a little bit sparse on this topic & I didn't stumble upon anything in my googling around. The fix is simple - you just have to use a compliant version of JRuby. 1.0.3 works. Here are the steps I took to fix it:

  • Download jruby-complete-1.0.3.jar
  • Replace the JRuby that Warbler uses - one approach is to figure out where Warbler lives (
    gem which warbler OR jruby -S gem which warbler
    ) and replace the default jruby (1.0.1) with 1.0.3

warbler war:debug prints a YAML dump of the current configuration
is definitely useful in tracking stuff down.

Anyway, Warbler is quite simple & useful as it should be.

What's not to like about:

gem install warbler 
warbler war 
warbler config
warbler war:clean 
and warble.rb (config file)?

Note that you can also run it directly under JRuby:

jruby -S gem install warbler
jruby warbler war
jruby warbler config
jruby warbler:clean

Warbler is very tidy. It put's all the generated bits in the tmp dir of your Rails app. This is opposed to Goldspike which puts it all in the WEB-INF dir in the root of your app.

Update I put some of this and more in the JRuby Wiki.

Go Flyers

Sarge pointed out to me that my Dayton Flyers are now nationally ranked in the top 25.

I get pretty fired up about them once they are good. I am the epitome of the fair weather fan. I have cried in my beer many times over the Flyers. When they are good it generally goes like this:

  • Good regular season
  • Couple 2-3 clutch wins
  • Split with Xavier
  • Make the NCAA tournament
  • Lose in the 1st game to Purdue or someone by 1 point on a b.s. call by some ref
Anyway, I'm paying attention now.

Go Flyers!

2007 Predictions Revisited

Before I make my 2008 predictions, I'm going to revisit my 2007 Predictions.

My predictions from last year with my scoring & commentary:

  1. CORRECT This really did happen, wow.

    Even the day coders will run screaming from WS-*. The battle is won; we night coders killed it because we didn't want to be controlled by vendor-pires and it is fundamentally flawed technology. Sadly, even though I believe that it is dead, it will take 2 more years before the industry echo chamber comes to terms with it. Software vendors who are heavily invested in WS-* will spend 2007 doing two things: one last gasp at making WS-* happen and quietly writing their Plan B MRDs.

  2. CORRECT 2008 will start to change this one I think.

    REST usage will increase in lieu of WS-*, but it won't unseat messaging and other middleware.

  3. PARTIAL CREDIT There were some pretty good spaz outs on this one. Adobe Flex, Silver Light, etc. I have to think about this again for 2008. Ajax is a pain, but I really do mutter "What's with that loading ..? when I use a Flex based app.

    People will settle down a tad about Ajax. It's great and all, but I've been seeing more and more botched impls. Like just about everything, its just a tool not a dogma.

  4. CORRECT Blasted XML.

    XML will finally be considered one tool in the tool chest just like every other technology. Development teams will only use XML where it actually adds value and not force it into places where it does not belong.

  5. PARTIAL CREDIT It is growing, but it is complex. I prefer bare metal. Running VMWare for a 1.5 years taught me a lot about this. I run bare metal Linux now on my primary workstation and it is way better. Virtualization is neat and all, but for my money, commodity hw is the way to go. Simple, see.

    The virtualization march will continue.

  6. PARTIAL CREDIT Lots of yapping, Oracle bought Tangosol, etc.

    Distributed Cache and JavaSpace usage will accelerate as more people grok the power of this architecture style.

  7. WRONG Maybe this year. I learned heaps working with Jini/JavaSpaces. It changed the way I look at distributed systems forever. Maybe Rinda has a shot.

    Apache River will breathe new life into Jini/JavaSpaces. Both will see lots of new interest and implementations. 2007 will be a "rebuilding year" (as they say in sports) - 2008 will be the big year for a Jini/JavaSpaces come back. Someone from Sun will formally apologize to all the people maimed by J2EE in 2009 and acknowledge that they should have marketed Jini as a service technology from the beginning (ok just kidding that isn't going to happen).

  8. PARTIAL CREDIT Big hat no cattle.

    The Open Source patent war will begin in earnest.

  9. CORRECT Funny how this all works out. It certainly is on track. CSI (my employer) and others are helping this along. More on this in my predictions for 2008 ...

    Community Source Software will slowly start to take off in industry verticals as more executives grok the possibilities and come to terms with the fact that they are already sharing industry vertical software with their competitors; they just don't have access or any control of the source code. Look for a success or two in 2007 which will set the stage for a pandemic by 2009.


    Even more smart people will start blogs or at least start reading blogs which result in even more transparency and open collaboration between software vendors, customers, and consultants and ultimately better software, more innovation, and less waste.