How to create wholly proprietary (private) software license This should be obvious, but I searched for a while and could not come up with a definitive answer: What license should I use if I don't want software to be shared at all? Let me explain the use case: We are creating a software product that is partly being licensed to our client, but there are other parts which we do not want to be licensed or shared at all. We want it to be proprietary. I understand that we can and should simply hide it. That is what we're planning on doing. But I would also like to establish a license somewhere to explicitly say that everything associated with the packages under this area are not to be shared, and if they somehow came across it, that was mistaken. (I.e., while keeping things secret is best, at least letting folks know they should never have seen it is a nice fallback.) I am not a lawyer, and have until now always been able to use some sort of open source license or simply avoided a license since it was clear the software would always remain private.
If you don't want someone copying your stuff you don't need a licence at all - that is the default way copyright works. Simply put a copyright notice in the deployment and any splash screen or about screen.
If you can accurately describe in one license what constitutes the conditions where you wish to let users freely copy the software, and forbid any other uses, then you can also offer a second license that allows specified commercial uses with a second license. Basically, it reduces to being clear (to yourself and to the world) on what you mean by &quot;service&quot;, and what you want to allow vs. prohibit. That SSPL has a section on &quot;Offering the program as a service&quot;, though it does not prohibit it, it just requires the user to make the source code available for free. You could rewrite that section, and then hire a lawyer to give an opinion as to whether your re-write does what you think it does. Pay attention to the fact that you are interested in restrictions on &quot;cloud servers&quot; but the SSPL permissions are broader.
I see no reason to doubt your conclusion; since it's not allowed by the license it's forbidden by copyright. As you figured it, you gain the right to use these tools by obtaining one of those 3 Visual Studio licenses. A Visual Studio Code license is free, so it makes business sense that it doesn't include a license for Microsoft C++ Build Tools. I.e. you can't claim it's an "obvious oversight", as there's a justifiable business reason.
You are free to sell or not to sell to whoever you like (unless it is illegal discrimination, like not selling to white Christians), but it doesn't make a difference, because anyone who buys the software from you can legally sell it on to anyone they want. So you cannot control who ends up owning the software. If I want the software and you don't sell it to me, and I still want it, I'll just ask a friend to buy it and give them the money. Other people would just get a pirated copy if you refuse to sell to them (and would have very little bad conscience since they offered you cash and you refused to take it). You can put terms into a license, and in the USA this is binding. The customer may not agree with the license, and in that case they have the right to get a refund for the software. In the EU, I don't think a license is binding, so you'd have to sign a legally binding contract with the buyer. Apart from all that, you have very little chance to find out if the software is used against your wishes and to do anything about it.
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 GPL does not forbid you from charging money for software, nor does it require you to provide source code to the general public. What the GPL requires is that your software be free software, with "free" used in the sense of "free speech" rather than the sense of "free beer." According to the Free Software Foundation (authors of the GPL), the right of users to sell software is a requirement for it to be free software. If you receive a GPL license for software, you can give it to whoever you want provided you also ensure that person can get the source code. You don't need to make the source code available to the public, only to the people you actually distribute the binaries to. The GPL is structured along the lines of "if you distribute the software to someone, you must give them these rights;" it is not structured along the lines of "you must distribute the software." Of course, if users have the right to distribute copies for free, it's hard in practice to charge money (all it takes is one user distributing copies). But that doesn't mean you can't try. Some companies make substantial money selling free software through various models (e.g. Red Hat, which charges money for support). Others might bank on the fact that plenty of people are willing to pay to get it from the official site, and aren't interested in finding a free copy somewhere. It doesn't matter; as long as they license the software to you under the GPL and give purchasers access to the source code on the same terms, they're in the clear (if you want to redistribute binaries, it's your job to redistribute the source code as well).
In Germany, there is no concept that corresponds directly to public domain. You automatically hold the Urheberrecht (~ copyright) for all creative works that you make, and it can't be given up or transferred (§29 UrhG). The work only enters the Gemeinfreiheit (~public domain) 70 years after your death. You can however license Verwertungsrechte (economic usage rights). When you make creative works in the course of employment (see §43 UrhG), your employer automatically gets the Verwertungsrechte necessary in the context for the work, which is typically an exclusive right (no one else, not even you, can use the work). Your are not in an employment relationship with your school, so it has no rights to your works and cannot prevent you from publishing them on copyright grounds. When you see advice on the internet to check with your school first, that is U.S.-specific advice. Since you're still a minor (7–17), you only have limited capacity to enter contracts or legal transactions (bedingte Geschäftsfähigkeit). While you are able to make transactions involving your own means (e.g. buying something with your pocket money) or make transactions that are only to your benefit (such as accepting a gift), other transactions are schwebend unwirksam (~ pending ratification), until your parents agree. The relevant law is in §107 and §108 BGB. This is a problem with open source licenses. If you publish software under a license, this license is schwebend unwirksam. Someone might start using the software under the license. But then if your parents refuse ratification, the license would be invalid, and everyone would have to stop using your software and destroy any derivative works they made. This is a bit of a problem, especially since open source licenses are otherwise assumed to be irrevocable. So if you want to offer a license (including open source licenses), please give legal certainty to the recipients of the license and ask your parents for their consent first, possibly even in writing. Per §107 BGB, the license you offer with their consent will be valid.
You seem to assume that copyrights require paperwork such as registration. This is wrong, copyright is automatic. And it prevents the downloader from making the sort of change that you suggest. In fact, it prevents the downloader from using your template at all. The only reason the downloader can use that template is because you've granted him a specific license to ignore some copyright rules, but the default remains. And you did not grant the right to alter the template to free users.