Questions about open-source, but commercial app (Noice)

I’ve added commercial add-ons to Noice, and I wonder if it could continue its distribution through F-Droid.

In short, there are the following changes:

  • The Android client is open-source (GPL-3.0) and uses two network services: the back-end API and the CDN.
  • I plan to open-source the back-end API before releasing the commercialised version of the Android Client.
  • The back-end API handles subscriptions and payments using Stripe for the F-Droid (free/libre) Android app variant. The Google Play app variant handles subscriptions and payments using Play In-App billing (due to policy restrictions).
  • The CDN hosts a static sound library and is closed-source.

Is it still eligible for listing on F-Droid? If yes, what anti-features do I need and how do I add them to the metadata? If not, how do I keep its F-Droid build pinned to its last free release? Thanks!

As long as the whole app is still FOSS, I guess you can’t add new anti-features. :rofl:

Well, at least the software is (or rather will be) open-source in its entirety.

The CDN hosts a static sound library and is closed-source.

The CDN may be need a NonFreeNet AF. Is it added in the new version?

2 Likes

Yes, it is part of the new version that is yet to be released.

And depending on which CDN is used, maybe the Tracking AF also applies.

2 Likes

The back-end API handles subscriptions and payments using Stripe for the F-Droid (free/libre) Android app variant

Does the app include a library from Stripe for that? If so, is this library FOSS?

The CDN hosts a static sound library and is closed-source

What do you mean by the sound library? Is it a set of sound files that are downloaded by the app and played, or a library with executable code that is downloaded and executed?

1 Like

Does the app include a library from Stripe for that? If so, is this library FOSS?

No, the Android app doesn’t directly interact with Stripe. The back-end API manages Stripe interactions on behalf of the Android app.

What do you mean by the sound library? Is it a set of sound files that are downloaded by the app and played, or a library with executable code that is downloaded and executed?

It’s a collection of audio files and their descriptive metadata. It doesn’t contain anything executable.

So, all app instances will contact network services on start (subscription check and sounds download). If those services track users, the app should get the tracking anti-feature.

The app in general seems to be perfectly compatible with our inclusion criteria.

3 Likes

Thanks for confirming @relan! To avoid any confusion, should I add both Non-free network and tracking anti-features or just tracking?

Both, since both are true and not oevrlapping.

1 Like

Thanks, @linsui, @relan and @Licaon_Kter for guiding me through this. Although I am unsure about the Tracking anti-feature, I’ve included it in the merge request to the F-Droid metadata repository.

As I said earlier, all of Noice’s code (including the back-end API) is now open-source on GitHub.

And depending on which CDN is used, maybe the Tracking AF also applies.

To add more details to this, the CDN is essentially an Nginx server that checks for authorisation when a user requests an audio file. If the user has valid credentials, it serves the file from an object-store.