Wednesday, February 27, 2008

Why is there Air - Bill Cosby versus Kevin Lynch

I know I'm dating myself, but Bill Cosby had a pretty funny routine where a PE Teacher explains that the purpose of air is to pump up basketballs and volleyballs.

Now Adobe has launched their Air product (with a matching Kevin Lynch NY Times article, and GigaOm fan dance) to allow platform to allow browser apps to escape from their little Firefox and IE prisons and flit gaily across the desktop like "real" apps.

Now what exactly are the benefits here? According to the NY Times article:
  1. I can click an icon on my desktop instead of a bookmark in my browser. Yawn.
  2. I can run an application without the browser border. Snore.
  3. I can run an application offline. Now this is cool, but hardly new, following earlier moves by Google Gears, Dojo Offline and Mozilla Prism
Excuse me, but I prefer Bill's definition of why we need air.

As I have written, Air, Flex and Silverlight are"back to the future" approaches for Rich Internet Applications that would have us believe that the future of the web lies in a proprietary animation engine (Flash) or an ancient and proprietary fat client architecture (Silverlight).

At WaveMaker, we believe open-source toolkits like Dojo are the best enterprise Ajax choice a more flexible, open-source browser choice. To be fair, we in the Ajax community still have a lot of work to do to be truly ready to take on giants like Adobe and Microsoft - but that's where the power of the community can make a difference.

Speaking of community, you can come find out more about the the Dojo toolkit at the upcoming Visual Ajax User Group meeting. On Thursday, March 20 from 12-1:30 PST, Alex Russell, one of the co-creators of Dojo, will be talking about the Zen of Dojo - how to make Dojo development effortless for beginner and expert alike. Come in person or sign up for the webinar by sending email to rsvp@visualajax.org.

Friday, February 22, 2008

WaveMaker 3.1: Make Waves, Not Code!

Our engineering team just released version 3.1 of WaveMaker with lots of new goodies, including auto-forms (generate insert and update forms automatically from a database schema) custom widgets (use any Dojo widget, roll your own widget) and application templates (with custom look and feel).

We are also gaining converts to the WaveMaker motto: Make Waves, Not Code!

WaveMaker is an open-source framework for making Java web development quick and easy (kinda like a visual RoR for Java).

Peter Svensson just posted review of WaveMaker that stated:
The WaveMaker IDE has a number of very good features, listed in no particular order;
  1. It is Web-based

  2. It runs on its own Tomcat-server with a massive supporting act (the download is ~90MB!)

  3. It's fully open-source under the GPL.

  4. It uses Dojo 1.0 components, so you create your page(s) visually.

  5. Complex components like Tree or (above mentioned) Grid can be connected to services on the server

  6. You can create services inside the IDE; WSDL, Database Queries or custom Java code.

  7. It generates generic WAR archives, for crying out loud!
Peter has also given us a good deal of constructive feedback on how to make Wavemaker even better. WaveMaker is democratizing Java web development, one Swedish blogger at a time ;-)

Our 3.1 release has also been picked up by Ajaxian, eBiz, AjaxWorld and TechFunk.

Wednesday, February 13, 2008

The Silverado Rules for Open Source Success

With the success of companies like MySQL, JBoss, Cygnus and SleepyCat, open source software has introduced major changes to the way corporate IT adopts new technology. Yet open source business practices have a long way to go before the industry as a whole is fully embraced by CIOs.
At the Open Source Think Tank, a panel of ten CIOs declared that the patchwork quilt of licenses and business practices among open-source vendors is a major barrier to enterprise adoption of open source. CIOS believe that vendor standardization on a simple and commercially attractive business model will help drive broad corporate acceptance of open source software.

After attending the Open Source Think Tank held in February, 2008 at the Silverado resort, I am convinced that a best-practices model is emerging for enterprise open-source software vendors. In honor of the think tank event, I am dubbing these practices the Silverado Rules for Open Source Success:

The Silverado Rules for Open Source Success

Open-source vendors should adopt the following best practices to optimize community participation while developing a viable commercial business:
1. Fix the last mile problem
2. Optimize for community and commercial growth
3. Play by the community rules
4. Implement role-based pricing
5. Enable on-site and on-demand deployment
6. Adopt a dual license strategy based on GPL + Commercial License
Following these rules may not lead to guaranteed business success, but ignoring them may well lead to failure!

Please feel free to enter comments and criticisms on my blog.

Fix the "last mile" problem

Open Source Software (OSS) communities are outstanding at solving hard framework problems, but not so good at producing user-friendly solutions. Once the community has solved the hard problem, it tends to lose interest in solving more mundane problems like documentation, management and monitoring.

CIOs need open-source vendors to be more like commercial vendors in "putting a bow on the package. Corporate users are looking for open source products to have commercial-grade documentation, usability, installation and support.

Optimize for commercial and community growth

The first generation of open source companies were project-driven. Companies like MySQL, JBoss and SleepyCat created large communities and then struggled to evolve business models that commercialized that community. Often, they faced significant resistance from early community members, particularly on introducing more restrictive licenses that forced users to pay for things they had previously gotten for free.

The newer, second generation of open source companies is following the opposite process. Venture-backed companies like Alfresco, Mindtouch and Wavemaker started with a commercial focus and are now working to create vibrant communities.

These second generation OSS companies have a completely different set of challenges than the first generation. They have much more control over intellectual property and choice of licensing, but much more work to do on the community-building side.

Open source companies should see themselves as part of a larger supply chain, determine how to add upstream and downstream value. At WaveMaker, we are a major consumer of open source - our product is based on Spring, Hibernate, Json, Dojo.

We get value from their communities and in turn we add value to their communities by providing an open source framework for visual AJAX web development. Our goal is to broaden the overall size of all of our communities by democratizing the development web applications - essentially an open-source version of Visual Basic.

Play by the community rules

Communities are the life-blood of open source companies. Yet the process of creating a community is still more of a black art than science. Experts in community have developed a simple set of three rules for building successful community:
  1. Set the rules early: spell out the role of the community in developing, extending and supporting the product. For example, define the ideal participants of the community, and the benefits they would expect to receive to entice them into membership in the community.
  2. Play by the rules: once companies set the rules for the community, they should enforce those rules scrupulously, through active community management. Hell hath no fury like an open-source community member scorned!
  3. Don't change the rules: as the business of the company evolves, there will be pressure to change how the community operates. For example, companies may decide that they want to take more support business from the community. Not a good idea - see rule #2!
Community experts also agree that the most important community building task is to create heroes within the community. The most effective way to do this is through dedicated community managers who go through a lengthy process to nurture and reward active community members.

Implement role-based pricing

I have written before that David Skok feels the success of JBoss lay in their ability to give developers a free product while charging commercial IT operations for support and management tools. CEOs of open-source enterprise software companies believe that a key element of any enterprise open-source company is realizing that there are no scalable dollars in selling to developers.

The role-based pricing approach can be summarized as follows:
  • Developer use open source tools for free: making a product free for developers creates a "frictionless" entry path for new technology into an organization. Small scale, "under the desktop" deployments are also free, making it easy for IT architects to prove out a technology with small pilot projects. Developers should be able to use all the development capabilities of the product without restrictions (everyone hates crippleware!)

  • Administrators pay for commercial support: when a project built with an open source tool is deployed into a business-critical environment, operations people will require commercial-grade support, including updates, patches and upgrades. Operations roles will also value management and monitoring capabilities that enhance the security, reliability and performance of the deployed application.
It is important to point out that role-based pricing does not mean charging administrators for the same thing that developers get for free. It means identifying services and functionality that are of particular value to administrators and charging for those add-ons.

The revenue opportunities in enterprise open source lie in selling support and value-added functionality for operations and production. Free development tools are the on-ramp to production revenue. This also ties the vendor's success to the successful deployment of the customer - the ultimate win-win for enterprise software.

Enable on-site and on-demand deployment

Moving forward, it is likely that the open source world will continue to migrate towards on-demand offerings, even for enterprise development platforms. Software as a service (SaaS) pricing is easier for business applications like Sugar CRM, but it will increasingly make sense for infrastructure software as well.

There are three drivers for this movement:
  1. Low start-up cost for customer: with nothing to deploy on site, customer adoption is as easy as creating an online login.

  2. Higher rate of conversion to paying customers: for vendors, SaaS customers often convert more quickly paying customers, a big improvement over the single digit conversion rates more common to traditional open-source communities.

  3. Business model fit: subscription payments for on-demand services fit naturally with the existing open-source subscription licensing model.
Enterprise development software has traditionally been delivered on site. In the future, it is very likely that corporations will at a minimum want an option to deploy applications on-site or on demand (a feature already supported by WaveMaker Software, among others).

Adopt a dual license strategy

Over the last ten years, the open-source community has matured greatly. Although the GPL remains the most popular open source license (~70% of open source projects use GPL, according to Freshmeat), the most commonly used version was released in 1991. Much has changed since then, and to reflect these changes, the new Gnu Public License (GPL) v3 offers- among other things - greater compatibility with the Apache license while ensuring that open source contributors receive public acknowledgement for their contributions.

There are a number of other popular open source licenses, each with its strengths and drawbacks. For example, Apache allows big companies to "expropriate" the work of smaller open-source companies without even acknowledging that contribution, making many open-source startups are leary of adopting the Apache license.

In addition, traditional licenses like GPL v2 and Apache do not provide explicitly for SaaS distribution. To get SaaS companies to participate in the open source movement, the best solution today is to adopt the newer GPL v3 license with the Affero extension for SaaS usage.

The combination of GPL v3 with the Affero extension is new, but seems to have momentum. I spoke with a dozen CEOs at the Open Source Think Tank conference who indicated that they would be adopting this license over the next year.

WaveMaker Case Study

WaveMaker is an open-source framework for visual AJAX web development. WaveMaker uses drag and drop assembly to create database-driven web applications. WaveMaker applications are pure Java WAR files based on standard open-source components, including Spring, Hibernate, JSON and Dojo.

WaveMaker Software has adopted a dual-license model: open source users are free to use the GPL license; while commercial users who want support can use the subscription-based license. This allows WaveMaker faces to build a vibrant open-source community while simultaneously establishing a viable commercial business.

The WaveMaker download is available here.

Summary

For new open-source companies who do not have an existing user community, there is a great deal of flexibility in setting up the licensing model. For these companies, a dual license model along the lines pioneered by companies like MySQL, JBoss and SleepyCat is emerging as the standard business model.

I take full responsibility for any bad ideas in this document, but I also want to acknowledge the contributions of the following people who helped me evolve my thinking: Larry Augustin, Brian Gentile of Jaspersoft, Clint Oram of SugarCRM, Neelan Choksi of SpringSource and Raven Zachary of the 451 Group

Friday, February 08, 2008

Getting on the Same Team: Why CIOs Love Open Source

At the Open Source Think Tank conference in Napa, one of the CIO attendees described "transparency" as a major value open source providers give him. His sense was that open source vendors are on his "team," not adversaries.

Every CIO knows that the software they are acquiring has bugs. The question is: how closely will the vendor work with me to resolve the bugs I find?

For proprietary software vendors, the incentive is to hide or minimize those bugs and pin the blame on some other vendor's product. If I am an open source software vendor, I know you have access to my source, so it does me no good to hide my warts.

The net result is that CIOs see a greater alignment of interests when they work with open source vendors.

Wednesday, February 06, 2008

Open Source - It's Not Just For Commodity Markets Anymore

I am off to the Open Source Think Tank conference in Napa this week (along with Matt Asay, Marten Mickos and Gianugo Rabellino) with one burning question on my mind: how do you leverage open source "goodness" into vibrant community "greatness."

To torture a metaphor, making a product open source in an emerging market is like making water free in a land where the horses don't know they're thirsty. Going open source is not enough, the challenge is to also educate the developer market about a problem they don't know exists.

Where open source has been most successful in the enterprise has been in allowing a new entrant to gain a toehold in an existing commercial market. Open source "goodness" allowed MySQL to get traction in the crowded SQL database space and allowed JBoss to sneak past IBM and BEA in the app server space.

An open source strategy has clear value when the market is well established. In the case of WaveMaker, however, we are evangelizing a new category. Because the last ten years of web development has been code-centric, Java and C# developers don't wake up in the morning looking for visual tools to help them build their Web 2.0 applications.

A sign of how far the market has gotten away from the good old days of PowerBuilder and visual programming is that people think the Ruby on Rails is a good high productivity alternative to Java and Spring. Substituting one complex code framework for another is not exactly a dramatic step forward in democratizing web development.

Larry Augustin helped me think about this over breakfast last month. He pointed out that the traditional way to evangelize a new market is to pour lots of money into analyst relations and PR. The open source way to do this is to make a better mousetrap available to an open source community and stand back while the world beats a path to your door.

This is probably overly optimistic. Making a product open source lowers the barriers to adoption but doesn't actually drive adoption, particularly as enterprise IT remembers both the promises and shortfalls of Rapid Application Development in its previous incarnations.

Creating a community means finding a way to make developers aware of a problem they don't always know they have. Making WaveMaker available under open source is a first step, but the real work will come in creating a community around WaveMaker that evangelizes the need for more productive web tools.

Got ideas about how we can build the WaveMaker community - let me know!

Monday, February 04, 2008

The Great Migration: J2EE to .NET

With all the excitement around Java alternatives like Rails, a much more important and less commented upon migration has been occurring

For ten years, the ponderous J2EE standard has made the lives of Java programmers everywhere miserable. While various Java standards committees considered gravely what to do next, corporations have been steadily moving to .NET.

In our market research for WaveMaker, we have found that a over 30% of the corporate IT market has moved from Java to .NET. As with many other Microsoft technologies (SQL Server comes to mind), Microsoft has gone from having a laughable solution to getting the last laugh.

We have also found a surprising number of Java developers who tell us that the complexity of J2EE and the difficulty of finding experienced Java developers is forcing them to embrace .NET despite their loathing of all things Microsoft.

Spring and WaveMaker are two companies addressing the core problems underlying this market shift. Spring is the application server that J2EE should have been – lightweight and powerful. WaveMaker is the visual development platform J2EE never had.

Together, Spring and WaveMaker offer a compelling and highly productive alternative to .NET.

How compelling? One of our Fortune 500 customers built the same application (57 web pages, 28 database tables) in both .NET and WaveMaker. The app built with WaveMaker was completed with one third the man-hours and 98% less code (more on this in a later post).

The conclusion is stark - either the Java and open source community needs to put good productivity solutions in the hands of corporate customers, or the data center will go the way of the desktop.