Friday, November 23, 2007

Legitimate Open Source Strategy or All Wet?

Call me old fashioned, but I like reading the hardcopy version of the SD Times...and over the weekend, I caught up on some of the back issues.

One of the articles I read was Curl Opens RIA Tools to Community. I definitely scratched my head for a few minutes after reading it. Not to pick on Curl (since I don't really know them or their products all that well), but I cringe when I see statements like:
  • "We want to remove the concern that Curl is a proprietary platform," said Richard Treadway, vice president of product strategy at Curl. "We are releasing things above the platform that are fairly mature."
  • Curl will not release its runtime to the community, Treadway noted, because it's important that the runtime exist only in one version that is solid and can run anywhere.
Believe me, I realize that open sourcing previously proprietary software is a complex process, but it feels to me like Curl's strategy is to leave one foot on the [proprietary] dock and one foot on the [open source] boat...and firmly commit to neither.

My experience tells me that in situations like get all wet!

I racked my brain for an example of a company that voiced a similar strategy and avoided getting wet.

Sun made similar statements. Their initial open source strategy excluded Java Standard Edition because they feared doing so would open the doors for competitors to fork Java.

I actually think Sun got a bit damp before they corrected their strategy by rolling out OpenJDK which put them firmly on the [open source] boat.

Bottom-line: Sun's a big company and can afford to get a little wet...but smaller companies that face credible open source alternatives need to get it right the first time.


Richard Treadway said...

Hi Shaun,

You make a good point regarding the difficulty of supporting both Proprietary and Open Source lines of business, and we value the dialogue you’re trying to create. In fact we discussed at length whether or not to Open Source the RTE. In the end we decided it would be more beneficial to keep the RTE proprietary and to Open Source all the other Curl components. Let me explain our reasoning (beyond what was in the SD Times article) a little more.

It is imperative that the RTE run on all platforms with high quality and consistency. We all know what happened with the failure of Java applets. No one could get their applications to work consistently with quality on the various platforms. In the end most people gave up.

We felt that at this particular point in time, there is little value for either Curl or the Open Source community in releasing the RTE. The Curl community today is small and there isn’t an Open Source body that is interested in receiving it. As the Curl developer community grows, if at a latter date a large number of them feels the need to innovate in the platform we would of course re-evaluate this decision.

These dynamics and constraints do not exist for Curl components that are above the RTE. This is the area we expect innovation to occur as development tools and frameworks are built up to enhance the client-side RIA stack.

Additionally in order to promote use of Curl and Open Source contributions we have also changed our licensing to provide free base versions of the IDE and deployment licenses for commercial use.

It’s worth noting that Curl’s Open Source strategy is consistent with Adobe’s strategy for Flex. In their case they have released the tools to create Flex applications to open source, but the Flex RTE (Flash player) has not been released to Open Source.

Thanks again for the dialogue.

Richard Treadway
Curl, Inc.

Shaun Connolly said...

Thanks for the reply Richard.

I guess it comes down to what your real goal is for going open source. If it's to disrupt folks like Adobe, then following their same strategy is not disruptive.

If you don't own all the IP (i.e. you embed 3rd-party components that can't be open sourced), then that's a valid reason.

If it's to test the waters and see if you can attract interest in a community, then...well...I actually think you'd get a real gauge by opening the crown jewel. Yes, the innovation happens around it, but I think you underestimate the value of opening up your platform. Ex. developing on a platform that is transparent is much easier than developing on a black box...even Microsoft has opened its .NET code for developers to see but not touch.

You can always keep the runtime intact by choosing the right license - as Sun did with OpenJDK.

Anyhow, as I said, it's a complex I hope your path turns out well for you.