Skip to main content

· 5 min read

This project is about an operating system, more than the whole, it's also about its constituent parts. This modular view is quite important as otherwise groups that could benefit from its success would miss out, for that, this post will present the possible reasons of interest to each party.

Contact: contact@eltaninos.org

May value be given to those who earn it, so we are not the ones to blame for this view that thinking of the common good is a mistake. Let us not create prerogative to this reality where our satisfaction, freedom and security are of no importance. If in the world of technology, open-source is one of those that represents thinking of the common good, do not despise it, support those who benefit you; otherwise only those who exploit you will remain.

Desktop

As a desktop operating system, you can take advantage of the following qualities:

  • Stability: A lean codebase and good interoperatibility (reducing work deduplication) results in fewer potential points of failure. Its functional package manager ensures all the time a predictable state for your system, allowing you to choose stable versioning or opt for cutting-edge, with easy rollbacks and atomicity to save you from potential regressions.

  • Performance: The emphasis on resource efficiency results in a lightweight footprint, providing more computational power for your applications and daily work.

  • Desktop Engine: The use of arcan is a notable difference; it provide a modern display server, more than that it handles multimedia in general (i.e it can do dbus + x.org + pulseaudio + qt work), having the right take on dealing with the high level of abstraction a desktop operates on (the alternatives trying to be "modular" ends up needing to do workarounds for this dialogue to occur), so we end up with a powerful desktop that truly feels free and flexible.

Development

As a development system, you can take advantage of the following qualities:

  • Easy versioning: The functional package manager permits you to use many versions of a same software in an extremely easy way, so you can test against your support range in a painless manner.

  • POSIX: For the tools that are specified by POSIX we try to adhere to it as much as possible with minimal deviations (usually only in implementation details not for interfaces). In this way you can have a good reference point if you care about portability of tooling and scripts.

We provide the following tools for development:

  • Arbor: An reproducible, package agnostic build-system that can populate local or remote repositories regardless of the package manager you choose.

  • Vesper: An almost purely functional programming language with a powerful typing system (using itself to define them), high parallelization potential, and automatic resource management during compilation-time (i.e no garbage collector). The big difference is to offer that in a consistent and recursive syntax (think of lambda or lisp), so features are a natural part of the language, no need to fight the compiler for memory safety or suffer to describe and deal with complex types.

  • Tertium: A system programming library written in C that is used in place of the POSIX libC (see the comparison), with a focus on security (by reducing error-proneness) and interoperability while providing a large set of modules, allowing you to concentrate on solving problems instead of reinventing the wheel.

  • Simia: A library to complement tertium by providing a POSIX compatibility layer on top of it, taking advantage of its portability (i.e porting tertium ports simia).

  • Redo Tools: The redo tool is already capable of serving as a build system for projects in any language, from simple to complex ones with many variables. On top of it, we are building tools to further ease the process, such as declarative files (similar to bmake) that identify your system and build your software, requiring you only to describe the files to be compiled and installed.

System Administration

As a system administration system, you can take advantage of the following qualities:

  • Declarative: System state and services are defined declaratively, making it easy to set up your system, recover from failures, and replicate states.

  • Reproducibility: Environment reproducibility ensures that if a certain tasks works on your system it will work on another declared as the same (even if it were to fail you would cut off a giant amount of potential points of failure).

We provide the following tools for system administration:

  • CDB: A tool for building fast constant-databases.

  • Redo: A fast tool for automated building with automatic dependency tracking, that allows you to automate any kind of target generation with the freedom to choose any language you need for that.

  • Venus: A functional, declarative package manager capable of supporting any package formats through a modules system, and deploying as many systems as needed, each represented by a configuration file.

Conclusion

As the parts have been made known, we can talk about the current distribution in the building that unites all of them to provide a complete system.

The glacies distribution is an operating system that combines the Eltanin userland with the Linux® kernel and tools aligned with the project's principles, such as arcan, s6, and musl.

glacies

This is a large project that has reached a comfortable stage for further advancement. Receiving support in any of its directions will contribute to the progress of all aspects.

Poll

With this, I hope to provide an overview of it. If you are interested, please participate and take part in the poll to help gather this collective view of interest. At the very least join the communities and follow its progress.


Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.