Can I use unsolicited code in my commercial project? I hope this is the right forum for my question. I am selling software which buyers get the full source code of. It is distributed through a 3rd party store system which does not let me know the actual identities of the customers. The other day a customer out of the blue emailed me code which is very well usable in my software, it is not per se deal-breaking if it's not in there, but it's definitely also not something I would dismiss. You could argue it is very much increasing the worth of the product. I have a question about the legality to use the code (about 2 hands full lines of code in a class of 300 lines already present in my software) I was sent by email without further comment about whether I am allowed to include it in the my software. He just said (paraphrased): "Any reason not to do it that way?" I did not ask for his code submission nor did I know the author before he emailed me. EDIT Please excuse me. I had another look at the mail just now. The subject of the mail is literally: "[Suggestion] Optimization of >pluginXYZ&lt;" This is an aspect I forgot to mention in the original question, in fact I for some reason did not even notice it consciously, my bad. I answered him to say that I like his code and would like to put his suggestions in the package (which then all existing customers receive as free update) but have not received an answer. Does somebody know the standard rules in such a situation where nothing specific is/can be negotiated? Am I allowed to include it because he sent me plain code which is 1:1 "pluggable" in my commercial package? I would not mind to credit the author of the changes in the file also, of course. The obvious answer could very well be "No, you are not allowed to just paste it in your commercial software without express consent". But if you think about it, if I were now to be motivated to include an algorithm for the solution he gave but wasn't supposed to include his solution because he never expressly consented to it, well I cannot "un-see" his solution. And as I now know the algorithm because he personally suggested it to me, should I just do as if I never saw the mail, and try to come up with an algorithm for what he suggested to me which is expressly different to the one he sent me, to avoid any suspicion? Sounds non-sensical to me, but I am not a lawyer. EDIT I had another look at the mail just now.(see EDIT notice above) I did try to contact him now for several more weeks and no success :( What would you say, does the fact that he sent this mail with the subject starting with "[Suggestion]" change the matter legally? He seems to indicate that he is presenting this solution to me for usage, don't you think?
The basic principle about copyright protection is that the expression of an idea is protected, but the idea itself is not. So wholesale copying without permission is infringing. But the abstract algorithm is not protected by copyright (and let us assume that it also isn't patented). By way of analog, an insertion sort is a pretty easy concept to grasp, and once you understand it, you can re-create it, independent of how the original example (where from you learned about the sort) is expressed. So the question is whether it is necessary for you to copy that code (copyright protects against copying), or can you independently re-express the algorithmic idea (ideas are not protected)?
As far as I can tell, whenever GitHub redistributes code, it adheres to all of the requirements of the GPL/BSD etc. For example, it never gives away code without including the license text, and it doesn't claim to add unpermitted restrictions to the code. The section you're concerned about is this: That means you're giving us the right to do things like reproduce your content (so we can do things like copy it to our database and make backups); display it (so we can do things like show it to you and other users); modify it (so our server can do things like parse it into a search index); distribute it (so we can do things like share it with other users); and perform it (in case your content is something like music or video). That section isn't worded very precisely, but I understand this to mean they want to reproduce your content in full, not just the code without the license text attached. They want to display your content in full, as you provided it. They want to modify it internally (i.e. they are not redistributing this modified form) in order to allow searching. To the extent that they display code-snippets as search results, that is likely defensible as fair use (search engines are frequently cited as examples of successful fair use defenses). GitHub appears to be acting consistently with the GPL when it reproduces, displays, modifies, and distributes code that you upload. If I'm correct about these facts then nothing that GitHub does with the code goes beyond what the many contributors to a GPL project have explicitly permitted, or what is otherwise permitted by fair use law. If you had some code with a more restrictive license, you might not be able to simultaneously comply with that restrictive license and GitHub's License Grant. Consider the scenario where you have some code that is licensed exclusively to you, and you are not given permission to reproduce or distribute it. In that scenario, the code's license prevents you from agreeing to GitHub's request for a license grant.
The exact laws will vary by region and country, but the laws will range anywhere between illegal and almost illegal. If you want to operate as legal as possible then you will have to disclose to the buyer that the software is malware or a crypter and you should require for the buyer to sign an agreement to only use the software for legal and educational purposes. Hiding the disclosure in a long Terms of Service agreement will likely not be sufficient. You will have to explicitly advertise that the software is malware and a crypter and that you are looking for reputable tech firms to buy your software in order to improve their software. If you sell software without disclosing to the customer that the software contains malware or a crypter then you are exposing yourself to a lawsuit for products liability, invasion of privacy, fraud and misrepresentation, the cost of damages, and possibly criminal liability.
Your question mixes up two different aspects of intellectual property. From a copyright point of view, it is perfectly legal to reproduce the features of a one piece of software in another. The functionlity of the software is not copyright (although the detailed look and feel of the user interface might be). However you ask if you, as an employee, can do this by &quot;looking into the code of software X&quot;. Presumably by doing this learn something of the organisation and algorithms used. Even if you avoid direct copying, you are likely to have learned trade secrets of your employer, and publishing these is at least a civil tort in the US, and in some states a crime.
"There's no ... contract" - wrong! The emails are the contract, see What is a contract and what is required for them to be valid? If you didn't agree on which laws will apply then that is a matter for the court to determine. In general, they will tend to look at where the bulk of the work was done - since you are being charged I assume the work was done in the UK so probably UK law applies, noting that the UK is actually 3 different jurisdictions (England &amp; Wales, Scotland and Northern Ireland). That said, many jurisdictions have non-excludable laws around contracts, particularly consumer contracts that apply irrespective of the substantial law applying to the contract. It is therefore possible that you apply English contract law subject to, for example, Australian Consumer Law. Usually any consumer protection law in the vendor's jurisdiction will also apply. General contract law dictates that where a price was not agreed a reasonable price must be paid. If its reasonable that the editing should have been included in the original price charged then you don't have to pay more but if it isn't then you have to pay a reasonable amount for it. There is generally no requirement for estimates or any other method of determining the price - you just have to do what's reasonable. However, consumer protection law generally imposes more obligations on a business than general contract law. It is likely that your contract is ambiguous - courts will endeavor to fill in any ambiguities to make the contract work. techniques include read in implied terms to give "business efficiency", from custom or business usage (e.g. if particular industries typically deal with particular issues in particular ways), from previous dealings (i.e. what the parties have done in the past), from statutes, whatever works to resolve uncertain, meaningless or ambiguous terms, from the express words used or from the nature of the contract or from the common intention of the parties (i.e. the court might ask you what you meant). "Breach of contract" is a very broad term - it simply means that one of the parties hasn't done what they were required to do and allows the other party to sue for damages.
Algorithms are not subject to copyright. A particular implementation can be copyrighted, but an algorithm itself can't be copyrighted. Someone re-implementing the algorithm with their own code has done nothing to give you copyright claims against their work, and is not bound by any software license you use. That's what patents are for.
Patents are not that relevant in this case. Software patents are unenforceable in most parts of the world anyway. What matters here is copyright. Every work contract has a clause that everything an employee creates as part of their employment is copyrighted by the company. So using company-owned code to build an own project would be a copyright violation. There are also other legal tools in some jurisdiction which can be used against employees trying to misuse intellectual company property. But that's a topic for Law Stackexchange. Also, this isn't really related to a BYOD policy. Being able to bring your own device to work and then back home might make data theft more convenient, but isn't required. There are many other ways to steal sourcecode, like USB drives or uploading them to the internet. To prevent the first you would have to design your software development offices like a supermax prison facility with meter-high walls (so nobody can throw a device over it) and strip searches on everyone leaving the building. This is neither feasible nor reasonable for anything below matters of national security. To prevent the second, you would have to completely prevent internet access from developer workstations, which would greatly impede the productivity of any software developer. So most companies do not even try to physically prevent employees from stealing sourcecode. They rather rely on the legal safeguards and on maintaining a mutual trust relationship with their employees. It might seem counter-intuitive to some, but when you do not treat your employees like potential criminals they are in fact less likely to betray you.
As you have agreed, by contract, not to reverse engineer the product, technically it would be a "breach of contract" to do so, assuming such terms are enforceable where you live (or wherever the EULA selects as the choice of forum).