I should have posted this to gentoo-dev in the first place (was posted to -core,) so here goes... On Mon, 2003-09-15 at 12:12, Sven Vermeulen wrote: > Don't take this personally, but - just to make my mind clear - can't we > (well, Gentoo that is) make a statement on what we want to achieve? I'll try to spell it out for you with a bit of Gentoo history. I created Gentoo because I couldn't find a Linux distribution that I liked. The one predominant thing that I experienced with Linux distributions is that the "distro tools" that managed the entire system -- the tools that were supposed to make everything *easier* to use -- really seemed to want a lot of attention and really got in the way of what I wanted to do. I wanted to tell *them* what I wanted to do, but they seemed more interested in telling *me* what *they* wanted me to do. So, I created Gentoo Linux, and designed Portage to be a more perfect tool than what had existed before it. To do this, I made it very flexible in allowing me to do what I wanted to do, and also tried to make it flexible to allow others to do what I thought they might want to do. If others wanted to see how a package got built, they could look at a relatively easy-to-understand ebuild file and learn from it. If they wanted to tweak how it got built, they took advantage of USE variables. If they wanted to add a package, they created a new ebuild for the tree. If they wanted to use a package, they simply emerged it and dependencies were automatically resolved. People liked the Portage concept, and Gentoo Linux grew rapidly. We have become known as a "from source" distribution, but the heart of the Gentoo concept is not "from source." "From source" is an important and key aspect of Gentoo, and something that was and will continue to be necessary for Gentoo, but it is not the only issue or most fundamental issue. The most fundamental issue is designing a technology that allows us and others to do what they want to do, without restriction. To summarize the heart of Gentoo, imagine a user sitting in front of a Linux system. What does he or she want do to? The Gentoo philosophy is to allow this user to do what he or she wants to do, without getting in the way. At around the time Gentoo was born, the thing that got in the way was the lack of an easy way to build packages from source, to a user's specifications. Currently, we've done that very well, but what we haven't done very well is support pre-built packages, even though Portage has supported building binary packages almost since its inception. So we are doing that now. It's important that our tools support binary packages, because binary packages are widely used and widely in demand in the Linux community. If our tools don't support binary packages, then we can't claim that our tools are designed to allow a user to do anything he or she might want to do. If we purposely choose to exclude binary support, then we are attempting to interfere with how users might choose to approach particular problems, by instead imposing our own will or view of how they should approach a problem. And if we do not build binary packages, then we are not taking any steps to ensure that our tools actually work well with binary packages, nor are we taking steps to ensure that others can build binary packages, nor are we able to *demonstrate* that our tools work well with binary packages. Besides these philisophical reasons, there are many practical reasons to create binary packages. The Gentoo philosophy, in a paragraph, is this. Every user has work they need to do. The goal of Gentoo is to design tools and systems that allow a user to do their work pleasantly and efficiently as possible, as *they* see fit. Our tools should be a joy to use, and should help the user to appreciate the richness of the Linux and free software community, and the flexibility of free software. This is only possible when the tool is designed to reflect and transmit the will of the user, and leave the possibilities open as to the final form of the raw materials (the source code.) If the tool forces the user to do things a particular way, then the tool is working against, rather than for, the user. We have all experienced situations where tools seem to be imposing their respective wills on us. This is backwards, and contrary to the Gentoo philosophy. Put another way, the Gentoo philosophy is to create better tools. When a tool is doing its job perfectly, you might not even be very aware of its presence, because it does not interfere and make its presence known, nor does it force you to interact with it when you don't want it to. The tool serves the user rather than the user serving the tool. The future goal of Gentoo is to continue to strive to create near-ideal tools. Tools that can accomodate the needs of many different users (all with divergent goals) with ease are extremely powerful. Don't you love it when you find a tool that does exactly what you want to do? Doesn't it feel great? Our mission is to give that sensation to as many people as possible. It's fun to do this by creating a distribution from existing freely-available code, like we are, because you can often give people great satisfaction just by unlocking some of the coolness that has already been created by someone else, just by making it more accessible. Hope that helps, Daniel