It's only since 1992, with the arrival of Linux into the operating system game, that the general public have been introduced to the concept of Open Source. In February 1989, the Free Software Foundation released the first version of the GNU General Public License (GPL), which helped the open source movement take hold. This license agreement allows any and all source code to be freely distributed and modified, on the proviso that subsequent modifications are also released with the same terms under the same license. Source code cannot be copied and put into commercial closed source programs.
Linux, with the help of GNU software, has risen to a point where it is a legitimate threat to the throne of Microsoft. Microsoft's only goal is to have a version of the Windows operating system on every desktop, in every portable device, in every appliance -- essentially every device with a computer chip -- all over the world. Anything short of that and their job is incomplete.
Meanwhile, SCO have just recently tried to take everyone who uses Linux, and their penguins, to court. Despite continued net losses in the millions every quarter, and declines in revenue, they continue to wage a futile war against Linux and Open Source.
There's a big corporate game being played, and every user of Linux, and every advocate of Open Source, watches events such as these unfold with great interest. The temerity of SCO was seen as a Microsoft plot by some, and as a complete waste of time and money by everyone else. Rumours of Microsoft's involvement with investment company BayStar go back to 2004, and BayStar have invested enough money into SCO to pull at least one third world country out of poverty. In a way, the Open Source community should be flattered that so much time, effort, and money is being pumped into squashing it. It goes to show how much of a threat it has really become. Or perhaps, rather, a perceived threat. But it also goes to show the complete lack of understanding of the culture of Open Source.
Before the corporate conspiracies, and before the litigious Americans began suing everyone over software patents and intellectual property, there was a time when innovation was encouraged and fruitful.
This really started happening in the late '60s. UNIX hackers used to make games and tools for themselves and their college buddies; they even came up with a method of communicating via computers that eventually became email for the common man. They generally messed around with anything and everything; making their own lives easier and more enjoyable at the same time.
AT&T's Bell Labs created UNIX in the '60s, but they weren't legally allowed to make any profit from this side-line business (communications being their primary business), so they eventually released the source code for free. This prompted hackers and universities to begin playing with the code, and from AT&T's code sprang BSD -- a derivative created at the Berkeley University, Xenix, and others.
The ball really started rolling for the great unwashed masses in 1982 with the introduction of a personal home computer called the Commodore 64. The Commodore Amiga propelled it to the next level, but for the general public, the C64 was where it began.
And it began with demos.
Programmers, musicians, and artists combined their skills, and using their Commodore 64s, they produced art. Scrolling text, star fields, waving plasmatic colours, bouncing and morphing graphics, and some even had basic 3D objects. Computers like the C64 generating three dimensional objects was quite something back in the early '80s. Their demonstrations, or demos, were simply demonstrating their abilities.
Typically consisting of teenagers, most demogroups were based in Europe. Using a complicated array of computer Bulletin Boards (BBSs) and mail traders, the demogroups would spread their work around the globe. Some traded demos with other demogroups. Rivalries began. They all tried to outdo each other. And they often did.
Parties were held, at first with dozens of people, but by the early '90s, they would bear 2-3000 people. Demogroups would get together, drink a lot of alcohol, and they would create demos for days at a time. At the end of the parties, competitions would be held, mouths would stand agape, and somebody's status would be raised a few notches.
These days, few demo groups still exist. Demoparties still happen, but have evolved to host LAN games among other things. They are now just big gaming parties with a little coding still going on, or the parties are used as release days for code that was prewritten. Occasionally, C64 and Amiga demos are still produced at these parties, which is kinda cool. Sometimes these demos are a tip of the hat to the good old days, but there are some people who prefer to code for these electronic dinosaurs as their primary machines. Old habits die hard, I guess.
But back in the days of the Amigas and the C64s, and even the old Atari and Apple computers, the operating system did less for you. Hacking at the hardware level was how things were done. All code was assembly language -- the lowest level of programming you can do without resorting to writing your software in 1's and 0's to be directly readable by the CPU.
Even when the developers of the Amiga operating system tried to make it as easy as possible for democoders to legitimately control the graphics and sound chips by providing library calls for Assembly and C, the 'legit' ways were still too slow and clunky. The democoders bypassed the whole operating system and wrote their demos direct to the hardware. Effectively, they wrote their own basic operating systems to host their software. Of course, this was easier in the days when most software came on bootable floppy disks because hard drives were a rarity. On the C64s, hard drives were non-existent. In fact, the practice of writing your own host OS to run a program was last done to some degree by iD Software on the PC to run Doom and Doom II.
Democoders, however, didn't just write demos. They wrote utility programs that helped them make their demos. Some wrote their own Assemblers, some wrote their own music programs, graphic programs, disk copiers, and crunchers. A cruncher is software that compressed programs and included code that would decompress them into memory before running them. It was very common to have to wait for a program to load while watching lots of random colours bounce around the screen. This display was indicative of the program being unpacked, or decrunched. Most of these programs were released as source code to the community at large. One group would make changes to suit themselves, and subsequently release their version's code for later groups to modify further.
One of the more well-known programs to come out of this open source culture was Sound Tracker. It was developed in 1987 by Karsten Obarski on the Amiga. This was released and changed by demogroups such as DOC, Fairlight, Exolon and others. What started as a music player that created MOD files and could play 15 instruments, by 1993 revisions and re-releases could play 128 instruments, and in a variety of file formats all derived from MODs. MOD music files were so popular and so well conceived that commercial games began using them as their soundtracks. The MOD composing scene exploded and became another movement not unlike free software.
In a similar twist on modern music, Peter Gabriel has been releasing sound packs for all the songs of one of his old albums (The Real World - 1982 [www.realworldremixed.com]) and asked everyone to remix the songs for a competition he ran. At the competition's close, there were over 700 entries. Other artists who are releasing "open source" sound packs are Nine Inch Nails and Brian Eno. Not only does this allow people to legally mix songs that they love, but it also gives new musicians and mixers the ability to access some high quality sounds that they can mix with their own music for something the world has never heard before. Just like demo coders who use old tried and true routines (such as star fields, or morphing cubes, or scroll text, or whatever) and mix them with new routines, or modify the tried and true in new ways that people haven't seen before.
Todays demo coders primarily exist in the Windows/PC space. Linux, Mac OS X, and even Gameboy Advance demogroups are out there, but the scene is by and large a shadow of its former glory.
Another difference is that the groups of today tend to code in C/C++. Hardcore (old school) demo coders tend to be detractors of these languages and say that a demo can only truly be called a 'demo' if it is written in Assembly and it talks to the hardware directly.
While I agree to a point, the world has changed and people have adapted, and this is just a way that demos have adapted. Most are showing off OpenGL graphics that had to be literally hand coded in Assembly Language before.
These early hackers, code wizards, uber-geeks, whatever you want to call them paved the way for the code hackers of today -- those guys who write software for free, just because they love doing it. The Eric S. Raymonds, the Linus Torvalds', the Alan Cox's, the Richard Stallmans, the Weitse Viennas, and the other countless hordes who code free software. They give their source code away for free so that others can improve on what has already been done, and so that others may learn from it.
Of course, commercial software has its place, but regardless of how much people like those at Microsoft hate the Open Source movement, nothing will ever make it go away.
Today's hackers are the Linux and Open Source coders. Their goals are exactly the same as the old UNIX hackers and the demo coders of the '80s and early '90s Ð to make quality software that is free to the world. Underlying motives may vary, such as just wanting the code to be free to political reasons like being able to see what the programmers are doing, but ultimately, there will always be people writing free software.
And in fact, it's not just software that's demanding to be free, other DIYers are coming out of the woodwork in cultures resembling open source. Podcasts could be seen as open source radio shows and Youtube has popularised what may be described as open source videos, including documentaries, stand up comedians, and more. Youtube created a community that responds to videos with other videos, either by way of tribute, or in some cases by enhancing the original or adding to it -- much like open source software.
The Internet is opening the world up to the infinite possibilities of what can be done with your data. More and more people are starting to realise, or come to the conclusion, that data should be free. Locking things up and keeping them secret is contrary to the ideal of the Internet.
Coders are always going to write free software. No matter who doesn't like it.