WaveMaker is gaining prominence, and showing up in the Gartner Magic Quadrants,
to simplify cloud development. In this interview, we chat with WaveMaker
CEO Chris Keene.
- Deciding on the open source approach to development and choosing a license
- Simplifying the creation of multi-tiered applications for the cloud
- Fitting WaveMaker into the broader open source and proprietary ecosystem
- Engaging with the community and deciding what goes into the paid edition
- On the importance of community managers, and how to choose a good one
Sean Campbell: To start, why don’t you take a minute and introduce yourself and your company?
Chris Keene: I’m the CEO of WaveMaker. Our company makes an open source cloud development platform, which you can think of as being like force.com without the proprietary lock in.
We introduced WaveMaker about two years ago as an open source Apache project, and there’s also a commercial version of that same product that has additional features, around security primarily.
At the end of last year, we moved that development platform into the cloud and really started to realize the full vision, similar to PowerBuilder or Microsoft Access for the cloud.
Sean: Tell us a little bit about the open source project and the choice to develop using community involvement.
Chris: I should say first that my last company, Persistence Software, was a proprietary company, and we took that public and then sold it, so I kind of know the drill on the proprietary side. When I came to the open source world, I found that everything I thought I knew was wrong. And so the main way we’ve figured out how to do things in open source has been by doing them wrong first and then fixing our mistakes as we went along.
I think the upside is that if you’re willing to fix your mistakes, open source has an incredible adoption curve. In a little over a year, we gotten more than 15,000 registered developers in our community. For comparison, it took the SpringSource community over six years to get roughly three times as many developers.
We’ve had hundreds of thousands of downloads, but what we really care about is how many people have downloaded, installed, come back to sign up for our community, and then started to participate. To build that kind of a user base in a little over a year is just incredible.
Still, along the way, we made a lot of mistakes. We started out, for example, with an AGPL license, and we found that the open source community didn’t really trust that license for software that was going to be embedded into their own applications, which caused us to switch over to the Apache license.
We’ve ended up tweaking and changing almost every element of our business model, because we’re constantly getting feedback from our community about what they’d like to see and what’s most valuable for them.
Sean: With the Apache license, people can embed it in proprietary software. So the GPL license makes things compatible with bundling with a Linux distro, for example, but the Apache license makes it possible to carry open source in a proprietary product without having to make the whole thing open source. Is that the motivation?
Chris: That’s exactly right. Almost by definition, anything that somebody builds with a cloud development platform is going to embed, at a minimum, your libraries. Because of that, people didn’t feel comfortable under the AGPL license.
Part of the reason for the difference in the community’s reaction is that AGPL is fairly new, whereas Apache has been around for a while, and people really understand and trust it. I think if you are an open source company, you need to be willing to follow the lead of your own community; otherwise your community is basically just a marketing exercise.
Sean: That makes sense, and in general, open source communities vote with their feet fairly rapidly. Generally, they have a certain number of choices in any given space, and it’s instructive to consider, for example, that MySQL and Apache took off even though they obviously weren’t the only options available.
It seems like there is a sense of getting things just right in order to have one project versus another one become a center of gravity that attracts a lot of people.
Chris: I think that’s true, even if a feature-by-feature comparison might suggest that it’s a toss-up. One thing I will say for MySQL, though, is that they absolutely got the install right, and it’s still much easier, in my opinion, to install MySQL than many other of the open source databases.
I think that ease of use and approachability really help drive rapid adoption. That’s a key characteristic of MySQL, Ruby on Rails, and frankly of WaveMaker as well. We think that it really helps drive success when people don’t have to invest months of their lives to figure out whether your stuff works or not.
Sean: Before the cloud, people were using hosting providers to build websites. Hosting providers started to get into virtual private servers, so instead of having a dedicated server that was co-located, they could spin up a virtual instance. Amazon took that to a different level, with utility pricing and letting you spin up hundreds of servers with a command line or an API call.
How does WaveMaker fit into that spectrum, from the dedicated, co-located server to the virtual private server with Rackspace or whoever, to running in a cloud where you’ve got options for real elasticity?
Chris: The cloud itself is just a concept from my perspective; it’s really just a data center with an API. If I’ve got an application and I need to figure out where to put it, the question is, “What steps do I need to go through to get my application running someplace where people can get at it with their browsers?”
Of course, in the co-lo world and the hosting world, I have to call people, I have to put contracts in place, I have to pick up the phone and send emails to make something happen. In the cloud space, I just make a set of API calls.
Not only has the cost and complexity of making something available on the Web gone down dramatically, but I can now start to imagine businesses that previously wouldn’t have tried to put things up on the Web wanting to do so.
Cloud computing really lowers the bar for deployment, in terms of both systems administration and economics. But cloud computing on its own doesn’t really do anything to lower the difficulty of creating that cloud application in the first place. That’s really where WaveMaker comes in.
If cloud computing is all about democratization, utility computing, and allowing more people to put applications on the Web, then we also need a new set of development platforms to facilitate that. In fact, we’d argue the need not just for development platforms but actually for application templates that people can take down and customize for their own purposes.
That set of templates has an intent very similar to what SharePoint templates have provided: a simple means of managing projects, time, assets, and issues to allow a whole new class of developers to build and deploy web-based applications.
Sean: A lot of open source development, on core products, involves very low-level C programming, or those kinds of things. Then there’s another level where people are doing Java, .NET, or PHP programming.
Those who are using a higher level language might be using open source libraries, test and development tools, or development environments.
How receptive have you found the open source community to be to the notion of 4GL languages in general? Also, do the people who are actually building stuff with WaveMaker even really know or care that it’s open source, or to them is it just a really productive way to get stuff built?
Chris: I think WaveMaker has pushed the envelope in terms of the type of developers we’re trying to reach out to. The typical stereotype open source developer is an alpha geek who has never gotten past EMACS as their development environment and eats other coders for breakfast.
The reality is that there are very few people, even very sophisticated developers, who have the full range of skills needed to build a web application. For example, a person might need to build a Java application, put an Ajax front end on it, build a database and database schema, and then deploy that into some sort of a hosting environment.
We’ve found that the target user base for WaveMaker consists of developers who may be very skilled but don’t have full teams where they can afford to put four to six developers with different skill sets on a project to get it through.
We tend to work with very sophisticated developers, but oftentimes they’re in the business units. Gartner calls these people “citizen developers” or “non-expert” developers, but it’s really the notion of people trying to get a lot done on their own.
Frankly, I think that’s the same crew that Ruby on Rails has appealed to. One of the interesting things for WaveMaker is that our biggest core set of customers is Macintosh developers, because they really like visual development. They tend to be very sophisticated, and they’re incredibly pragmatic; they just want to get the job done, and they want the best and most productive tool for getting that to happen.
Sean: My understanding is that WaveMaker is that it’s really optimized for the “forms over data” types of applications. In other words, when NBC is trying to figure out how to build its site for streaming the Olympics, WaveMaker is maybe not the best choice. On the other hand, if somebody is building an expense-reporting application, or maybe even a whole CRM system from scratch, that’s more the niche that WaveMaker fits in. Does that ring true?
Chris: Absolutely. WaveMaker really fits into the classic category of enterprise solutions that help business developers build basic business applications. We’re not trying to focus on the multimedia side of the Web, nor are we trying to focus on the complex transaction processing part of core IT.
We’re really about the broad middle: the 80 percent of applications in the business that are building similar functionality over and over again but customizing it slightly, which is where we think that combining a development platform with application templates is an incredibly powerful way to drive productivity broadly throughout the organization.
Sean: So, if it’s running up on Amazon or you’re running it in your own local data center, it’s running on a server that has some kind of an OS, and it’s running on some kind of a Web server. What is the stack under WaveMaker? Is this a Linux/Apache sort of thing? Does it run on Windows?
Chris: The stack underneath WaveMaker is a Spring/Hibernate stack. We made a decision very early on that not only were we going to release our software under open source, but we were also going to eat our own dog food, in the sense that we were going to actually build our stack on top of an open source stack.
That means Spring and Hibernate on the back end, and it means JFON and Dojo on the front end. What’s great about building a platform on that stack is that it’s incredibly flexible. We can run in any Java server, we can work with any database through Hibernate, and with any security mechanism through Asiji. We can to talk to any Web service through JAX WS.
On the front end, we’re able to support accessibility and internationalization requirements through Dojo. So effectively, we’re standing on the shoulders of giants.
It’s very interesting that in the cloud world, and in the cloud development platform world in particular, companies have gone back to inventing their own wheels. For example, with force.com, every single element of that architecture is proprietary.
Not only do they have to invest a tremendous amount of resources to build the same quality of tools, but by definition, they don’t have the breadth of integration points they would get working with an open source stack.
Sean: If you’re dealing with a Java shop, this stuff probably fits right in. For more of a Microsoft .NET shop, it sounds like this would still integrate pretty well, because of the technologies that you’ve talked about. Do you have any examples you can cite about this being used in a heterogeneous environment where interoperability was important?
Chris: Absolutely. WaveMaker as a platform talks to any kind of a Web service, whether it’s SOAP or RESTful or RSS. We have customers who very easily integrate functionality from WaveMaker with functionality from the .NET environment.
That’s a big part of what’s out there, so we have to be able to build on whatever intellectual property the enterprise has already developed, and that includes .NET.
Sean: Can you talk a little more about the corresponding story for shops that do Java, PHP, and that kind of stuff?
Chris: We’ve got a number of examples where companies have been able to effect a real transformation. For example, KANA is a company that produces call center software. They supply call centers to about half of the Fortune 100, and they have effectively rebuilt their entire stack based on DB2, WebSphere, and WaveMaker.
They created an SOA bus where all of the functionality around these very complex multi-channel call centers is wrapped up into a series of web services. WaveMaker calls into those web services and provides the user interface, the ability to customize that user interface, and the ability to make changes to the back-end system.
Sean: If people are using WaveMaker to build their web front-end, how does it scale up and scale out?
Chris: The work we’ve done with KANA has been targeted toward some of the largest enterprises on the planet, and they’re looking at things like 20,000 concurrent users and sub-second response rates, so we feel very confident that our solution scales.
Here, again, there’s a huge benefit from open source. For example, if we found that our back-end wasn’t scaling the way that we wanted it to, there are a lot of Spring developers out there who could help us make it better. We’ve been doing work with KANA to make our Dojo front end perform better, and again, there are many people with expertise in building very high-performance Dojo clients.
So we’re able to leverage not only our own community of 15,000 developers, but the Spring community, the Dojo community, and the Hibernate community to tweak out the performance and basically learn from best practices.
Open source gives us a huge benefit in this area, as opposed to building our own proprietary back-end and then having to go through all the painful learning process of how to get it to perform without the community’s help.
Sean: I’d like to hear more about how you guys engage with the open source community, at a tactical or business level. You have obviously articulated a lot of good, strong benefits for having an open source development model, but sometimes inherent tensions can creep in.
For example, there are issues around having X features in the community edition and Y features in the paid edition. You don’t have a static product—it’s obviously evolving—so how do determine what goes into the full-blown edition versus the community edition? How do you determine the levels of support?
These questions seem to especially get complicated when the community would really like to see something in the community edition but you’re not yet offering it.
Chris: Those are hard questions, and I don’t think you ever get them completely right, even though you need to get them right enough. One thing that probably doesn’t get enough attention is that the open source community is not just developers. There’s also a very interesting level of cooperation and collaboration between open source CEOs.
I’ve had the benefit of being able to spend a lot of time with Marten Mickos of MySQL, Brian Gentile of JasperSoft, Rod Johnson of SpringSource, and a number of other CEOs. Those relationships have convinced me that open source is as much an attitude as it is a business model. If you really embrace the open source approach, what you get is a set of CEOs and companies that are wired to collaborate and cooperate and share best practices and learnings.
We found some rules of thumb for how to separate our open source and enterprise products. I think that the most important one is that the commercial features should have more to do with robustness and scalability of deployment than they should with fundamental things that you can or cannot do within development.
If you look across commercial open source companies, including WaveMaker, SpringSource, MySQL, and others, you’ll find trends in the things that tend to separate the commercial versions from the community versions. They tend to be clustered around management, monitoring, scalability, security, and other things that you really start to be concerned about when you take an application and deploy it into a robust enterprise deployment.
I think the most important thing is that the point of having a community edition versus an enterprise edition is not to make as many people as possible pay for your product. The point, to me, is that you’re trying to make the people who are willing to pay want to.
Therefore, you don’t pick a feature that could trip people up so that they get started with your product and then you somehow catch them because they want to do something else. The process involves sitting down in advance to determine who would never pay for the product anyway. The first step is to figure out a product that will make them happy and make them good marketers and developers for the project.
Next, you need to determine who would be likely to pay for the product, because they’re using commercial security, commercial databases, or commercial Web servers, or because they need higher levels of security and performance. You need to make sure that those people fall into the bucket where, in fact, there is a payment required.
If you think about it that way, it makes sense, and in fact, I would go one step further. You want to engage with that group of people who are never going to pay for your product and encourage them to invest time in your community. That’s the payment that you want from them.
For the group of people who are paying for your product, you want to provide as close to a commercial software experience as possible.
Sean: Is tracking sales and trying to convert those community members over to paid members even a part of your business model?
Chris: Certainly we track sales, but I have to say (and a number of other open source CEOs are starting to feel more this way as well) that people either have money in their pocket when they come into your community or they don’t.
If somebody doesn’t have money in their pocket, you’re not ever going to convert them. It doesn’t matter how compelling your for-pay product is, because they don’t have any money. The more you try to put the screws to them, the more you fritter away the goodwill that you would otherwise have with them.
Similarly, there are people that come into your community with money in their pocket, and if they find that they’re more productive, they’re getting better results, or their boss thinks they’re doing a great job, then they’ll give you some of that money relatively happily.
I think the whole notion is wrong that you should regard every single person in your community as a candidate for giving you their credit card.
Sean: I agree. At the same time, how do you go about encouraging the non-buyers to incent other potential paying customers? I realize there’s an ethos around it, but at the end of the day there are lights to keep on, bills to pay, and things like that.
Chris: From those people, we’d like to get good karma, because they like our stuff and benefit from it. Then we need to find ways in which they can give back that are non-monetary. I’ll admit that we’re not fabulous at this, although certainly the community is one place to do that.
Whenever we help somebody out in the community, we try to back-channel to them to make sure that things went well. If they’re excited, we usually suggest to them that, if they feel like the community helped them out, they should consider helping somebody else out by giving back to the community.
It’s basically karmic marketing. As people in the community get more confident in their skills, just as in any open source community, people get more involved. In addition to contributing code, for example, we’ve had people create communities in various different languages.
We want everybody to pay for the value that they receive, but some of the people pay in money and other people pay with their time. At some level, we’re indifferent to which they choose, because we think the more people who pay with their time, the more people they’re going to influence. Some percentage of the people they influence, as you said, are going to be looking for a commercial application of what we’ve got.
Sean: Because of the size and the acceleration rate you guys have, do you have a community head or liaison who deals with issues like that as their full-time role? If not, do you have some kind of plan to staff up that area?
Chris: I think open source is definitely a business model where you go hard or you go home, so if you’re not willing to pursue all the implications of open source, you really shouldn’t start down the path. And to me, the core of open source is the community, in the sense that if you don’t have a community, you really have nothing.
If I had two only employees in an open-source company, one of those people would be the community manager. That’s how important I think that position is.
In our company, we have a full time person who manages the community, and his background is technical. My view is that if you have a marketing person managing your community, you’ve said something pretty profound to the community, and I think there’s a spectacular mismatch between somebody with a marketing background and the kinds of questions and concerns that the community is needing to get addressed.
As your community grows, you may need to put a layer of management up there, but I think first and foremost, a community is about dialogue, and you need somebody who has the technical depth to be able to answer the questions of the people who come to the community. Otherwise, guess what? They’re not going to come.
So day one, we put a community manager in place. That is absolutely what drove us to 15,000 registered developers in our community in a little over a year. That’s absolutely what got the attention of companies like IBM, Amazon, Rackspace, and all the others we’re working with, and our community is our crown jewel.
Sean: How do you go about finding somebody to be your community evangelist? In a lot of ways, you can’t measure them using standard marketing metrics. They may even be out of the building, virtually or physically, more often than a traditional marketing manager would be. On top of it, by design they’re bringing you feedback that runs, sometimes, upstream of where you want to go, but by definition you have to listen to it.
Your story might be a personal one, for all I know; maybe it’s someone you’ve known for years. But if you could extrapolate, what should other projects look for when they’re about to hire a community manager?
Chris: The first key is that they need whatever technical depth is required to engage with specific questions in their communities. Second, you need somebody with some kind of management skills. Maybe they’re not going to be managing lots of people, but they need to be able to manage their time and their communities.
They need to be able to ask for help when it’s necessary. They need to be able to recognize when somebody’s really angry and be able to handle those situations. At the same time, they need to be able to recognize that somebody is really happy and take advantage of that as well, for instance by taking the situation to marketing to see what they can do with it.
You also need somebody with an incredible customer focus, because day in and day out, they will need to defuse people who have been disappointed in some way. People are bound to use your product for a while and then have it cause problems for them (or give them that perception). Some of those people will inevitably come back to your community yelling and screaming.
I tend to think that the combination of those skills is most likely to be found in a customer-support operation. People who have done technical support for software companies for a while know the job and how to keep their cool, and they tend have a good perspective where they can see trouble brewing, and similarly they can see opportunities.
That, to me, is the ideal. I think you could get that person from a number of different places, but technical customer support is probably the best place to look.
Sean: Well, we’re almost out of time, so are there any closing thoughts from your end?
Chris: I think we’re very early in the trajectory of the open source industry, and it’s been amazing to me to see over just the last two years, the kinds of changes in attitudes and understanding of what it takes to build a real ecosystem.
I think cloud computing is going to take that up another order of magnitude. Ecosystem is the killer app for the cloud, and companies that have learned the lessons of partnering and working with communities are going to be at a huge advantage as the cloud computing revolution takes off.
Sean: That’s a nice place to wrap up. Thanks for taking the time to chat.
Chris: Absolutely. Thank you.