Monday, June 4, 2018

Legal Remedies for Copyright Infringement of Open Source Software & the Trouble with Temporary Copies

Clone consoles are nothing new, clones have been made since the Atari 2600 became successful.  During a console's market life and for years thereafter, clones were usually illegal because they infringed on the maker's patents.  But patents expire, usually after twenty years, and after the consoles that utilized those patented chips and technologies could be freely recreated.  For successful vintage consoles, hardware clones usually follow their patent expiration.  Early clones used reverse engineered ASICs to replicate the functionality of an Atari 2600, a NES, a SNES and a Genesis.  But newer clones frequently use ARM processors and run emulators to cut down on costs and improve features.  One such clone, the Hyperkin RetroN 5, caused a great deal of controversy when it was discovered to have used emulators without permission from their original authors.  Let's dive into the legal ramifications of the this behavior.



I.  Two Worlds Collide - Proprietary Hardware & Free, Non-Commercial Software

The Hyperkin RetroN 5 was released in June of 2014 and contains five cartridge slots, a slot for NES cartridges, a slot for Famicom cartridges, a slot for Genesis cartridges, a slot for SNES cartridges, a slot for Game Boy/Color/Advance cartridges.  An adapter allows the use of Master System cartridges and cards and Game Gear cartridges.  It has controller ports for NES, SNES and Genesis controllers.  The RetroN 5 works by dumping the contents of a physical cartridge's ROM(s) and any RAM to its internal memory and then running the applicable emulator to run the code contained in the ROM.  The RetroN 5 contains a game database in its firmware which checks the CRC value of the downloaded ROM to see if it can run the game.  The RetroN 5 outputs in 720p via HDMI.  The menu and emulators run off a Android-based operating system and use an dual-core 32-bit ARM Cortex-A9 SoC Rockchip RK3066.  An SD card can be used to provide firmware updates but it cannot be used to run ROMs.  Its original cartridges that the RetroN 5 recognizes or nothing.

Emulators had been around for around 20 years by the time the RetroN 5 had been released.  Usually they ran on Intel-based CPU PCs and Macs, but with the rise of Android smartphones and tablets there had been efforts to port emulators to the ARM architecture.  Mature, highly-compatible emulators for popular systems had been available for quite some time for the systems emulated by the RetroN 5.  RetroArch is a popular front-end designed to make compatible emulators easier to use and provide a standard interface for all emulators that it supports.  The RetoN 5 follows a similar approach.  RetroArch has compatible emulators that support all the systems the RetroN 5 does and many more.

The RetoN 5 is a popular product and has sold well even though it was originally priced at $150.00.  It is still sold nearly four years later, which is rather unusual for a retro product from an established company like Hyperkin.  Unfortunately, a not insignificant portion of those sales were due to the use of RetroArch emulators.  On September 19, 2014, RetroArch published an article demonstrating that the RetroN 5 used the code from four open-source RetroArch emulators without permission, attribution to the original authors or publication of the code with their modifications to it: https://www.libretro.com/index.php/retroarch-license-violations/  It also used code from RetroArch's frontend.  This was not immediately obvious, the code detectives pointed to similarities between Hyperkin's disassembled code and the open source code from the RetroArch software to prove its case.

Hyperkin quickly admitted using these emulators and published some source code and made attributions : http://retron5.in/node/9  I do not know if these attributions ever made it to the box and manual, and the attribution page is not the easiest to find.  The latest dates in the source code archive is December 1, 2014, which corresponds to the RetroN 5 firmware update released on that day.  but there were additional improvements to the RetroN 5 firmware in June and July of 2016 and February of 2017.

II.  The Licensing Issues Today

This token gesture did not end the controversy, as demonstrated by the followup RetroArch article : https://www.libretro.com/index.php/hyperkins-retron5-continuing-licensing-problems/  The most important issues were that the Genesis and SNES emulators used in the RetroN 5, Genesis Plus GX and SNES9x Next were distributed with non-commercial licenses.  By comparison, two of the other emulators used in the RetroN 5, FCEUmm and VBA Next are licensed under the GPLv2 license.  Additionally, the RetroN 5's API is not GPL-compatible while the GPL requires that "combined work" is also GPLed.

Here is SNES9x's license :

Snes9x is freeware for PERSONAL USE only. Commercial users should seek permission of the copyright holders first. Commercial use includes, but is not limited to, charging money for Snes9x or software derived from Snes9x, including Snes9x or derivatives in commercial game bundles, and/or using Snes9x as a promotion for your commercial product.

And here is Genesis Plus GX license :

Redistribution and use of this code or any derivative works are permitted
provided that the following conditions are met:

* Redistributions may not be sold, nor may they be used in a commercial
product or activity.

By contrast, here is what the GPLv2 says about charging money for software :

1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

Even under the GPLv2, the republisher must give proper attribution for the code used and publish its modifications to the code.

After the second RetroArch article, things really haven't improved much for open source authors.  A similar device to the RetroN 5, the CyberGadget RetroFreak console, was found to have been using the SNES9x Next (now SNEX9x 2010) code : https://www.libretro.com/index.php/cybergadgets-retrofreak-proven-to-use-snes9x-next2010-code-non-commercial-code-being-sold/  Another well-known retro video game product developer, retro-bit, included unknown RetroArch emulators (and therefore the licensing is unknown) in its Super Retro Cade : https://www.libretro.com/index.php/appeal-to-game-journalists-about-retro-bit-and-about-the-new-retro-emulation-industry-in-general/  

The sublime bsnes (now higan) emulator had its code put to use in a Steam release of Yorke and Imp by Piko Interactive, a game that was in development but never released for the SNES.  That code was licensed under the GPLv3, which has strong language in it to prevent TIVO-ization.  TIVO-ization is using open source code within a locked-down, proprietary product.  A programmer looking at this open source code is blocked from making changes to it because it will then not run on the original hardware due to the digital signature having been changed.  Steam is a digital distribution service which comes with digital rights management which essentially turns compiled open source code into a locked down product.  If you tried to modify the Steam version of Yorke and Imp it may no longer run because it would fail Steam's verification process.  Refer to the previous link to experience the chutzpah of Piko's response to being called out for his license-violating use of bsnes.

By contrast, the Super Nt released by Analogue does use open source code for the SuperCIC functionality, which is required to play certain SNES cartridges.  The device's menu has the link to the page where the original code and the modifications to that code can be downloaded.  That page also provides a link, and therefore attribution, to the original coder's page.  No obvious open source software violations appear in this instance.

III.  Legal Protection for "Copyleft" Code

It is too easy to think that because you are allowed to use software and code the programmer made freely available (copyleft) that you can use it however you like, including incorporating that code into a product which costs money to procure.  Essentially, the abuser mistakes "free software" and "free code" for "freeware" or being placed in the public domain.  It is well recognized now that once software and code is within the public domain, anyone can do whatever she or he wants with that material.  Dastar Corp. v. Twentieth Century Fox Film Corp., 539 U.S. 23 (2003).

But the copyright law, at least as it exists in the United States, is not without teeth when it comes to protecting the rights of authors.  The SNES9x and Genesis Plus GX licenses are explicit about preventing commercial exploitation of their work.  By putting the code of these emulators within its RetroN 5 product, Hyperkin has explicitly violated the licensing agreement.  They could have arranged a license for these emulators by contacting them and negotiating a licensing fee.  Damages for a breach of contract in this case can be calculated in a reasonable fashion.  Experts can argue what percentage of the RetroN 5's sales and profits were attributable to the inclusion of these emulators.

For programmers who designated the GPL licenses for their code, breach of contract damages would not serve as an effective remedy for a code usage violation.  The infringer would have not paid for the software use whether they were in compliance with the licensing terms or not.  The infringer may only have to pay a nominal amount of damages ($1.00) under this theory.  The programmer may seem to be without a remedy that is likely to be sufficiently attractive to pursue.

But if we consider statutory remedies for copyright infringement, there may be avenues of relief available to GPL-code authors.  While copyright law exists primarily to encourage the creation of new works by protecting the authors' ability to market that work, there are protections available to authors who choose not to market their work.  CfPlanetary Motion, Inc. v. Techsplosion, Inc., 261 F.3d 1188, 1199-200 (11th Cir. 2001) (development of open source software requiring the submission of user improvements and improving programmer's recognition within his profession qualifies as competitive activity for trademark purposes even if there is no immediate profit-motive in the work).
There are specific statutory terms for protection of unpublished works.  Circular 15A, Copyright Office.  The right to exclusive publication also includes the right to prevent others from publishing, even if the author is not currently publishing the work.  An author of a work has the right to have her or his work recognized and to prevent distortions, mutilation or modifications of the work which do not constitute fair use.  17 U.S.C. § 106A.

The Copyright Act of 1976 provides five major remedies against an infringing work in addition to any common-law or equitable remedies a copyright holder may have.  The first is an injunction against further infringement.  17 U.S.C. § 502.  Injunctions can be sought when a lawsuit is filed on a temporary basis and, if infringement is established, as a permanent ban on publication.  The second remedy allows for the impounding or disposition of infringing articles.  17 U.S.C.S. § 503.  This remedy applies to already-existing products and is rather far-reaching, it can extend to molds and masters used to make the infringing articles as well as the articles themselves.  Both remedies, even if granted on a temporary basis, can be a powerful form of economic leverage to force an infringer to come to terms and settle.  One case, Progress Software Corp. v. Mysql Ab, 195 F. Supp. 2d 328, 329 (D. Mass. 2002), suggested that an injunction can be used to require publication of modifications to open source code whose license has a "give back" clause.

While the above tools are useful to stop infringement, most programmers are not lawyers and many cannot afford to pay an attorney who specializes in copyright law at the market rate.  Bring a case in a federal court can be very difficult without a lawyer, and unless you can persuade a non-profit entity like the Electronic Frontier Foundation to take up your case, you might be left with remedies you have not the wherewithal to pursue.  Injunctions and seizures have requirements which require a court to balance the equities between the author and the infringer, so they are not guaranteed even if you establish infringement.

Fortunately the Copyright Act does provide financial incentives to enforcing copyright.  The first is requiring the infringer to disgorge profits from the sale of the infringing articles.  17 U.S.C. § 504.  A large work containing an unauthorized reproduction of another's work within it can still subject the infringer to damages attributable to the inclusion.  See Bergt v. McDougal Littell, 661 F. Supp. 2d 916, 926-29 (N.D. Ill. 2009) (textbook author and publisher liable to painter whose copyrighted painting was reproduced on one page of textbook containing over 1200 pages).

Where actual damages may be difficult to prove, the copyright holder may elect to seek statutory damages.  Statutory damages can be from anywhere from $750 to $30,000, but the court may increase them to $150,000 for instances of willful infringement.  Against a successful company like Hyperkin or retro-bit, it is possible to persuade an attorney to take an infringement case on a contingent fee basis.  However, if that is not enough, 17 U.S.C.S. § 505 provides for costs and reasonable attorney's fees to a prevailing party.  Most Federal Circuits allow for the recovery of full expert witness fees as part of the costs of litigation in copyright infringement cases.  Capitol Records, Inc. v. Foster, 2007 U.S. Dist. LEXIS 97253, at *22 (W.D. Okla. July 16, 2007).  However, no award of statutory damages or attorney's fees can be made, with certain exceptions, unless the work is registered with the U.S. Copyright Office within three months of its first publication.  17 U.S.C. § 412.

When discussing the availability of attorney's fees and statutory damages, the Copyright Act requires "willful" infringement for the latter.  Attorney's fees are unlikely to be awarded without willful infringement or bad faith.  Historical Research v. Cabral, 80 F.3d 377, 379 & n.1 (9th Cir. 1996); Caffey v. Cook, 409 F. Supp. 2d 484, 509-10 (S.D.N.Y. 2006).    "Willful", within the copyright infringment context, requires that the plaintiff must show (1) that the defendant was actually aware of the infringing activity, or (2) that the defendant's actions were the result of reckless disregard for, or willful blindness to, the copyright holder's rights." Island Software & Computer Serv., Inc. v. Microsoft Corp., 413 F.3d 257, 263 (2d Cir. 2005) (internal citations omitted)  "This knowledge may be 'actual or constructive.'. . . In other words, it need not be proven directly but may be inferred from the defendant's conduct."  N.A.S. Imp., Corp. v. Chenson Enters., 968 F.2d 250, 252 (2d Cir. 1992).  "Innocent" infringement will not subject an infringer to enhanced statutory damages and an infringer who acts in good faith and in an objectively reasonable belief that is conduct is not infringing will also not be held liable for enhanced damages even if the infringer has been warned in advance by the copyright holder.  4 Nimmer on Copyright § 14.04 (2018).

Jacobsen v. Katzer, 535 F.3d 1373 (Fed. Cir. 2008) is among the few U.S. cases I have found that deals with the remedies applicable to violations of an open source license.  The infringer argued that as a non-exclusive licensee of this open source code, it could only be sued for contract claims, not copyright claims.  Given the discussion of contract claims above, this would eliminate damages for the abuse of free software.  The Katzer court didn't buy that argument because the infringer can be sued for infringement when it acts outside the scope of the license.   Where the license provides for conditions rather than contractual covenants, the copyright holder can sue for copyright infringement when the conditions are breached. Katzer held that the open source license did establish conditions by use of the words "conditions" and "provided that".  Katzer concluded that the copyright holder could pursue an injunction preventing further distribution of software including its GPL-code, provided the requirements for an injunction : "(1) a likelihood of success on the merits and either a presumption of irreparable harm or a demonstration of irreparable harm; or (2) a fair chance of success on the merits and a clear disparity in the relative hardships and tipping in his favor."

In the licenses identified in the previous section, it is clear by their language that each establishes conditions to their use.  The GPLv2 license includes the word "conditions" fourteen times and the words "provide that" three times. But see MedioStream, Inc. v. Microsoft Corp., 749 F. Supp. 2d 507, 519 (E.D. Tex. 2010) (plaintiff may allege violation of GPL as a contract claim).  The Genesis Plus GX also uses that language and a reasonable reading of the SNES9x license clearly implies the condition that the use of the software is free only for non-commercial use.  See Artifex Software v. Hancom, Inc., No. 16-cv-06982-JSC, 2017 U.S. Dist. LEXIS 62815, at *6-8 (N.D. Cal. Apr. 25, 2017) (upholding requirement that user accept GPL limitations or obtain commercial license).

IV. Temporary Copies and Changing Technologies

As I explained above, the RetroN 5 fully copies the ROM chips off the cartridge into RAM.  A vintage game console does not typically operate in this way.  In a console like the NES or SNES, there is only a limited amount of RAM inside the system available to the programmer.  A programmer may copy an often used piece of code or data into RAM, but there is not enough RAM to copy the whole game to at once.  ROM is a type of memory and is typically as fast as RAM, so most of it does not need to be copied into RAM.  Some devices, like the atgames Atari Flashback consoles, do copy games contained on slow flash memory to faster RAM and then emulate the games, but the licenses atgames acquires for those games expressly or impliedly allow this form of operation.

It has been recognized for over twenty years that copying a program into RAM, even though RAM is not a permanent form of storage, is sufficient to constitute copying for purposes of copyright infringement.   Advanced Comput. Servs. of Mich. v. MAI Sys. Corp., 845 F. Supp. 356, 363-64 (E.D. Va. 1994).  Licenses to use a computer program like a game cartridge only allow it to be used on one console at a time.  MAI Sys. Corp. v. Peak Comput., Inc., 991 F.2d 511, 519 (9th Cir. 1993).

There is an important distinction between a "copyright owner" and the "owner of a copyrighted work".  A copyright owner has the right to make copies of the work, while the owner of a copyrighted work has the right to use the work as fixed in a tangible medium.  Even though I own a copy of the Super Mario RPG cartridge and can play it or loan it or sell it, Nintendo is the copyright holder and only it can make copies of the game, run it in an emulator or license someone else to do those things.

17 U.S.C. § 117 provides that an owner of a computer program may make a copy of a program provided that : 

(1)  that such a new copy or adaptation is created as an essential step in the utilization of the computer program in conjunction with a machine and that it is used in no other manner, or
(2)  that such new copy or adaptation is for archival purposes only and that all archival copies are destroyed in the event that continued possession of the computer program should cease to be rightful.

My hypothetical use of the Super Mario RPG ROM, dumped thanks to the Super Nt's jailbroken firmware, in an emulator does not meet either § 117 test.  Making the copy is not an "essential step" in getting the cartridge to run and my copy means I can run the cartridge and the ROM at the same time.  Nor is it an archival copy in the sense that I dumped it so I could run it  on the SNES9x emulator more conveniently that using dedicated hardware.  My game works just fine now.  But if the cartridge fails to work at some point in the future, that archival copy could be deemed to be a non-infringing copy so long as I own the now-dead cartridge.

Similarly, it is debatable that the method the RetroN 5 uses to run a video game is an "essential step" in the running of that game given how games were intended to run.  Moreover, the ROM copy is not being made for archival purposes but for running the program when a perfectly good cartridge is in the system (and it must be good otherwise the game won't load).  

While under the traditional "temporary copy" doctrine, the use of the RetroN 5 would be infringing, a more modern interpretation of § 117(1) may save the RetroN 5's operation.  Krause v. Titleserv, Inc., 402 F.3d 119, 127 (2d Cir. 2005) held that an owner of a computer program could modify a computer program to allow for continued use on more powerful computer systems and operating systems, to fix bugs or other programming errors, and to add capabilities to the software as essential steps in using the software.  Looking to dictionary definitions, canons of statutory construction and legislative history, the Titleserv court rejected a strict interpretation of the phrase "essential step in the utilization of the computer program".  It viewed the phrase as encompassing many alterations that would allow for a computer program's continued use and utility so long as those changes were not so radical as to fundamentally alter the nature of the program or infringed on the copyright holder's ability to exploit his copyrighted work.  It similarly adopted a liberal interpretation of the phrase "used in no other manner" as prohibiting unanticipated or novel uses of the software, not uses which may not have been in existence at the time but effected greater versatility given the pre-existing uses.

Under Titleserv, the RetroN 5 would likely fare favorably against a hypothetical suit from a copyright holder of cartridge games like Nintendo or Konami or Square-Enix.  The copying of the whole program into RAM is an essential step in allowing the RetroN 5 to run the game, even if it traditionally differs from the method used at the time the game was being sold.  That the RetroN 5 indisputably improves the performance of the software by allowing 240p games to be played in 720p with superior picture and audio quality does not go beyond the essential step reasoning of Titleserv.  The "RAM" copy generated by the RetroN 5 is deleted when the RetroN 5 is turned off or a new game is selected.  While the cartridge is inserted into the RetroN 5, it cannot be used in another system. In cases like the MAI cases, one copy of the software could be loaded on multiple computers at a time.  In other words, the cartridge is being used in no other manner than the copyright holder intended the cartridge to be used.

Within a year of the RetroN 5's release Assemblergames forum member "retronlabo" developed a hack that allowed you to dump the games you insert to the RetroN 5's SD card.  However, Hyperkin did not intend to release an infringing product and even if it can be used as a copier or dumper and that product constitutes an infringing device under the DMCA, it does have a substantial, non-infringing use in playing games using real cartridges with modern displays.  17 U.S.C. § 1201(b)(1)(A)-(B).  Nor is Hyperkin required to implement any rigorous security measures to prevent its device from being used as a piracy tool, even though it acknowledged the possibility that it could hacked.  Given the device runs on Android, securing the device would be difficult in any event.

V.  Conclusion

It appears to be a reliable statement to say that U.S. copyright law does protect Open Source software.  There are sufficient statutory remedies to satisfy the needs of the Open Source community and to have the potential to compensate counsel for pursuing cases on behalf of programmers with limited funds.  However, in many cases where one programmer is violating an open source license of another programmer, there is insufficient financial incentive to go after that person.  Moreover, attorneys fees can be awarded to either prevailing party in a copyright infringement case, so counsel and client need to be very careful to bring meritorious cases and not to expect attorney's fees to be awarded for cases where liability is not clear.  

2 comments:

Jonathan said...


There is a famous copyright case in Canada where a book publisher substantially reprinted a PhD thesis without the author's permission. In lieu of monetary damages -- the publisher was effectively bankrupt -- the Plaintiff, a University Professor, was awarded all of the unsold copies of the infringing book! Presumably, he ultimately had to pay to dispose of them.

As you correctly noted, copyright lawsuits only very rarely go forward because the costs of the action far outweigh the potential damage award.

Klimax said...

Correction:
Steam verifies files only on download, when user requests it or on update. Otherwise it would be impossible to use some of translated Japanese games. (Some do require modified binary itself like Exceed)
As long as binary doesn't request or do its own verification, there should be no problem.