What is 9legacy?

9legacy is an alternative distribution of Plan 9 from Bell Labs. It is a set of patches based on the current Plan 9 from Bell Labs distribution.

How 9legacy was born?

We are commonly administrating dozens of file servers around the world. Since we were using many patches not available in Plan 9 from Bell Labs, we needed a way to centralize all these patches and provide a mechanism to automatically build a Plan 9 distribution from a specific set of patches, always synchronized with the most recent Plan 9 from Bell Labs changes. 9legacy was born to fill this need.

When 9legacy was born?

9legacy was born in summer 2010 as both a Mercurial repository and a simple list of files and patches in a HTTP directory.

Following the increasing amount of patches and the need to expose them in a simpler and clearer interface, the current 9legacy website was launched in june 2011.

Is 9legacy a fork of Plan 9?

9legacy is not a fork, it is an experimental patch queue for Plan 9 from Bell Labs.

We strongly believe it is not a good idea to fork Plan 9 from Bell Labs. Too many communities is the enemy of the community. Plan 9 from Bell Labs is and will always be the reference distribution of Plan 9.

We push as many patches as possible we find sufficiently interesting to Plan 9 from Bell Labs.

What is included into 9legacy?

You can see 9legacy as an experimental branch of Plan 9, filling the gap between developments in progress from anywhere and the stable Plan 9 from Bell Labs distribution.

Different type of patches are available in 9legacy :

Which tools are used to maintain 9legacy?

Developers choose to produces patches with any tool they want. It is common to use Mercurial or diff. Then, patches are always submitted as standard unified diff files, which are applied with patch. Both diff and patch tools are available in Plan 9, thank to APE.

The 9legacy build machinery is based on the same tools used to build Plan 9 from Bell Labs, glued together with custom rc scripts.

A Mercurial repository, automatically synchronized with Plan 9 from Bell Labs each day, is available for the developpers who use Mercurial. Keep in mind it is only meant to be convenient and shouldn't be used as a reference.

Why should I use 9legacy?

You should probably not. We recommend you to use Plan 9 from Bell Labs.

You can use 9legacy if you are interested by particular patches, hardware support or want to try experimental stuff.

Are there any other Plan 9 distribution?

Yes, of course. You can give a look to 9atom from Erik Quanstrom. He did excellent work and added many hardware support and improvements. There is also NIX, an experimental operating system for multi-core CPUs. You can also take a look to plan9front, which made some interesting features in various areas.

Some small components of these distributions are included in 9legacy.

We encourage you to take a look to the other Plan 9 distributions and discover all the interesting features developped by the Plan 9 community.

How to apply the 9legacy patches?

Perhaps this is not obvious for everyone. For example, if you want to apply the termrc-timesync patch :

cd /
hget http://www.9legacy.org/9legacy/patch/termrc-timesync.diff | ape/patch -p1

If you want to unapply a patch, use ape/patch -R.

I don't understand, why it isn't a fork?

A fork is a branch created at some point in the history of the original project, then optionally partly synchronized either regularly or ponctually.

9legacy is not a fork because it is a set of independant patches always located on top of the current Plan 9 from Bell Labs. If Plan 9 evolve, most of the patches will still apply as is, even if sometimes, they could need to be rediffed or modified to account incompatibilities in its evolution. In the exact same manner, most of the patches will also apply on derivatives of Plan 9, as long as they don't differ in incompatible changes.

In 9legacy, most patches are totally independant from each other and few depends on one or two other patches. It's up to the user to choose which patch to use.

9legacy also evolve in the same spirit as Plan 9 from Bell Labs and no large or incompatible changes will ever be done.