Do I really have to Open Source my project? I'm currently working on a software which uses another software under the GPL version 3 license: https://github.com/ViaVersion/ViaVersion/blob/dev/LICENSE Now someone just came to me and said I have to Open Source my project or I can get in trouble. I'm not quite sure... But I thought I don't need to do this, because my project is completely private. I will not publish this project whatsoever. Only me and 2 friends use my software. Do I really have to Open Source my project? And if yes, is it enough to just publish the code parts using the software?
You need to know two things about the GPL: The GPL is a license which requires that when you distribute binaries, you distribute the source code with them (binaries being the things you can directly run) The GPL is copyleft - any project using something licensed under the GPL must also be licensed under the GPL The easiest way to comply with the first point is to simply make the software open source by making it available to all online. Many, if not all, large projects licensed under the GPL do this. The other way of complying is to simply give anyone else who has a copy of the binaries, or who makes use of them, a copy of the source code. In your case, all you need to do is send your friends a copy of the source. As long as no one else uses this project, I think you satisfy the requirements of the license. You must, however, also license your code under the GPL. This means, as mentioned in the comments, that you must somehow make your friends aware that if they redistribute your code, they must also do so under the terms of the GPL. This can be as simple as including a file called LICENSE in the root directory of the source code, containing a copy of the text of the GPL. This further means that your friends will be able to share your code with other people without letting you know. You could politely ask them not to, but you can't stop them. (That said, you have no reason to be worried - only big breaches of license misuse by large companies ever tend to get chased up. However, it's great that you want to be careful about this! Software licensing, especially FOSS licensing, is very important.)
You're not going to find an OSI-approved or FSF-approved license that meets your needs because these licenses comply with the OSI definition or FSF definition of open-source software, and your requirements don't. Looking at your requirements, it looks like you want a license where users can modify the software and use it for private use, but cannot use it for commercial use. I ran a search on TL;DR Legal to see what licenses match. There are some one-off licenses that appear to be written by individuals or groups or written by companies that explicitly call out a particular software package. One appears to be a modification of the Apache License. I wouldn't recommend simply using one of these without not only reading them thoroughly yourself, but also consulting a lawyer - just because they started with a license that is trusted doesn't mean that a change they made didn't cause problems if it were to be challenged. For a project hosted on GitHub, it doesn't need to be open-source. You can upload a project that is all rights reserved, but by using GitHub, you do need to allow others to view and fork your repository. However, I wouldn't expect many outside contributors. Why should I give you my hard work if you're just going to turn around and make money on it? That's essentially free labor. I'm not aware of any listing of vetted licenses that are designed for commercial use of software, like how the OSI and FSF maintain lists of licenses. There is a Binpress license generator, but again, it's not a vetted license. How much stake you put into license generator or some random license you find on the Internet is up to you and the level of risk that you find acceptable. If you want to make money on your open-source software, you may want to rethink your approach. In my experience, I've usually seen dual licensing achieve this. One license is a custom written commercial license while the other is a very strong copyleft license, like GPL or AGPL (depending on how you intend your software to be used), which forces companies to also open-source their software if they use yours. It doesn't explicitly prevent commercial usage, but many companies will either look for an alternative that has a more permissive license or purchase the commercial license to prevent their software from being required to be open-source as well. You may also be interested in questions on Open Source about how to monetize open-source projects. There are options out there - selling support and maintenance or related services or selling additional documentation or examples. Under this model, all of your software is free and open source under any of the well-known open-source software licenses, but you make money supporting users of the software.
Since licensing can only be done by the copyright holder, you generally need individual permission from each copyright holder to change the license of their code. (If the project is being re-licensed to the GPL from a compatible license, then no re-licensing from the copyright holder is necessary; however, versions 2 and 3 of the GPL are not compatible with one another.) Ways around this are: Remove or replace all code written by the unreachable contributors. Have contributors assign copyright to a person or legal entity that controls the project, so that there is exactly one copyright holder. (This is a preventive measure. If you have not done this already, it's too late when you cannot track down a contributor.) But if you can't do either of those things, what do you do? Historically, re-licensing of software without explicit approval from all contributors has been done before, under the advice of legal professionals. However, the legal mechanics of it are unclear and have never been tested in court. The two prominent examples appear to be: Mozilla relicensed from the MPL to a triple-licensed MPL/GPL/LGPL scheme The Dolphin emulator relicensed from GPLv2 to GPLv2+. The Dolphin project produced a report about the process, but it lacks any specifics about how the legal mechanics of the switch work. They say (emphasis mine): Out of all [200 contributors], we managed to contact all or take care of the code of all but 10 of those developers. Considering that many of those accounts are now dead and the people seemingly vanished from the Internet, finding the rest is akin to squeezing blood out of a stone. That's when research provided us some much needed relief when it seemed as though relicensing was an impossibility. In 2003, Free Software lawyers consulted for Mozilla's relicensing project and stated that relicensing with the permission of just 95% of contributors was fine, as long as there were no objections in the remaining 5%. [...] [...] Instead of simply asking all of our active developers and relicensing, we made a very strong effort to get a hold of every single developer. Despite this, it simply wasn't feasible to make contact with every single person who worked on Dolphin. [...] We definitely would love to hear support from those that we were unable to contact, and if there are any concerns we will gladly address them in a prompt fashion. That posts links to a post from Ciaran O'Riordan: Someone who works with many lawyers on free software copyright issues later told me that it is not necessary to get permission from 100% of the copyright holders. It would suffice if there was permission from the copyright holders of 95% of the source code and no objections from the holders of the other 5%. This, I’m told, is how Mozilla was able to relicense to the GPL in 2003 despite years of community contributions. There is no information available about why Mozilla's lawyers believed it was acceptable to re-license without each copyright holder's permission. It's also unclear if any factors apply to Mozilla specifically that might apply less strongly to anyone else in a similar situation. In sum, we know only that: You need the permission of every contributing copyright holder to re-license a work Mozilla's lawyers believed (for unspecified reasons) it would be acceptable for Mozilla to make a good-faith effort to contract all contributors and then re-license, even if 5% of the contributors were unreachable (and none of the contributors disapproved).
IF part of your code and data is non-open-source, you can't release this software under the MIT license. However, from what I know, CS:GO uses real-life weapons, and their names aren't protected by copyright. Weapon stats aren't copyrightable either. With skin names, you should be safe as well, since there isn't enough (or any) lore around them to establish them as literary works. However, if you are using any in-game descriptions or images, they are copyrighted content and can't be legally copied without permission from Valve. Which might be easy to obtain by writing them.
Basically, you cannot do it. You are required to include the MIT license in any derivative work. However, that holds only for the parts that you import from this other project. You can identify which parts of the final product are copied from the MIT-licensed program (and indicate "these parts are subject to the following MIT license"), and then you can do whatever you want with the remainder that you wrote. The downside of not licensing your material is that nobody can use it. To use it, people would need permission, which is what a license is. If you don't license it, you don't give permission, so people can't use it. You presumably want to subject your own contribution to different licensing conditions, so then you would state those conditions and clearly indicate what parts of the code you wrote.
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.
Yes, a work with no license is All Rights Reserved, reserved meaning the creator of the work. Who is the creator of the work ? Everyone who contributed it, unanimously. Yes. If people contributed any copyrightable part of your work, in theory you cannot add any license or grant any right to use/reproduce/whatever the work without their unanimous agreement. That's very cumbersome, and almost nobody really does that, but it's what the law is. Big serious companies and repos require contributors to waive their rights on the code they contribute, by agreeing to a contributor's agreement. For example, python/cpython requires you to give your contribs a license allowing the python org to do essentially what they want with it, even though you retain copyright over them. If your project is not so serious, I suggest it should be enough to make the license clear, and that by contributing people are agreeing to place their contribution's code under the license. If it's a free license, that's all you need.
As always, it depends. However, it is by no means certain that any public facing hobby project, such as a web app, is exempt from having to comply with the GDPR. Since the GDPR is only a few days old, we have of course no case law based upon the GDPR itself yet. However, when considering this, one should take the following two facts into consideration. 1. The "personal use exeption" in the GDPR is not new. The personal use exemption is unchanged from the article 3(2) of Directive 95/46/EC. (There as a lot of lobbying for removing "purely" from the sentence – but drafters wanted to keep it.) 2. Case-law under the previous regulation restricts the scope of the exception The ECJ has ruled on the scope of the personal use exception in two cases: C-101/01 C-212/13 In both these cases, the ECJ took an extremely restrictive view, and concluded that the personal use exemption did not apply to the processing done by these individuals. In C-101/01 it can be argued that the hobby project as a blogger was connected to the controllers professional activity (she was a catechist in a local church, and blogged about her work. including her colleagues). But in C-212/13, there no such connection to professional or commercial activity. Here, the controller operated a CCTV to protect his home, but set it up to also capture public space, and that was enough for the ECJ to decide that the personal use exception did not apply. Discussion Case-law based upon Directive 95/46/EC is in no way binding for a future court that need to rule based upon the GDPR. We need to wait for case-law decided under the GDPR to be able to have some degree of certainty about the scope of the "private use exception" under GDPR. However, given what we know about how the ECJ has ruled in these cases in the past, I think it is hazardous to think that just because what you are doing on the web is just a "hobby project" not connected to professional or commercial activity, you are exempt from complying with the GDPR. Conclusion IMHO, you may be exempt, or you may not be exempt. I think it really depends on your activity in your hobby project, and to what extent this project processes the personal data of other people than yourself.