System Development Environment
From Wikipedia, the free encyclopedia
| This article or section may contain original research or unverified claims. Please improve the article by adding references. See the talk page for details. (September 2007) |
A System Development Environment (SDE) is a generic name give to frameworks (and toolkits) to create and maintain operating systems based on Open-source software. An SDE is, in short, a tool to let users create and maintain their own Linux distributions. The goal is to help distribution maintainers to found their projects over this framework so they do not need to worry about computer architecture support or software package updates.
The concept was inspired by the BSD ports collection.
Contents |
[edit] History
The first known implementation was started by Clifford Wolf in 1997, known as ROCK Linux, a project inspired by Linux From Scratch and the BSD Ports, as a Distribution Build Kit more like a source-based Linux distribution with the capability of creating sub-distributions, or target distributions as they were named.
The term System Development Environment was invented and formed by René Rebe when he created the T2 SDE Project out of ROCK Linux in 2004. The goal was to propagate a more professional name for the term Distribution Build Kit as it is used by ROCK Linux and to strip the word distribution as the resulting operating systems must not necessarily be distributed in form of CD or DVD as usual Linux distributions are but merely live in special appliances and embedded devices.
[edit] Philosophy
And because of that it has to automate the common tasks on maintaining any distribution, and make it as easy as possible for the distribution maintainer to integrate and customize the packages and components.
- automated
- honor upstream decisions
- minimize patching and arbitrary modifications to the default behavior
- pre-integrate intelligently according to what is being built and configured
- provide transparent ways to get the distributions built for different architectures
[edit] Packages
On one hand the System Development Environment should provide the distribution maintainer an up to date set of package, compiling and pre-integrated, as close to what was released by the original author (upstream), and on the other it should provide the Powered-by distributions with a package management system.
[edit] Architectures
One of the benefits of the usage of a System Development Environment for a Linux distribution is that they make transparent the change from one architecture to another. It is the framework which makes the needed adoptions during the building process instead of the distribution maintainer.
In theory every architecture supported by the chosen compiler/kernel should be available for the distribution maintainer to be simply selected.
[edit] Known implementations
Since the first Distribution Build Kit was invented at 1997, for different reasons and different goals, the original code has been forked several times.
Some of them, in chronological order, are:
- ROCK Linux, original Distribution Build Kit which made it's third mayor release at 2006-07-26.
- T2 SDE, fork of ROCK Linux made in 2004 because of (in the view of some developers) inconvenient development cycle.[1]
- OpenSDE, fork of T2 SDE made in 2006 aiming to have a team-led project.
[edit] Powered-by distributions
By Powered-by distribution it is understood a distribution which is maintained using a System Development Environment.
Some relevant examples are:
- Since version 2.10 Puppy Linux internally[2] utilizes the T2 SDE to build the binary packages.

