Files
STCourses/research_notes/Open source course platforms/established_lms.md
T
2026-10-30 02:37:38 +01:00

31 KiB
Raw Blame History

Established open-source LMS platforms (Open edX, Moodle, Canvas, Sakai, ILIAS, Chamilo) as a base, fork target, or reference for a self-hostable modern course platform

Research date: 2026-10-30. Method: web search and fetch, plus live GitHub API queries run on 2026-10-30 (repo metadata, release/tag lists, and stats/participation commit counts for the last 52 weeks). Budget was about 15 tool calls, so many feature-level details (standards, SSO, video) could NOT be re-verified this session. Those details appear only under "Inferences", marked [background knowledge, unverified 2026], or under Gaps. The report writer should treat them accordingly.

Q1. License, governance, backing org, release cadence, latest release (late 2026), GitHub health

Takeaway

All six are copyleft or permissive open source and all are active in late 2026, with one exception: the public Canvas repo has had no pushes since 30 Apr 2026. Moodle (GPLv3), Open edX (AGPLv3) and Chamilo (GPLv3) have the healthiest release trains. Open edX shipped Verawood (Jul 2026). Moodle 5.3 LTS shipped Oct 2026. Chamilo skipped a stable "2.0" and shipped v3.0.0 in Sep 2026. Two licenses carry network-use obligations: AGPL (Open edX, Canvas, Tutor) affects SaaS forks, whereas GPL (Moodle, ILIAS, Chamilo) does not trigger on network use. Sakai's ECL-2.0 is permissive (Apache-derived).

Cited Findings

GitHub snapshot (queried 2026-10-30 via GitHub API)

Repo License Stars / forks Last push Commits, last 52 wks Latest tags/releases
openedx/edx-platform AGPL-3.0 8,211 / 4,378 2026-10-29 1,254 named releases are branches/tags (see Verawood below)
moodle/moodle GPL-3.0 7,561 / 7,690 2026-10-21 3,228 v5.3.0 (after rc1, rc2), v5.2.4
instructure/canvas-lms AGPL-3.0 6,889 / 3,057 2026-04-30 4,314 (all before May) release/2026-05-20.143, v5.14.2
sakaiproject/sakai ECL-2.0 1,240 / 1,019 2026-10-29 823 25.2, 25.1, 25.0
ILIAS-eLearning/ILIAS GPL-3.0 505 / 429 2026-10-29 2,188 v11.5, v10.12, v9.24 (all 2026-10-06); v12.0_alpha tag
chamilo/chamilo-lms GPL-3.0 1,019 / 565 2026-10-29 5,950 v3.0.1 (2026-09-19), v3.0.0 (2026-09-09), v1.11.42 (2026-10-28)
overhangio/tutor AGPL-3.0 1,130 / 508 2026-10-29 n/a v22.0.3 (2026-10-27); v21.0.10 and v20.0.6 still patched
Sources: edx-platform, moodle, canvas-lms, sakai, ILIAS, chamilo-lms, tutor

Open edX

  • Verawood is the 22nd community release. The official notes say it shipped on 30 July 2026. Earlier doc versions and a third-party article said June 2026, so it slipped — Verawood release notes; edunext versions article (gives June 2026, which conflicts)
  • The release working group refused to ship Verawood until test completion was above 80% and no blockers remained — BTR 2026-06-22 meeting notes
  • Release/verawood.1 was tagged, with Tutor v22.0.0 packaging following — discuss.openedx.org announcement. Tutor v22.0.3 was out by 2026-10-27 — tutor releases
  • The cadence is two named releases a year: Ulmo (Dec 2025), then Verawood (mid-2026). Upcoming names are Willow, then Xylon (June 2027) — edunext; Verawood dev/op notes
  • Verawood product highlights: more granular team management, an AI Extensions Framework, a new Studio sidebar, and a new Instructor Dashboard — Verawood product notes

Moodle

  • Moodle 5.1 was released 6 Oct 2025. Bug fixes run until 5 Oct 2026 — MoodleDocs FR version history
  • Moodle 5.2 was released 20 Apr 2026 as a standard (non-LTS) release. One mirror lists 29 May, which conflicts — installatron feed; Moodle integration forum
  • Moodle 5.3 is the new LTS. A core-dev post gives the release date as 5 Oct 2026, and the GitHub tag v5.3.0 exists. With 5.3 out, 5.0 is out of support and 5.1 is security-only. 4.5 (the previous LTS) has security support until 4 Oct 2027 — moodle.org integration post; endoflife article; moodle GitHub tags
  • The cadence is two major releases a year (April and October), with every fourth release designated LTS — inferred from the 5.0 → 5.3 sequence above

Canvas LMS

  • License is AGPL-3.0. The public repo's last push was 2026-04-30 (the last commits are translation and accessibility tweaks), although release tags dated 2026-05-20 exist. No public announcement of discontinuation was found — canvas-lms repo; ossinsight
  • A secondary source (Portuguese review site, unverified) reports that in April 2026 Instructure restructured Canvas into three tiers (Core, Plus, Next) with AI features, and that the open-source self-hosted version still exists — bit4learn

Sakai

  • Sakai 25 moved to JDK 17. Sakai 25.2 is a maintenance release with 237 improvements and 4 security fixes (Dr. Chuck's blog, June 2026) — dr-chuck.com June 2026
  • License is ECL-2.0 (Educational Community License, which is Apache-2.0-derived and permissive) — sakai repo

ILIAS

  • ILIAS maintains three parallel supported branches: on 2026-10-06 it shipped v11.5, v10.12 and v9.24, and a v12.0_alpha tag exists — ILIAS repo; newreleases v11.3

Chamilo

  • Chamilo 2.0 alpha 1 ("Babaorum") came out 2024-07-20 with the warning "should not be used in production unless you have a full-time dedicated IT team" — chamilo changelog mirror, alpha 1
  • There is no stable 2.0 tag. The project went v3.0.0-RC.1, then beta.1 (2026-08-13), then v3.0.0 (2026-09-09), then v3.0.1 (2026-09-19). The legacy 1.11.x line is still being patched (v1.11.42, 2026-10-28) — chamilo-lms releases
  • I found no explanation for jumping from 2.0 to 3.0. Historically the "2.0" name was taken by the separate Chamilo LCMS codebase, which named its next version "3.0" — BeezNest 2010 post (this is old and may not be the current reason)
  • Backing org: the Chamilo Association, with BeezNest as the main commercial publisher — beeznest

Inferences

  • AGPL (Open edX, Canvas, Tutor, eox-tenant) requires publishing source modifications to users of a hosted SaaS fork. GPLv3 (Moodle, ILIAS, Chamilo) only requires source on distribution, so a modified SaaS fork can stay private, although plugins distributed to customers must be GPL. Sakai's ECL permits proprietary forks. [background knowledge of license terms; not legal advice]
  • Open edX governance: the Axim Collaborative (non-profit, formed after 2U acquired edX in 2021) stewards the project, and community working groups run releases (the BTR group cited above). [background knowledge, unverified 2026]
  • Moodle governance: Moodle HQ (Moodle Pty Ltd, a B-Corp) controls core, and certified Moodle Partners fund it. [background knowledge]
  • Sakai is governed by the Apereo Foundation. ILIAS is governed by the ILIAS open source e-Learning e.V. (Germany), whose membership is mostly German/Swiss universities. [background knowledge]
  • Canvas: the commit counter (4,314 in 52 weeks) shows that before 30 Apr 2026 Instructure was mirroring internal commits at a high rate. Six months of silence afterwards is a serious red flag for anyone planning to build on Canvas OSS, though it could be a mirroring pause rather than a policy change. This needs verification.
  • By commit volume Chamilo is very active (5,950 commits). Its contributor base is narrow and BeezNest-centric, and stars are low (about 1k).

Gaps

  • No official Instructure statement on the open-source repo after April 2026 was found. Contributor counts (unique humans) per repo were not retrieved; only commit totals were.
  • Official Moodle 5.3 release notes were not fetched directly. The date comes from a moodle.org forum post plus the GitHub tag.
  • The exact date of Sakai 25.0 was not found.

Q2. Tech stack, architecture, and operability (Docker/Tutor, resources, homelab vs. scale)

Takeaway

Moodle, ILIAS and Chamilo are PHP monoliths that can run on a single small VM. Open edX is a Python/Django platform plus many React MFEs, best run via Tutor (Docker Compose or Kubernetes), and it is the heaviest to operate. Canvas is a Rails plus React monolith with no official Docker production image and a heavy build. Sakai is a large Java/Tomcat webapp.

Cited Findings

Open edX

  • Verawood made new MFEs the default (Catalog MFE and Instructor Dashboard MFE). Willow will remove the legacy catalog — Verawood dev/op notes
  • The frontend architecture is still changing. Verawood is the first release to support "frontend-base", and "by Xylon (June 2027), all Open edX MFEs will have been converted to frontend-base apps". This is ongoing churn for anyone who customizes UI — same
  • In Verawood, "PostgreSQL is now supported as a backend (fresh installs only)". MySQL/MariaDB was historically the only option. Search requires Typesense Server >= v30.0. Analytics (Aspects v4.0.0, which uses Python 3.12) is a breaking upgrade. Course IDs became case-insensitive-unique, and the migration can fail with IntegrityError on duplicates — same
  • Built-in XBlocks (including the LTI block) were extracted to xblocks-core, and Legacy Libraries are deprecated in favour of Content Libraries — same
  • Tutor is the community-supported Docker distribution "suited for both production and development". The official docs expect operators to be comfortable with the CLI and with diagnosing system problems — Open edX installation docs
  • The pre-Tutor native install had "very high complexity" and no upgrade path. Tutor's upgrade commands were created to address that — discuss: native installation thread; Tutor FAQ; OEP-45 decision
  • Comparison blogs describe it as "a microservices platform, not a PHP app" with a DevOps burden far greater than Moodle's — selfhosting.sh; fulcrum.rocks (secondary/vendor sources)

Moodle

Canvas

  • "requires building from source — there's no official Docker image" and "requires 6+ GB RAM for asset compilation during setup". The open-source core is described as the hardest of the three (with Moodle and Open edX) to operate independently — selfhosting.sh; fulcrum.rocks (secondary sources)
  • Primary language is Ruby — GitHub

Sakai

Chamilo

  • 3.0 (formerly the 2.0 branch) is based on Chamilo 1.11.10. It uses Symfony as the main controller, "except for some legacy tools not yet converted", with Vue.js (Vue 3) and TailwindCSS on the frontend — changelog mirror; BeezNest
  • v3.0.0 added DB/web server/PHP caching metrics in admin, signed update-package verification, and an "experimental web update feature" — v3.0.0 release notes

Inferences

  • [background knowledge, unverified 2026] Open edX: edx-platform (LMS plus CMS/Studio) is a Django monolith. The surrounding services are MySQL, MongoDB (course structure and blob storage, historically), Redis, Meilisearch/Typesense, Celery workers, Caddy, and many React MFEs. Tutor's often-quoted minimum is about 4 GB RAM / 2 CPU with 8 GB recommended. In practice a single-node homelab is possible but uses 8 GB or more. Tutor's k8s mode (tutor k8s) serves scale.
  • [background knowledge] Moodle 5.x needs PHP 8.2+ and runs on PostgreSQL, MySQL, MariaDB or MSSQL. It is a classic server-rendered monolith with Mustache templates and AMD/ES JS, and needs a cron job. It runs comfortably on 2 GB RAM for small sites. Moodle HQ ships moodle-docker for development only, with no official production image.
  • [background knowledge] Canvas needs PostgreSQL, Redis, and a delayed-jobs worker, and serves a React/InstUI frontend. Real-time features, RCE, Canvas Studio and New Quizzes are separate services, several of them closed.
  • [background knowledge] ILIAS is PHP plus MySQL/MariaDB and is server-rendered with its own "KitchenSink" UI framework. It has no official Docker production image, though community images exist.
  • Ranking for homelab single-node: Moodle ≈ Chamilo ≈ ILIAS (easy) > Sakai (moderate, JVM memory) > Open edX via Tutor (heavy but scripted) > Canvas OSS (hard, unofficial).

Gaps

  • Tutor's official minimum RAM/CPU could not be retrieved; the docs fetch returned empty and the repo path lookup failed.
  • No primary-source resource numbers were found for Sakai, ILIAS or Chamilo 3.

Q3. Extensibility (plugins, theming, APIs, headless) and multi-tenancy

Takeaway

Moodle has the deepest plugin ecosystem, and Open edX the most "platform-like" extension points (XBlocks, Django plugins, hooks/filters, frontend slots). Canvas is extended mainly through LTI and its REST/GraphQL API rather than in-code plugins. Multi-tenancy comes in different forms: Open edX through eox-tenant (eduNEXT, AGPL), Moodle through commercial Workplace or open-source IOMAD, and Chamilo through "multi-URL", which became hierarchical in 3.0.

Cited Findings

  • Open edX extension points: frontend plugin slots (for example org.openedx.frontend.slot.instructorDashboard.tabs.v1) replace older server-side filters such as org.openedx.learning.instructor.dashboard.render.started.v1. That is evidence of a hooks/filters plus slots extension model that is still changing. Verawood also adds an "AI Extensions Framework" — Verawood dev/op notes; product notes
  • Open edX AuthZ RBAC is opt-in for course authoring, and the legacy permission system is planned for removal in Xylon — Verawood dev/op notes
  • eox-tenant (Open edX multi-tenancy plugin by eduNEXT): AGPL-3.0, 13 stars, latest release v14.4.0 on 2026-06-30. It is maintained but niche — eduNEXT/eox-tenant
  • Moodle Workplace offers multi-tenancy with "completely isolated" tenants, each with its own look, structure, users and learning entities. It is sold only through partners, with no public price. Partner estimates are about $6k/yr for 250 users, $12k/yr for 1,000 users, and $42k/yr for 10,000 users — enovation; compono 2026 (estimates, vendor content)
  • IOMAD is free, open-source multi-tenant Moodle maintained by E-Learn Design. It supports per-tenant delegation of admin and reporting — e-learndesign
  • MoodleCloud reportedly no longer has a permanent free plan. Paid tiers run about $130–200/yr for 50 users, with a 750-user cap, no custom plugins, and no multi-tenancy — compono; synergy-learning Sept 2026 (secondary sources)
  • Chamilo 3.0 added "hierarchical URLs and a global multi-URL panel" (its multi-portal/tenant mechanism), an MCP server for AI clients (course creation, documents, tests, learning paths, progress, tickets), and an "external API authentication mechanism for external plugins". It also re-enabled all 1.11.x plugins — v3.0.0 release notes. BeezNest claims a "full REST API" — BeezNest (vendor marketing)
  • Moodle AI subsystem: 5.1 added DeepSeek as a provider alongside OpenAI and others — Open LMS highlights

Inferences

  • [background knowledge, unverified 2026]
    • Moodle has about 2,000 plugins in its directory across roughly 50 plugin types (mod, block, auth, enrol, local, theme, paygw, etc.), plus a Web Services REST/SOAP API (function-based, token auth). It is not truly headless, though the Moodle App uses that API.
    • Open edX has REST APIs across services and a "headless" pattern used by some providers, but no GraphQL.
    • Canvas has a very complete, well-documented REST API plus partial GraphQL, and accounts/sub-accounts give hierarchical (not fully isolated) tenancy. It is the best API for headless use, but its OSS future is uncertain.
    • Sakai has a tool/webapp plugin model and REST APIs, with tenancy through "sites".
    • ILIAS has a plugin slot system and SOAP, with REST still limited.

Gaps

  • Moodle plugin counts, Canvas GraphQL coverage, and Sakai/ILIAS API details were not verified this session.

Q4. Content standards (SCORM, xAPI, cmi5, LTI 1.3, QTI, Common Cartridge)

Takeaway

Only partially verified this session. Chamilo 3.0 made notable SCORM 2004 runtime improvements, and Open edX moved its LTI block into xblocks-core. The other standards claims below are background knowledge.

Cited Findings

  • Chamilo 3.0 added SCORM 2004 adl.nav.request (except jump/choice), per-objective progress_measure, cmi.interactions.n.description, learner_preference fields, and a setting to auto-complete bad SCOs. Its course export targets .mbz, the Moodle backup format — v3.0.0 release notes
  • Open edX's LTI Block was extracted to xblocks-core, and the built-in code is deprecated — Verawood dev/op notes

Inferences

  • [background knowledge, unverified 2026]
    • Moodle: SCORM 1.2 is solid but SCORM 2004 support is partial. It is an LTI 1.3/Advantage-certified tool and platform. It imports/exports IMS Common Cartridge, has no native xAPI/cmi5 player (plugins and Logstore xAPI exist), and imports QTI only via plugins.
    • Open edX: SCORM via the community/Overhang openedx-scorm-xblock. LTI 1.3 consumer via the LTI XBlock, plus LTI provider support. Aspects (ClickHouse/Superset) is xAPI-based analytics. Weak on CC/QTI.
    • Canvas: strong LTI 1.3/Advantage (Instructure is a major IMS member), Common Cartridge and QTI import/export. SCORM requires a separate (historically hosted) service.
    • Sakai: LTI 1.3 is strong (Dr. Chuck led LTI work). It supports Common Cartridge and QTI in Samigo, and SCORM through a player tool.
    • ILIAS: strong certified SCORM 2004 support, with xAPI/cmi5 objects (ILIAS was an early cmi5 adopter), LTI consumer and provider, and QTI in tests.

Gaps

  • No primary-source verification of IMS certification status (LTI Advantage, CC, QTI) per platform in 2026. IMS's product directory should be checked.

Q5. Video, commerce/payments, SSO, certificates, learning paths/programs, assessments, analytics

Takeaway

Commerce is weakest exactly where a "Udemy-style" platform needs it most. Open edX deprecated its legacy ecommerce service, last tagged for Redwood, and the replacement (Commerce Coordinator) remains unclear. Moodle has payment-gateway plugins. Chamilo has a BuyCourses plugin with subscriptions. Video transcoding/HLS is not native to any of these platforms (unverified).

Cited Findings

  • Open edX ecommerce: legacy ecommerce (Django Oscar) was deprecated (DEPR #22), with the 1 Apr 2022 deprecation target missed. Docs say it was "last tagged for the Redwood release" and "We are not fixing bugs or developing new features for it." The replacement was meant to be the Commerce Coordinator, a modular Django service with plugin apps for payment-provider webhooks, driven by 2U's needs. Stripe was planned for Palm — DEPR #22 thread; Oscar stack deprecation; ecommerce deprecated docs; Commerce Coordinator talk 2023
  • Open edX Verawood: the Learning MFE's notifications panel was replaced by an "Upgrade" widget. Notifications are now on by default, with digests via Celery. Custom video storage settings in edx-val are deprecated in favour of Django STORAGES. The temporary SAML toggle was removed (SAML support is now permanent) — Verawood dev/op notes
  • Chamilo 3.0:
    • Gradebook and certificates: certificate expiry dates and reminders, plus customizable grading modes
    • Exercises: a progressive adaptive mode and an OnlyOffice editor
    • Commerce: monthly and yearly service tabs in the BuyCourses plugin
    • Learning paths: date-based access
    • AI: an AI course analyzer, a "Student Success AI Coach", and Anthropic Claude as a provider
    • Source: v3.0.0 release notes
  • Moodle 5.1: TinyMCE usability changes, activity permalinks, and course-level AI controls — Catalyst; enovation

Inferences

  • [background knowledge, unverified 2026]
    • Moodle:
      • Payments: core payment subsystem since 3.10, with a PayPal gateway in core and Stripe and others as plugins. "Enrolment on payment" is per course, with no cart or bundles natively.
      • SSO: SAML via auth_saml2 (Catalyst), OAuth2/OIDC in core, LDAP in core.
      • Paths and certificates: Workplace adds programs and certifications; open-source Moodle uses course completion, competencies, and the Custom Certificate (mod_customcert) plugin.
      • Analytics: core reports plus Report Builder.
      • Video: plain file or embed. Captioning and transcoding need external services or plugins (e.g. Kaltura or Panopto, both commercial).
    • Open edX:
      • Video: edx-val with an external video pipeline (VEDA was edX-internal). Most self-hosters embed YouTube/Vimeo or S3 HLS.
      • Certificates: built-in. Programs require course-discovery and credentials services.
      • Analytics: Aspects, built on ClickHouse and Superset.
      • SSO: third-party auth (SAML, OAuth2/OIDC) built in.
    • Canvas: SAML, LDAP, OIDC and CAS in core. Canvas Studio (video), New Quizzes, Catalog (commerce), Credentials and Canvas Data are proprietary or SaaS-only, so the OSS edition lacks them.
    • Sakai and ILIAS: strong in SAML/LDAP/Shibboleth for universities, weak in commerce. ILIAS has a shop module, historically limited.

Gaps

  • Current state of the Commerce Coordinator (is it released, and is it usable outside 2U?) was not verified. No details on a Tutor Stripe plugin were found.
  • No primary verification of HLS/transcoding capabilities on any platform.

Q6. UX modernity and operator pain points

Takeaway

Canvas is still regarded as having the best learner/teacher UX. Moodle remains functional but dated, despite the 4.x/5.x refreshes. Open edX's UX is modernizing but is in permanent MFE migration churn. Chamilo 3.0 offers a fresh Vue 3 UI, though it is less proven. Reddit/selfhosted first-hand reports were not retrieved.

Cited Findings

  • Canvas is "consistently" rated higher for usability than Moodle by students and teachers — selfhosting.sh; ibl.ai comparison (secondary/vendor)
  • Moodle 5.1's UI/UX changes are evolutionary, covering TinyMCE, course building and activity menus — 3rdwavemedia
  • Chamilo 2.0/3.0 redesigned the main interface with a retractable left menu, Vue 3 and Tailwind — interoperable-europe Chamilo news; changelog mirror
  • Open edX operator pain, evidenced in primary release notes:
    • legacy frontends removed release by release
    • MFE → frontend-base conversion through mid-2027
    • breaking analytics (Aspects v4)
    • Typesense version pinning
    • MariaDB table-lock migrations (edx-enterprise UUID conversion)
    • localStorage keys renamed without migration
    • Legacy Libraries deprecated, with forced migration
    • the release slipped on test coverage
    • Sources: Verawood dev/op notes; BTR notes
  • Canvas OSS pain: no official Docker image and a heavy build, plus the repo has been silent since April 2026 — selfhosting.sh; GitHub

Inferences

  • Commonly reported complaints, [background knowledge, not re-verified with 2026 forum threads]:
    • Moodle: cluttered admin UX, a steep settings learning curve, and plugins breaking across major upgrades. The 5.1 /public move breaks web-server configs.
    • Open edX: the Tutor upgrade ritual twice a year, theming across many MFEs being laborious, and Studio authoring being clunky. Many small operators end up on paid hosting (e.g. eduNEXT, Edly, OpenCraft).

Gaps

  • No r/selfhosted, r/moodle or discuss.openedx.org operator threads from 2025–2026 were retrieved (the search returned none). This should be filled by a follow-up search.

Q7. Fit assessment: base, fork target, or reference

Takeaway

For a Pluralsight/Udemy-style, self-hostable, customizable course platform, the six options sort as follows:

  • Open edX: the strongest base for a "course marketplace/MOOC" model. It has modern React MFEs, XBlocks, certificates, Tutor, and multi-tenancy via eox-tenant. The trade-offs are heavy ops, AGPL, and commerce you must build or bolt on.
  • Moodle: best as a reference or for plugin-based customization. It is easy to run, but its UX/architecture is the opposite of "modern course catalog".
  • Canvas OSS: a risky fork target given repo inactivity and proprietary pieces. Best used as a UX/API reference.
  • Sakai and ILIAS: university-centric references, with ILIAS strongest on standards (unverified).
  • Chamilo 3.0: a dark-horse lightweight base. It is newly stable (Sep 2026), PHP/Symfony/Vue, GPL, has multi-URL tenancy, a BuyCourses plugin and an MCP server, but its maturity is unproven.

Cited Findings

  • Open edX is suited to MOOC-scale delivery, while Moodle is the lowest-friction self-host — fulcrum.rocks; selfhosting.sh
  • See the Q1–Q6 citations for the facts underlying each judgment.

Inferences

  • A fork of edx-platform is ill-advised. It moves fast, its own release notes show breaking changes every six months, and AGPL applies. Building on top of it via plugins/MFE slots, or as a headless backend, is the realistic path.
  • Moodle's GPL allows private SaaS modifications, but its server-rendered architecture makes a "modern SPA" front end a rewrite on top of web services.
  • Chamilo 3.0 warrants a hands-on evaluation as the lightest modern-stack option.

Gaps

  • No hands-on validation was done. Fit judgments are synthesized from the cited facts plus flagged background knowledge.