Add "About" page to simplify AGPL Section 13 compliance
Background
-
CiviCRM is published under AGPLv3.
-
Most CiviCRM extensions are also published AGPLv3.
-
It is common in our community for people to deploy, fork, patch, etc. code from others. (Witness: open-source in action!)
-
Under AGPLv3 Section 13, if you make a modified/derivative work, then there is an obligation to provide download links to your users.
-
CiviCRM Core has a standard download link in the footer -- but you can't do that for everything, and I've never noticed an extension providing download links to non-admins, and most people who use patches aren't going to edit code to tweak that notification.
-
There is no general/standard practice in how to address Section 13.
Proposal
The footer should include a Legal/About. Add a built-in core page civicrm/about
which:
- (a) summarizes CiviCRM's mission+model
- (b) summarizes the works being used for this deployment - authorship/copyright/publication URLs
- (c) optionally links to any site(s) where modifications are published (e.g. "All modified works are published at https://github.com/myorg")
Parts (a) and (b) can be standard/no-effort/out-of-the-box.
Part (c) would be unnecessary and blank for stock deployments. If you are an active implementer/developer in the habit of patching things, it can be a bit onerous to identify every patch in-app. But it should be easy to add your Github/Gitlab org-link. If someone suggests that you are out-of-compliance on Section 13, then this becomes an easy fix.
Comments
(1) When I was an implementer, we used a patch similar to this on our Civi deployments. It actually went a bit further and allowed you download a live zip file of the civicrm tree (to ensure that we were meeting the obligation while keeping our project-management stuff private). However, I suspect many folks would have technical questions (e.g. "persuade me about performance/security/usability of a live zip on every Civi deployment"). Many folks already publish their forks on Github/Gitlab - so that feels like the path of least resistance.
(2) Item (b) would actually go beyond what's required. However, I think it's nice for our community to over-communicate credits.