Closed Source Apps


Can I write and sell closed source apps that would run on Nextcloud?

I have a case where some of the features of nextcloud would be very useful to a small company but the owner would very much like to keep ownership of the intellectual property of any work I did do in the way of bespoke apps.

You can’t since you distribute your software to the client and Nextcloud’s (and ownCloud’s) AGPL require you to offer your software under the AGPL v3

Ok, thank you for the clear answer, that’s what I was looking for.

BTW, you can of course keep ownership and also sell it, it just has to be AGPL licensed

Also see (in AGPL distribution also works over network)

Note that if you write this for a customer, as consultant, and transfer full ownership, you are not distributing - the owner and writer is, technically, the customer’s company. As long as they do not ‘distribute’, that is, do not give any non-employee access to the software (not even with a public sharing link!) they do not have to give the code to anyone.

After all, the AGPL requires you to share code with anyone you give access to the software; as long as you don’t, you don’t have to give the code to anyone. And ‘you’ in this is a legal entity which can be a company.

1 Like

ok, looks like I’ve got some reading to do, if any one has a good resource or case studies of AGPL throw a link my way. I’m not clear on the limits if they wanted to ‘rent’ access to their system in the future to third parties.

I’m afraid I’m not following you, can you give an example?

Renting the software to other companies would include distribution, so that would require your company to provide it under the AGPL.

AGPL is only about copyright, it does not impose any restrictions on selling it and neither do you abandon your ownership of your code.

Been reading a bit and I think I’ve got a basic understanding now.


It’s not about copyright, it’s about Users’ rights. The copyright law is what makes the AGPL enforceable.

AGPL basically tells the user “if you can use it, you should also be getting the code to serve it to others, alter it and do whatever you like, as long as you don’t restrict others from getting the same rights you are enjoying”.
Since you are adding a third-party module to a product that is all AGPL, you need to be sure you are only using external APIs to talk to the rest of the components if you want to be able to license it separately. you will need to check with the OC/NC license if they allow non-AGPL modules to run in an installation. Since AFAIK modules run within the context of the php code and not as a separate process, you have to stick to AGPL.

Exactly. Apps run in the same process as Nextcloud and are therefore required to be AGPL.

Could you please elaborate a little on the definition of non-public access. Does “public access” mean “any user not known individually to the system”, or “any non-employee”. Is a customer (who’s not an employee) who has a dedicated account considered non-public as well?

Reads to me like “any non-employee”

Since your customer is no employee and you distribute your app + Nextcloud to him, the license would require you to offer him the AGPL licensed source

I’ve just read the AGPL and some comments, and according to that ANY client, employees included, who have access to an AGPL app are getting it distributed, so they have the right to access the software. Which makes closed-source impossible, and jospoortvliets comment would be incorrect.
Quoting the AGPLV3 preamble:
“It requires the operator of a network server to provide the source code of the modified version running there to the users of that server.”

are you providing the app via your NC - or did you develop an app which he wants to run on his NC?

in that case you should be able to use whatever copyright/ownership you want because you sell just the standalone app. when he is using it within his business it would fall under AGPL - and his employees could sue their employer for opening the source!?

…or did I misunderstand something?

@Rello Well you distribute it to your client, so it needs to be AGPL licensed before he can even serve it to his users.

@andreas I suppose you mean this here:

Basically states that employees must be able to get the source code. But they are not required to release modifications.

If you sell your hours to a customer, he/she owns the app right away, there is no distribution, so that can be done following the AGPL. If you develop the app for the customer and then ‘sell’ it to them, you are distributing. I know it is a subtle difference and honestly in reality I think you simply transfer copyright in which case I don’t think it is ‘distribution’ either so I would say the rule of thumb is: if you develop something exclusively for a customer, it is not distribution. If you keep the app yourself too, perhaps to sell to another customer, you are distributing and it must be AGPL.

(and the usual disclaimer: I am NOT a lawyer, this isn’t legal advice etc)