Please note:The SCons wiki is now restored from the attack in March 2013. All old passwords have been invalidated. Please reset your password if you have an account. If you note missing pages, please report them to webmaster@scons.org. Also, new account creation is currently disabled due to an ongoing spam flood (2013/08/27).

SCons Developers

This page currently serves as a draft for delegating different SCons responsibilities to different parties. If you want to volunteer to do something, simply add a task and assign yourself to it. :)

Hopefully there eventually will be a sizable amount of tasks, and I feel the next step would be to make the list of components more "official" by making them "Categories" on the tigris.org issue tracker. This way almost anyone can just come in on their lunch break and assign a few bugs to the proper parties.

Roles

The following table describes the different roles a contributor the SCons project may have. [NOTE: Perhaps a role like tigris.org's "observer" would be helpful?]

Role

Description

Responsibilities

Developer

Writes code under his/her control

Checking scons-dev mailing list
Writing code
Submitting to his/her QA contact for testing

QA

Tests code under his/her control

Checking scons-user mailing list to understand user problems
Testing code under his/her control through pre-defined tests and real-world projects using SCons
Submitting patches back to the Developer (optional)

Release_Team

Release policy and activities

Participate in setting release schedule
Participate in setting release goals
Rotate actual release duties

Duties

The following table describes some of the different duties a contributor to the SCons project may have. One person may have more than one duty; one duty may be shared among several people.

Duty

Contributor

Responsibilities

Bug Farmer

?

Ensures that bugs are assigned to someone and that a patch is created (NEED MORE)

Patch Snatcher

?

Monitors mailing lists for patches; if the patch is not applied in short order, ensures that it is entered in the patch queue

Patch Queue Manager

?

Tracks patches in the patch queue; determines what additional work is needed and pushes to have that work done; passes accepted patches to integration manager

Integration Manager

StevenKnight

Verifies that the patch passes regression tests; applies patch to trunk

Release Manager

?

Identifies patches to go into next release; when patches have been applied, creates release; coordinates with packagers to distribute release

Webmaster

GaryOberbrunner

Manages the WebSite; point of contact for web provider (NEED MORE)

Tigris Tamer

GaryOberbrunner

Deals with administrivia for archive access and issue tracker

SF Tamer

?

Deals with residual issues from SourceForge

FAQ Maintainer

SohailSomani

Monitors mailing lists for FAQ worthy material and updates FrequentlyAskedQuestions

Component View of SCons Responsibilities

Components come in two forms:

Sufficiently large Components can be further divided into Subcomponents, but it is not necessary. ["Affected files" column should be deleted; "Description" and "Notes" should be merged into one column.]

Components

Subcomponents

Description

Affected Files

Developers

QA

Notes

Core

Core

internals

StevenKnight

Profiling

profiling the source and finding bottlenecks

SCons/*

?

?

Updating testing infrastructure to QMTest

StefanSeefeld

?

StevenKnight is interested in QMTest

Tools

BitKeeper

Tool/BitKeeper.py

?

?

CVS

Tool/CVS.py

?

?

PDF

Tool/dvipdf.py Tool/pdflatex.py Tool/pdftex.py

JoelMohler

?

Perforce

?

?

Qt3

Tool/qt.py

?

KarlPietrzak

Should we divide Qt support between Qt3 and Qt4?

Qt4

?

KarlPietrzak

Subversion

?

?

Tex

Tool/latex.py Tool/tex.py

?

SanjoyMahajan

Zip

Tool/zip.py

?

?

Webpage

GaryOberbrunner AnatolyTechtonik

?

Operating System View of SCons Responsibilities

The rationale for this separate section is that different toolchains operate differently in different operating systems, which lends itself to separate developers and separate QA for each toolchain and operating system combination. The two tables will probably need some merging and splitting.

Operating System

Toolchain

Description

Affected Files

Developers

QA

Notes

Linux

GNU

gcc, g++, GNU ld

?

?

Intel

icc

Tool/icc.py Tool/intelc.py (also for Windows, icl)

GaryOberbrunner

?

Java

Sun JDK

Tool/jar.py Tool/javac.h Tool/javah.py Tool/JavaCommon.py

Fortran

f77, f90, f95

Tool/f77.py Tool/f90.py Tool/f95.py

?

?

Microsoft Windows

mingw

?

?

Microsoft Visual Studio 2003

Tool/msvs.py

?

?

different versions should probably be tested separately

Microsoft Visual Studio 2005

Tool/msvs.py

GaryOberbrunner (compiler/linker only, doesn't use Solutions)

?

Microsoft Visual C++ Toolkit 2003

see URL

Tool/msvc.py

?

?

Microsoft Visual Studio 2005 Express Edition

see URL

?

?

?

Java

Sun JDK

Tool/jar.py Tool/javac.h Tool/javah.py Tool/JavaCommon.py

?

?

Solaris

Sun

Sun CC

Tool/suncc.py Tool/sunc++.py Tool/sunlink.py

?

?

GNU

gcc, g++, GNU ld

?

?

AIX

IBM

xlc, Visual Age C

Tool/aixcc.py Tool/aixc++.py Tool/aixf77.py Tool/aixlink.py

?

?

GNU

gcc, g++, GNU ld

?

?

MacOS X

GNU

gcc, g++, GNU ld

?

TimotheeBesset

Bundles

TimotheeBesset, GaryOberbrunner

TimotheeBesset

HP-UX

HP

Tool/hpcc.py Tool/hpc++.py Tool/hplink.py

GNU

GNU

gcc, g++, GNU ld

?

?

SConsDevelopers (last edited 2010-02-14 12:22:59 by mm-127-247-57-86)