In a Nutshell
Source Mage is a source-based distribution intended for power users,
system administrators, and hobbyists, who would like an easy way to
custom-configure every application and to have each application maintain
its configuration through upgrades. All distributed code consists of a
package manager called "Sorcery" and a collection of packages, called
"Spells". Sorcery and Spells together are known as the "Grimoire". Spells
are kept as close to the upstream authors' code as possible and are
designed for maximum choice in configuring a system. System commands such
as "cast" and "dispel" are consistent with the "sorcerous theme".
All Source-Mage-maintained code is written in BASH and GNU-based
POSIX utilities, designed to be as minimalistic as possible. For example,
GCC doesn't need to build with G++ (the C++ compiler) unlike Gentoo, which requires it for Python.
GNU Sed and Awk are used liberally, however Perl is not. This makes Source
Mage suitable for small installs and the use of shell script is highly
advantageous to a new user.
Of Modest Beginnings
In 2001, Kyle Sallee created a source-based linux distribution called
Sorcerer GNU/Linux and released
it under the GPL. In late 2001 due to differences with Kyle on how to
run the project, a fork was created called Lunar Penguin, now known as
Lunar Linux. As a result of
confrontations with the Lunar developers, Kyle took Sorcerer off the web
one night and nobody could update.
Many of the developers tried to talk Kyle back into continuing the
project, but failed. Ryan Abrams and Eric Schabell took
over the GPL'd sources and put up a temporary website. At the request
of Kyle, the name was changed, and after a vote, Source Mage GNU/Linux was born.
On April 4, 2002, sourcemage.org was registered and website content was
put up.
A short while later Kyle rewrote much of his code and released it
under a non-GPL license that prevents forking. These three
distributions have continued since, however the rest of this article
concerns Source Mage.
System Layout and Organizational Structure as of June 2005
Project Leader: Eric Sandall: Source Mage has adopted a
social structure similar to Debian
GNU/Linux, with a Social
Contract and a developocratic
system that allows developers to vote for team leaders. Team leaders, in
turn, vote and appoint developers.
Project Divisions
Sorcery Lead: Andrew Stitt: Sorcery is the package
manager. Similar to Gentoo's Portage, although developed concurrently to
Gentoo and vastly different in approaches and philosophies. Sorcery is
intended to be light-weight, well-designed, and a solid core upon which
spells and grimoire libraries can function. Sorcery is mature and
feature-competitive with Gentoo's Portage or a BSD-style ports collection.
Very little of Kyle's original code remains, and it's often in vestigial
sections.
Grimoire Lead: Arwed von Merkatz: The Grimoire is the
collection of spells that are called by sorcery (via the "cast" command).
Section maintainers called "gurus",
keep the Grimoire up-to-date, typically with a version bump and in many
cases an md5 of the source (or the upstream author's PGP signature). The
main Grimoire is kept in devel, test, stable-rc, and stable versions.
There are also auxiliary Games, Z-rejected, and Hardened grimoires for
games, binary spells and those that don't meet FSF license approval (note:
not the same as Debian's DFSG), and security-hardened spells.
Cauldron Lead: David Kowis: The Cauldron is the code
that creates and involves the installer. The Cauldron is undergoing rapid
development at this stage, as the original installer inherited from Sorcerer
has undergone some bit-rot. The new version of the installer is on track
for stable release concurrent with our overall 1.0 release.
Additional General Structures
Security Lead: Thomas Houssin: The Security Team
manages the Hardened grimoire and is responsible for handling security
updates, especially to spells in the Grimoire.
Quality Assurance Lead: Seth Woolley: The QA Team is
responsible for vetting the quality of the various sub-projects before
release and is directly responsible for Stable Grimoire releases.
Quantitative and qualitative processes are followed to ensure
stability.
Web Team Lead: Adam Clark: The Web Team is responsible
for providing a public face for the project and keeping it up-to-date.
Public Relations Lead: Alex Smith: Alex is the reason
you're reading this article and is responsible for other aspects of our
relations with the public. As our developers are dark, dank, and don't
clean up well in public, we chose Alex to represent us.
Developer and Codebase Maturity
Since we are relatively unheard of, it will help for potential new
users to understand how much work has gone into Source Mage already and
that we aren't the next fad distro with a short burst of resources and
then a fading away after fifteen minutes of fame.
Major Contributors (more than a dozen patches)
- 18 major contributors to Sorcery
- 92 major contributors to Grimoire
- 37 current part-time developers
Approximate Project Size
- 10,000 enhancements, features, and bugs handled in Bugzilla
- 60,000 code commits with a 95MB repository averaging 50 commits per
day
- 4,000 spells in 295,000 source lines and 85,000 patch lines in the
Grimoires (14MB)
- 36,000 source lines in Sorcery (1.2MB)
- 90% of the source code is new since taking over from Sorcerer
Where We Are and What to Expect
We are nearing a 1.0 ISO release. The install and initial setup, which
involves compiling and configuring the correct drivers, is probably the
most difficult part of using Source Mage GNU/Linux. However, if you are an
experienced Linux user, or even somebody without experience who wishes to
gain it, you should expect friendly IRC chat rooms and mailing lists that
can help you get setup in very little time. Any Gentoo user should be
familiar enough with the fundamentals to get Source Mage installed
easily.
Where the Future Lies
We're mainly focused on ISO development and stability-proofing the
existing code. The Second-System effect is mostly through and we're
looking forward to many new users that haven't heard of us because we
were busy rewriting everything.
About the Author
Seth Woolley is the current Source Mage GNU/Linux Quality Assurance
Lead and has been a developer since September 2002 and a user since the
project's inception.
(
Log in to post comments)