Open-source project
LMMS/lmms avatar
LMMS/lmms

LMMS: a GPL-2.0 digital audio workstation you can build from source

Cross-platform music production software

10,397 stars1,270 forksC++GPL-2.0

At a glance

What is it?
LMMS is a cross-platform DAW written in C++ with a piano roll, beat sequencer, song editor and mixer. It installs from lmms.io or builds with CMake, and it is the right tool for MIDI and SoundFont work, not for a VST3 plugin collection.
Who is it for?
Adopt LMMS if you compose with MIDI, SoundFont2 banks and bundled instruments, or if you want a GPL-2.0 DAW whose source you can read and rebuild. Do not adopt it if your sessions depend on VST3 plugins, since the README lists VST2, LADSPA and LV2 instead.
Can I use it commercially?
Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 8 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What LMMS is, and the musician it is actually built for

LMMS is a digital audio workstation for composing, arranging and mixing music. The README describes four main surfaces: a Song Editor for arranging melodies, samples, patterns and automation; a Pattern Editor for beats; a Piano Roll for editing patterns and melodies; and a Mixer with what the README calls unlimited mixer channels and an arbitrary number of effects. It ships with more than 15 synthesizer plugins by default.

The intended user is someone who works with MIDI and sampled instruments rather than a large commercial plugin library. The README lists SoundFont2, GUS patches and full MIDI support, plus MIDI file import and export. That combination points at chiptune, soundtrack sketching, arrangement work, and anyone who wants to move a composition between tools as a .mid file. It is not aimed at a studio whose sessions are built on third-party plugin licences, and the format list makes that boundary explicit.

Song Editor, Pattern Editor and Mixer: how a session is put together

The repository layout shows the architecture plainly. There is a src/ directory for the application, a plugins/ directory for instruments and effects, an include/ directory for headers, and a data/ directory for the resources the application loads at runtime. That split matters when you build: the binary and the plugin set are produced together from the same tree, which is why a source build needs the plugin directories present rather than a separate package.

Inside the application, the README describes the workflow as pattern-based. You create patterns in the Pattern Editor or the Piano Roll, then place those patterns on tracks in the Song Editor alongside samples and automation. The Mixer sits downstream, with channels and effects. Automation is described as both user-defined and track-based, and as coming from computer-controlled sources. The practical consequence is that a drum part and a melody are edited in different windows and recombined in a third, which is a different mental model from a single arrangement view where every clip is edited in place. Whether that suits you is a matter of taste, but it is the structure the documentation commits to.

Plugin hosting is the other half of the mechanism. LMMS loads VST2 instruments and effects, LADSPA, LV2, SoundFont2 and GUS patches. Those are the formats named in the README, and the list is worth reading twice before you plan a project around a plugin you already own.

Installing LMMS and making a first pattern

The README points to https://lmms.io/download for binaries and to the Compiling LMMS wiki page for source builds. On Linux, that download page is the shortest path; distribution packages exist but their versions cannot be confirmed from the repository, so check what your package manager reports before installing.

Building from source uses CMake. The top-level CMakeLists.txt and the vcpkg.json manifest are the entry points, and INSTALL.txt holds the build instructions in the tree itself.

bash
git clone https://github.com/LMMS/lmms.git
cd lmms
cmake -B build
cmake --build build

What you should see is CMake configure the project, then compile the application and the plugins in plugins/. The README does not document the installed binary path, so read INSTALL.txt for the install step rather than assuming one.

For a first session, the README's own description is the guide: create a pattern in the Pattern Editor or Piano Roll, then place it on a track in the Song Editor. Add an instrument from the bundled synthesizer plugins, draw notes in the Piano Roll, and press play. When the arrangement is done, the README confirms MIDI file exporting, so a composition can leave LMMS as a .mid file.

Where LMMS stops: plugin formats, release channels and the alpha line

The most concrete limitation is the plugin format list. LMMS supports VST2, LADSPA, LV2, SoundFont2 and GUS patches. VST3 is not in that list. If your sound depends on a VST3-only instrument or effect, LMMS is the wrong host for that session, and no amount of configuration changes it.

The release history is the second limitation, and it is a maintenance question rather than a feature one. The most recent release is v1.3.0-alpha.2, published on 2026-09-06. The one before it, v1.3.0-alpha.1, is dated 2020-11-09, and the last non-alpha release, v1.2.2, is from 2020-07-04. That is a long gap between stable releases and a short gap between two alphas, which tells you the 1.3 line is still moving. The repository itself is not archived and the last push was on 2026-09-21, so development is happening. But a user who needs a settled release should look at the v1.2.2 line and weigh how much of the newer work they are willing to run before it is declared stable. The README does not document a rollback path between the two lines, so treat that choice as something to settle before you start a project rather than after.

LMMS against Ardour and Reaper: different answers to the same question

The closest comparison is Ardour, another open source DAW. Ardour is built around a traditional multitrack recorder and mixer model, with an emphasis on audio recording, editing and routing. LMMS is built around patterns, a step sequencer and a piano roll, with bundled synthesizer plugins and SoundFont2 support. If your work is recording live instruments into tracks, Ardour's model fits the task more directly. If your work is building parts from patterns and sampled instruments, LMMS starts closer to the finish line.

Against a commercial DAW such as Reaper, the difference is not only price. LMMS is GPL-2.0, so the source is available and the application can be rebuilt and studied; the repository includes src/, include/, plugins/ and tests/ for exactly that. Reaper is proprietary and its licensing is per-seat. The trade is that a commercial DAW typically ships a wider plugin ecosystem and a longer stable release cadence. LMMS gives you the source and the MIDI workflow; it does not give you VST3.

Licence, upgrades and what a source build costs you

LMMS is GPL-2.0, stated in the repository and in LICENSE.txt. For most users that changes nothing: you can install it, use it and distribute music made with it. The obligation appears when you redistribute the software or a modified version, at which point the GPL's terms apply to the source you ship. If you plan to bundle LMMS inside a product, read LICENSE.txt rather than this article; that is a legal question, not a technical one.

The upgrade cost is the part people underestimate. Because plugins are built from the same tree, moving between the 1.2 and 1.3 lines is not a drop-in binary swap if you built from source. The vcpkg.json manifest and the cmake/ directory define the dependency set, so a build on a new machine starts with those. Given that v1.3.0-alpha.2 is an alpha, the practical policy is to keep project files in a form you can reopen on the stable line, and to test that reopen before you rely on it. The README does not describe project file version compatibility between the two lines.

Editorial conclusion

Adopt LMMS if you compose with MIDI, SoundFont2 banks and bundled instruments, or if you want a GPL-2.0 DAW whose source you can read and rebuild. Do not adopt it if your sessions depend on VST3 plugins, since the README lists VST2, LADSPA and LV2 instead. Before committing a project, verify two things: that the plugin format you rely on is actually supported, and that the release you install is the one you intend, because v1.3.0-alpha.2 is an alpha and the previous stable line is v1.2.2.

Frequently asked questions

What does LMMS stand for?

The README does not expand the name. It describes LMMS only as cross-platform music production software, so the acronym's original wording cannot be confirmed from the repository's documentation.

Is LMMS still free?

The repository is licensed GPL-2.0, stated in LICENSE.txt, and the README links to a download page at lmms.io. Nothing in the repository indicates a paid tier, and the GPL-2.0 licence covers the software itself.

Is LMMS as good as FL Studio?

The repository does not compare the two, so no verdict is possible here. What the README does establish is the format list: SoundFont2, VST2, LADSPA, LV2, GUS patches and MIDI, with MIDI file import and export. Whether that covers what you need is the question to answer before switching.

Is LMMS safe to use?

The repository covers the licence and the build, not security audits. LMMS is GPL-2.0 with source in src/, include/ and plugins/, so the code can be inspected or rebuilt, and binaries are linked from the download page at lmms.io.

Official sources

  1. License: GPL-2.0
  2. LMMS/lmms on GitHub
  3. Project website
  4. README
  5. Releases
For maintainers

Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/lmms-lmms.svg)](https://hysenlabs.com/projects/lmms-lmms)
Community notes

Community notes