The TUNES root project

"To make an apple pie from scratch, you must first create the universe"

-- Carl Sagan

What is TUNES?

Actually, this is the one Frequently Asked Question (a.k.a. FAQ) about TUNES.

Its name is a recursive acronym for: "TUNES is a Useful, Nevertheless Expedient, System". This refers to a general philosophy of promoting utility in its general sense over the expediency of solving very particular problems at the cost of dividing up the space of solutions.

Current Computing Systems are a source of both great enthusiasm before their technical achievements, and great disappointment before the barriers that keep their potential under-exploited. There is a growing gap between the ever-growing hardware potential, and the slowly (though surely) enhancing software realizations.

TUNES is a cybernetic project, to rethink how Computing Systems should be to fill this gap, which includes social as well as technical considerations: because computer problems are not isolated problems, but part of larger human processes.

Overview

The main idea in our analysis of the failure of current computing systems is that the goal of a computing system should be to promote fair exchange of mutually-trustable information between independent entities, whereas current systems provide only untrustable raw data under centralized control.

As a result, TUNES is politically committed to promote libertarian ideas in Computing Systems, and technically committed to build a proof-of-concept system around semantically clean reflection.

The current Computing World is based on centralized development, racket on a misdefined "intellectual property", information hiding, lack of expressiveness, insecure low-level communications methods, and general noise. TUNES will promote free decentralized development, a fair market of well-defined services, freely published software, arbitrarily expressive information, secure communications, and meaningfulness.

A running TUNES system will have many features that are just unimaginable on current systems (see below). Many of them are seperately implemented as isolated pieces of software on various different systems. Only by basing the system on semantics-based reflectivity can these features truly be integrated, and whatever other features users will develop, to be dynamically combined in a decentralized way, freeing the world from existing rackets.

To sum up the main features in technical terms, TUNES is a project to replace existing Operating Systems, Languages, and User Interfaces by a completely rethought Computing System, based on a fully reflective architecture with standard support for unification of system abstractions, security based on formal proofs from explicit negociated axioms, higher-order functions, self-extensible syntax, fine-grained composition, distributed networking, orthogonally persistent storage, fault-tolerant computation, version-aware identification, decentralized (no-kernel) communication, dynamic code regeneration, high-level models of encapsulation, hardware-independent exchange of code, migratable actors, yet (eventually) a highly-performant set of dynamic compilation tools (phew).

These are not buzzwords, but technical terms, and you should find precise definitions in the Glossary.

We want to implement such a system because we know all these are required for the computing industry to compete fairly, which is not currently possible. Even if TUNES itself does not become a world-wide environment, we hope the TUNES experience can speed up the appearance of such an environment that would fulfill our requirements. Likewise, while the TUNES technical goal includes replacing Operating Systems (low-level systems software), that this goal per se is not possible in the desired sense until the environment with the desired semantic freedome and features is assembled. Without the environment, a separate set of systems software means nothing.

The project is divided recursively into subprojects, each having its own maintainer, according to the TUNES Charter. This page is the root project of the above hierarchy.

Old blurb:

It is a project to provide both design and implementation of a computing system, based upon a paradigm of computing freedom. Such a system encompasses all computing software, from the lowest-level hardware layers of an operating system, up to the highest-level layers of computer logic, and including friendly user interfaces, computer languages, distributed computing management.

Its scope is the whole computing world; it aims at absolutely all kinds of users, (we make no arbitrary racial or other distinction among them), from newbies to gurus, humans or machines, all kinds of computing, from video games to professional expert systems, on all kind of platforms, from pocket calculators to mainframe computer.

Its approach is based on a permanent, serious, deep reflection about how the computing world could be, how it should be, and why it should be so (see our article Why a New OS) including both theoretical and practical considerations, which we invite you to share with us. We believe that both theory without practice and practice without theory lead to deeply flawed systems. Thus this project is neither a purely philosophical nor a purely experimental project: it's an ethical project.

Since the project is in an early development stage, we're currently looking for the guru (or would-be guru) type of collaborator. Don't be modest; if you're ready to work, you can easily become a guru. The project is currently not funded, and lives on the spare time of its collaborators.

The project will freely distribute all its code over this world, but will reserve the right to offer non-free support for it. Code will be copyrighted so that it will stay freely distributable, but the project will stay in control of commercial use, distribution, and support of any code produced. The essential portions of the OS, those needed to run most everything, will be GNU copylefted, so everyone can be confident about freely using it.

Project Status

Overall Schedule

All deadlines were blown out. New ones will be established when things are settled: when we have a clear written specification, or at least commonly-understood guidelines.

Contributing

See our collaboration area for contributing.

More Netsurfing