Clone wiki

SCons / GSoC2007 / Introduction

The SCons wiki has moved to

Welcome to SCons

SCons is an Open Source software construction tool—that is, a next-generation build tool. Think of SCons as an improved, cross-platform substitute for the classic make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache.

SCons is a truly unique tool, used by many free software projects and lots of companies. It is implemented in Python and uses Python as its "description language" so it brings to bear the full power and flexibility of a general-purpose programming language to the job of constructing build systems.

It has a small but active developer base led by Steven Knight. Unlike larger projects where you might get lost in the crowd, working on SCons allows you to shine on your own. Despite its small size, the developer base is highly professional and a joy to work with.

There's more information available about SCons at the main SCons web site and there's also a project page for the source code and issues database.

Here is a short list of what students can learn by working on SCons:

  • How to build enterprise-grade software. SCons uses a very strong test-driven development methodology to make sure things don't break.
  • Learn the architecture of a truly unique project and advanced object-oriented programming in Python.
  • Handle portability rules in practice, encounter real-world engineering issues.
  • Apply complexity analysis techniques to understand the bottlenecks.
  • Apply data mining techniques on real sets of data to understand the algorithm parameters.
  • Use visualization tools to view data and interpret results. There's also a separate page on writing a proposal for SCons as well as a page of SCons mentors. Possible projects are located in the ideas page.