Is it legal to rewrite a Java (OpenJDK) library into another programming language under GPL? Is it legal for me to re-implement a Java library in another programming language under the GNU General Public License (GPL) version 2 (text)? I would mimic their exact API (package, class, and method names) except replacing the trademarked word “java”. The source code taken from the OpenJDK project for Java SE 8 would be used as a guide to write the equivalent as closely as possible line-by-line in the other language. All of this would be made publicly available easily on a source-code sharing site such as BitBucket.com or GitHub.com. These files would include the necessary prominent notices and licenses statements as required by the GPL. As an example, the source code from java.util.HashMap. The Gnu.org FAQ, What does the GPL say about translating some code to a different programming language? says that translation to another programming language is treated like other modifications, acceptable if all terms of GPL are met. I would have thought the GPL’s very purpose is to allow such freedom. My confusion stems from the Oracle versus Google appeal ruling of 2014-05-09 by the United States Court of Appeals for the Federal Court. That ruling upholds copyrightability of an API, which I can understand. What I do not understand is why that copyrightability issue is relevant given the source code is available under the GPL. I suppose their are two core parts to my question: Is the GPL rendered impotent if the original publishers decides to pursue a claim of copyright violation against anyone forking or imitating their GPL-licensed work? How can Oracle claim damages from infringing copyright on code published under the GPL? Is there any other restriction beyond the terms of the GPL that would bar me from producing an open-source rewrite/translation of a Java (OpenJDK) library in another programming language?
The GPL that covers the OpenJDK certainly allows you to write and distribute your own Java implementation. On that point, your reading is absolutely correct. However, if that implementation is a derivative work of the OpenJDK, then the GPL requires you to make your derivative implementation available under the GPL as well, per the GPL's copyleft rules. If you follow the rules of the GPL, you can do exactly what you propose. Note that the Supreme Court ruling in Oracle v. Google found that using only API structure and names, without copying any underlying implementation, constitutes fair use, and therefore doesn't require copyright permission. If you hold your implementation to that standard and use/look at only interfaces while authoring your new implementation, then your new work is broadly allowed under copyright law, so you do not need to rely on the GPL's permissions (and therefore neither do you need to follow its requirements). Google didn't want to have to abide by the terms of the GPL, probably because due to concerns that the any GPL terms that applied to their Java implementation might also apply to other components of their system, which they wished to keep closed-source. In other words, if Google had claimed their acquired their right to use the APIs under the GPL, then they would have been required to put potentially the entire operating system under the GPL, which they had not done nor wished to do. For this case, the GPL has been largely ignored because Google has not followed the requirements of GPL in licensing their Java implementation (and operating system that uses it), so there's no point in Google trying to claim that their right to use the API came from the GPL. Furthermore, Google claimed that they didn't use any of Oracle's copyrighted material, so it's not possible for them to say their use of Oracle's material was licensed under the GPL, as they claim there was no use whatsoever, licensed or otherwise. This is explained at length on fosspatents.com's article &quot;Q&amp;A on the Dec. 4 Oracle v. Google Android-Java copyright hearing before the Federal Circuit&quot;: 2. Q: Does this litigation involve Google's rights to use certain Java code under an open source license? A: No. Google could have incorporated Java into Android on open source terms, but chose to eschew the GNU General Public License (GPL) because of its &quot;copyleft&quot; feature. [...] If Google had ever claimed in this litigation that Android's incorporation of Java was authorized under the GPL, this would have been inconsistent with its claim that it didn't use any copyrightable material (you can only license something, on whatever terms, if it's protected) and, far more importantly, a blatant violation of Rule 11 (truthful pleading standard) resulting in sanctions for Google and its counsel. The GPL affords you four freedoms: it allows you to use software without paying for it (freedom 0), to modify its source code as you please (freedom 1), to redistribute copies (freedom 2), and to distribute your modified versions to others (freedom 3). But once you exercise freedom 3, you're subjected to the copyleft rule: you must make your modified version available under the GPL. As a result, Google would have had to publish Android under the GPL. But it did not. [...] [...]Google seeks to exercise as much control over Android as possible. If Android had to be released under the GPL (and only under the GPL, or at least a compatible copyleft license), Google would have a hard time keeping a growing number of core Android components like its Mail and Map clients or even the new on-screen keyboard (again, more about that in the next section) closed -- and Google's hardware partners would have to release their proprietary enhancements such as Samsung's Touchwiz and HTC Sense under the GPL, which would run counter to their objective of differentiation because their competitors could then use the same code.
Is it illegal to ask a company for money in exchange for information on a bug in their software/website? That in itself is legal. Indeed, the company would incur unjust enrichment if it coerced you to disclose your discovery for free. Only if you threatened the company to divulge to others your discovery unless the company pays you, it would be illegal and trigger charges such as extortion (likewise, legislations outlaw the unjustified delivery of programs or instructions for hacking a software/network/etc., although this goes beyond your actual question). Can the company take legal action against me? That seems doubtful, futile, and it could backfire (please note I have not done any research on legal precedents about this). Although the terms and conditions of the website or the End User License Agreement (EULA) of software might prohibit you to reverse engineer (RE)/decompile/etc. the application, anti-RE clauses are unenforceable and the remedies therefor are indeterminate because the sole act of conducting reverse engineering does not subject the company (or third parties) to any losses. The company's decision to take legal action for your discovery could backfire from two standpoints. First, it calls attention to the fact that the software at issue is defective and unsafe. And second, the bug is likely to be detected by someone else anyway, thereby potentially compromising customers' systems.
It's possible that CAD has a separate licence from the authors of ABC that allows them to produce a closed source copy. If not, they have no right to distribute CAD. However two wrongs don't make a right, and so you don't get to violate the copyright of CAD.* Unfortunately, unless you are one of the authors of ABC, you have no standing to sue the authors of CAD. You can only notify the authors of ABC and hope they do. If the authors of ABC don't have the resources to pursue the matter, you may be out of luck. That's one of the reasons the FSF gets copyright assignments for their projects. * It turns out that this is a much more debateable issue than I first thought. Some courts have held that an unauthorized derivative work is not copyrightable.
That “shall be used for Good, not Evil” clause is a moral category, not a legal category. From a legal perspective, it is likely meaningless and/or unenforceable. Neither Debian nor users of that software should expect any legal risk for using or distributing the software. However, software under that license will never make it into Debian because it violates the Debian Free Software Guidelines. The DFSG is not a contract in the legal sense, but it forms part of the Debian social contract with its users. It is not in the interest of the Debian project to include software unless the software is free to use for any purpose. While the JSON license's usage restriction is likely meaningless in practice, it clearly tries do do exactly what the DFSG wants to prevent. In the Open Source community, there is a broad consensus against the JSON license. The DFSG, slightly edited, was adopted as the Open Source Definition. Consequently, the JSON license also fails to be an Open Source license. The Free Software Foundation also looked at the license, and concluded: “This is a restriction on usage and thus conflicts with freedom 0. The restriction might be unenforcible, but we cannot presume that. Thus, the license is nonfree.”
This can't be right. If I modify open source code as part of the work done, by nature of the open source license that code can not become intellectual property of the client. Certainly it can. That which is "developed or produced" would be the modifications to the pre-existing code, i.e the copyright on the derivative work so created. If the base code was under a share-alike or copy-left license, then the client can only distribute it under the same license (or a compatible one, perhaps). But nothing compels the client to distribute it, and for the client's use, the client owns the copyright, without fear of any future claims by the contractor. If I have my own code/scripts/settings/templates/etc that I use as a contractor, and I modify those in the interest of coding efficiency in the interest of serving the client, it hardly seems correct that these assets become property of the Client. Those are your work, and you can choose whether to sell the copyrights to the client or not. Again, only the work done for that client would be covered under the wording quoted above, unless there is another provision that grants the client a license to use the pre-existing work which you modified for the job, which there probably ought to be. Or I suppose the agreement could assign copyrights in pre-existing work to the client, but that seems an odd choice, and the language in the question would not do that. You and the client could agree on a different provision such as: The contractor grants to the client a fully-paid, non-exclusive permanent license to use all intellectual property developed under this agreement, and any pre-existing works that may be incorporated therein. The contractor warrants that s/he is entitled to grant such license, without infringing on the intellectual property of any other person or entity. That wording would have the contractor retain all copyrights and other IP, but provide a license to the client to use it without further payment or expiration. Many other ways to structure such a provision are possible, dividing the rights up however the contractor and client can agree. The price for the work might vary depending on what rights the client obtains. Both forms, and many others, are perfectly legal, it is just a question of what the contractor chooses to sell, and what th4e client chooses to buy.
Interesting that they don't give a source and also don't link to anywhere (such as Wikimedia commons). So I assume that content is google's own. So generally speaking: No, when no license is provided, that means you can't use whatever it is in a project of yours (whether commercially or not), because the &quot;default&quot;, when nothing is specified, is that no license is given. So unless you find a license that grants you a permission on google's own content, these sounds can't be used freely.
In general, unless the license contains a clause which allows it to be modified at a later date through some defined means (publication, revocation of existing license etc) then you are free to continue to use the existing version of the software under the original license terms. So make sure you pin your versions! Look out for clauses such as exists in the GPL which allow the recipient of the distributed binary or code to choose what version of the GPL to apply if the original author does not state (GPLv2 Clause 9) as they then allow recipients to bind you, the distributor, to versions you might not agree with (eg the switch to GPLv3 with its patents clauses).
The first question is whose law you are concerned with, since in principle you might have violated copyright law in any country, and might be sued under the laws of multiple countries. The US has a concept of "fair use" which is notoriously difficult to apply. When you are sued in the US, you can defend against the allegation by arguing certain things: telegraphically, this includes purpose and character of use, nature of the work, substantiality in relation to the whole, and effect on market. Plus there is a 5th factor to be considered, transformativeness. The court then weighs these factors to decide if the use is "fair". By reading existing case law on the topic (conveniently available from the US Copyright office) you might develop a fact-based opinion of the risk: you would be vastly better off hiring an attorney who specializes in US copyright law to do an analysis for you. Do not hire a programmer to give you legal advice (do not hire an attorney to debug code). You would "fail" on the test of substantiality in that you are copying a highly substantial portion of the original work(s). You would "win" on nature of use (research especially non-profit and commentary are the underlying purposes that drive fair use law). It's not clear how you would fare w.r.t. nature of the work, which is intended to distinguish the extremes "news report" and "literature and artistic work" where copying news is at the fair use end of the spectrum. It is not clear how you would fare on "effect on market", but probably not so badly: are you avoiding some licensing fee? Coupled with the tranformativeness consideration, you are most likely having no effect on the market, since the product that you will distribute is not the original work, but a scientific conclusion about the work. Germany has different laws, and this article would be relevant if you cared about Germany. There was a change in the law that expanded the analog of fair use pertaining to research use. That law allows 15 percent of a work to be reproduced, distributed and made available to the public for the purpose of non-commercial scientific research. That, b.t.w., does not refer to what you are planning to do (unless you also publish quotes); for personal scientific research you may reproduce up to 75 percent. Since this is a new law only a year old, you could become part of the cutting edge in testing the limits of the law. So the standard disclaimer applies: ask your attorney. But note section 60d of the law which legalized data mining, and is squarely on point: (1) In order to enable the automatic analysis of large numbers of works (source material) for scientific research, it shall be permissible to reproduce the source material, including automatically and systematically, in order to create, particularly by means of normalisation, structuring and categorisation, a corpus which can be analysed and to make the corpus available to the public for a specifically limited circle of persons for their joint scientific research, as well as to individual third persons for the purpose of monitoring the quality of scientific research. In such cases, the user may only pursue non-commercial purposes. (2) If database works are used pursuant to subsection (1), this shall constitute customary use in accordance with section 55a, first sentence. If insubstantial parts of databases are used pursuant to subsection (1), this shall be deemed consistent with the normal utilisation of the database and with the legitimate interests of the producer of the database within the meaning of section 87b (1), second sentence, and section 87e. (3) Once the research work has been completed, the corpus and the reproductions of the source material shall be deleted; they may no longer be made available to the public. It shall, however, be permissible to transmit the corpus and the reproductions of the source material to the institutions referred to in sections 60e and 60f for the purpose of long-term storage.