Latest Publications

What is CAMP?

Today I presented a Ligning Talk at the OpenStack Dedign Summit in Portland, OR. This is a 5 minute presentation that allows for a quick introduction to a topic. Although there was an unfortunate A/V malfunction, I did have these slides prepared for the talk.

CAMP is an open standards effort in OASIS that is expected to enter public review in the fall of 2013. I serve as one of the members of the editing team for the CAMP specification, and have presented it at a few different events. The thing that excites me about this standard is that it offers a practical path to portability of cloud applications between public and private clouds, and even between different public clouds. See the presentation for details about what this standard is, and what it’s not.

No Such Thing as Private Beta

I have the distinct privilege of seeing a lot of fresh new technological developments in software. While a software product or hosted service is being developed it goes through a series of different maturity levels before it becomes production quality. Practically all software code has bugs (defects) in it, and the more code there is, and the more complex it is, the more bugs there will be.

The first stage of software maturity is Development. This is the point where the software works for the first time, and has unknown quality. Not much testing has happened yet, and you should not be surprised to find bugs, or even see the program fail completely.

The next stage is Experimental, or Proof-of-Concept. This is the point where the software works, and all of the unit tests pass. The quality of the software depends on the quality and code coverage of the unit tests. No documentation exists yet.

The next stage is Alpha. This means that the software is feature complete and ready for people to try using it to verify that it does what it’s supposed to. It is ready for a limited “Preview Release” of the software to a list of users who will try it and produce feedback. At this stage documentation is limited, and is usually the version written by the software developers themselves.

Next comes Beta. This means that the software developers feel that the software is done, and that there are no more significant changes to make. They identify a version called a “Release Candidate” It’s ready for a large population of public users to run the software on a wide variety of situations and setups. Some documentation may be provided, but it usually still a work-in-progress by this point. This is really the last chance to catch any serious bugs before the software is labeled “Stable”. Beta quality software is usually provided for a limited time free of charge.

Finally comes Stable. This is when a version is considered a “Release” or GA. This means that the software has performed well with no major issues for a considerable user population over a reasonable length of time. There is complete documentation for the software, and for the support teams responsible for it. Every product development group has different standards for what Stable means, and what quality a Release needs to be. Some are better than others. People are expected to pay for Stable software and services.

Now, here is something that a lot of companies do. When they have a solution that is Experimental or Alpha quality, and they don’t have the resources to test it completely themselves, they do a form of a release that is inappropriately named a “Private Beta”. This is a misleading oxymoron of a name that really means “the software has not been completely tested yet, but it passes unit tests.” The correct term for the release of something at this quality level is Preview Release which indicates that the software may not yet have achieved Stable quality.

If you are a software development manager, or en entrepreneur who produces software, please remember this advice: There is no such thing as a Private Beta. If it needs to be Private or Limited, then it’s not Beta quality yet. If it’s Beta, then it’s ready for unlimited use by the public. If your software is still Experimental or Alpha quality at the time you want to release it, then call it a “Preview Release” to be truthful about its quality.

ET Phone Home and Android in Space

Yes, I’m talking about an Android in space. No, I’m not talking about Star Trek. This Android is the kind of cell phone you carry in your pocket, and will be launched from Earth in a few weeks. Check out the BBC article about it.

You might have heard news recently about the open source Linux operating system being used to control state of the art spacecraft and satellites. A new Linux driven satellite is being sent up soon that will have an Android phone on it. There is certainly an appeal to the open source nature of Android and its apps. Do you think the phone will hold up in the harsh environment of space?