title: Sorcerer (operating system)
text: # Sorcerer (operating system)
  
  Sorcerer was a source-based Linux distribution. The distribution downloads and compiles source code to install and update installed software.
  
  Instead of using abbreviations such as rpm (Red Hat) and dpkg (Debian), Sorcerer's tool terminology is based upon magic words. For example, a recipe for downloading, compiling, and installing software is called a "spell". Software to install is "cast" onto the computer. Installed software can be removed by "dispelling". Consequently, the command line tools for casting and dispelling software are called cast and dispel, respectively.
  
  ## History
  
  In 2000, Kyle Sallee created a source-based Linux distribution called Sorcerer GNU/Linux and released it under the GNU GPL. During this time Sorcerer was a technology demonstration rather than a stable distribution. Eventually the distribution tools, called sorcery, and the software catalog, called grimoire, were redesigned and rewritten to be stable and usable on production machines. Due to the effort involved in single-handedly creating and maintaining a distribution Sallee ceased "Sorcerer GNU/Linux" during the redesign and rewrite of sorcery and grimoire. A month or two before the rewrite happened, in early 2002, Chuck S. Mead, who had previously created a fork of RedHat, created a fork of Sorcerer GNU/Linux. The first fork of Sorcerer GNU/Linux was called by the same name as Mead's fork of RedHat. It was called either "Lunar Penguin" or Lunar Linux. This fork's timing was fortunate for system administrators, because it granted them an opportunity to continue deployment of the distribution that Sallee was about to discontinue.
  
  The earliest versions of Sorcerer were named Sorcerer GNU/Linux, with key components licensed under the GNU General Public License (GPL). However, from around 2002 and forward current versions of Sorcerer release some key components under the Sorcerer Public License and not the GPL, and the distribution has dropped the term GNU/Linux. Sorcerer has two ancient forks: Lunar Linux and Source Mage which are not based on nor compatible with the current sorcery code nor compatible with current grimoire. Their terminology also deviates from Sorcerer terminology.
  
  ## Technical distinctions
  
  Sorcerer is based almost exclusively on source code. While many other operating systems generally make use of a package that contains pre-compiled (executable) programs, Sorcerer compiles source code on the machine prior to installation.
  
  A new "grimoire", which is a catalog of software supported for immediate installation, is made available daily. When new sources are available, the spells in the grimoire are updated. A user's desktop is updated by first installing a current grimoire. If necessary, the installed Sorcery is updated. Finally, installed software can be updated according to the user's decision. Users can also add new spells to the grimoire on their local machine and submit the new spell for inclusion in the general distribution.
  
  Sorcery automatically recompiles installed software as necessary to ensure continued compatibility and usability when installed libraries are updated. Unlike a pre-compiled binary-based distribution that must always download new packages, Sorcery most often recompiles installed software from previously downloaded sources. When a new source is required and an older source was previously downloaded, then Sorcerer will download a tiny patch that transforms the old source tarball into a current source tarball. The practice of keeping old source tarballs and downloading patches for updates allows Sorcerer systems to be updated using less bandwidth than distributions that provide pre-compiled packages.
  
  The minimum system requirements are given as 1 GB of RAM and 20 GB of hard disk space. This is suggested because compiling some sources will consume large amounts of resources. Sorcerer has recently started using cgroups to limit the impact of software compilation on the system performance. Therefore, Sorcerer installations are normally updated while still in multi-user mode while causing no interruption to services or downtime.
  
  