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 |
QA |
Tests code under his/her control |
Checking scons-user mailing list to understand user problems |
Release policy and activities |
Participate in setting release schedule |
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 |
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 |
Manages the web site; point of contact for web provider (NEED MORE) |
|
Tigris Tamer |
Deals with administrivia for archive access and issue tracker |
|
SF Tamer |
? |
Deals with residual issues from SourceForge |
FAQ Maintainer |
Monitors mailing lists for FAQ worthy material and updates FrequentlyAskedQuestions |
Component View of SCons Responsibilities
Components come in two forms:
- literal: SCons Tool name (e.g., Qt, referring to the Qt Tool)
- figurative: generic name (e.g. Core, referring to SCons internals)
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 |
|
|
|
|
Profiling |
profiling the source and finding bottlenecks |
SCons/* |
? |
? |
|
|
Updating testing infrastructure to QMTest |
|
|
? |
|||
Tools |
|
Tool/BitKeeper.py |
? |
? |
|
|
CVS |
|
Tool/CVS.py |
? |
? |
|
|
|
Tool/dvipdf.py Tool/pdflatex.py Tool/pdftex.py |
? |
|
|||
Perforce |
|
|
? |
? |
|
|
Qt3 |
|
Tool/qt.py |
? |
Should we divide Qt support between Qt3 and Qt4? |
||
Qt4 |
|
|
? |
|
||
Subversion |
|
|
? |
? |
|
|
Tex |
|
Tool/latex.py Tool/tex.py |
? |
|
||
Zip |
|
Tool/zip.py |
? |
? |
|
|
Webpage |
|
|
|
? |
|
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) |
? |
|
||
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) |
? |
|
|
see URL |
Tool/msvc.py |
? |
? |
|
||
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 |
|
|
||
Bundles |
|
|
|
|||
HP-UX |
HP |
|
Tool/hpcc.py Tool/hpc++.py Tool/hplink.py |
|
|
|
GNU |
GNU |
gcc, g++, GNU ld |
|
? |
? |
|
