Licensing and AGPL implicaitons in different usage scenarios


#1

Hello,

I know that there are several similar discussions here, but I have hard time reconciling them and do not understand the implications of AGPL in few usage scenarios.

Could someone help me understand, please, will or will not AGPL license extend to my software in following cases (sorry for a lot of “I”-s and “my”-s, just want to be a clear in the definition):

  • my company implements software which populates our DB with some data collected on behalf of our customers; Metabse is deployed/hosted on our servers as-is, and uses data from aforementioned DB; our customers access dashboards directly in Metabase UI itself (Metabase as-is, with Metabase logo) - is this a valid usage scenario and won’t AGPL extend to our software in this case (the data pipeline which populates the DB)?

  • same scenario as above, but my company also has a custom-built website, and Metabase dashboards are embedded into our website, but with Metabase logo and attributions on the embedding pages; our customers access our custom-built website - does AGPL extend to our software implementing the aforementioned custom web site (embedding software), provided that Metabase branding is kept and attributions are made?

In particular, with regards to latter question, I have found these two threads, which seem to contradict:

In this question - Embed Metabase UI in a web form? - answers mention that “… note that under our license (AGPL), we’d expect any application that uses Metabase components and is redistributed to be open sourced itself.”

But in this question - Embedding Metabase to Another Application - answers mention that “Embedding Metabase in another app is totally okay provided you keep the Metabase branding intact.”

Thank you!


#2

My understanding has always been that you can do pretty much what you want providing you don’t remove the branding. If you make changes to the Metabase source code, those changes need to be shared.


#3

The two use cases you propose above are permitted by AGPL.

The license refers more to the code itself than it’s usage. GPL permits you to use the application as is wherever you want, but IF you modify the code, AND someone asks you for those modifications you MUST share them

If you copy the code and put it inside your application, the WHOLE application becomes GPL and you MUST share ALL of it if someone asks for it.

So if you are using Metabase as you download it, with the branding and the native embedding support as you describe above I’d say you are good.

Note that I am not a lawyer, but I have been reading about these issues for many years now.


#4

Thank you, @AndrewMBaines, @joebordes.

What bothers me, is that on Premium Embedding page, as well as in Premium Embedding licence referenced on it, both state that:

“This license [Premium Embedding] removes the “Powered by Metabase” attribution from the embedded charts, as well as exempts your embedding application from the AGPL.”.

This particular phrase sounds like implying that otherwise, without Premium Embedding license, embedding application is not exempt of the AGPL.

However, indeed it only sounds like so, and I cannot find explicit information about the licencing in the Embedding guide itself or anywhere else.


If possible, I would very much appreciate a comment of someone working on Metabase and implicated into licensing process and Premium licenses. Thank you!

Also, if I can suggest to documentation maintainers, I think it is an important piece of information to add to the “Embedding” guide.


#5

In scenario 1 (using MB as is), we don’t consider the entire system as a derivative work, since you’re using MB as it was meant to be used – an application to access data in a database.

In scenario 2, you’re under https://www.metabase.com/license/embedding/ which explicitly says you don’t need to worry about the AGPL so long as you leave our logo in there. If you want to remove it, the premium license you linked to applies.

Our posture is a little different if you’re trying to embed our entire interface in your application, modify the actual program itself, etc. The situations you describe are standard vanilla modes of operation that we definitely don’t want to encumber in any way.

Does that all make sense?


#6

Hello @sameer, thank you very much for this information! Indeed, I did not see the “Embedding license” previously. Now, with it, the licensing is very clear, and it makes perfect sense.

Thank you all again.