Open source school ERP
PHP 8.4 + Laravel 12 · Docker or LAMP · self-hosted or managed
GegoK12 is a free, open source school ERP for K–12 schools, published under the MIT licence. The complete source code is on GitHub, the software runs on your own server, and there is no per-student fee and no licence key. Twenty-six modules are free forever; twelve are paid one-off add-ons.
- MIT licenceModify, rebrand and resell. No copyleft, no royalties.
- Self-hostedYour server, your database, your jurisdiction.
- 26 free modulesPlus parent and teacher apps at no cost.
- Laravel 12A stack your developers already know.
What "open source school ERP" means here
GegoK12 is an open source school ERP for K–12 schools, released under the MIT licence and maintained by GegoSoft Technologies. The full source code is published at github.com/Gego-K12/gegok12, the current release is v1.1, and the licence file reads Copyright (c) 2025 GegoSoft Technologies and GegoK12 Contributors.
Open source here is not a marketing adjective. It means four specific things: you can read every line of code that handles your students' data, you can run it without asking anyone's permission, you can change it, and you can give your changed version to someone else — including selling it. The MIT licence grants all four in about two hundred words.
It is not a trial, a freemium tier, or a community edition of a paid product. The twenty-six modules in the core are the real software, and nothing in them expires, phones a licence server, or counts your students. Twelve further modules are commercial add-ons, and the servers, support and custom development are chargeable. That split is set out in full further down this page.
What MIT actually permits
Most open source school systems are licensed under the GPL. GegoK12 is not. The practical difference only matters to some schools — but for those it matters a great deal, and it is the single clearest reason to choose this project over the alternatives.
- Run it for any purpose, commercially included A private school, a chain, a government department or a software company can all use it. There is no non-commercial clause and no user limit.
- Modify it without publishing your changes Under the GPL, distributing a modified version obliges you to release your source. MIT does not. Your customisations stay yours.
- Rebrand it and sell it under your own name Integrators and resellers do this. You keep the copyright notice in the source; everything the customer sees can be yours.
- Fork it and carry on without us If GegoSoft stopped work tomorrow, the code you already have stays licensed to you permanently and anyone may continue it.
- Combine it with proprietary code You can build closed modules on top and link them in. A GPL codebase would pull your additions into the same licence.
- Pay nothing, ever, for the core No royalty, no revenue share, no per-seat fee, no renewal. The obligation is attribution and nothing else.
| Can you… | GegoK12 (MIT) | GPL projects | Proprietary ERP |
|---|---|---|---|
| Read the source | Yes | Yes | No |
| Self-host it | Yes | Yes | Rarely |
| Modify it | Yes | Yes | No |
| Keep your modifications private | Yes | No — copyleft applies on distribution | Not applicable |
| Rebrand and resell it | Yes | Only as GPL, with source | No |
| Keep using it if the vendor disappears | Yes | Yes | No |
| Export all your data | Yes — it is your database | Yes | Depends on contract |
Scroll the table sideways on a phone →
The full licence text is in the repository: LICENSE. This page is a plain-English summary and is not legal advice.
What is free, and what we charge for
Being straight about this early saves everyone a wasted evaluation. GegoK12 is open core: a genuinely free MIT-licensed base, with commercial modules and services around it. Here is the whole commercial model on one screen.
| What | Licence | Cost |
|---|---|---|
| 26 core modules | MIT, open source | Free — no per-student fee, no time limit |
| Parent app and teacher app | Included with the core | Free |
| 12 Pro modules | Commercial, source code supplied | $100–$250 each, one-off, one domain |
| Managed hosting | Service | Paid — see pricing |
| Support with an SLA | Service | Paid. Community help via GitHub issues is free. |
| Custom development | Service | Quoted |
The Pro modules are examinations, fee management, timetabling, media files, chat, certificates, transport, inventory, stock, video rooms, alumni and the question paper generator. Every one is a one-off lifetime licence for a single domain, supplied with source code — not a subscription and not a per-student charge. All twelve together come to $1,650.
Install it on your own server
Three routes, depending on who is doing the work. All three produce the same system — there is no "community build" that differs from what we host.
- Visual installer — clone the repository, point your web server at
public, and open/installer/in a browser. A wizard checks your requirements, sets up the database, creates the admin account and runs the migrations for you. Deletepublic/installerafterwards. - Docker Compose — a
Dockerfileanddocker-compose.ymlship with the repository. One command brings up the app, the database and the asset builder. - Manual CLI install — Composer, key generation, migrate, seed. The route to take if you are deploying into existing infrastructure.
- PHP 8.4+
- MySQL
- Composer
- Apache or Nginx
- Node.js 24 (optional)
- Redis (optional)
$ git clone https://github.com/Gego-K12/gegok12.git
$ cd gegok12
$ cp .env.example .env
$ docker-compose up -d --build
$ docker exec -it school_app composer install
$ docker exec -it school_app php artisan migrate --seed
# open http://localhost:8090/
$ git clone https://github.com/Gego-K12/gegok12.git
$ cd gegok12 && composer install
$ cp .env.example .env
# set your database credentials in .env
$ php artisan key:generate
$ php artisan migrate --seed
$ php artisan storage:link
Full requirements, PHP extensions and troubleshooting are in the installation guide. There is also a step-by-step install video. Stuck on server configuration, SSL or migrating from spreadsheets? Paid setup and support is available, and managed hosting removes the server from your list entirely.
Where the students' records actually live
This is the question a data protection officer asks first, and it is the one self-hosting answers most cleanly. When you install GegoK12 yourself, every student record, photograph, attendance mark and parent phone number sits in a MySQL database on a server you chose, in a country you chose, under a backup policy you set.
There is no account with us, no data-processing agreement to sign, and no licence check at start-up — the software has no activation key and never asks whether you are entitled to run it. It also sends no usage telemetry anywhere. The optional integrations that do reach the internet — push notifications, e-mail, SMS, object storage — are ones you configure with your own credentials, and the system runs without any of them.
If you use our managed hosting instead, the software and the licence are identical; the difference is only who administers the server. You can take a database dump and move to your own infrastructure whenever you like, because the software you would be moving to is the same software.
Open source school management systems compared
These are the projects a school shortlists alongside GegoK12. Several of them are older, larger and more widely deployed than we are, and where one of them is the better answer we have said so. A comparison that only flatters the author is not worth reading.
| Project | Licence | Stack | Mobile apps | Rebrand and resell | Best suited to |
|---|---|---|---|---|---|
| GegoK12 | MIT | PHP 8.4, Laravel 12 | Parent and teacher, free | Permitted | Schools that want parent and teacher apps out of the box, and teams who want a Laravel codebase they can extend |
| Gibbon | GPL-3.0 | PHP | No | Copyleft applies | Schools wanting the deepest curriculum, planning and timetabling tools, and the largest contributor community |
| RosarioSIS | GPL-2.0 | PHP, PostgreSQL | No | Copyleft applies | US districts that need state reporting |
| openSIS Classic | GPL-2.0 | PHP | Paid add-on | Copyleft applies | Schools wanting a long-established SIS with a commercial edition to grow into |
| Fedena (community) | Apache 2.0 — verify | Ruby on Rails | No | Check current terms | Existing Fedena users; the community edition has seen little recent development |
| OpenEduCat | LGPL-3.0 — verify | Python, Odoo | Yes | Copyleft applies | Institutions already running Odoo, and higher education |
| AlekSIS | EUPL-1.2 — verify | Python, Django | No | Copyleft applies | European schools needing strong data-protection defaults |
| Frappe Education | GPL-3.0 — verify | Python, Frappe | Via Frappe apps | Copyleft applies | Teams already running ERPNext |
Scroll the table sideways on a phone →
Gibbon, RosarioSIS and openSIS include exams, timetabling and fee billing at no cost, where we charge for them as Pro modules. Gibbon has a deeper curriculum and planning module and a much larger contributor base; RosarioSIS has the strongest US state-reporting support; OpenEduCat inherits everything Odoo already does. If a zero-cost exams and timetabling module is the requirement, one of those is the better answer and you should take it.
The licence, and the phones. MIT means you can rebrand, extend privately and resell without copyleft obligations, which none of the GPL projects allow. And parent and teacher apps ship in the free core rather than as a paid extra or a third-party project. If you are an integrator building a product for schools, or a school whose parents expect an app, that combination is hard to find elsewhere.
Why a school moves off a licensed ERP
Open source is not automatically cheaper — somebody still has to run the server and answer the phone. What changes is the shape of the cost and who holds the leverage.
| Licensed or SaaS ERP | Open source, self-hosted | |
|---|---|---|
| Cost shape | Recurring, usually per student per year | One-off where it exists at all; server and support are the running cost |
| When enrolment grows | The bill grows with it | Unchanged |
| Adding a second campus | A second contract | A second install, or one install configured for both |
| If you stop paying | Access ends | Nothing happens. The software keeps running. |
| A feature you need is missing | Raise a request and wait | Build it, commission it, or wait — your choice |
| Where the data sits | The vendor's cloud | Your server, your country |
| Cost of leaving | Export what the vendor allows, then rebuild | You already have the database and the code |
| Who fixes an urgent bug | The vendor, on their schedule | You, us, or any developer — the source is public |
The honest counterweight: with a licensed ERP, hosting, backups, upgrades and security patching are somebody else's job. Self-hosting moves that work to you. If your school has no technical staff, either budget for managed hosting or expect to spend staff time. Open source removes the licence, not the work.
The project at a glance
Everything below is checkable in the repository. If you are writing a comparison or adding GegoK12 to a directory, this is the section to copy from.
- Licence
- MIT
- Current release
- v1.1 — 3 March 2026
- Language
- PHP 8.4
- Framework
- Laravel 12
- Front end
- Vue, Blade, Livewire
- Database
- MySQL
- API
- REST, Laravel Sanctum tokens
- Containers
- Dockerfile + docker-compose
- Mobile apps
- Android — parent, teacher
- Modules
- 38 total — 26 free, 12 Pro
- Repository
- Gego-K12/gegok12
- Issue tracker
- GitHub Issues
- Documentation
- docs.gegok12.com
- Maintainer
- GegoSoft Technologies
- Based in
- Madurai, India
- In development since
- 2021
Directory maintainers and reviewers: the demo is open at gegok12.com/school-software-demo and we will answer questions on GitHub issues rather than asking you to book a call.
Working on the code
Send a pull request
Fork the repository, branch from main, and open a PR. Bug reports,
documentation fixes and translations are as welcome as code. Issues are triaged in
public.
Build on it
A Laravel 12 application with a REST API and Sanctum tokens. Modules are ordinary Laravel code — you can read them, override them, and add your own. Pro modules ship with source and Git access for your own team.
Tell us what is missing
The most useful contribution from a school is not code. It is a clear description of the thing your current system makes painful. Several modules exist because a school described the problem well.
Development is led by GegoSoft Technologies with outside contributors, and releases are cut as features land rather than on a fixed schedule. That is worth knowing before you depend on us: this is a company-maintained project with an open licence, not a foundation-governed one. The licence is what protects you if that ever changes.
Frequently asked
Is GegoK12 really free, or is this a trial?
The core is free and stays free. Twenty-six modules, plus the parent and teacher apps, are MIT licensed with no per-student fee, no time limit and no licence key. Twelve further modules are commercial add-ons at $100 to $250 each as a one-off, and hosting, SLA-backed support and custom development are charged separately. Nothing in the free core stops working if you never pay us anything.
What is the difference between MIT and the GPL licences other projects use?
Both let you read, run and modify the code. The GPL adds a condition: if you distribute a modified version, you must release your source under the GPL too. MIT has no such condition. You can modify GegoK12, keep the changes private, rebrand it and sell it, and combine it with proprietary code. The only obligation is to keep the copyright and licence notice in the source.
Can I resell GegoK12 to my own clients?
Yes. The MIT licence permits commercial redistribution and rebranding without royalties or permission. Integrators do this. If you would rather work with us than around us, the partner programme exists for that.
What happens to my school if GegoSoft stops maintaining it?
The installation keeps running — there is no licence server to switch off. The licence on the code you have is perpetual and irrevocable, so you, your developer, or anyone else may fork it and continue. That is the substantive difference between this and a proprietary ERP, and it is worth weighing against the fact that we are a company rather than a foundation.
What do I need to run it?
PHP 8.4 or later, MySQL, Composer, and Apache or Nginx. Node.js 24 and Redis are optional. A small VPS is enough for a typical school. There is a Docker Compose setup in the repository, and a browser-based installer that checks your server for you before it starts.
Do I need a developer to use it?
To use it, no — administrators and teachers work in a browser, and the visual installer handles setup without the command line. To keep a server patched, backed up and on the latest release, you need someone comfortable with Linux, or our managed hosting.
Where is our student data stored?
In a MySQL database on whichever server you install it on, in whichever country that server is in, under whichever backup policy you set. There is no account with us and no start-up licence check. If you choose our managed hosting instead, the software is identical and you can move to your own server at any time by taking a database dump.
Does it have an API?
Yes. It is a Laravel application with a REST API and token authentication via Laravel Sanctum, which is what the parent and teacher apps use. The endpoint reference is in the repository and the documentation.
Which is the best open source school management system?
It depends on what you are optimising for, and we are not a neutral party. If you need exams, timetabling and fee billing at zero cost, Gibbon or RosarioSIS will serve you better than we will. If you need US state reporting, RosarioSIS. If you already run Odoo, OpenEduCat. GegoK12 is the better answer when you want parent and teacher apps included, a Laravel codebase your team can work in, or a licence permissive enough to rebrand and resell. The comparison table above lays the differences out.
Read the code, or click the demo
Nothing here needs a sales call. The source is public, the demo is open, and the installation guide is written for someone doing it themselves.