How can I exclude any rights for my own software projects from the contract? I'm about to sign a long terms terms contract for software development and maintenance. This job implies working with several applications and creating new ones. It seems to be difficult to put all of the tasks and assignments I'm going to working on and I totally understand that the company I'm going to work with has to make sure they keep rights for the software I create for them. I personally think it's fair the company is going to own any code and IP rights under their project. On the other hand I'd like to make sure my own projects or any side projects that I may take part in the future do not / will not fall under this agreement. I am talking about any other code that I write in my free time commercial/open source in a non-competing field. So I'd like to include a general sentence to acknowledge that I (or some other project) will still keep any rights for my(their) code while the current project keeps any right for the code (designs, written text) I write specifically for them. What would be a good example of such clause?
You need a lawyer There is no magic phrase to do what you want. The company will care about defending their assets, while you will want to defend yours. Only a lawyer will be able to tailor the condition that makes sense based on what your job's domain covers and your side projects. It is entirely possible that your personal projects conflict with your employer's, and you must then put your personal projects on hold or risk getting sued. e.g.) developing two pieces of software that does the same thing. Your lawyer will be able to advise on how that looks and what to do. No random strangers on the internet can give you accurate advice.
As Greendrake says, you can legally create your &quot;open source&quot; license. There are two problems with this: Since you are not an experienced contract lawyer, there is a significant risk that your license doesn't do what you intend it to do. As a consequence, people who you want to use your software might not do so, because your license prevents it or makes it too risky. Or people may use your software in ways that you didn't want to allow, because the text of your license doesn't prevent it. Your license terms may be incompatible with other open source licenses. For example, I might want to use GPL licensed software A, and your software B with your license in my application. Being careful, I give both licenses to my lawyer, and the lawyer says, &quot;sorry, you cannot possibly follow the terms of both licenses, because GPL and Ky's license require that you do two contradictory things. You can use software A and follow GPL's terms, or you can use software B and follow Ky's license terms, but you can't use both&quot;. All in all I would recommend that you use a widely used open source license.
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).
If it is open source code, then usually the requirement is that you produce the source code for the software that you release. Exactly for the software that you release. For example if you took open source software X, and added feature Y, and distributed the combined software outside your company, anyone can request the source code for X including Y. Handing them the source code for X only wouldn't meet the open source requirements. Now all this is not illegal, but it means the copyright holder of X could sue you for copyright infringement. They will do that if they have enough reasons to do so. So let's say you are continuously developing your software and occasional hand out your compiled software. Say you built versions 100, 101, 102, 103, 104 of the software, you gave versions 100 and 103 to customers, and anyone asking for the source code is given the source code for the latest, slightly improved version 104. The copyright holder of X might sue you but: 1. They wouldn't know you are doing this. 2. A judge might side with you and decide that newer, improved source code is good enough (I don't know this, but it seems not unreasonable). 3. The copyright holder might decide that they don't want to sue you for this because you are close enough to meeting the requirements.
I'm assuming that you are not seeking to change the license, and so it will remain GPLv3. As long as you've built on the original software, that license still applies. You also need to keep the previous copyright notices, including the names of the original people. Assuming that, everything you're doing is legal, which is what's on topic here. There is some etiquette around forks (which is what you're doing), which would be on topic at the Open Source Stack Exchange. I'm puzzled by your desire to have a different license text. You can't change the license from GPLv3, so that has to stay the same. (If the original has GPLv3 "or, at your option, any later version", you can drop the any other version text if you like.)
Assumptions Let us assume that the code involved was created during the period of employment, was within the scope of that employment, and was validly work-made-for-hire (WFH). In that case, the code copyright is owned by the former employer.dn the person who wrote it has no more rights than a random stranger would. I am also going to assume US law. Ownership of Ideas Who owns the ideas, the knowledge of how these libraries work? No one does. In the absence of a patent, no one ever &quot;owns&quot; an idea. ]17 USC 102(b)](https://copyright.gov/title17/92chap1.html#102) provides: (b) In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work. Derivative Works Copyright law does prohibit anyone making a derivative work from a work protected by copyright without the permission of the owner. A derivative work is one &quot;based on&quot; the source work. The classic case is a translation. Exactly when a piece of software is a derivative work of another is fact-dependent. Bu several things are clear. If the source work is trivial and obvious, ther may not be sufficient &quot;originality&quot; for the source work to be protected by copyright at all. If the source work is not protected by a valid copyright, nothing is a derivative work of it. A &quot;hello world&quot; program, for example, is probably not original enough for any copyright. A straight-forward implementation of a basic algorithm like quicksort is probably not original enough, either. If there is only one way, or only a small number of ways, to express the ideas of the source work, the merger doctrine applies. This means that the expression of the work is merged into the idea, leaving the expression unprotected. When the merger doctrine applies, there is, in effect, no copyright. If a work copies ideas from a source, but none of its particular expression of those ideas, the result is not a derivative work, and is not an infringement of copyright. If a work is definitive, but is also a fair use of the source work, it is not an infringement. The usual four-factor fir use analysis must be made to determine this. In particular, if a work is highly transformative, it is likey to be found to be a fair use. Issues from the Question What if the new code (presumably, in the case of something simple) comes out exactly the same (even if I rewrite it without looking)? That Rather suggests that the work was too trivial to be original enough to have copyright protection at all, or else that there are only a few ways to express the idea, and the merger doctrine applies. But if neither o those were true, this might be an infringement. [* To be coninued*]
This answer is limited to United States law. The situation in other countries is definitely different. Under United States law, the owner of a lawfully made copy of a copyrighted work has, as a right of the physical possession of that work, the right to the work's ordinary use. Licenses grant you additional rights such as the right to make derivative works, the right to make copies beyond what's needed for ordinary use, and so on. A pure license doesn't ask for anything in return, it just gives you new rights. Those rights may be conditional, but the conditions are just things you have to do to get new rights. They're not conditions imposed on any existing rights you had. A contract is an agreement between two parties. Both parties must agree to a contract for the contract to be enforceable. Contracts can take away rights you otherwise have. You don't need a license or contract to use a copyrighted work if you lawfully possess a copy of that work. Say you download a copy of a work covered by the GPL. You can refuse to accept the GPL license and you can still use that work. Why? Because no law prohibits you from doing so and there is no civil cause of action for using a lawful copy of a work under US law. But now say you want to give a copy of that work to your friend. This is illegal under US law because 17 USC 106 restrict that right to the copyright holder and there's no applicable exception since that's not part of the ordinary use. For a work covered by the GPL, the license offers to give you that right, a right you wouldn't otherwise have. It imposes conditions on you that are specifically in exchange for the grant of the new right. If you do accept the GPL, it functions as a contract. You got in exchange a right you didn't have before and if you don't comply with the GPL's terms, you don't have the copyright holder's permission to exercise those rights which is required under the law. By contrast, a click-through or EULA takes effect when you agree to it and such agreement is a condition for using the software. That's a pure contract and usually doesn't give you any rights you wouldn't have in the absence of such an agreement other than the use of the software.
Ideas (methods of playing, game mechanics, strategy, goals) cannot be protected by copyright. But any part of a creative work can. So, no copying of drawings, patterns, images, sounds, or the element. I suppose copying the software code is not an issue here, but it can, obviously, also not be copied. And nothing in your game can look like someone's else trademark.