Linux Format

The GNU AGPL

As more and more networked services appeared, it became obvious that we needed a FOSS licence for the online generation.

-

The original GPL (General Public License) was written in 1989, long before most people started to worry that a couple of decades down the line we’d all be connecting to remote services to which vague and nebulous ‘societal pressures’ would coerce us into handing over our life stories, cat pictures and arm’s-length tales of self promotion. The GPL and its 1991 sequel, both deal only with code that’s distribute­d to directly to users and run locally on their machines.

Where the GPL definitely doesn’t extend to is code that’s not distribute­d to users; code that runs remotely and sends responses back to users’ machines. So this covers all the server-side languages and just about any cloudy online service that the millennial sat next to you on public transport might be using. By using these services, where all the interestin­g code is run remotely, the copyleft portion of the GPL isn’t triggered and the user is not entitled to a copy of the source code. Thus it is perfectly possible for an organisati­on to take some GPL-licensed code, modify it to run as a service, and not be compelled to distribute their modificati­ons.

Today we’re quite familiar with the notion of Software (or indeed pretty much any noun you like) as a Service (SaaS), but back in the day this was referred to as the Applicatio­n Service Provider (ASP) loophole. At the turn of the millennium, discussion­s took place between Richard Stallman, technology pioneer Henry Poole as well as the FSF’s Bradley Kuhn and Eben Moglen around how to close the ASP loophole. Poole’s company, Affero Inc., was set up in 2001 and Poole wanted to be able to license the code for Affero’s web services, so that others could create derivative works so long as they were done in the spirit of copyleft. Kuhn proposed adding an appropriat­e clause to GPL v2 and together with Moglen came up with the text, which in lay speak affords network users the same right to source code as if the software were running locally. The resulting derivative licence was approved by the FSF and published by Affero in 2002, known as the Affero General Public License (AGPL v1).

Three years later, by which time demons such as Digital Rights Management (DRM), tivo-isation and software patents had reared their ugly heads, work was underway on a new GPL version. Early drafts of GPL v3 included an Affero-like clause, but to ease administra­tive burden this was not included in the final text, published in 2007. Instead, the FSF published a new licence, which was essentiall­y GPLv3 with the Affero provision, and this licence was dubbed the GNU AGPL v3 (in the name of matching version numbers). This is the latest version of the licence and is recommende­d by the FSF “for any software which will commonly be run over a network.” In the name of completene­ss, there is also a transition­al AGPL v2, which enables AGPL v1-licensed code to be redistribu­ted under AGPL v3.

Why does any of this matter? Well it enables developers to create useful, open source network programs without risk of unscrupulo­us actors pinching their code and using it for profit. As a result, we have some fantastic FOSS alternativ­es to proprietar­y online services. Some of these we’ll cover here, and others we’d encourage you to investigat­e for yourself. The most well-known to readers will be Nextcloud. ( Seep34,the ‘lightside’inlastyear’sschismamo­ngtheownCl­oudranks.)

 ??  ?? FreePBX is an AGPL-licensed project for controllin­g the Asterisk private branch exchange (PBX), which in turn manages PSTN and VoIP calls.
FreePBX is an AGPL-licensed project for controllin­g the Asterisk private branch exchange (PBX), which in turn manages PSTN and VoIP calls.

Newspapers in English

Newspapers from Australia