LENS is a project to build an operating system on top of the Linux kernel without worrying about backwards-compatibility with existing software, including the POSIX standard or specific software suites like GNU.
LENS is written in Rust and currently only runs on x86-64 machines, though that would be easy to fix.
LENS features various interesting features, most of which are technically straightforward but require a complete breakage of compatibility to implement. For example:
everything is a file,LENS uses an
everything is a resourcemodel, using URIs. This is more abstract, as not all
resourceshave the same APIs associated, but it means there is a single namespace for just about everything and means that file-like resources such as Web pages can be accessed by programs without special support; the system automatically routes access through a client helper program.
compartments) built into the system, including a mechanism for searching through them; as a result, installed packages always live in a well-defined directory or small set of directories, which can be deleted easily to uninstall (as opposed to putting a few files in
/usr/bin
, a few in /usr/share
, etc. and needing a database or uninstall script to find them all), there is a clear and easily-managed mechanism for storing per-user configuration, etc.LENS development is done in a semi-decentralized fashion, but mostly-current code is kept on its own Git server, viewable on the Web via cgit at git.lens-os.xyz
. All project code so far is kept in the lens-core
repository, and design documentation (much of which far-forward-looking) is kept in the design
repository.
Plans exist to implement a mailing list, possibly based on the GNU Mailman or lists.sr.ht packages.
The lens-core
repository includes a CONTRIBUTING.md file that provides a detailed explanation, but to quickly summarize:
public00178@alm.website
is currently being used, but this address may be replaced at any time if it receives spam in large volumes.git request-pull
pull requests or git format-patch
patches, optionally with git send-email
.The currently-active participants in the project are:
Previously-active participants include: