Talking about online gaming and gambling is a huge issue -- and it has always been. Many people have strong opinions about gambling, and yet Las Vegas exists, as well as many others ways to gamble. Gamblers have soon turned online, and found a huge market there too. I recently visited an online casino, CasinoJuggler that specialised in finding the best casino for mobile, and started wondering: what does online gambling have to offer, in terms of free and open source software? The answer will probably surprise you.
Online gaming has one main problem that other industries only dream of: the main issue is the sheer number of users that tend to join a single site (!). The market is huge, and so is the userbase willing to join your servers to play. While protocols for inter-user messaging exist, they are not enough. Another technical issue, which somehow derives from the user base issue as well, is "random number generation". When you have millions of users (and they do!), the risk is that someone will work out patterns in your random generation procedure, and will therefore be able to cheat. There are other issues, mostly covering the administration level: for example, obtaining a gaming license; receiving payments from your users by credit card (most merchant have a love-hate relationship with gambling sites); issuing payments to users when they actually win. However, they are not part of what I will try and cover here.
From a technological perspective, writing multi-user gambling software is an authentic nightmare: it's not just that it needs to look good. A multi-table gambling game is a complex system with several (and I mean tens of thousands here when I write "several") users connected and actively talking to each other, exchanging cards, showing each other their hands, and so on. This is also a settings where nothing must go wrong: an unstable server will ruin the experience for your players immediately.
Before the 10 February 2010, there was no established free software project that provided a strong platform for online gaming. Then, Cubeia released their software, Firebase, under a free license (the AGPL).
Initially, the release was disappointing as the free community edition didn't include encryption. However, things changed dramatically when they released FireBase 1.7.3 which included encryption.
They have recently released version 1.8 of Firebase (April 2012), and promptly released it for free.
The Cubeia people are also very serious about free software in ancillary tools. For example they released Styx, a protocol generator they use for their software, under a free license.
This is free software the way it's supposed to be.
This opens up a world of possibilities to many people out there who want to install and use their servers. It also means that free software really does cover all basis.