Since free software and other free culture products are formed by an organic, incrementalist process, they tend to be highly organic in their design as well. Free software is not so much built as it is grown. Thus, when considering a new project, you must think not about how to break it down into implementable chunks that can be assembled into a working product, but rather about how the project can organically grow—moving from working product to working product as it does so—becoming progressively more useful as it is developed.
Setting up an electronic "card catalog" for my books always seemed like a lot of work, so I hadn't really attempted it before; lately, I happened across a KDE program called Tellico that made it so easy and fun that I completed my inventory in under a week. Plus, I finally found a use for that "CueCat" scanner I've had collecting dust for the last several years!
Just as there are "classic" cars that never seem to go out of style, there are some classic pieces of software that remain useful long after most of their contemporaries. One of those programs is Xfig, a vector graphics editor hailing from the days of academic Unix workstations. Like the more famous TeX, Xfig hasn't seen significant updates in several years—and for the same reason: it's just about perfect like it is. It is showing its age in the style of its graphical interface, and it does have some fundamental limitations compared to more modern graphics tools, but for the simple technical diagrams it was intended for, it is still hard to beat.
In the dawn of modern computing, there was only text. And the text was good. You can do a lot with text: write equations or sonnets, describe intricate computer subsystems or a fine spring day. But people are visual as well as verbal creatures, and there is simply no substitute for graphical communications.
A constant pattern in the corporate environment is the gathering of resources, but with the free exchange of information inherent in commons-based projects, the pattern of choice is the dispersal of resources. This presents certain design challenges, which manifest themselves in the Unix-style "small sharp tools" approach to specialization; encourage "bottom-up design"; and most importantly require easy-to-obtain, shared, free standards for data interchange between programs. When every train car is to be made by a separate builder, it is essential that the rail gauge is constant and known.
There are several layers at which a GNU/Linux system's appearance can be customized. By far the most visible, especially on a multi-user machine, is the login manager screen. KDM (the KDE desktop manager) has a highly-flexible and easy-to-use XML-based theme system. If you can draw what you want, you can make it happen with a KDM theme. I'll talk you through the construction of one simple theme I designed for my ASUS Eee PC.
Politicians in general are not terribly tech-savvy, let alone conscious of the most important intellectual freedom issues, but President Barack Obama does have a reputation of being more aware than most of the new media and new possibilities of the internet. The new US presidential website shows some promise that indeed, we now have a US president who isn't afraid of the future.
The latest vector graphics package for GNU/Linux is a Linux port of a proprietary Windows application called "Xara Xtreme", which is in the process of being converted to a GPL license. There are a number of sharp broken edges along this path, including non-free library dependencies that need to be free-licensed or replaced with free versions, and support for free graphics standards like SVG in order to interoperate with other packages. As a result, you won't find this new application, called "Xara LX" in the main distributions yet. In Debian, it is filed under "non-free" in the unstable "Sid" distribution. However, this is an opportunity to get a sneak preview of what's coming.
One of the cool things about custom distributions of GNU/Linux is that they usually have better "eye-candy". However, it's not really that hard to provide your own. If you are setting up a multiple boot system, the GRUB boot menu will be an important startup step; remarkably enough, it is possible to include some graphics even as early as the boot menu.
This last Christmas, I refurbished and installed computers for two of my children. As we still have a pile of old games in a drawer, I wanted to provide multi-boot systems. This was much easier and more satisfying than the last time I set up a Linux/Windows dual boot system (with LOADLIN.EXE, which I can't really recommend today). I also wanted to test out the current state of FreeDOS (a GNU GPL-licensed operating system that emulates parts of MS-DOS 3.3 and MS-DOS 6.0). I did try installing ReactOS 0.3.7 instead of Windows on one of the systems, but I ran into installation problems I couldn't work around (a topic for a later column, perhaps), owing no doubt to the immaturity of the ("alpha") software.
In tight economic times when I was growing up, my family generally had "homemade" Christmases, where all the gifts were handicrafts they had made. It takes a lot of time, but it does save money, and in all honesty, those were some of the best I can remember. This year, I'm following much the same pattern, though my skills are different (I couldn't knit a sock to save my life, and while I can sew, I'm not exactly good at it): this year I'm giving my kids (refurbished) computers.
The "edge" for free software over proprietary software comes from volunteer effort. You should spend just as much effort on designing a comfortable and inviting project as you would on any consumer establishment: you may not be trying to convince customers to part with cash for your product, but you are asking volunteers to part with their time for your project (which is not any easier).
So, you've heard about Google's free software release of its Gadgets server, and the new "Open Social API". And gosh, wouldn't it be nice if you could provide this technology to your users with your favorite free software Content Management System (CMS)? Since the documentation that comes bundled with Google's release will probably give you simultaneous whiplash and vertigo (with a large side of frustration), here's a breakdown of the problem so you'll know what you're up against, how to go about solving the problem, and plenty of free software resources to help you get there.
This year, Creative Commons unveiled a new initiative called "CC+". It is not a license. It's a "protocol", although it's so simple that it almost doesn't warrant the term. Basically it specifies a standardized mechanism to sell further rights for works under Creative Commons licenses. One application of this technology could be to enable "collective patronage" models like the one that brought us the Blender free movies to be extended to a much larger pool of Creative Commons licensed material.
Not long ago I watched a free software developer totally lose his cool with a user who (admittedly very frustratingly) posted a "bug report" in Spanish on an English-language project that amounted to "it doesn't work". He posted a very sarcastic reply in a couple of random languages (one of them through a machine translator). It was an understandable reaction, and in a way, kind of funny if you could understand all of the languages involved, but it wasn't exactly good public relations. It was a sure sign of burnout. He had forgotten one important point: you are not obligated to help just because you wrote the thing.
These days there's a lot of buzz about "Web 2.0" and making websites more interactive, but what's really going on is a reconnection to the community nature of the internet. Collaboration, cooperation, and the information commons are all ideas that pre-dated the world wide web in the form of older internet technologies. In today's distributed computing environment, though, these technologies have really flourished. Here's a guide to eight that you should consider making use of in building a community around an information commons project of any kind, from multimedia, to hardware, to software.
In the proprietary production world, what matters about a copyright is who owns it. In the free production world, however, who owns a copyright is relatively unimportant. What matters is what license it is offered under. There is a very simple rule of thumb about the best license to use: use a "free, copyleft license". Such licenses provide the ideal balance of freedom versus limitations, and projects that use them are overwhelmingly more successful than ones that don't.
The gender inequality among developers and supporters of free software is stunning. Less than 2% of us are women, according to studies conducted for the European Commission. Why? The evidence says we're driving them away. There are even some pretty good published guidelines on how not to drive them away. What's missing is a practical implementation strategy: here I present ten relatively simple changes in how you run your project, to make it more attractive to would-be contributors—especially women.
Recently, I collected some data from Sourceforge, hoping to find evidence for the importance of copyleft. But I found something surprising: although there's plenty of evidence that many developers believe in the power of copyleft, the one measure I could derive of how much copyleft actually works showed that copyleft made no difference whatsoever! If true, this means a lot of free software's social theory is wrong and many things will have to be re-thought.