Glossary
A Distribution is both a codebase and the people who develop and maintain it. A distribution project compiles a kernel (Linux, BSD, Hurd, OpenSolaris) plus tools and userland applications into an Operating System. This can be delivered via physical media (CDs, DVDs, pre-installed computers) or online through special servers called repositories. Debian, Red Hat, and FreeBSD are all Free Software distributions according to this definition.
Free Software is that which can be freely used, copied, modified, and distributed in unchanged or modified form. “Free” here means “libre”, not “gratis”: hence Free Software can be sold and still be Free as in free speech, although maybe not free as in free beer. The requisite of modifiability of Free Software requires for its source code to be available. This is why some people prefer to call it by the name Open Source Software.
Free Software and Open Source are, outside very extreme edge cases, functional synonyms, as there are virtually no Open Source programs that are not Free according to either Debian or the Free Software Foundation, and there are hardly any Free Software programs that are not Open Source. I use “Free Software” or “Software Libre” throughout, but if you want to use “Open Source”, it is mostly ok, as long as you mean Open Source to carry the connotations of “free to modify and distribute” as well as “has available source code”.
Software Art is whatever you want to make of it, but for the purpose of this paper and for Software Art packaging efforts, “software art” means “code that compiles into aesthetic objects, into artistic performance tools, or into tools specifically designed and promoted for artists creating the previous two categories”. Free-Software-Art is a software packaging effort, so it deals with software which can be distributed and run on generic hardware.
What is and is not Software Art is fuzzy, as many categories are not binary, but rather points in a continuum. The following canonical examples stake out some territory of Software Art by using examples whose licenses are free and depend on free code:
Category
Example
Standalone applications
Electric Sheep (distributed generative screensaver)
Client-server applications
Carnivore (online surveillance tool)
Performance instruments
Fluxus (scheme-based GPL visuals livecoding tool)
Art games and game mods
Rrootage, Transcend, Fijuu, The Great Game(boy)
Coding Platforms *
Processing, Pure Data (code that compiles into aesthetic objects)
Social Web Services
Everything2
* Not Software Art per se, rather, coding platforms specifically designed for and aimed at Software Artists
Packaging means preparing a composite of a program’s compiled binary (or its data) plus the appropriate metadata in a format that can be automatically installed by an operating system. We are talking about packaging programs for Free Software distributions such as GNU/Linux, the BSD family, OpenVMS or your own homecrafted one. Red hat .rpm files are packages, and so are Debian .deb files. BSD packages are called ports, but for the purpose of this talk they are also packages, and the process of making a raw source code tarball into a port will be called “packaging”.