As a video gaming platform, the advantages of a console over a PC include SDTV output as a standard feature, a guaranteed minimum performance level of the hardware, and a culture of actually using the two to four controller ports for single-screen multiplayer gaming. The disadvantage is the lockout chip, which various homebrew methods attempt to work around. I was planning to develop homebrew video games for a popular closed video gaming platform until I ran into a few issues:
Renewal of restriction
Homebrew depends on a jailbreak, or a privilege escalation exploit to run code not approved by the platform owner. But jailbreaks don't last forever; a platform owner can always patch up the hole that the jailbreak uses in the next version of the platform's operating system. For example, it took over a month for hackers to find and release the "Bannerbomb" for Wii Menu 4.0. Sure, people can just refuse to install an operating system update, but platform owners have worked around that in three ways. First, new devices ship with the patch already installed. Then the app store and other Internet-facing apps check for patches and fail to start if one is available. Finally, on platforms with apps on physical media, newly released apps include the patch on the media and require installing it before starting. If a jailbreak requires specialized hardware, the platform owner can sue a store carrying the hardware into oblivion on copy control circumvention and/or patent infringement charges. This has happened to Bung, Lik Sang, and Visoly for Game Boy and Game Boy Advance, it happened to several stores carrying the R4 card for the DS, and it happened again to sellers of USB mods for the PlayStation 3.
In fact, it might still be illegal to jailbreak phones. DMCA exemptions issued in the late 2000s allow jailbreaking at the federal level, but applications running on jailbroken phones can read the IMEI (device serial number) and IMSI (user account number). A device that can display the IMEI and IMSI without the carrier's consent appears to constitute an "unlawful telecommunications device" under Indiana law, IC 35-45-13-6. Devices that have been jailbroken without the carrier's consent typically have access to the IMEI and IMSI. I can think of a reasonable interpretation of IC 35-45-13-7(2)(B) and (2)(C) that prohibits the distribution of jailbreak tools: unlike other offenses under this section, these statutes do not necessarily require that the tools be used for theft of service, only for making an "unlawful telecommunications device".
I worry that working on homebrew for current consoles, as opposed to PC games, will jeopardize my chances of being hired by an established video game studio once I move out of the backwoods town of 200,000 people where I currently live. Apple, for instance, has notably revoked the legitimate developer credentials of hackers who have released iPhone jailbreak tools. (Some claim this fear is overblown.)
Freeware complexity wall
Once I tried to develop a side-scrolling platformer, but I ran into the so-called complexity wall. This happens when a lone developer with a day job lacks the time to provide both high-quality code and high-quality art. In order to replace notoriously bad programmer art, I'd have to charge for my game in order to afford to pay an artist, architect, composer, and other designers of non-program components of a game. Reaction to the sale of copies of jailbreak-related tools for one platform shows that the platform's homebrew community likes to keep it strictly non-commercial. If you know of a way to make programmer art better without sticking to making single-screen puzzle games over and over, feel free to explain on the talk page.
One problem is that a lot of existing art is under a Creative Commons license. Saying that a work is under "a Creative Commons license" isn't enough; there are several licenses with different ramifications. Another is that all Creative Commons licenses are incompatible with all GNU licenses because unlike CC licenses, GNU licenses do not allow authors to require downstream reusers to remove attributions to the author. As for whether code and other parts of a video game form an "aggregate" that does not require license compatibility, the Free Software Foundation has never really clarified what the GNU General Public License means by "separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program". But structuring a game to allow for external mission packs may help mitigate this, as a free game engine running a non-free mission pack is likely covered by the interpreter exception.
Even homebrew on consoles over 20 years old, whose patents have all expired, has its drawbacks. It shares the same complexity wall, as the market in developed countries for games for old consoles reproduced on cartridges is too small to support development of games at larger than hobby scale.
For another, even some relatively open platforms lack easy access to emulators. Red Hat Inc., the company behind Fedora, is a large for-profit company. Software in the Public Interest Inc., the company under which the Debian project runs, and Canonical Ltd., the maintainer of Ubuntu, are smaller organizations, which makes them less juicy lawsuit targets than Red Hat. So they are more likely to distribute any software package that works and is lawful to distribute. This includes FCE Ultra, a computer program that can run games designed for the Nintendo Entertainment System. Because there are several NES games licensed for free redistribution, this emulator appears "capable of commercially significant noninfringing uses" under U.S. case law (Sony v. Universal).
Red Hat, on the other hand, requires that a package be free of both actual and threatened legal problems. For example, Nintendo has a policy against emulating its copyrighted games on third-party platforms. If Red Hat were to distribute FCE Ultra, Nintendo could sue Red Hat, claiming that the noninfringing uses of an emulator are insubstantial. Red Hat does not want to spend money it doesn't have to defending from even vague claims such as these, either by distributing such an emulator itself or by endorsing a third-party repository containing such an emulator. Someone on the Fedora legal list even characterized this as one of the differences between Debian and Fedora.
- Indiana Code 35-45-13. Accessed 2011-11-24.
- Marcan. SCAM: HomebreWare and Wiiunlocker. HackMii, February 15th, 2009.
- Various Licenses and Comments about Them: Licenses for Works of Practical Use Besides Software and Documentation on the GNU Project
- Kernigh. Toward compatibility with the GNU FDL: delete all Creative Commons works? Wikisource list, May 11, 2006.
- Frequently Asked Questions about the GNU Licenses
- Legal Information (Copyrights, Emulators, ROMs, etc.)
- Tom "spot" Callaway. Free emulators that run free games. Fedora-legal-list archives, November 15, 2010.