Can I impose the requirement of a paid license if and only if my software is offered as a service? I'm getting ready to open source a project that facilitates the deployment, maintenance, and orchestration of data platforms on just about any architecture (locally, on any cloud of your choosing, on your personal server farm etc.). Given the nature of the project, there is a chance that cloud providers might eventually want to offer this software as a service. I am perfectly fine with commercial enterprises using this software freely as part of their own internal tooling. However, I was wondering if there was any way to require the purchase of a paid license in the case where a cloud provider might offer this software as a service. The relatively recent SSPL (Server Side Public License) from MongoDB seems to have taken a first step of formalizing &quot;as a service&quot; when it comes to licensing. I also really like the added requirement that any such service provider must provide their (modified) source code. Here are my questions then : Would it be possible to use a modified version of the SSPL to impose a fee only in the scenario where the software is offered as a service ? Is there any way to extend this requirement to also apply to the API implicitly defined by my code ? Simply put, can a paid license still be required if the hosted service reproduces my API but entirely with their own code ?
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.
Wikipedia is the Licensor who are granting you the license, thus in the text you quoted: You must attribute the work in the manner specified by the author or licensor the manner specified by Wikipedia in the link you gave is the way you must attribute the work. When a person contributes content to a Wikimedia project, they agree to license it under the CC-BY-SA-3.0 license, but they also agree to be attributed &quot;in any of the following fashions... i. [through] hyperlink (where possible) or URL to the article to which you contributed (since each article has a history page that lists all authors and editors)&quot; (see Wikimedia Foundation, &quot;Policy:Terms of Use — 7. Licensing of Content&quot;). See section 1(f) of the License used for the definition of the Licensor
First off: Legally, everything is copyrighted anyway. Licensing is not at all necessary. Hence, even if a court would disagree with # SPDX-License-Identifier: Apache-2.0, that would just make it closed source. Having said that, the law generally doesn't bother with trivialities such as &quot;file headers&quot;. Any commonly accepted way to state the copyright and license terms is OK. Your LICENSE is such a common convention. If you want to avoid all doubt what is covered under that license, put a reference to that LICENSE in each header. If you have just five files in one directory that are all licensed the same, I wouldn't even bother with that. Again, the default position is that everything is closed source.
You can't grant or license that which is not yours. For example, the Slack terms of service say: We grant to Customer a non-sublicensable, non-transferable, non-exclusive, limited license for Customer and its Authorized Users to use the object code version of these components, but solely as necessary to use the Services and in accordance with the Contract and the User Terms. So Slack's agreement with Org A does not give A any right to let any other organization B use the software. It does not matter how A and B are related, nor whether B is nonprofit or for-profit, nor what A would be getting in exchange. If B wants to use it, they need to make their own agreement with Slack.
Apparently not The full text of the license is not included on the page you link to, or on any linked page that I checked. But the FAQ says: free educational licenses can be used strictly for non-commercial educational purposes (including academic research). Exactly how this company defines &quot;non-commercial educational purposes&quot; is not stated. If work is done on a student project, and after a non-student license is purchased that project is commercialized, would the license have been violated, and if so, would the company be likely to sue? The fist question cannot be answered without the full text of the license, and the second would require reading the minds of the company officials. But it seems reasonably clear that this is not what the company has in mind. Another user has pointed out a link to the actual license terms which I failed to note. Section 3.1 of the license says, in relevant part: ... JetBrains grants You a non-exclusive and non-transferable right to use each Product covered by the Toolbox Subscription for non-commercial, educational purposes only (including conducting academic research or providing educational services) ... This would seem to confirm what the FAQ quoted above says. It is hard to see how any development intended as an eventual commercial product would be covered under such a license term. It would appear that a regular non-student license would be needed for such use.
Yes, you can. To be precise, I claim that one can take BSD-licensed code and distribute it under the combined terms of both the BSD and the GPL licences. We know that, if I receive someone else's code under a BSD licence, I may redistribute it to you under those same terms. This is common practice, and not (I hope) in any way contentious. We also know that I may not redistribute it to you without the conditions that the BSD licence imposes; that is, I may not place less onerous conditions on you than BSD requires (that is, requiring the inclusion of the original copyright notice, the disclaimer, this list of conditions, and a prohibition on claiming the original author's endorsement on any modified version). So the question becomes whether I can distribute that code whilst adding more onerous terms than the BSD licence itself imposes. It is clear that I can. As the question notes, Microsoft is known to have taken code which it received under a BSD licence and used it in proprietary products. These come with very onerous conditions on the the use, modification, and redistribution of the derived code (usually, they permit one instance of it to be run, and no modifications nor redistributions of any kind). For clarity: if I were to seek from Microsoft permission to modify and/or redistribute the derived code, and they were to grant it, they would not be able to free me from the BSD requirements as they applied to the derived code; I would still need to comply with those. But they are perfectly capable of applying new, onerous requirements of their own. The GPL imposes conditions on redistribution that are more onerous than BSD's, but less onerous than those of most proprietary licences. I am therefore perfectly entitled to receive code under a BSD licence, and - with or without making modifications of my own - redistribute it, adding in the GPL's requirements, if I choose to. If I haven't modified the code, those added requirements are probably pointless; if you don't wish to be bound by them, you will go and get the code from the original author, who presumably will happily distribute it to you under the BSD licence. But if I have modified the code, and you wish to use those modifications, then you will need to abide by the requirements of both the BSD and the GPL licences, since both will apply to this new, combined work (the original code + my changes).
You will need a license for any library that you are including in your product. Including libraries that you didn't really want to include, but which are needed by another library that you intentially include. And you will have to agree to all the licenses simultaneously, which may be difficult. If several libraries have conflicting licenses (that is you cannot possibly respect A's and B's license at the same time), then you must remove one of the libraries until no conflicts are left.
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.