Still Maintained

Self-hosted Content Management Systems (CMS): what licence are you actually agreeing to

“Self-hosted” and “open source” are not the same promise, and the lists that recommend these projects rarely separate them. This page sorts 48 content management systems (cms) projects by the licence you are actually agreeing to, as read on 2026-08-20.

21 of 48 are permissive: run them, change them, keep your changes to yourself. 6 are AGPL, where serving a modified copy over a network obliges you to publish those changes, which is the clause that catches people who self-host for a team. 3 are not open source at all, carrying a proprietary or restricted-use licence. The remaining 16 are ordinary copyleft.

ProjectLicenceWhat that meansStarsMaintenanceLanguage
StrapiMITPermissive, no strings72,973ActiveTypeScript
Payload CMSMITPermissive, no strings44,282ActiveTypeScript
WagtailBSD-3-ClausePermissive, no strings20,443ActivePython
KeystoneJSMITPermissive, no strings9,960ActiveTypeScript
UmbracoMITPermissive, no strings5,228ActiveC#
ApostropheMITPermissive, no strings4,602ActiveJavaScript
SquidexMITPermissive, no strings2,509ActiveC#
PublifyMITPermissive, no strings1,856ActiveLess
WinterCMSMITPermissive, no strings1,509ActivePHP
BluditMITPermissive, no strings1,464ActivePHP
AutomadMITPermissive, no strings927ActiveTypeScript
Concrete 5 CMSMITPermissive, no strings851ActivePHP
CockpitMITPermissive, no strings743ActivePHP
WonderCMSMITPermissive, no strings735ActivePHP
TypemillMITPermissive, no strings613ActiveJavaScript
Bolt CMSMITPermissive, no strings591ActivePHP
ExpressaMITPermissive, no strings452ActiveJavaScript
REDAXOMITPermissive, no strings353ActivePHP
LocalessMITPermissive, no strings74ActiveTypeScript
PushwordMITPermissive, no strings24ActivePHP
SilverStripeBSD-3-ClausePermissive, no strings-Not measuredPHP
WordPressGPL-2.0Copyleft, publish your changes21,349ActivePHP
Joomla!GPL-2.0Copyleft, publish your changes5,124ActivePHP
PimcoreGPL-3.0Copyleft, publish your changes3,834ActivePHP
MODXGPL-2.0Copyleft, publish your changes1,404ActivePHP
HTMLyGPL-2.0Copyleft, publish your changes1,358SlowingPHP
TYPO3GPL-2.0Copyleft, publish your changes1,204ActivePHP
Backdrop CMSGPL-2.0Copyleft, publish your changes1,043ActivePHP
TextpatternGPL-2.0Copyleft, publish your changes881ActivePHP
OmekaGPL-3.0Copyleft, publish your changes549ActivePHP
ContaoLGPL-3.0Copyleft, publish your changes436ActivePHP
Alfresco Community EditionLGPL-3.0Copyleft, publish your changes227ActiveJava
d9GPL-3.0Copyleft, publish your changes144ActiveTypeScript
CMS Made SimpleGPL-2.0Copyleft, publish your changes-Not measuredPHP
DrupalGPL-2.0Copyleft, publish your changes-Not measuredPHP
NeosGPL-3.0Copyleft, publish your changes-Not measuredPHP
SPIPGPL-3.0Copyleft, publish your changes-Not measuredPHP
MediaCMSAGPL-3.0AGPL, network copyleft5,067ActiveJavaScript
Ech0AGPL-3.0AGPL, network copyleft2,044ActiveGo
eLabFTWAGPL-3.0AGPL, network copyleft1,400ActivePHP
Vvveb CMSAGPL-3.0AGPL, network copyleft1,171ActiveHTML
SuperdeskAGPL-3.0AGPL, network copyleft747ActiveShell
NoosferoAGPL-3.0AGPL, network copyleft-Not measuredRuby
october⊘ ProprietaryNot open source, restricted use11,144ActivePHP
CraftCMS⊘ ProprietaryNot open source, restricted use3,601ActivePHP
Kirby⊘ ProprietaryNot open source, restricted use1,527ActivePHP
CouchCMSCPAL-1.0Unstated or unclassified375ActivePHP
PloneZPL-2.0Unstated or unclassified-Not measuredPython

What the licence column means

The Maintenance column is a second, independent check: the age of the most recent commit on the default branch, read from the GitHub API on 2026-08-20. Active is within 180 days, Slowing is 180 to 365, Dormant is over a year, Archived means the maintainer marked the repo read-only, and Not measured means the project is hosted outside GitHub so the check does not apply.

Source data from awesome-selfhosted-data, used under CC BY-SA 3.0. Licence family grouping and maintenance status are computed by this site (from the upstream licence fields and the GitHub API) and are not part of the upstream dataset. Licence classification is a summary, not legal advice: check the project’s own LICENSE file before you rely on it. This page is published under the same licence.