Copying Another Computer Program&#39;s Design I'm coming over from Stack Overflow because I cannot find any answers to my questions there, so I'm asking here. I've created a computer program that looks similar to Steam's (www.store.steampowered.com) This is what Steam's Client looks like: Here's what mine looks like: I could not find any patents on their design (Maybe I missed some). I don't know if this would cause any troubles with them considering I made mine completely from scratch using completely different styling and images (even different website inside the client that is mine). No reverse engineering was done either. The only thing I'm afraid about is copying their menus word-for-word. I wanted to do this to give customers a similar feel to what they are used to (I've seen many programs do this; however, Valve is a huge company. Is what I'm doing illegal if I sell / release a product like this?
I realize it has been eight months, but I believe I can offer an opinion. Given the nature of the question, please keep in mind that I am not a lawyer and my opinion is no substitute for professional legal counsel. [Preparing this post has been an educational experience and my opinion should in no way be interpreted as expert opinion] Assuming you have not infringed on any patents, the relevant legal challenges Valve could try include breach of contract, copyright infringement, and trade dress infringement. Breach of Contract The potential breach of contract occurs because the Steam client setup application requires you to accept a contract of adhesion (The License) before the software can be installed. I could not find a copy of The License online in plain text (this is separate from the Steam Subscriber Agreement, which you also agree to by accepting The License), but you can read it any time by running the Steam client setup application which is available at [redacted due to low rep - the Steam website]. These so-called "shrink wrap licenses" are of questionable legal value, depending on how the licensee assents to the contract. People often bring up Specht v. Netscape Communications Corp. In that case, the only reference to a license was on the download webpage, and it was only visible if the user scrolled down past the download button - Netscape argued unsuccessfully that clicking the download button indicated assent to the terms of the license. The Steam client setup application has a prominent dialogue box showing the terms of The License and requiring your explicit assent before installation can continue. A more relevant case may be ProCD, Inc. v. Zeidenberg, where the Seventh Circuit ruled that a license agreement was valid where the licensee had to click on a dialogue box assenting acceptance to the agreement. In short, you may be required to defend yourself under the terms of The License. If the licenses are thrown out as unenforceable, the prosecution would probably move towards copyright infringement. Section 1 Paragraph C of The License states (emphasis added): Except as expressly set forth elsewhere in this License Agreement, you may not, in whole or in part: copy, photocopy, reproduce, translate, reverse engineer (with the exception of specific circumstances where such act is permitted by law), derive source code from, modify, disassemble, decompile, or create derivative works based on the Program. Now you assert that there has been no reverse engineering, that you made yours "completely from scratch using completely different styling and images (even different website inside the client that is mine)". You may be challenged on these claims in court, for example comparison of source codes could rule out reverse engineering. I will touch on derivative work status later. Note that under Section 5, the provisions of Section 1 Paragraph C do not apply after you have uninstalled the Steam client software. This means in the case that you [can prove you had] uninstalled the Steam client software before making your own client, you would have a defense to breach of contract under Section 1 Paragraph C. However... The License also includes the terms of the "Steam Agreement", viewable online at http://www.steampowered.com/agreement. The Steam Agreement takes effect when you register for your Steam account. Section 2 Paragraph G of the Steam Agreement echoes the above referenced Section 1 Paragraph C of The License, and even survives termination of the Steam Agreement (your steam account being cancelled). Now assuming you can provide defense against reverse engineering, you may need a defense against the charge that your work is a derivative work. Your case may be pretty strong if you can show that your client was indeed written from the ground up - which rules out the possibility of deriving your program code from Steam's code as literary copyrights go. The prosecution could try saying you have copied the audiovisuals of their program, but your program was written "from scratch using completely different styling and images". Eventually prosecution may have to move into trade dress infringement. Copyright Infringement In a case of alleged copyright infringement, the first order of business is to prove there is a copyrighted work to begin with. The work in question is the Steam client by Valve Corporation. Again, I am not an expert but I could not find any copyright registration for the Steam client (http://www.copyright.gov/records/ -> Post-1978 Records -> Search by Name "Valve Corporation"). Copyright registration is required before infringement suits can be filed. Valve can register after infringement occurs but they will be limited to actual damages and profits. Nevertheless Valve does claim copyright over its product. A notice is posted on The License and Steam Agreement, and from the client itself the Help menu contains a command "Legal Info" which opens a webpage containing a copyright notice. Since 1979 it has not been necessary to post a copyright notice, but a notice helps break a defense of innocent infringement. You imply that you copied elements of the Steam client "to give customers a similar feel to what they are used to [the Steam client]". In your specific case innocent infringement may not be a valid defense. It seems you are most concerned about copyright infringement over the menus. An extremely relevant case is Lotus Development Corp. v. Borland International, Inc. In that case the First Circuit held that the menu heirarchy for Lotus 1-2-3 (the progenitor of virtually all menu heirarchies today) was uncopyrightable as a "method of operation" under U.S.C. 17 Section 102(b). We think that "method of operation," as that term is used in [U.S.C. 17 Section] 102(b), refers to the means by which a person operates something, whether it be a car, a food processor, or a computer. Thus a text describing how to operate something would not extend copyright protection to the method of operation itself; other people would be free to employ that method and to describe it in their own words. Similarly, if a new method of operation is used rather than described, other people would still be free to employ or describe that method. We hold that the Lotus menu command hierarchy is an uncopyrightable "method of operation." The Lotus menu command hierarchy provides the means by which users control and operate Lotus 1-2-3. If users wish to copy material, for example, they use the "Copy" command. If users wish to print material, they use the "Print" command. Users must use the command terms to tell the computer what to do. Without the menu command hierarchy, users would not be able to access and control, or indeed make use of, Lotus 1-2-3's functional capabilities. If specific words are essential to operating something, then they are part of a "method of operation" and, as such, are unprotectable. This is so whether they must be highlighted, typed in, or even spoken, as computer programs no doubt will soon be controlled by spoken words. The Supreme Court affirmed the decision with an even court (Judge Stevens recusing), so no national precedent was set. Nevertheless the ruling has not been overturned - the First Circuit goes into great detail explaining their decision, and I do recommend reading the ruling. We have already discussed derivative works and reverse engineering with contracts, and the same defense would apply under copyright law: source code comparison. Trade Dress Normally things like design and layout are left to patent law. A desperate prosecution, however, may claim that by copying their "look and feel" you infringe on their trade dress. The relevant text is part of U.S.C. 15 Section 1125(a) (emphasis added): (1) Any person who, on or in connection with any goods or services, or any container for goods, uses in commerce any word, term, name, symbol, or device, or any combination thereof, or any false designation of origin, false or misleading description of fact, or false or misleading representation of fact, which- (A) is likely to cause confusion, or to cause mistake, or to deceive as to the affiliation, connection, or association of such person with another person, or as to the origin, sponsorship, or approval of his or her goods, services, or commercial activities by another person, or (B) in commercial advertising or promotion, misrepresents the nature, characteristics, qualities, or geographic origin of his or her or another person's goods, services, or commercial activities, shall be liable in a civil action by any person who believes that he or she is or is likely to be damaged by such act. (2) As used in this subsection, the term "any person" includes any State, instrumentality of a State or employee of a State or instrumentality of a State acting in his or her official capacity. Any State, and any such instrumentality, officer, or employee, shall be subject to the provisions of this chapter in the same manner and to the same extent as any nongovernmental entity. (3) In a civil action for trade dress infringement under this chapter for trade dress not registered on the principal register, the person who asserts trade dress protection has the burden of proving that the matter sought to be protected is not functional. Defense against such a claim would be showing that the elements of Steam's "look and feel" were adapted because of functional reasons - see example rationale in the previously mentioned Lotus v. Borland. Overall, so long as you did write the program from scratch and there are no patent violations, you have in my opinion a strong case. There may be moral questions about unfair competition (why should you be allowed to capitalize off Valve's work put into the Steam client?), to which I would point out that your product does not appear to be in direct competition with the Steam client. Without direct competition or confidence in evidence of IP infringement it is quite unlikely Valve will file suit against you. If you would rather avoid even the possibility of legal action, you could always contact Valve directly and ask for a license.
Affirmative authority that this particular use (incorporation of the format of another program's textual data files into your own program) is protected is somewhat elusive in the US system; however there's a lot of observable evidence that reverse engineering data file formats without a license is widespread. My sense is that this would be analyzed under the same rubric as other kinds of reverse engineering and/or fair use. I'm sure there are others here who are better able to clearly and concisely explain that law than I am. However there may be limits — it seems Microsoft was able to prevent VirtualDub's use of the ASF format by patenting it. That said, it's hard to see how an unencrypted, unencoded ASCII data file file could be patentable (i.e. where the ASCII strings are the data, generated in response to user input, and the format is just their order and separators, etc). For the European arena, there is recent authority in SAS Institute Inc v World Programming Limited that the format of a program's data files are not protected by copyright when reverse engineered without the source code. The following is from the digest and application of the CJEUs decision by the English court that referred it, in its subsequent judgment: The judgment of the CJEU On 29 November 2011 Advocate General Bot delivered his Opinion on the questions referred... Questions 1-5 The Court dealt with these questions together. It interpreted this court as asking "in essence, whether Article 1(2) of [the Software Directive] must be interpreted as meaning that the functionality of a computer program and the programming language and the format of data files used in a computer program in order to exploit certain of its functions constitute a form of expression of that program and may, as such, be protected by copyright in computer programs for the purposes of that directive": see [29]. Having referred to recital (14), Article 1(1) and 1(2) of the Software Directive, Article 2 of the WIPO Copyright Treaty and Articles 9(2) and 10(1) of TRIPS, the Court went on: ... 39. [...] it must be stated that, with regard to the elements of a computer program which are the subject of Questions 1–5, neither the functionality of a computer program nor the programming language and the format of data files used in a computer program in order to exploit certain of its functions constitute a form of expression of that program for the purposes of Article 1(2) of Directive 91/250. 40. As the Advocate General states in point 57 of his Opinion, to accept that the functionality of a computer program can be protected by copyright would amount to making it possible to monopolise ideas, to the detriment of technological progress and industrial development. 41. Moreover, point 3.7 of the explanatory memorandum to the Proposal for Directive 91/250 [COM(88) 816] states that the main advantage of protecting computer programs by copyright is that such protection covers only the individual expression of the work and thus leaves other authors the desired latitude to create similar or even identical programs provided that they refrain from copying. 42. With respect to the programming language and the format of data files used in a computer program to interpret and execute application programs written by users and to read and write data in a specific format of data files, these are elements of that program by means of which users exploit certain functions of that program. 43. In that context, it should be made clear that, if a third party were to procure the part of the source code or the object code relating to the programming language or to the format of data files used in a computer program, and if that party were to create, with the aid of that code, similar elements in its own computer program, that conduct would be liable to constitute partial reproduction within the meaning of Article 4(a) of Directive 91/250. 44. As is, however, apparent from the order for reference, WPL did not have access to the source code of SAS Institute's program and did not carry out any decompilation of the object code of that program. By means of observing, studying and testing the behaviour of SAS Institute's program, WPL reproduced the functionality of that program by using the same programming language and the same format of data files. 45. The Court also points out that the finding made in paragraph 39 of the present judgment cannot affect the possibility that the SAS language and the format of SAS Institute's data files might be protected, as works, by copyright under Directive 2001/29 if they are their author's own intellectual creation (see Bezpecnostní softwarová asociace, paragraphs 44 to 46). 46. Consequently, the answer to Questions 1–5 is that Article 1(2) of Directive 91/250 must be interpreted as meaning that neither the functionality of a computer program nor the programming language and the format of data files used in a computer program in order to exploit certain of its functions constitute a form of expression of that program and, as such, are not protected by copyright in computer programs for the purposes of that directive." Regarding the idea that the user has rights to access their output of a program held in a proprietary data file format there is some additional discussion in the that might be helpful in paragraphs 48 - 62 (of the CJEU opinion), discussing the right of a licensee to 'study and observe' the 'underlying' 'ideas and principles' of a program to accomplish 'acts of loading and running necessary for the use of the computer program.'
Copying is illegal, creating an identical work by coincidence isn't. If it is not a criminal case, then a court decides whether it is more likely that the identical work was created by copying or by coincidence. Creating an identical work through a random process isn't going to happen, claiming this would be an awful defense. On the other hand, it is quite possible that two software developers using very stylized code adhering to struct coding conventions can produce quite large bits of identical code. Your links titled "metadata" and "hash" don't actually link to a description of metadata, or the description of a hash, but to a description of torrent files, which is something totally different. Systematically distributing files whose only purpose is the illegal duplication of copyrighted works should not be done without consulting a lawyer, as has been said on other threads (whether posting links to copyrighted files is legal). The chances that a random process will generate a file identical to an existing copyrighted file of say over 100 bytes are virtually zero. If there is an illegal copy of a copyrighted file, and you claim that you created it through a random process and coincidence, you will lose, and deservedly so.
It's really your client that should be asking these questions. Writing the app is perfectly legal. So you can enter a contract with that client to write the app and deliver it to them, ready to be put on the Google Play store or the App Store (entering a contract needs to be done carefully, obviously). I'd make 100 million percent sure that the contract states clearly that you have zero responsibility if the app is rejected or removed for non-technical reasons, and that the legality of actually selling and running the app is also not your responsibility. The reason is that I very much suspect that running the app might be illegal, and that the chances of getting it permanently on one of the stores are rather slim. And solving those problems is outside of what a software developer can competently do.
What you are missing is that the original copyright holder can give permission to make derivative works with strings attached. There is no automatic right to derive something from a copyrighted work. Those strings could include constraints on what you create in the process of making the derivative work. Yes it is a string limiting what you can do with something you own, but you would have been warned in the license and had the choice to start from scratch. People do create work-alike software with no copyright strings using two teams and a &quot;clean room&quot; design process. It is a lot harder than modifying something another person has developed. Also, law and someone's understanding of morals need not be aligned at all. And, in patent law, just creating something all by yourself from scratch does not give you ownership. If someone else did it first and got a patent you can't make the item you might think you own. IP law is complex and looking for &quot;fundamentals&quot; may not get you anywhere.
"Pastiche" is a literary, not a legal term, and as a professional coder, I would not use it to describe code that to some extent imitated other code. The legal question here is: is your code a derivative work of the code it is based on, and if it is, did you have permission to make that work. Copyright, in an Berne Convention country, which includes the EU, does not protect ideas and concepts, it protects expression. It protects the choices of words and symbols, and other forms of expression. If all you did was study example code, presented for educational purposes, and then write code that performs a similar function, using the same general techniques, then I don't think you have infringed copyright. That, after all, is why people post code to Stack Overflow and similar sites, to allow them to learn how to use specific coding techniques, including in commercial projects. I have used techniques posted to SO to do coding as part of my paid job. The usual test for copying under US law is "substantial similarity". This takes into account cases where there is essentially only one way to say or code something. I don't know the exact tests under the various laws of various EU countries, and they will not all be the same. But I suspect that on this point they are, well, substantially similar :). I can't advise on your specific situation. But if it is as described, I don't think you have a problem.
Yes, this could become an issue Trademark infringement occurs when you use another’s trademark in a way that could cause confusion to the consumer. Is it possible that people will be confused that your company produced a game of the same name? Yes. Is that trademark infringement? Possibly. Would a company like Bethesda take you to court to find out? Possibly. Can you avoid this risk by choosing a different name? Yes. Does this cost anything? No, as a new business your ‘brand’ has zero value right now. Should you choose a new name? Well, it’s your business - make a business decision.
united-states Functionality in general is not protected by copyright, although it may in some cases be protected by a patent. As the question noted, there are many IDEs and creating another one generally similar to those is not a violation of anyone's IP rights. The &quot;look and feel&quot; of a piece of software has been held by US courts to be protected by copyright. Broderbund Software. Inc., v. Unison World, Inc., 648 F. Supp. 1127 (N.D. Cal. 1986), was a relativcly early case in which the visual display elements of a software program were held to be protected by copyright. In the decision it is said that; On the “Choose a Font” screen, no mechanical or practical factor compelled [defendant] to use those exact words (“Choose a Font”). He could have written: “Select a Font,” or “Indicate a Typeface Preference,” or “Which Type Style Do You Prefer,” or any combination of these terms. . . .The bottom line is that the designer of any program that performed the same functions as “Print Shop” had available a wide range of expression governed predominantly by artistic and not utilitarian considerations. Another relevant early case was Digital Communications Associates, Inc. v. Softklone Distributing Corp., 659 F.Supp. 449 (N.D. Ga. 1987). In this case, the Defendant &quot;oftklone intentionally set out to &quot;clone&quot; or copy the functionality and interface of the popular program Crosstalk XVI (I was a user of thwt program many years ago). The court wrote: In the instant case, however, the arrange- ment of the status screen involves consider- able stylistic creativity and authorship above and beyond the ideas embodied in the status screen. It cannot be said that the idea of the status screen, i.e., using two symbol commands to change the operations of the computer program and reflecting that fact on a screen listing the computer program’s parameters/commands with their operative values, could not have been expressed in a large variety of ways. The defendants have never contended that they could not have arranged the parameters/commands in a wide variety of patterns without hampering the operation of their program. and found copyright infringement on that basis. Section 310 of Copyrightable Authorship: What Can Be Registered by the US Copyright office, says: The U.S. Copyright Office will not consider the so-called “look and feel” of a work. Invoking a work’s “feel” is not a viable substitute for an objective analysis of the work’s fixed and creative elements. See 4 MELVILLE &amp; DAVID NIMMER, NIMMER ON Copyright § 13.03[A][1][c] (2013) (criticizing the use of “feel” as a “wholly amorphous referent” that “merely invites an abdication of analysis”). The question asks: How far can I go in copying the user interface before it becomes copyright infringement ? There is no clear bright line on this matter. The more one copies interface elements and choices from a specific source, the stronger the case for infringement is. Using elements and choices that have become common industry practice in multiple works froim multiple developers and companies is probably safe. Clearly and extensively imitating the visual appearance and interface of a single specific work of software might well be infringement. One would be wise to consult a lawyer with experience in copyright law, and specifically &quot;look and feel&quot; issues, beforign publishing such a work of software. This issue is discussed extensively in Look And Feel In Computer Software (1993) by Jack Russo &amp; Jamie Nafziger, published by Computerlaw Group LLP, which seems to be a law firm specializing in computer law. The Law of Look and Feel by Peter Lee (Professor of Law and Chancellor’s Fellow, University of California, Davis.) &amp; Madhavi Sunder (Senior Associate Dean for Academic Affairs and Martin Luther King, Jr. Professor of Law, University of California, Davis.) is a 60-page law review article dealing with this topic. There is far more detail in these publications (and many others to be found on the net) than I can summarize in an SE answer. Configurable Interfaces The question asks whether the use of a configurable interface which could, but does not by default, imitate an existing interface would be infringement. I have not been able to find any case on point, or any discussion in a reliable source of this issue. Therefore, I am going to speculate. If there is a single choice between overall &quot;themes&quot; or &quot;shells&quot; and one of them imitates the interface from a protected program without permission, that would probably be legally the same as if the program shipped with that interface. It might or might not be infringement, depending on the details, as discussed above. If there are many settings, but the program is shipped with instructions advising a combination of settings that imitate another interface (or the developer or distributor provides such advice to users), that would probably be legally the same as if the program shipped in that configuration. If the developer provides a few preset configuration files which control these interface settings, and one such file results in settings that imitate another interface, that would also probably be legally the same as if the program shipped in that configuration. If there are many settings and there is no particular guidance or advice to a user on what combination to use, nor any predefined settings file, but users must discover (if they choose) a group of settings which imitate another interface, that is probably not infringement. I repeat that this section of the answer is based on general principals, but not on specific case law, nor on specific legal scholarship, and a court faced with this issue might rule otherwise. Before implementing this as a business plan, one might be wise to consult a lawyer with IP expertise.