Open-source project
endless-sky/endless-sky avatar
endless-sky/endless-sky

Endless Sky: A GPL-3.0 Space Trading Sandbox You Can Build From Source

Space exploration, trading, and combat game.

7,597 stars1,323 forksC++GPL-3.0

At a glance

What is it?
Endless Sky is a top-down space exploration, trading and combat game written in C++ and released under GPL-3.0. It installs from GitHub, Steam, GOG or Flathub, and its data files make it unusually easy to extend.
Who is it for?
Adopt Endless Sky if you want a free, GPL-3.0 space sandbox whose data files can be edited without touching C++, and if you are comfortable with the platform limits the README defines: OpenGL 3 on the desktop, no official mobile build. Skip it if you need a phone release or a paid support contract.
Can I use it commercially?
Yes, with conditions. GPL-3.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 1 day 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 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Endless Sky Is, and Who It Is For

The README describes Endless Sky as a sandbox-style space exploration game similar to Elite, Escape Velocity or Star Control. You start as the captain of a tiny spaceship. From there the game offers trading, carrying passengers, completing missions, buying a better ship, upgrading weapons and engines, fighting pirates, taking sides in a civil war, or leaving human space entirely. There is a major plot line and many minor missions, but the README is explicit that you choose whether to follow the plot or strike out alone as a merchant, bounty hunter or explorer.

The audience is therefore two groups. The first is players who want a single-player space sandbox without a live service or an account. The second is contributors. The README states that artwork, storylines and other writing are the most in-demand contributions, and points to a loosely defined development roadmap on the wiki. That is a meaningful signal: the project treats content as a first-class contribution path, not just code.

The repository layout backs this up. The top level holds data/, images/, sounds/, shaders/, overlays/, icons/ and resources/ alongside source/. A game whose content lives in its own directories is a game whose content can be changed without recompiling.

How the C++ Engine and the data/ Directory Fit Together

Endless Sky is a C++ project built with CMake. The README says development uses CMake to compile the project and that most popular IDEs are supported through their respective CMake integration. The top-level CMakeLists.txt and CMakePresets.json are the entry points for that build, and vcpkg.json plus vcpkg-configuration.json indicate dependency management through vcpkg.

The interesting architectural split is between source/ and data/. The engine is compiled C++, but the game's content, ships, outfits, missions and the like live in data files. The README links to a wiki page on creating plugins, including a note that custom shaders are needed for OpenGL 2 devices. That page's existence tells you the intended extension path: a plugin is content layered onto the game, not a fork of the engine.

That design has a cost. Anything a data file cannot express requires a C++ change and a rebuild. It also has a benefit that matters more for most readers: you can adjust the game, or write a mod, with a text editor and no compiler. The repository also carries tests/, utils/ and docs/, so the project maintains developer documentation and tooling rather than only shipping the game.

Installing Endless Sky from a Release or from Source

The README lists official releases as direct downloads from GitHub, on Steam, on GOG, and on Flathub. It warns that other package managers may include the game but the specific version provided may not be up-to-date. On Linux, Flathub is the vendor-neutral path the project itself names, and the repository ships io.github.endless_sky.endless_sky.desktop and io.github.endless_sky.endless_sky.appdata.xml, so a desktop environment should show the correct name and icon once it is installed.

If you want to build from source, the README says to consult the Build Instructions readme at docs/readme-developer.md, and the build system is CMake. The README itself does not quote a full command sequence, so treat docs/readme-developer.md as the authority on dependencies and platform-specific steps, and check CMakePresets.json for the preset names rather than guessing them.

System requirements are modest. The README's table gives 750 MB RAM and 400 MB storage as the minimum, 2 GB RAM and 1.5 GB storage as recommended, and OpenGL 3 as the most restrictive requirement. Supported minimums are Linux equivalent to Ubuntu 20.04, macOS 10.15, and Windows XP (5.1).

OpenGL 3, Package Lag and the Missing Mobile Build

The clearest constraint is graphics. The README says the most restrictive requirement is likely that your device must support at least OpenGL 3. The requirements table lists OpenGL 2.0 as the minimum with an asterisk: for OpenGL 2 devices, custom shaders are needed. So an old machine is not automatically excluded, but it is not a supported default either. You need to know what your driver actually reports.

The second constraint is version drift. Because the README explicitly says other package managers may ship a version that is not up-to-date, a distribution package can leave you on an older release than the current stable line. If a bug you care about was fixed recently, that matters.

There is no official mobile release in the README. The supported operating systems are Linux, macOS and Windows, and the README adds only that running on other systems may be possible but is not officially supported. Anyone searching for an Android build will not find one endorsed here.

The project is not archived, and the last push was on 2026-09-21. The most recent stable release listed is v0.11.2 from 2026-06-27, with v0.11.1 marked unstable from 2026-04-25, and a continuous build entry from 2020. That pattern, stable and unstable tags plus a continuous build, means you should decide deliberately which channel you install rather than taking whatever a package manager gives you.

How Endless Sky Differs from Oolite and Pioneer

The obvious comparisons are other open source space games. Oolite reimplements the original Elite's model and is built around an expansion system distributed as OXPs, with a strong emphasis on recreating one specific 1984 design. Pioneer is a freeform space sim focused on Newtonian flight and planetary exploration. Endless Sky sits closer to Escape Velocity, which the README names directly: top-down 2D, trading and missions, a plot you can follow or ignore.

The practical difference is the extension surface. Oolite's identity is tied to Elite; Pioneer's is tied to flight simulation. Endless Sky's README frames contribution around artwork, storylines and writing, and its data/ directory holds the content those contributions land in. If your goal is to add missions or ships rather than to modify flight physics, that orientation is the relevant distinction.

A second difference is distribution. Endless Sky is on Steam and GOG as well as GitHub and Flathub. That is unusual for a GPL-3.0 game and it means a player who never opens a terminal can still install a current release.

Licence, Maintenance and Upgrade Cost

The README states the source code is available under GPL v3, and that all artwork is either public domain or released under a variety of Creative Commons and similarly permissive licences. It also says that to determine the copyright status of any of the artwork you must consult the copyright file, which sits at the repository root. That is the operative instruction: the licence is not uniform across assets, so a blanket assumption about the art is wrong. If you plan to reuse or redistribute artwork, read copyright first. This is a description of what the project states, not legal advice.

Upgrade cost depends on how you installed it. Flathub, Steam and GOG handle updates for you. A source build means re-running CMake and rebuilding when you want a newer revision. A distribution package may lag, as the README warns.

Maintenance burden for a player is low. For a contributor it is higher: the README asks contributors to review the wiki and post in the community-run Discord beforehand, and notes that the project's former main discussion area, Google Groups, is now inaccessible to new users and should not be used. A newcomer following an old tutorial may waste time in the wrong channel.

Verifying an Endless Sky Install Before You Rely On It

Three checks are worth doing before you invest time. First, confirm which release you actually have, since the README warns that package manager versions may not be current and the stable line is v0.11.2. Second, confirm your OpenGL version, because the README's minimum of OpenGL 2.0 carries the custom-shader caveat while OpenGL 3 is the practical target. Third, if you intend to build or contribute, open docs/readme-developer.md and docs/CONTRIBUTING.md rather than relying on third-party build guides.

If you plan to mod, the wiki page on creating plugins is the documented starting point, and the data/ directory is where content lives. The README does not document a rollback procedure for plugin changes, so keep your own copy of anything you edit. The changelog file at the repository root is the record of what changed between releases.

Editorial conclusion

Adopt Endless Sky if you want a free, GPL-3.0 space sandbox whose data files can be edited without touching C++, and if you are comfortable with the platform limits the README defines: OpenGL 3 on the desktop, no official mobile build. Skip it if you need a phone release or a paid support contract. Before committing, verify the release you download matches v0.11.2 or newer, read docs/readme-developer.md for the CMake build, and open copyright before reusing any artwork.

Frequently asked questions

Is Endless Sky a good game?

The README describes it as a sandbox-style space exploration game similar to Elite, Escape Velocity or Star Control, with a major plot line and many minor missions, and it lets you choose whether to follow the plot or play as a merchant, bounty hunter or explorer. Whether that suits you is a matter of taste, but the scope is documented rather than implied.

Is Endless Sky on mobile?

The README lists Linux, macOS and Windows as the supported operating systems and says running on other systems may be possible but is not officially supported. No mobile release is listed among the official download channels, which are GitHub, Steam, GOG and Flathub.

How do I install Endless Sky?

Official releases are available as direct downloads from GitHub, on Steam, on GOG, and on Flathub, and the README notes other package managers may include the game but with a version that may not be up-to-date. Building from source uses CMake, with full instructions in docs/readme-developer.md.

Is there a story in Endless Sky?

Yes. The README states the game includes a major plot line and many minor missions, though you can choose whether to play through the plot or strike out on your own.

How do I install Endless Sky plugins?

The README points to a wiki page on creating plugins, and the repository keeps game content in the data/ directory, which is the extension surface for plugins. The README does not document a rollback procedure, so keep a copy of anything you edit.

What is Endless Sky?

The README describes it as a sandbox-style space exploration game similar to Elite, Escape Velocity or Star Control, in which you start as the captain of a tiny spaceship and choose your own path through trading, missions, combat or exploration.

Official sources

  1. endless-sky/endless-sky on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
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/endless-sky-endless-sky.svg)](https://hysenlabs.com/projects/endless-sky-endless-sky)