GNU Affero General Public License (AGPL) vs Apache 2.0

118 views
Skip to first unread message

Michael Mayer

unread,
Nov 28, 2018, 1:41:00 PM11/28/18
to PhotoPrism Developers
Dear contributors:

Robert Sprunk (who's also on this list) recently suggested switching
from Apache 2.0 to AGPL in order to prevent abuse.

I see the use of AGPL for dual-licensing, like Pydio or Nextcloud do
it, to be able to sell (more) commercial licenses. Otherwise some
other company can take the code and sell their own copy. Fair enough.

There are 4 reasons why I've chosen Apache 2.0 after careful consideration:
1. We rely on a lot of permissively licensed code and tools like Go
itself, which uses a BSD style license. AGPL means we can take but
don't give back (unless they change their license to A/GPL too).
2. Using AGPL can effectively prevent developers - like those working
at Google - from contributing:
https://opensource.google.com/docs/using/agpl-policy/
3. There are other ways of creating revenue in order to be able to
work full-time on this. GitLab is doing very well and their code is
MIT licensed.
4. It is permissive like BSD or MIT, but users can't remove copyright
and attribution notices.

What is your opinion on this?
Would you rather contribute to a project that uses A/GPL instead of
more permissive licences like Apache, MIT or BSD?

Michael

PS: I'm a huge fan of Richard Stallman.

mic...@liquidbytes.net

unread,
Nov 29, 2018, 2:31:26 PM11/29/18
to PhotoPrism Developers
By the way, we have a Wiki page for collecting open-source related links and information (you're welcome to add interesting reads):

https://github.com/photoprism/photoprism/wiki/Open-Source

These blog posts compare GPL, Apache and other licenses:

https://opensource.com/article/17/2/decline-gpl

https://medium.com/@robmuh/why-choose-apache-2-0-license-4253379b00ce

Robert Sprunk

unread,
Nov 29, 2018, 6:36:29 PM11/29/18
to devel...@photoprism.org
Thanks for the links Michael.

I think the first article makes an important point:
"I suspect that projects that have an ethical commitment to software
freedom will prioritize the GPL over other licenses, but for businesses
where there needs to be the balance we discussed earlier, I suspect the
MIT and Apache licenses will continue to grow in popularity."

This commitment to a software that is free and stays free, which allows
everyone to access and organize their private photos is exactly how I
understand the "Why this has to be free software" text:
https://github.com/photoprism/photoprism/wiki/Open-Source
The trust in this kind of freedom is fostered by the AGPL.

Unfortunately, the second article makes a really poor point about
security through obscurity in hardware and software licenses allowing
this bad practice. Yes, upgrading means more work. But this work is for
the immediate benefit of the end users. In fact Nextcloud (AGPL) is
shipped on millions of routers and open sources all features, no "Open
Core" or dual licensing.
https://nextcloud.com/blog/how-nextcloud-protects-your-business-from-license-uncertainty/
"Designed to protect the recipient of the software rather than the
vendor, [...]"

Software targeting end (home) users is having great success with the
GPL like Darktable, Nextcloud, LibreOffice (as opposed to OpenOffice
which is under Apache) and https://sr.ht which recently made it to the
front page of hackernews. PhotoPrism itself is not a library but the
final solution incorporating many other tools. With a license like
Apache, other GPL licensed tools (like Darktable, gphoto) cannot be
included directly.
I think shipping those tools in individual containers and using the CLI
is no problem at all - a single binary however won't be possible.

On the upside an Apache licensed tool can always be used in A(GPL)
software.
https://dwheeler.com/essays/floss-license-slide.html


> 1. We rely on a lot of permissively licensed code and tools like Go
> itself, which uses a BSD style license. AGPL means we can take but
> don't give back (unless they change their license to A/GPL too).
Apache code cannot be to contributed to MIT/BSD projects either.
Developers can decide on their own if they want to contribute to those
projects upstream, but yes, the project itself wouldn't be able to do
that. Is that a bad thing?

> 2. Using AGPL can effectively prevent developers - like those working
> at Google - from contributing:
After some research I found that Googles aversion to AGPL is pretty
unique to them and went as far as banning other peoples AGPL projects
from Google Code (the "GitHub" of that time). But to free oneself of
the regulations of corporations is one of the purposes of PhotoPrism.
https://www.cnet.com/news/googles-festering-problem-with-the-agpl/
https://joeyh.name/blog/entry/prove_you_are_not_an_Evil_corporate_person/

Michael Mayer

unread,
Nov 30, 2018, 2:42:12 AM11/30/18
to PhotoPrism Developers
These are mostly valid objections we should consider!

See also https://twitter.com/chuhnk/status/1068233163330240512

On the other hand, if you prohibit something, you also need to enforce
it. Takes a lot of time and money, doesn't come for free like stolen
code: https://sfconservancy.org/news/2018/nov/29/gplappeal/

Since we specifically use a lot of Google tech and I know some
Googlers at least think about contributing, I guess my next todo is to
ask them.

Hope I'll also find time to code soon - without code, we don't need a license :)

Michael
> --
> You received this message because you are subscribed to the Google Groups "PhotoPrism Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to developers+...@photoprism.org.
> To post to this group, send email to devel...@photoprism.org.
> To view this discussion on the web visit https://groups.google.com/a/photoprism.org/d/msgid/developers/8449032d70e954d357b92c7bbd11b846b3c84556.camel%40sprunk.me.

Michael Mayer

unread,
Dec 1, 2018, 7:40:40 AM12/1/18
to PhotoPrism Developers
Moin Moin,

Asim Aslam just wrote a couple of thought-provoking tweets that are very much related to our situation:

https://twitter.com/chuhnk/status/1068825311339585536

While some OSS developers aim at generating sustainable revenue from their hard work, others don't care about licensing as they hope for a lucrative job offer from a Cloud vendor like Google or Amazon.

Also while thinking about any cons of AGPL licensing, it came into my mind that a common use case will be photo sharing. So now, if you have any local modifications, are you forced to add a download link for the complete source of your local installation on every page of shared albums? That's not very pragmatic and actually a really bad user experience, even if you don't need to add a link on every page.

Looking forward to your thoughts on this!

Michael

Michael Mayer

unread,
Dec 1, 2018, 8:36:12 AM12/1/18
to PhotoPrism Developers
In fact, AGPL says: "your modified version must prominently offer all
users interacting with it remotely through a computer network (if your
version supports such interaction) an opportunity to receive the
Corresponding Source"

Who wants to display a prominent (!) link to download source code when
sharing photos? Of course, if we don't implement sharing or people
only use it at home, it's not an issue. Hard to predict.

Thinking further, GPL v3 seems to be a good compromise between AGPL
and Apache 2.0. That was actually what we started with, before we
changed it to Apache 2.0 after reading those blog posts (see one of my
previous mails).
> --
> You received this message because you are subscribed to the Google Groups "PhotoPrism Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to developers+...@photoprism.org.
> To post to this group, send email to devel...@photoprism.org.
> To view this discussion on the web visit https://groups.google.com/a/photoprism.org/d/msgid/developers/20bc26fa-b8f6-45f0-90b5-9174f9ef510e%40photoprism.org.

Robert Sprunk

unread,
Dec 2, 2018, 1:26:30 PM12/2/18
to devel...@photoprism.org
These are interesting Tweets which underline why I'm in favor of a GPL-like license.

My interpretation of "an opportunity to receive the corresponding Source" is not necessarily a direct link to the source code, but may be a link back to PhotoPrisms home page, which links to the source code. A Github icon or a logo of PhotoPrism can be integrated into the UI (e.g. footer) without it being unpleasant.

Also a contact email address where users can get the source code from, should be fine.

E.g. Nextcloud puts a link titled "Get your own free account" linking to their website at the bottom of each shared folder / link. It adds some branding, helps organic growth and fulfils the license requirements.

If PhotoPrism will be run on personal computers the GPL may be a good compromise. If the server and sharing functionality will become more than a minor feature (and I hope it will, that's my main use case), the AGPL will protect it as well.

Everyone modifing the source will be nudged to contribute changes upstream or at least share them, instead of keeping them private. That's in the interest of users and the project.

Michael Mayer

unread,
Dec 3, 2018, 7:02:39 AM12/3/18
to PhotoPrism Developers
We now have a statement from Google:

https://twitter.com/cdibona/status/1069057897819136000

In fact, we use lots of Google tech for free and should give them a
chance to contribute rather than "build a wall" with AGPL. Especially
since our software typically runs on private servers/computers.
Otherwise, you can simply use Google Photos. You probably won't find a
cloud provider that can offer this service cheaper, even if they
"steal" a software: Raw cloud storage e.g. at DigitalOcean is more
expensive (starting at 20 $/TB) than what Google Photos offers (10
$/TB).

Let's build a community that doesn't exclude anyone upfront and offer
a good user experience without forcing users to add links etc. - if
people do this on their own, because they want to support us, that is
much better IMO.

Michael
> To view this discussion on the web visit https://groups.google.com/a/photoprism.org/d/msgid/developers/CD3209FA-D06B-454E-B321-884197583E1C%40sprunk.me.

Robert Sprunk

unread,
Dec 3, 2018, 12:05:10 PM12/3/18
to devel...@photoprism.org
It's worth noting that neither the project nor the AGPL would be "building walls", Google is and for their own corporate profit only.
This way they extend the reach of their corporate policies and put them upon others beyond the normal limits.

If that's the main concern, then the GPL is indeed a very good compromise.

Having said that I'm obviously okay with any licence decision benefiting the project and its community.

aabbd...@gmail.com

unread,
Jun 28, 2020, 1:59:49 PM6/28/20
to PhotoPrism Developers
Reply all
Reply to author
Forward
0 new messages