What the GPL License Means for Open-Source Software Like AAT Another Activity Tracker

Updated

The GPL (GNU General Public License) is a software license that grants anyone the freedom to run, study, modify, and redistribute the licensed program, provided that derivative works are released under the same license. For a user of AAT Another Activity Tracker, this means the app's source code is publicly available and can be inspected, changed, and shared. For a developer, it means any modified version you distribute must also carry the GPL. The license does not require you to publish your own private changes — only distributed versions trigger that obligation.

The Four Freedoms the GPL Guarantees

The GPL is built around four freedoms, defined by the Free Software Foundation:

  1. Run the program for any purpose.
  2. Study how it works and change it (access to source code is a precondition).
  3. Redistribute copies to others.
  4. Improve the program and release your improvements to the public.

AAT Another Activity Tracker fits this model directly. Its source is published on GitHub, and a binary build is distributed through F-Droid. That combination — public source plus a redistributable binary — is exactly what the GPL is designed to enable.

Copyleft: The Key Difference From Permissive Licenses

The GPL is a copyleft license. Permissive licenses such as MIT or Apache-2.0 let you take the code, modify it, and ship it under a different (even proprietary) license. The GPL does not.

Aspect GPL MIT / Apache-2.0
View and modify source Yes Yes
Redistribute original Yes Yes
Distribute modified version under a proprietary license No Yes
Must share source of distributed derivative Yes No
Must keep license notices Yes Yes
Patent grant GPLv3 includes one Apache-2.0 includes one; MIT does not

So if someone forks AAT, adds a feature, and distributes the result, they must make that modified source available under the GPL. They cannot turn it into a closed-source paid app.

How This Plays Out for an Android App on GitHub and F-Droid

For AAT specifically, the practical consequences are:

  • You can install it freely. F-Droid hosts the binary; GitHub hosts the source. No license fee is implied by the GPL itself.
  • You can build it yourself. Because the source is on GitHub, you can compile your own APK from the same code.
  • You can fork and modify it. Want to change the cockpit view or the GPX editor? The GPL permits it.
  • If you distribute your fork, you must share the source. Publishing a modified APK to a store or sharing it with others triggers the copyleft requirement.
  • F-Droid's model aligns with the GPL. F-Droid builds from source and distributes binaries, which is consistent with the license's redistribution terms.

Common Misconceptions

  • "The GPL forces me to publish my changes." Only if you distribute the modified software. Private modifications for personal use carry no publication obligation.
  • "GPL software can't be sold." It can. The GPL permits selling copies; what it prevents is distributing modified versions without source.
  • "GPL and open source are the same thing." The GPL is one open-source license among many. Open source is the broader category; copyleft is the specific mechanism the GPL uses.
  • "Using a GPL app makes my own project GPL." Merely using AAT does not affect your other software. The copyleft obligation attaches to derivative works of the licensed code, not to unrelated programs.

What to Check Before Reusing GPL Code

If you plan to build on AAT or any GPL project:

  1. Confirm the exact version (GPLv2 vs. GPLv3) — the terms differ, especially around patents and anti-tivoization.
  2. Check whether the project is "GPLv2 only" or "GPLv2 or later."
  3. Verify that all dependencies are license-compatible.
  4. Decide upfront whether you intend to distribute; that determines your obligations.

For an end user, the takeaway is simpler: the GPL is what makes AAT's source inspectable and its builds reproducible, and it keeps any public fork open to the same scrutiny.