Noob question about app licensing

Hi. I just found Nextcloud and am impressed!

My question is about licensing and integration with other apps. I wonder if someone could confirm or correct my understanding please? I have read the stuff about AGPLv3 and, not being a lawyer, want to make sure I am on the right track here.

I have an idea for an app that could make use of Nextcloud while adding some specific organisational functionality that does not exist in NC. I could build my app within the Nextcloud ecosystem, or separate to it. The separate option would use API calls to set/get data to a separate Nextcloud web installation while the added functionality would, of course, remain in my app.

I am not so much concerned about keeping my source code to myself; rather I am wondering about how to ensure I have a chance to generate enough income from the app so I can justify building it in the first place, and then maintaining it, so it (and I) can “stay alive”. :wink:

So, as far as licensing goes, is it true that:

  1. If I build within Nextcloud: I can sell my app / plugin (say, a subscription model) and I would release it under AGPLv3 as per NC. My source code would be available for others and I could allow them to make pull requests etc but the AGPLv3 license for my app would be protection against someone else copying the work and selling it (but I would need to enforce that myself in the case of a breach, I guess)?

  2. If I build a separate app (eg running in an Electron wrapper, and/or built for iOS / Android), and only interface to NC via the API, then I could use whatever license I like and sell it however I like, and if I wanted to I could even keep the source code secret. I would probably still open-source it but I am just wanting to understand the edges of the options here. In my use-case my app would be functional without NC, but its functionality would be greatly enhanced by users being able to leverage NC too.

Again, my only concern is being able to make the project financially viable.

Thanks so much,
Go well,
Murray

AGPL itself not really. If you publish it freely, you can be sure that everybody doing changes must publish them as well. You can protect your “app” only by distributing it to paying customers only:

Looks for me easier to keep code and functions to yourself.

I don’t know if there are examples of paid apps in Nextcloud already, I haven’t heard of it so far but in the enterprise context it might exist.

Keep in mind, we are no legal experts here to give you any legally liable advice, it’s more like sharing our thoughts how we understand it.

Thanks so much. Yes, a separate app is pretty much where I landed after more research. I look forward to contributing to this great project once I get up to speed.
Go well,
Murray

Hi,

Yes, beside the last point. You can not prohibit that someone sells your work the same way you sell it. The licenses only protects you that someone can make your code proprietary. With the GNU AGPL you make sure that the software will always be free. That’s why it is also called a (software freedom) protecting license.

Yes, if you have a “small” Nextcloud app which interacts with something completely separated, e.g. over REST calls than this part could be licenses under any license.

As you mentioned the possibility of a Android or iOS app. If it makes sense to build mobile apps to interact with your Nextcloud app I always recommend:

  1. license the app under a Free Software license, e.g. the GNU GPLv3+.
  2. Sell it on the Play Store and iOS app store
  3. Additionally release APK’s on Github and put them on F-Droid

This way you can earn some nice money from everyone who likes the convenience of the official app stores. Also other quite famous and successfull apps are doing this, e.g. DAVx5, Conversations, Nextcloud News,…

I’m looking forward to your app! :slightly_smiling_face:

1 Like

Thanks for your detailed reply bjoern. I get it now and thanks also for the extra tips.

I’m looking forward to your app!

Me too! :wink: