ROFL

I was amazed how many open source advocates at the recent OSCON conference sported iPhones and Macs – notoriously closed systems.  The MacBook Air raffle generated serious excitement.  How many of these open source advocates are motivated more by Microsoft bashing than true open systems?  I guess we’ll find out if this will draw them off into a purely open source solution ;-).

The Open Source Social Contract

Now that I’ve had the opportunity to observe the Open Source industry from the inside for a couple of years, I find myself musing a fair bit about the economics - broadly speaking the exchange of value - involved.  Much of the customer appeal for open source solutions comes from the sticker price, which is generally zero.  But as the adage goes, if something sounds too good to be true, it generally is.  If open source software is to be high quality and broadly applicable, the customer demand for low-cost software needs to be matched with incentives for vendors and individuals to continue to produce high-quality software.  When the transaction isn’t based on actual currency, what is the commodity that makes this a successful transaction for both sides?

For individual open source authors the incentives might include the joy of having a large and loyal user base.  It might include fame and the development of skills that lead to greater personal satisfaction and a more impressive and marketable resume.  But I’d like to focus here on the incentives for professional software development businesses to invest in producing more and better open source software.

The research, development and deployment of software is a complex and costly process.  How are open source vendors able to accomplish these goals without getting licensing revenue in return?  I believe there are many ways a vendor can receive value from a user besides an exchange of currency.  Although the commodities exchanged aren’t tangible the exchange is rarely a zero-sum game, and can enrich the supplier without depriving or depleting the customer.  No matter how many smiles you give, you never run out.

Enforcement of non-tangible exchanges is impossible, and thus the exchange relies on the good will of the customer to give back.  My intention in this post is to enumerate some of the ways this non-monetary economy works, and I hope to encourage users to participate more fully and consciously in holding up their end of the transaction, and thus to perpetuate a virtuous cycle of open source software development.  If you use open source software, please consider one of the following ways you can remunerate the creator.

What the user gives

  How the creator benefits

Tell the author whether you
liked the product or not

= Reduced cost of soliciting customer feedback, ability to target new features more cost-effectively

Tell a friend or blog about it

= Reduced awareness-marketing costs

Rating the technology positively on sites Digg or Ohloh

= Reduced awareness-marketing costs

Lend an eyeball to a promotion or advertisement

= Makes marketing expenditures more productive

Become a registered user

= Reduces costs of contacting users, helps accurately judge the popularity of the product and thus the level of continuing investment

Ask a question on the mailing list

= Reduces costs of getting customer feedback

Answer someone else’s question on the mailing list

= Reduces general product support costs

Write an article or blog about creative uses of the product

= Reduces documentation and marketing costs

File a bug

= Reduces QA costs

Send a patch

= Reduces development costs

Implement a new feature

= Reduces development costs

Download additional products

= Reduces marketing costs and strengthens the business

Consider purchasing other products or services from the author

= Improves profitability and increases ongoing R&D

Be grateful for the software

= Increases everyone’s karma ;-)

The laws of economics state that the more rewards there are for a product or service, the more of that product and service will be produced.  By increasing the rewards for vendors to create useful and high-quality open source software, you encourage more of that software in the future.  Isn’t that worth an investment of a little time?  It doesn’t even lighten your wallet!

Microsoft features Open Source in TechEd keynote

Yes, you heard right.  A few minutes ago in Orlando at TechEd IT 2008, Bob Muglia’s keynote included a demo of StockTrader 2.0, an SOA sample application consisting of a client application, a business process service layer, and an order processing service in order to place sample stock trades.  Gregory Leake of Microsoft showed the application, with each of the three components built in .NET 3.5, and then I came on stage, representing WSO2, and we swapped out the WPF smart client for a PHP application based on the WSO2 Web Services Framework for PHP.  Then we swapped out the back end order processing service for a Java version hosted in the WSO2 Web Services Application Server.  After each swap we placed a successful trade.

Watch the keynote here.

The demo featured the cross-platform interoperability between .NET, Java-based solutions, and unmanaged code solutions such as the PHP application.  The Web Services used were completely secured with message-level security (WS-Security), and everything of course worked quite seamlessly.

You can download the WSO2 StockTrader 2.0 application as well, including PHP versions of the business service and the order processing service.

The good news in putting this demo together is that the wire-level interop worked pretty spectacularly out-of-the-box, just as the demo promotes.  The actual interop between the three major development platforms in use today (CLR-based languages, JVM-based languages, and unmanaged code based at some level in C) is impressive, and while there is more work to do to complete and verify interop deeply across Security, Reliability, Transactions, and Policies, it really seems like the goal of making this stuff both universal and "just plumbing" is approaching pretty rapidly.

On another note - yesterday we were speculating backstage whether a keynote at a major Microsoft event had ever featured an Open Source partner on stage.  None of us could think of any off the top of our heads.  Can you?  Were we the first?

Update: 10PM.  Here’s the press release.  And a news article, with a nice (and accurate!) quote from me. ;-)

Gartner Web Innovation and Open Source Summit

I’ve just arrived in Las Vegas for the Gartner Web Innovation and Open Source Summits.  I’ll be hanging out with our new VP Bizdev Subbu Ayer, answering questions about our product line, and bending ears about my favorite subject - the WSO2 Mashup Server, which should experience it’s 0.2 release later this month.  In the area?  Drop by and say hi!

WSO2

Yes, that’s where I’m landing.  I’ve known and admired Sanjiva since early in the XSL Working Group, and his year-old startup WSO2 is sure to be a rewarding place to work.  WSO2 is developing products around the Axis2 open-source Web Service Stack, and while Axis2 itself is open source, WSO2 plans to provide support and service to corporations making Axis2 a critical part of their infrastructure.  It’s a model that has worked well for MySQL and Red Hat.

My title is Director of Architecture, Mashup Technologies, and I’ll be working on ways to make the consumption of Web Services as trivial as possible, and the deployment of Web Services just as simple.  This is a perfect overlap for me - I’ve been working on Web Services, especially the Enterprise-level, back-office, strongly-typed variety for a long time, but my background and affinities are with the script-friendly, quick-and-easy, dynamically-typed web hackers.  If I’m successful, Web Services will become a more important part of the grass-roots Web toolbox.

Working at WSO2 will in some ways be completely different than working at Microsoft:

  • Open Source Software versus Commercial Software (I know commercial isn’t quite right, as there is commerce in Open Source, but calling it Closed Source or Proprietary Software has a negative connotation that I don’t think is justified.  Neither model is inherently bad, they are just different.  In any case I’m looking forward to understanding the Open Source business and development models better.)
  • Diplomacy versus Design (While I’ll continue to work on standards, the majority of my time will be devoted to designing new ways to make Web Services accessible to the grass-roots of Web developers.)
  • Unstructured versus Bureaucratic (An organization the size of Microsoft requires a level of rigor, process, fixed roles, and yes even bureaucracy that I won’t miss all that much.  You can often get more done faster flying by the seat of your pants.  And you can have more fun doing it.)
  • Time zones (I’ll continue to work at home in Auburn, but I’ll no longer be in the same time zone as the main office.  In fact, I’ll be 11 1/2 hours off.  That’s the only part of the new job that scares me!)

And in other ways it’ll be just the same:

  • Web Services (I’ll be building on my recent experience rather than taking up something completely new like lion taming.)
  • WS Description Working Group (I’ll continue to co-chair the WG, and in fact hope to be even more involved in proving implementation experience to move the specs out of Candidate Recommendation stage.)
  • International travel (While I hope to reduce my travel somewhat, I still look forward to meeting my colleagues in exotic locations.  Now Sri Lanka will be on my repeat destination list!)

I’m very excited about this move, and it feels like it’s happening at just the right time for me.  Well, a few weeks later than I’d hoped, but now at last I’ve cleared the road and am ready to hit the gas.  Starting on Monday when I leave for the Apache conference in Austin.  If you’re in the area, let’s do tea!