Open wolfgang-braun opened 10 months ago
Noob question, what prevents you to build something where:
Some examples: OnlyOffice, ChatGPT, DocuSign...
?
Also :
Can I sell my Nextcloud App? Yes. Nextcloud is licensed under the GNU AGPLv3. This license only defines the rights you have to give the users of the software, but not how they get the software. You can decide freely if you want to sell the software in an app store or through any other channel, or if you want to make the app publicly available. The only requirement is that you license your app under the AGPLv3 or a compatible license.
About this last point, why not build an app, licence it under AGPLv3, but control it selling a licence key matching the installed domain?
Even Nextcloud do this (or very similar).
@solracsf
Build a connector under AGPLv3
I'm not a lawyer, but this approach seems legally sound. However I'm not 100% sure AGPLv3 doesn't force to also open source the service that is connected by the adapter? Isn't that the reason, why software with this license is forbidden in many companies?
Some examples: OnlyOffice, ChatGPT, DocuSign...
I think a distinction makes sense here:
Of course both cases can be treated the same. Doing so the second case becomes a technical workaround for legal reasons, which results in unnecessary additional complexity. If a company needs the additional complexity of an adapter, it might probably build the app completely standalone and the Nextcloud integration might then be a nice extra which might never get implemented. Should the license really be a hurdle here? Wouldn't it be good for Nextcloud to have a plugin ecosystem with more of these deeply integrated custom apps?
licence it under AGPLv3, but control it selling a licence key
Unless I'm wrong, that means a company has to publish its plugin's source code. The type of plugins I'm talking about usually don't have a service that can be restricted with a key. These are applications that do everything within the Nextcloud system. They use the existing database and files to digitize a wide variety of business processes. So if the whole value is in the public plugin folder (and not protected by a web API), it's fairly easy to change the one line which checks for the key directly in the plugin code. Imagine someone forks such a plugin and simply removes the license check... Investing a lot of time and money in developing a plugin that relies on getting money back makes not much sense in that case. And even if it's not about selling the software but simply using it: AGPLv3 forces the company to publish all the potentially secret business logic of this plugin, doesn't it?
It would be nice if these problems could be solved by just adding a single paragraph to the license. However, I don't know what problems this license change might cause and whether making the plugin system more interesting is even wanted.
Unless I'm wrong, that means a company has to publish its plugin's source code.
As I understand only to your customer and their users of it
Unless I'm wrong, that means a company has to publish its plugin's source code.
As I understand only to your customer and their users of it
I think thats right. And it's still a problem: Imagine a large company with an IT department developing a plugin for internal use. The code contains a lot of confidential business logic. Should an intern really be allowed to download the source code?
There are reasons why e.g. Google restricts usage here:
WARNING: Code licensed under the GNU Affero General Public License (AGPL) MUST NOT be used at Google.
https://opensource.google/documentation/reference/using/agpl-policy
There are reason why e.g. Shopware added the exception to their AGPLv3 license.
The question is whether Nextcloud wants to improve this situation and what it would mean to do so.
Imagine a large company with an IT department developing a plugin for internal use. The code contains a lot of confidential business logic. Should an intern really be allowed to download the source code?
In this case back to @solracsf :
- Your service/app is under any license you want
- Build a connector under AGPLv3
But only speaking here as a community member.
In this case back to @solracsf :
Your service/app is under any license you want
Build a connector under AGPLv3
But only speaking here as a community member.
As mentioned before
... becomes a technical workaround for legal reasons, which results in unnecessary additional complexity.
The adapter workaround works and is used if you want to add some features to Nextcloud.
I'm trying to explain how to make Nextcloud more attractive as a platform for developers who don't necessarily need to use Nextcloud.
If a developer who can develop his app completely independently of Nextcloud first has to build an adapter in order to ultimately develop a standalone app, he will not use Nextcloud at all because it is of no use.
If a developer can use Nextcloud users, files, etc. without licensing issues, he may see this as a way to reduce time and complexity.
Nexcloud's potential in this space is destroyed by licensing restrictions on custom apps. I think that's a shame.
Can the Nextcloud project also include such an exception in the license conditions?
The short answer: No
The long answer / explanation The reason for this is that it actually doesn't work. First of all that is not a AGPL3 license anymore, you changed it (!). Secondly you can choose any license you want as long as it is compatible to the AGPLv3. Else you would violate the license. While not being a lawyer but having talked to colleagues in the company who dealt with OSS licenses a bit longer. The shopware section doesn't work - while granting you the right to use another license for your plugin, the general nature of the AGPL will just "overwrite" your license with AGPL. So this is just creating a false sense of "protection" from getting GPL-ed.
For Google this doesn't work of course hence their prevention of use of AGPL code because their devs build products publicly available, so anybody could register an account and request the code, hence they don't use it because it is not "employee only"
Besides that you can also write apps with the new ecosystem approach where all your apps would plug into Nextcloud via ReST APIs so you can use any license you want. However the currently set of APIs is still less broad than the PHP side of things. So the use cases might be limited but might be enough for your case.
How to use GitHub
Is your feature request related to a problem? Please describe. AGPLv3 doesn't really make selling self-developed plugins an option. This may prevent some developers from creating plugins that could make Nextcloud interesting to even more users.
Describe the solution you'd like The Shopware project has found a solution to improve this situation while maintaining AGPLv3
Source, section "Plugins"
Can the Nextcloud project also include such an exception in the license conditions?
Describe alternatives you've considered none
Additional context A previous discussion of this issue
https://help.nextcloud.com/t/noob-question-about-app-licensing/78408
Actual license exception:
Source: license.txt