Keith Parsons (@KeithRParsons) is to blame for this one with the following tweet:
I’m not a developer, but I’ve been on the receiving end of some of these software naming conventions before. I figured I’d share my thoughts on them and maybe get a chuckle or two out of it.
Alpha – You should be happy the program even launches! Alpha code is basically every module our programmers have been working on thrown together for the purposes of meeting a milestone. It probably doesn’t work half the time. It has horrible memory leaks. In fact, 50% of the features that are here won’t be in the final release. Either because we don’t know how to code them properly or we only put the names in there to generate buzz and get more funding. Your job as an alpha tester is to ensure that this program doesn’t format your hard drive or cause your GPU to melt through your motherboard. If you do a really good job helping us fix all the glaring and obvious mistakes, we might give you and invite to the closed beta. Maybe. Tech support is great at this point. Provided the developer isn’t on the phone with his mom or ordering a pizza for a late night coding session.
Beta – Okay, we got the GUI all figured out, and it won’t melt your machine anymore. We’ve still got memory leaks, and we pulled some of the features that we listed just so we sounded as good as the other programs just like this but didn’t really plan on putting in here anyway. However, we’re thinking of adding a few more features or changing a whole bunch of stuff right before release so that we don’t have time to test or change anything. After all, we’ve got a deadline to meet, right? Your job as a beta tester is to fill out form after form of feedback and bug reports so we know what we screwed up from the alpha code. In fact, most of it is still screwed up. We just spent our time going to beta putting in feedback forms and making sure they were all spelled correctly so we didn’t get bug reports that said, “You misspelled feedback.” If you want to call support, feel free. We could use a good laugh after looking at our last paycheck.
Beta (Google) – This is actually the release code. We’ve been running it internally for about six months and it’s bulletproof. We want to release it to about ten people and then make the rest of you beg for invites while we polish the extra pieces. We also don’t want to support it in any way, so we’re just going to leave the beta tag on this until the development team that created it gets tired of working here and leaves to go to Microsoft. Then we’ll just kill the product. Have fun testing!
Developer Preview – Thank you for paying perfectly good money to be official guinea pigs. Whether you flew to our conference or signed up for a yearly fee, we really appreciate you giving us extra money for a sneak peak at how horrible our programmers are. You’re likely going to find out about the developer preview about a hour before we tell the gadget websites. We’ll give you an older copy on a DVD and tell you to load it up and play with it. Of course, it’s not really ready to go just yet and not much better than the last beta we put out there. This really only exists for those app writers out there that want to figure out we’ve screwed up their whole programming structure. We’re going to force them to massively rewrite their code in a rush to have an “approved” app out in time for the release in 6-9 months. Of course, we’ll probably just take all their hard work and create our own feature that mimics theirs and cut them out of the profits. Tech support for developer previews is conducted solely from our online support forums by those people who live and breathe our products. We don’t actually pay them to like our stuff so much and we surely won’t pay them to keep fixing everyone else’s problems.
Release Candidate (RC) – This is what we used to call “beta”. But since Google screwed up the term beta for the whole world, we had to come up with a new beta. Sorry! In this case, RC releases are the final code. You can submit bug feedback, but we’re going to ignore it until the product goes live. No time for delays! Wall Street expects this out yesterday! Your job is to find all the bugs and submit them so we can put them into the first service pack. We’re also going to have to put a time limitation in this so people don’t download the software thinking it’s the final release and then use it forever and call for support on what is essentially a beta release. Microsoft tried that with Windows ME and, well, you see what happened there.
Open Beta (mostly online games) – This is what you’re going to pay $60 plus $15/month for next month. It’s the final game code release for the first twenty levels. We don’t have time to work on the last thirty, so we’re placating you people to finish them. You’re supposed to be stress testing the servers and verifying the first act of the game is feature complete. In reality, we know all you nerds are downloading the game and using it as a “try before you buy” sneak preview. There’s a good chance that we’re leaving some surprise stuff out, but you’re going to look at the program files and figure it out anyway. Please feel free to post on message boards and fan sites and tell us how much our game sucks and how much it resembles other games that are more popular (we did copy them after all). We won’t read anything in the feedback queue until we hit the first major patch. Unless you figured out a way to hit the max level in eight hours. Then we’ll fix that little bit and have you banned and burn down your house. No hard feelings.
Gold Release – Hurry up and download this! It’s the real live version! It’s even got the right release number so your automatic updater doesn’t freak out later. We’re trying to get this code to the manufacturing plant or the content delivery network as fast as possible. In the meantime, someone probably posted this to a popular nerd or gadget website, so our single code server is getting hammered right now. We’re just going to sit back and laugh at the 1 kbit/sec download speeds. You fools should really have more patience. In the meantime, we’re going to be sitting here playing Halo. Don’t bother calling the support line if you break something. They won’t be trained on the new version until next Wednesday.
General Availability – Okay, you can now download our software from anywhere. It hasn’t changed much since the first release candidate. We just kept correcting spelling mistakes and incrementing the version numbers. The lead developer took his milestone bonus and went to Fiji for a month, so we couldn’t do any really complicated code fixes. He’s back now with a sunburn and can’t go outside for two months, so he’s coding away. We’re not fixing anything until the first service pack comes out, though. We only release hotfixes if the CEO finds out that this program conflicts with his PalmPilot software. We should also point out that support is going to be a little hard to come by. The two people that didn’t schedule their vacations to coincide with the release date for the software were sick last Wednesday during training. You might try turning it off and on again. That helps. Really.
First Service Pack – Now you can install the software without fear that it will wipe out all those family pictures you keep forgetting to back up. We fixed all the bugs you reported in the RC stage. We’re still working on the ones that you came up with when we really released it. We also added five new features that will probably break ten other things you really counted on. We’re also adding in support for the second version of some new software so that we can claim to support it when it comes out sometime next year. But in reality we’re just going to have to recode everything anyway. If you work in a mission-critical environment, feel free to install this program now. We’re 80% sure it won’t explode. Okay, maybe 65%.
Extended Release/Extended Support – Guess what? We finally fixed all the bugs! Granted, you’ve probably been using this software for the last five years and complaining every day. We fixed everything though! Now, there have been quantum leaps in hardware and coding technology. So we’re going to mark this one as “old” and move on to porting the whole thing to Java. Or HTML5. Or whatever wacky programming language Microsoft is trying to peddle this week. The new version will have 68% of the feature set of the previous version. It will also run 200% slower, due to code bloat. That’s because the lead developer for the project took his release bonus and moved to Fiji permanently. We had to hire six new interns to replicate what he was doing. Then we had to send the code to him to fix the things the interns broke. Don’t bother calling support unless you are a very important publication or the government. Then we might help. But we’re going to charge $500/hr for support. We also take checks.
I hope this little guide helps you out the next time you’re trying to decipher what the various different software release acronyms/terms mean. Don’t get me started on major number/minor number versioning, though. That’s a whole other mess.
Thanks for answering my query in such a fun and entertaining manner.
Pingback: Are We Living In A Culture Of Beta? | The Networking Nerd
Pingback: Every Voice Adds To The Chorus | The Networking Nerd
Pingback: Software Release Models | The Networking Nerd