What a course platform really costs and what it depends on
The cost of a course platform depends on catalog size, sales model, integrations, video volume, compliance duties and who operates the platform after launch. Those six factors decide whether an in-house build, an implementation partner or a SaaS course platform is the lower-cost path over the life of the program, and no single figure holds across organizations. Ask every option to price the same written scope before comparing.
The open-source course software carries no license fee. *Open edX* is licensed under AGPL-3.0 and *Moodle* under GPL-3.0, so the money goes to hosting, setup, theming, payment configuration, video delivery, analytics, upgrades and staff time. Most of that is one-time work (initial build, theme design, payment and tax setup, integration with identity and CRM) followed by recurring work (cloud or data center capacity, monitoring, backups, security patching and named-release upgrades). Open edX supports only its latest named release, so budget for upgrade projects on a fixed cadence rather than treating them as optional.
SaaS course platforms usually charge a subscription, a share of sales or both, and that cost scales with revenue rather than with infrastructure. The comparison therefore turns on who pays for each line item. Ask a SaaS vendor which fees apply to payment processing, video storage, extra learners, custom domains and data export, and ask an implementation partner for a quote that separates hosting, one-time setup, support retainer and upgrade work. Confirm which Moodle or Open edX version each option will run, and who holds the operating responsibility when a named release reaches end of support.
Cost components for in-house, partner and SaaS delivery
This table compares who pays for each cost component under an in-house build, an implementation partner, and a SaaS course platform, and whether each cost is one-time or recurring. Moodle is licensed under GPL-3.0 and Open edX under AGPL-3.0, so software licensing is not a line item in the self-hosted columns, but hosting, setup and operating labor are. SaaS fees are set by each vendor and must be confirmed in its contract before comparing totals.
| Cost component | In-house build | Implementation partner | SaaS platform |
|---|---|---|---|
| Hosting Open edX or Moodle | Your cloud or data center bills, plus staff to size, patch and monitor servers (recurring) | Hosting bills in your accounts or the partner's, set in the written scope (recurring) | Included in the vendor subscription; confirm data location and exit terms (recurring) |
| Ecommerce and payment setup | Internal effort to configure gateways, tax and invoicing; payment processor fees (one-time setup, recurring fees) | Partner fee for configuring gateways and checkout, plus processor fees (one-time setup, recurring fees) | Vendor share of sales or subscription fee plus payment processing; confirm the exact percentage in the contract (recurring) |
| Theming and branding | Internal designers and developers (one-time, with ongoing changes) | Fixed-scope theme work, then changes billed per request (one-time, then recurring) | Limited to vendor theme options; custom work may carry an extra fee (one-time or recurring) |
| Video delivery | Storage and streaming bills, CDN and encoding tools, plus staff time (recurring, scales with library size) | Partner sets up video hosting and may resell it; confirm who holds the storage account (recurring) | Often bundled into plans with viewing limits; confirm bandwidth and storage caps (recurring) |
| Analytics and reporting | Internal data engineering for dashboards and event pipelines (one-time build, recurring upkeep) | Partner builds dashboards and reporting pipelines in scope (one-time, then support) | Included reports, with extra fees for export or advanced analytics; confirm data access (recurring) |
| Identity integration | Internal effort to connect SSO, SAML or LDAP (one-time, with recurring maintenance) | Partner connects identity providers as scoped work (one-time, then support) | Vendor offers standard SSO on certain plans; enterprise connectors may cost more (recurring) |
| Upgrades and support | Internal staff track named releases and test upgrades (recurring, effort depends on customization) | Retainer for upgrades and support, separate from the build (recurring) | Included in subscription, with feature timing set by the vendor (recurring) |
| Operations staffing | Dedicated platform, security and course operations roles (recurring, largest ongoing cost) | Partner runs or shares operations under a retainer; your internal owner remains needed (recurring) | Vendor staff run the platform; your team still manages content and learners (recurring) |
What moves the cost up or down
Six decisions shape the cost of a course platform more than the choice of software alone. Each one changes who does the work, how often it recurs, and how much of the platform you carry after launch. Check them in this order before you ask any partner or SaaS vendor for a quote.
Open edX or Moodle, and the release path
Open edX supports only the latest named release, and Verawood is the current one, with Willow planned for December 2026 and Xylon for June 2027. Moodle runs LTS branches, and Moodle 5.3 is the next LTS. A platform on a release that falls out of support must be upgraded, which is recurring labor. Ask the partner which release path they will commit to, how many upgrades fall inside your support term, and who tests custom plugins at each step.
Learner volume and cohort launches
Concurrent learners drive the size of the hosting footprint, the database and cache layers, and the load testing you need before a launch. Steady enrollment costs less to run than bursts around a cohort start date. Ask for the expected peak concurrency, the launch calendar, and whether load testing and extra capacity for launch weeks are in scope or billed separately.
Paid versus free courses and tax scope
Selling courses adds a storefront or payment gateway, refund and coupon handling, tax calculation, invoices and the card data controls that come with taking payments. Free delivery avoids most of that work. Ask whether tax, invoicing and payment reconciliation are built and maintained by the partner, and how payment handling affects your PCI DSS scope.
Video hosting volume
Video is usually the largest recurring infrastructure line on a course platform. Storage, transcoding and bandwidth grow with the library and with the number of viewers, and a CDN adds a second recurring service. Ask whether video stays on your own storage or uses an external host, how transcoding is handled, and what your partner charges for managing that pipeline after launch.
Integrations with student, CRM and identity systems
Each connection to a student information system, CRM, payment provider or identity provider is a separate build, test and maintenance item. Open edX supports SAML 2.0, OAuth2 and LTI for third-party authentication, and Moodle core includes LDAP, LTI, OAuth 2 and Shibboleth. Count every system the platform must read from or write to, and ask which integrations are in the fixed scope and which are change requests.
Accessibility and data residency obligations
Accessibility work, such as WCAG conformance testing and remediation of custom theme and plugin code, is an up-front cost and recurs with each release. Data residency requirements can rule out some hosting options and require dedicated infrastructure in a specific region, which raises the hosting bill. Ask which obligations apply to your organization, who produces the evidence, and whether testing is repeated after each upgrade.
Why upgrades and hosting are the recurring cost
Hosting and upgrades are the costs that keep arriving after launch, and they differ sharply between Moodle and Open edX. Moodle ships major releases every six months, and each release carries its own support window. Moodle 5.3 is the next long-term support release, with security fixes until 1 October 2029, while Moodle 5.1 general support ends on 5 October 2026. A team running 5.1 today should plan its move to a supported line before general support lapses, not after. Confirm with your partner which Moodle line the platform will sit on at launch and how long that line stays covered.
Open edX takes a different position. The project supports only its latest named release, so an installation has to keep pace with each release. Verawood is the current release, Willow is planned for December 2026 and Xylon for June 2027. Each move means testing custom themes, plugins, identity integrations and the analytics pipeline against the new version. Ask a partner to describe how they will track release dates, how many environments they will use for rehearsal, and whether the upgrade effort is priced into a retainer or quoted separately each time.
Upgrade effort is rarely just a version bump. Moodle 5.1 requires that the web server document root point to the new public directory rather than the main Moodle folder, so a server configuration that worked before can show directory listings or errors after the move. Moodle 5.3 requires 64-bit PHP 8.3 or later, PostgreSQL 17, MySQL 8.4, MariaDB 11.4 or SQL Server 2019 or later, and it can only be upgraded from Moodle 4.4 or later. Those requirements can force operating system, database and PHP changes on the same schedule as the application. Ask for a written list of prerequisites for each target release and a hosting plan that covers the infrastructure changes, not only the application.
How to build your own cost estimate
This sequence turns a vague question about course platform cost into a like-for-like comparison of in-house, partner and SaaS options over the same period, using the same scope for each. Each step produces a written input that the next one depends on.
Define the catalog and sales model
Start by writing down what the platform will sell or deliver: the number of courses at launch, whether they are free, paid, subscription or cohort-based, and who the buyers are. Product or learning leads own this step, with finance input on pricing and refunds. It is done when one page lists each course type, its price model and its expected audience, so every cost option is priced against the same catalog.
List the integrations the platform must support
Inventory every system the course platform must connect to: identity provider or single sign-on, payment gateway, tax and invoicing tools, CRM, marketing site, certificate or badge services, and reporting. IT and the system owners should confirm which integrations are needed at launch and which can follow later. It is done when each integration has an owner and a note on whether it is custom work, a plugin, or a standard connector, because integration effort is one of the largest cost drivers in every option.
Size video and learner volume
Estimate how many learners will enroll, how many will watch video at the same time during launches, and how much video the catalog contains and where it will be stored. Platform engineering and the content team should own this. Ask each candidate partner and SaaS vendor for their hosting, bandwidth and storage terms in writing, since video delivery and traffic often recur as the largest variable cost. It is done when you have a learner forecast and a video inventory that every quote must price against.
Choose the platform and release path
Decide between Open edX and Moodle based on the course model, then record the release path you will commit to. For Open edX, note that only the latest named release is supported, so the upgrade cadence becomes a recurring cost. For Moodle, note the LTS and security support windows and the PHP and database versions each release requires. It is done when the chosen platform and its upgrade policy are written down, because the upgrade plan determines how many times the platform is rebuilt over the comparison period.
Separate one-time setup from recurring costs
Split every cost line into one-time items, such as initial installation, theming, integration builds, data migration and security testing, and recurring items, such as hosting, storage, bandwidth, payment fees, licenses for add-ons, support, monitoring, backups, upgrades and staff time. Finance and the platform owner should review the split together. It is done when each line has a type and a frequency, which prevents a low setup quote from hiding a high monthly run cost.
Price each option on the same scope
Build three estimates: in-house staff, a partner fixed-scope quote, and a SaaS subscription or revenue share. For in-house, cost the people who will hire, operate, upgrade and support the platform, including on-call coverage. For a partner, use the written scope and deliverables. For SaaS, apply the subscription tiers and any percentage of sales to your forecast. It is done when each option shows the same catalog, learner volume and integrations, so the differences reflect the delivery model rather than different assumptions.
Compare over a stated period and request written quotes
Choose a comparison period that matches your planning horizon, then total the one-time and recurring costs for each option across that period. Ask every partner and SaaS vendor for written quotes that cover the same scope, exclusions, upgrade commitments and exit terms. Procurement and the budget owner should review the results. It is done when the comparison shows where each option is cheaper, where it carries risk, and which assumptions would change the answer, and when every number traces back to a written source.
When a SaaS course platform costs less and when it costs more
A SaaS course platform usually costs less when your catalog is small and standard, your sales volume is modest, and you need few integrations beyond checkout and a login. You pay a subscription, or the vendor takes a share of each sale, and the vendor carries hosting, upgrades and most of the operating work. For a single team selling a handful of courses with stock branding and a basic email tool, that trade is often sensible. The cost question changes when the platform has to do more than the vendor's template allows. Confirm in writing the subscription tiers, any per-learner or per-seat charges, the revenue share and whether it applies to bundles, refunds and coupons, the fees for custom domains and single sign-on, and what happens to your fee rate as volume grows.
Self-hosting changes the economics in four places. First, data residency: if learner records, payment-related data or identity data must stay in a particular jurisdiction or inside your own cloud account, a shared SaaS tenant may not meet that rule without contractual and technical work. Second, owned integrations: when the platform must write completion and enrolment data into your CRM, HR or student information system, your own code and its maintenance cost stay with you, but so does control over the interface. Third, custom identity: federating with your corporate directory or a government login through SAML 2.0, OAuth 2 or LTI is possible on Open edX and Moodle, but a SaaS vendor may charge extra for it or restrict which providers you can use. Fourth, high sales volume: a percentage revenue share grows with every sale, so a platform that is cheap at launch can cost more than a fixed-cost deployment once revenue is large. Model both paths with your own sales forecast, not the vendor's example.
Before you compare totals, confirm the vendor's fee structure, data location and export terms in writing. Ask where learner and transaction data is stored and processed, whether you can export complete course content, enrolments, certificates and analytics in an open format, what happens to them on termination, and how long the export takes. Ask which upgrades are included and which are charged separately. A self-hosted option carries its own recurring costs, including hosting, upgrades to the named Open edX or Moodle release, and support, so the comparison should cover both sides with the same assumptions.
Which delivery option fits which situation
Building in-house means your own staff install, configure, theme, integrate and operate Open edX or Moodle. This fits teams that already run Linux, PHP or Python services, have a named long-term platform owner, and expect the course catalog to grow beyond what a template store can handle. Your organization pays for every role: platform engineers, a developer for theming and plugins, a database administrator, and staff for security patching and backups.
- Payroll and skills: Salaries for the operations team are the largest recurring cost, and they continue after launch whether or not sales are strong.
- Infrastructure: Compute, storage, database, cache and video delivery are billed by your cloud or data center provider and rise with learner numbers.
- Upgrades: Open edX supports only its latest named release, and Moodle major releases arrive twice a year, so upgrade work is a standing budget line.
- Main risk: A single engineer who knows the stack can leave, leaving the platform unpatched.
Confirm before committing that you can name the platform owner, the on-call rota and the upgrade calendar for the release you choose.
A partner on fixed scope plans, implements, themes, integrates, hardens and documents the platform in your own infrastructure under a written scope, deliverables and timeline. This fits teams that need setup, theming, identity and payment integration and a clean handover, but want to keep the data and hosting under their control. DeployOpen works this way: its engagements are fixed-scope, and ongoing support and upgrades are available as retainers.
- One-time project fee: You pay for discovery, configuration, theming, integrations, testing and handover, quoted from the written scope rather than from a price list.
- Hosting and licences: Your cloud or data center accounts pay for infrastructure directly, and open-source licences carry no fee for Open edX (AGPL-3.0) or Moodle (GPL-3.0).
- Recurring support: Upgrades and operations after launch are either handed to your team or covered by a retainer, which should be priced separately.
- Main risk: Scope that is too narrow leaves payments, certificates or analytics unfinished at handover.
Confirm who owns the source code of customizations, who holds administrator credentials at handover, and how release upgrades are scheduled and priced.
A SaaS course platform is a hosted product run by the vendor, charging a subscription, a share of sales, or both. It fits standard catalogs that need a fast launch, minimal branding changes and no platform ownership. The trade-off is that the vendor controls the release calendar, the data location and the terms under which you can export learner records.
- Subscription fees: Recurring charges usually scale with plan tier, learner count or features, so the annual total depends on growth.
- Revenue share: Where a platform takes a percentage of sales, that cost rises with every course sold and is easy to underestimate in a model.
- Add-ons: Video hosting, advanced analytics, payment gateways and extra integrations are often billed separately.
- Main risk: Migration out is costly if export formats for learner progress, certificates and payment records are limited.
Confirm the fee basis, the data export format, where learner data is stored, which accessibility conformance report the vendor publishes, and the notice period for price changes.
Questions buyers ask about course platform cost
How much does a self-hosted course platform cost to build and run?
A self-hosted course platform costs more in people and infrastructure than in software, and the total depends on the platform, the scope and how many learners you serve. The main one-time costs are the implementation work: installation, theming, ecommerce and payment setup, identity integration, video delivery, analytics and testing. The recurring costs are cloud or data center hosting, backups, monitoring, security patching, upgrades and support staff or a support retainer. Ask any provider for a written quote that separates one-time work from annual run costs, and for the assumptions behind hosting sizing, such as expected concurrent learners and video volume.
Do Open edX or Moodle licenses add to the cost?
No, the software license is not a cost for either platform. Moodle is licensed under GPL-3.0 and Open edX under AGPL-3.0, so you can download, install and run them without a per-learner or per-seat license fee. The cost comes from the work around the software: hosting, configuration, customization, integrations, security operations and upgrades. Be cautious about add-ons. Some plugins, managed hosting tiers and commercial support contracts carry their own fees, so confirm each one separately in the quote and check the license of every plugin you plan to use.
How long does a fixed-scope course platform implementation take?
Timeline depends mainly on scope, not on the platform choice alone. The biggest drivers are the number of integrations (single sign-on, student information systems, CRM, payment and tax services), the amount of theming and custom course workflows, the number of audiences or catalogs, the accessibility work and the load testing required before launch. Fixed-scope engagements agree deliverables and timelines in writing before work starts, so ask for a schedule with milestones, the acceptance criteria for each one and the dependencies on your team's decisions and access.
What does our team need to provide during implementation?
Your team usually supplies the decisions and access that the work depends on. Expect to provide a named business owner who can approve content, branding and pricing, an identity contact for single sign-on, access to cloud accounts or data center environments, DNS and certificate ownership, payment provider accounts, and sample courses or content migration files. Technical staff should review architecture, security controls and backup design. Delays often come from slow approvals and unclear ownership rather than from the build itself, so confirm the decision calendar and the sign-off process before the engagement starts.
Can our own team run the course platform after launch?
Yes, many organizations run their platform in-house after launch, but they need named people for the core tasks. Those tasks include applying security patches, monitoring uptime, managing backups and restore tests, rotating certificates, handling user support, and planning each named release or minor update. Open edX states that only the latest named release is supported, and Moodle publishes release and support dates for each version, so your team must plan upgrades on a schedule. Ask any partner what handover covers, which runbooks you receive, and whether operations are a separate retainer.
How do upgrades affect the recurring cost of the platform?
Upgrades are a recurring cost, and their size depends on how much you customized the platform. Open edX releases move forward on a named schedule and only the latest release is supported, so you must plan to move onto each new release. Moodle major releases arrive every six months, with long-term support versions that receive security fixes for longer. Each upgrade needs a test environment, regression testing of your themes, plugins and integrations, and a rollback plan. Keep custom code small and well documented to lower this cost, and ask for upgrade effort to be priced as a separate line in the quote.
How do payments and video hosting add to the cost?
Payments and video are usually paid per transaction or per hour of content, and they can grow faster than your hosting bill. Payment setup costs include the gateway integration, tax and invoicing configuration, and the compliance scope your card handling creates. Gateway fees are charged by the payment provider, so confirm the rate schedule with them. Video costs include storage, bandwidth and any content delivery network or streaming service you choose, and they rise with learner count and video length. Ask for these components as separate line items in the quote, along with the volume assumptions behind them.
What to request in a written quote
A comparable quote should break the work down by component, not present one lump sum. Ask for separate lines for the Open edX or Moodle hosting environment, the ecommerce and payment layer, theming, video delivery, the analytics stack, identity integration, and the marketing site if it sits outside the learning platform. For each line, the quote should name the environment it runs in (your cloud account, a data center or an isolated network), the named release it targets, and the upgrade path to the next one. Open edX supports only its latest named release, currently Verawood, with Willow and Xylon listed for December 2026 and June 2027. Moodle 5.3 is the next long-term support release, so ask which branch the quote assumes and who carries the work when a minor point release or the next major version lands.
Ask for one-time and recurring costs listed separately. One-time items typically include discovery, configuration, theming, integrations, migration of existing content and learner records, load testing and handover training. Recurring items include hosting, managed database and cache services, video storage and bandwidth, support retainers, security testing and upgrade cycles. For payments and tax, the quote should state who holds the merchant account, which payment provider or gateway is integrated, whether tax calculation and invoicing are included, and how cardholder data is kept out of your systems. Ask for learner volume assumptions in writing, because concurrent viewing, video traffic and database sizing change the hosting line more than almost anything else.
Before work starts, confirm the acceptance criteria. Each deliverable should have a test the buyer can run, such as a completed test purchase, a successful single sign-on login from your identity provider, a certificate issued and verified, or a restore of the database from backup. Also confirm handover terms: who receives admin credentials and infrastructure as code, what documentation is delivered, what the support hours and response expectations are, and what happens to the platform if the engagement ends. Engagements at DeployOpen are fixed-scope and agreed in writing, so any assumption missing from the quote is a change request later. Ask the partner to restate every assumption in its own sentence and to flag which ones you would need to verify with your own team or vendors.
How DeployOpen scopes and delivers a fixed-scope course platform
DeployOpen plans, implements, customizes, hardens, documents and supports self-hosted Open edX or Moodle platforms inside your own cloud accounts, data centers or air-gapped networks. For build, partner or SaaS decisions, we turn the cost components on this page into a written scope with a clear split between one-time work and recurring operations.
How we scope
- Written scope lists the LMS, ecommerce, video, analytics and theming work that the quote covers.
- We separate one-time setup from recurring hosting, upgrades, and support so both sides compare the same totals.
- We confirm which named release, PHP or database versions, and identity provider the platform will run on.
How we build
- We deploy Open edX with Tutor or Moodle in your environment, with the hosting components agreed in scope.
- We connect payment, storefront, and video services and test enrolment, refunds, and access rules end to end.
- We configure theming and analytics, then run load and security testing before the first cohort launch.
How we hand over
- You receive architecture diagrams, configuration records, runbooks, and an upgrade plan tied to the release you run.
- Your team receives walkthroughs of hosting, backups, and cost drivers so you can review future quotes.
- Each deliverable and acceptance step is listed in the written scope before work begins.
How we support
- Engagements are fixed-scope, and ongoing support, upgrades, and continuous testing are available as retainers.
- Retainer scope should state which upgrades, security patches, and backups the recurring fee covers.
- Ask any partner, including us, to name who operates the platform after launch and who pays for each recurring service.

