[[img logo.png]]
# The GNU Operating System
The GNU Operating System, or GNU System as it is more commonly known, will be a complete Unix-like operating system composed entirely of [free software](http://www.gnu.org/philosophy/free-sw.html). The creation of the GNU System is one of the goals of the [GNU Project](http://www.gnu.org/), which was [launched in 1983](http://www.gnu.org/gnu/initial-announcement.html) by [Richard Stallman](http://www.stallman.org/).
[[gnu/GNU]].
It is our wish and goal to establish a new direction for the GNU system distribution. To that end, this page will begin setting some direction. This was spawned by several discussions over a few days on the Hurd mailing lists and IRC.
This is not intended to detract from Debian GNU/Hurd and we should help them where we can.
I really want this to be more of a community driven effort in the spirit of say Ubuntu. We all have different motivations and skill levels but we need a common goal to get this system going.
These are just some quick notes I am making late at night. Lets clean this up.
## Motivations
1. There is a possibility that Debian drops support for GNU/Hurd.
2. Other GNU/Linux distributions do not support the Hurd infrastructure well.
3. Benefitting from the Hurd design and using a microkernel.
4. Freedom.
## Community
1. Lets establish some ground rules.
2. We need infrastructure
* Wiki for community documentation
* Mailing lists like gnu-system-discuss exists for mostly technical items
* IRC channels like #hug and ##hurd
* Perhaps less formal and less intimidating channels and mailing lists would involve broader parts of the community
3. We need a community vision and direction.
* Lets work together for a common goal
* Lets establish goals and priorities and get resources on them. (More later)
* Major goal to create a system making full use of Hurd features?
* We should never hesitate to throw away existing stuff whenever it hinders us to make good use of Hurd features
* However, we should try to reuse existing stuff (from Debian for example) as long as it doesn't limit our possibilities or impose considerable overhead
* Lets have fun. It's GNU and it's important but let's enjoy ourselves.
## Download
* Official GNU snapshot
* Extended GNU distribution
## Tools
1. Developer Needs
* RPC Trace
2. Installer
* Native installer would be preferred but we can bootstrap GNU/Linux for now if necessary
3. Package Management
* There is a proposal to use stowfs. Let's get this going and test it out. Can it be made to work? How long will it take?
* Repository for packages
* Probably we can host it on the GNU servers
* Bug / Issue tracking
* Probably we should set up a Savannah project
* How to handle experimental patches to the core packages (Hurd, Mach, libc etc.) that are not in official CVS yet?
## Resources
* Universal package manager [[universalpackagemanager]]
* How to set up GNU and archiver for GNU [[setupgnu]]
## Todo
1. AMS had made a GNU release. We can try it and test it to good use. We can fix broken things in it, and enhance it.
* The snapshot is very old. Probably better to build something from current stuff, even if it means more work
* ams said that he would like to get a new snapshot out that would be on a Live CD and using stowfs. I think what we need to do is start using/fixing GNU System Creator (GSC) to build packages for this effort.
2. GNU is all about freedom AND ease of use. So, given installers are by nature quite complex, how should we install GNU on users's computers? I think ams's GSC comes into play here, maybe ams or sdschulze could (re-)write specifications of GSC.
3. Until we have an installer ready, we could go the Gentoo-like route, and have every part manually installed. A good installation documentation may help. Our next milestone may be just this (in case ams hasn't already done it):
* have a good installation document out, with all the required packages hosted at gnu.org or savannah.org
* get stowfs working
4. Maybe try to use hacked Debian packages until we get native ones?
5. Move on, start coding, documenting, packaging.
I tried refactoring this page, but didn't get far. -- [[Main/AaronHawley]] - 18 Feb 2006