This is a pseudo reply to Jason Calacanis for what he said about using an Open Source game engine to build a game in This Week in Startups #54, Ask Jason segment.
I believe Jason is implying that you can’t make money with open source software(that’s not a support contract variant) directly, but it’s a good resume builder. True there aren’t any big billion dollar open source companies, and companies like Red Hat make money off support, but I don’t believe he’s correct. But there are 100 million dollar open source companies (Red Hat), and companies that make billions, and have a successful open source strategy, not all of which is support.
For starters I am not a lawyer, successful entrepreneur or venture capitalist, I am a student about to start ~ his last year of his CS bachelors. I will mostly be referring to the GPL family of open source licenses, as a generalization on open source, so if what I say doesn’t match your specific OSI approved license that’s why.
Piracy
Probably the biggest concern you have with open sourcing your software is that people will be able to use it for free. Guess what? almost all software worth using is available for free if you know where to look. Those that aren’t are usually web only or have there distribution channel well locked (e.g. like apple store not available on cd). All this DRM-ed software out there has people distributing it and making cracks and keys available for it. So even if you built everything and locked it all up with DRM people would still find a way to not pay for it.
Licensing
Selling
Absolutely nothing in Open Source says that you can’t sell your product or your source code. In fact the GPLs explicitly allow it. Not only can you sell the resulting binary and medium that it’s distributed on, but you can sell the source too, you just have to make it available.
Using
All versions of the GPL allow you to modify the code for the use of the entity (business or personal) so long as you do not redistribute that code (meaning you can modify gpl to your hearts content inside of a business and not have to give anything back).
LGPL
The LGPL specifically allows you to call their API in a proprietary piece of software, and only if you modify the LGPL software itself do you have to share that code.
GPL
Mandates that you share any code that is a derived work of the GPL work under a GPL Compatible License. In the specific case of wordpress themes, what derived means is contested. I particularly like this:
The alleged derivative must “physically incorporate a portion of a copyrighted work… [or] supplant demand for a component of that work.” – Lewis Galoob Toys, Inc. v. Nintendo of America, Inc
Seem’s the GPL FAQ clarifies all various circumstances in the next few sections. I certainly wouldn’t want to be a python programmer… I do believes this means you can’t make any python code that uses a core python library proprietary.
One way around it may be how NVidia releases their drivers when the Kernel is GPL2. They create a small wrapper module in kernel and release a binary blob outside.
Another way is if your program is served by a server, technically under the GPL this is NOT considered derived as the program runs on YOUR server, thus you don’t have to share the changes. A webapp based on GPL software can be as proprietary as you want it to so long as you aren’t distributing it (Not sure about the legal case on software hosted by a hosting company). It also means if it’s your companies hardware, you don’t have to open source it (this has been pulled on ‘rented routers’).
AGPL
This is the strictest of licenses, and is meant to insure open code in the event of the final paragraph of the last section. You must share code if anyone outside of your entitity is using the software.
Binaries
Nothing says you have to release the source of your games with your binaries. If your game hits the shelves of best buy and works.. most people will never bother to look see that the source is available, and that is completely legal.
There are 2 types of game(er)s… casual like Farmville, and Bejeweled… and hardcore games like Half-Life, StarCraft Neverwinter Nights, to name a few. Casual gamers are usually not sophisticated computer users. “I should update my antivirus? what’s a browser?”, are not things I would be surprised to here them say. Hardcore gamers are however, and most can probably rattle of their system specs and know not only to update their AV but how to disable while gaming, many even know how to overclock their system.
Casual gamers won’t be able to figure out how to assemble your source to even begin to consider pirating it. Many Hardcore gamers could, and might just to try to get more performance out of it. Most would still pay for it though, because your code doesn’t include any DRM, which is becoming more annoying to them (and of course you made a great game worth buying right?).
Building software binaries isn’t easy, I don’t think that any license in open source requires that you include documentation on how to do so. Although you might be seen in a negative light for doing this and someone else will figure it out and publish it. This will require your users to download a toolchain of software and use it. This is not corporate IT, most of them haven’t done this and it’d be too intimidating for all but the most determined (for novice software builders).
Contributers
Almost all of the Really long lived games such as Half-Life, and StarCraft had the ability to be modded, sure the source code for the engine wasn’t available, but you could make your own ‘mini games’. That couldn’t be played with out the original. If people had the source for your game engine too they could do even more than standard modding to make your game better. Heck, they might even port your game to a new operating system where you could make money on it from the game. As your company grows you could recruit these contributors to your company.
Marketplace
Or should I say Mod Store, why not create a marketplace for gamers to sell or give away their modules. They can pay you a percentage of royalties.
MMO
Did I mention that whatever is on your servers doesn’t have to be Open Source? what good is World of Warcraft without the servers? and how much is it really hindered by a free competitors on their software like The Spirit Realm. Which just to clarify is a free version of World of Warcraft built on proprietary WoW run on their own servers. I don’t see Blizzard bleeding money over it, or suing.
Giving your competitor an advantage
This is the main reason that games don’t open source their engines, they are afraid the competition will steal it. I don’t really get that, you’re a gamer, you play good games, and you play and buy more than one. Most of the time you only buy one copy so it’s not like they’ll make more money convincing you their product is the best. But you can charge to license your engine. What’d be wrong with that?
My conclusion is that I don’t know really understand why a company that’s big enough doesn’t try it. EA and Activision both release enough crap to try it with one game. I honestly think you can make money on any quality Open Source software that you could make money on if it were proprietary. If you do it though, much like Red Hat, you may not be able to expect to be a leader financially, but that doesn’t mean your revenue’s will be anything to sniff at.