Save in-progress edits to start filling in why SCons is better.
[scons.git] / www / index.html
1 <html>
2 <head>
3 </head>
4 <body>
5
6 <p>SCons is a next-generation, 
7 cross-platform, build tool.
8 Think of SCons as an improved
9 substitute for the classic
10 <tt>Make</tt> utility
11 with integrated functionality
12 similar to <tt>autoconf</tt>/<tt>automake</tt>
13 and compiler caches such as <tt>ccache</tt>.
14 </p>
15
16 <p>
17 Unlike build tools that invent their own mini-language
18 or wedge a scripting language onto some other
19 configuration file syntax,
20 SCons configuration files
21 are actually Python scripts.
22 The ability to script your build
23 gives you a tremendous amount of flexibility
24 to solve complicated build problems
25 in surprisingly small amounts of maintainable code.
26 </p>
27
28 <p>
29 In short, SCons is an easier, more flexible
30 and more reliable way to build software.
31 </p>
32
33 <h3>-----</h3>
34
35 <h3>Mission</h3>
36
37 <p>The goal of The SCons Project
38 is to become the premiere enterprise-quality tool for
39 building cross-platform, multi-language software projects
40 by offering unparalleled <b>reliability</b> and <b>flexibility</b>
41 to software buildmasters and developers.
42 </p>
43
44 <p>
45 Yeah, every project has similar lofty mom-and-apple-pie goals,
46 blah, blah, blah...
47 So why is SCons any different?
48 Fair question.
49 If you go to our public home page at
50 <a href="http://www.scons.org/">http://www.scons.org</a>
51 you'll get the usual lists of
52 supported features and platforms, testimonials, etc.
53 But you're presumably at <emphasis>this</emphasis>
54 project page because you're interested in digging a little deeper.
55 So here are the <emphasis>philosophical viewpoints</emphasis>
56 that we think contribute to SCons being
57 a really distinctive software build tool:
58 </p>
59
60 <dl>
61 <dt>
62 <b>Software builds are getting more complicated, not less</b>
63 </dt>
64 <dd>
65 XXX
66 </dd>
67 <dt>
68 <b>Making software build reliably is not a language design issue</b>
69 </dt>
70 <dd>
71 XXX
72 </dd>
73 <dt>
74 <b>You want to encapsulate software build complexity
75 so most developers don't even have to think about it</b>
76 </dt>
77 <dd>
78 XXX
79 </dd>
80 <dt>
81 <b>Overall, a reliable build that takes a little longer is
82 cheaper than a fast build that you can't rely on</b>
83 </dt>
84 <dd>
85 XXX
86 </dd>
87 <dt>
88 <b>Building software in multiple side-by-side variants is crucial
89 in a multi-platform world</b>
90 </dt>
91 <dd>
92 XXX
93 </dd>
94 </dl>
95
96 <p>What is the scope of this project?
97 </p>
98
99 <p>For example:</p>
100
101 <ul>
102 <li>Develop just enough functionality to scratch a particular itch</li>
103 <li>Build a tool just like XYZ, but less broken</li>
104 <li>Build the best XYZ-tool ever!</li>
105 </ul>
106
107
108 <p>What are high-level features you are sure to build?
109 </p>
110 <ul>
111
112 <li>What would you write on a billboard about your project? Users
113 might only look for a few seconds.</li>
114
115 <li>Use the issue tracker to track features and enhancement
116 requests. It is not just for bugs, pre-populate it with feature
117 descriptions so that potential contributors know what you would like them
118 to work on.</li>
119 </ul>
120
121 <p>What are the high-level assumptions or ground rules for the project?
122 </p>
123
124 <p>For example:
125 </p>
126
127 <ul>
128 <li> we will use programming language X on operating system Y for now.
129
130 <li>We will, or will not, consider certain functional areas like
131 internationalization, high security, concurrency, etc.  The list of
132 functional areas will depend on what you are trying to do.
133
134 <li>Try to keep this part short.
135 </ul>
136
137
138 <h3>Related resources</h3>
139
140 <ul>
141 <li>Link to other stuff that you know about.  It will help you
142 research requirements and provide a useful resource to potential
143 contributors.</li>
144
145 <li>Why reinvent the wheel? What is better about this wheel?  Is there
146 any existing project that you can partner with or reuse?</li>
147
148 <li>Where would you go to try to find potential contibutors?</li>
149 </ul>
150
151 </body>
152 </html>