1 |
I should have posted this to gentoo-dev in the first place (was posted to |
2 |
-core,) so here goes... |
3 |
|
4 |
On Mon, 2003-09-15 at 12:12, Sven Vermeulen wrote: |
5 |
> Don't take this personally, but - just to make my mind clear - can't we |
6 |
> (well, Gentoo that is) make a statement on what we want to achieve? |
7 |
|
8 |
I'll try to spell it out for you with a bit of Gentoo history. |
9 |
|
10 |
I created Gentoo because I couldn't find a Linux distribution that I |
11 |
liked. The one predominant thing that I experienced with Linux |
12 |
distributions is that the "distro tools" that managed the entire system |
13 |
-- the tools that were supposed to make everything *easier* to use -- |
14 |
really seemed to want a lot of attention and really got in the way of |
15 |
what I wanted to do. I wanted to tell *them* what I wanted to do, but |
16 |
they seemed more interested in telling *me* what *they* wanted me to do. |
17 |
|
18 |
So, I created Gentoo Linux, and designed Portage to be a more perfect |
19 |
tool than what had existed before it. To do this, I made it very |
20 |
flexible in allowing me to do what I wanted to do, and also tried to |
21 |
make it flexible to allow others to do what I thought they might want to |
22 |
do. |
23 |
|
24 |
If others wanted to see how a package got built, they could look at a |
25 |
relatively easy-to-understand ebuild file and learn from it. If they |
26 |
wanted to tweak how it got built, they took advantage of USE variables. |
27 |
If they wanted to add a package, they created a new ebuild for the tree. |
28 |
If they wanted to use a package, they simply emerged it and dependencies |
29 |
were automatically resolved. |
30 |
|
31 |
People liked the Portage concept, and Gentoo Linux grew rapidly. We have |
32 |
become known as a "from source" distribution, but the heart of the |
33 |
Gentoo concept is not "from source." "From source" is an important and |
34 |
key aspect of Gentoo, and something that was and will continue to be |
35 |
necessary for Gentoo, but it is not the only issue or most fundamental |
36 |
issue. The most fundamental issue is designing a technology that allows |
37 |
us and others to do what they want to do, without restriction. |
38 |
|
39 |
To summarize the heart of Gentoo, imagine a user sitting in front of a |
40 |
Linux system. What does he or she want do to? The Gentoo philosophy is |
41 |
to allow this user to do what he or she wants to do, without getting in |
42 |
the way. |
43 |
|
44 |
At around the time Gentoo was born, the thing that got in the way was |
45 |
the lack of an easy way to build packages from source, to a user's |
46 |
specifications. Currently, we've done that very well, but what we |
47 |
haven't done very well is support pre-built packages, even though |
48 |
Portage has supported building binary packages almost since its |
49 |
inception. So we are doing that now. It's important that our tools |
50 |
support binary packages, because binary packages are widely used and |
51 |
widely in demand in the Linux community. If our tools don't support |
52 |
binary packages, then we can't claim that our tools are designed to |
53 |
allow a user to do anything he or she might want to do. If we purposely |
54 |
choose to exclude binary support, then we are attempting to interfere |
55 |
with how users might choose to approach particular problems, by instead |
56 |
imposing our own will or view of how they should approach a problem. And |
57 |
if we do not build binary packages, then we are not taking any steps to |
58 |
ensure that our tools actually work well with binary packages, nor are |
59 |
we taking steps to ensure that others can build binary packages, nor are |
60 |
we able to *demonstrate* that our tools work well with binary packages. |
61 |
Besides these philisophical reasons, there are many practical reasons to |
62 |
create binary packages. |
63 |
|
64 |
The Gentoo philosophy, in a paragraph, is this. Every user has work they |
65 |
need to do. The goal of Gentoo is to design tools and systems that allow |
66 |
a user to do their work pleasantly and efficiently as possible, as |
67 |
*they* see fit. Our tools should be a joy to use, and should help the |
68 |
user to appreciate the richness of the Linux and free software |
69 |
community, and the flexibility of free software. This is only possible |
70 |
when the tool is designed to reflect and transmit the will of the user, |
71 |
and leave the possibilities open as to the final form of the raw |
72 |
materials (the source code.) If the tool forces the user to do things a |
73 |
particular way, then the tool is working against, rather than for, the |
74 |
user. We have all experienced situations where tools seem to be imposing |
75 |
their respective wills on us. This is backwards, and contrary to the |
76 |
Gentoo philosophy. |
77 |
|
78 |
Put another way, the Gentoo philosophy is to create better tools. When a |
79 |
tool is doing its job perfectly, you might not even be very aware of its |
80 |
presence, because it does not interfere and make its presence known, nor |
81 |
does it force you to interact with it when you don't want it to. The |
82 |
tool serves the user rather than the user serving the tool. |
83 |
|
84 |
The future goal of Gentoo is to continue to strive to create near-ideal |
85 |
tools. Tools that can accomodate the needs of many different users (all |
86 |
with divergent goals) with ease are extremely powerful. Don't you love |
87 |
it when you find a tool that does exactly what you want to do? Doesn't |
88 |
it feel great? Our mission is to give that sensation to as many people |
89 |
as possible. |
90 |
|
91 |
It's fun to do this by creating a distribution from existing |
92 |
freely-available code, like we are, because you can often give people |
93 |
great satisfaction just by unlocking some of the coolness that has |
94 |
already been created by someone else, just by making it more accessible. |
95 |
Hope that helps, |
96 |
|
97 |
Daniel |