September 30, 2010

The iTunes of Algorithms

Michael Feldman

There was a lot of paradigm shifting encapsulated in this week’s introduction of Massively Parallel Technologies’ Blue Cheetah software ecosystem, but one of its more compelling aspects had to do with its software business model. Essentially, MPT is offering an application development and distribution platform via a cloud model, but the actual monetization and protection of the developer’s software is also built into the system.

During the creation of a Blue Cheetah application, the developer builds algorithms and applications and assigns a fee structure around them. Alternatively, they can build applications that reuse existing algorithms in the Blue Cheetah database, but in that case the original developer will get some of the proceeds collected when that application is sold to a customer. The revenue sharing is automatically taken care of every time a piece of code is used.

The take-away here is that none of the software in the Blue Cheetah ecosystem is free. Every time a customer pays for the use of an application, the proceeds are distributed to all the developers associated with it.

This is antithetical to the open source model, in which software is distributed more or less freely to anyone interested. But open source relies on the kindness of strangers, or at least like-minded individuals, to build and maintain a code base. Much of the software stack in high performance computing is based on this model. For example, Linux, Lustre, OpenFabrics Enterprise Distribution, OpenMP, and some implementations of MPI are maintained under open source. The rationale is that you can build better software if you have a community of developers willing to share the effort of creating and maintaining a large code base.

That model works best when the developers are also users (or at least closely aligned with them) and embrace a community spirit where everyone is contributing more or less evenly. That pretty well describes the HPC community, who seem to have a real affinity for free software — not to mention free beer.

The model breaks down when certain groups are using the code base more than they’re contributing, breaking the ethos of the common good. In that case, the contributors are subsidizing the users. Who pays for that? When the developers are working at government-funded universities and research centers, that cost is passed onto taxpayers. When they’re working for commercial firms, the cost of their “free” development is spread out over their customer base.

It’s that kind of false economy that the Blue Cheetah architects wanted to avoid. According to MPT CTO and co-founder Kevin Howard, a free market economy for software is by far the better model. ”If I’m going to spend man-years and millions of dollars to develop software only to have another group essentially duplicate it,” he says, “that greatly decreases the value of work that I’ve done.”

An even more serious problem for the software industry, though, is plagiarism. Today, most commercial software is being pirated to one extent or another. According to Howard, in Asia, over 90 percent of commercial codes have been plagiarized; in Europe it’s over 75 percent; and in the US it’s over half. That puts a lot of pressure on software vendors to continually create new code in order to keep the remaining revenue stream flowing. This is especially tough on small and medium-sized ISVs with limited resources and customer bases.

MPT’s model circumvents plagiarism in a couple of ways. When you import existing code into the Blue Cheetah ecosystem, it checks if it’s plagiarized source (don’t ask me how). The import process transforms the code into Blue Cheetah’s internal representation — essentially the pseudo-code that subsequently drives the executable.

Since Blue Cheetah apps are deployed via a cloud model, nothing is downloaded locally, so there’s nothing to copy. Even if someone could get a hold of the pseudo-code to attempt to reconstruct an executable, they’d also need a copy of the MPT’s finite state machine interpreter in Blue Cheetah’s backend.

If the Blue Cheetah software repository is able to attract some level of critical mass, one could envision a new kind of software marketplace evolving, where individual developers would contribute stand-alone algorithms, rather than full-blown applications. The intent would be to collect licensing fees as their algorithms were incorporated into other peoples’ applications and sold to customers. A competitive market in algorithms could develop. (Who’s got the cheapest/fastest/smallest FFT kernel?). That model would be much more dynamic since application developers could swap algorithms in and out as better versions became available. Sounds like a software market worthy of the 21st century.

Share This