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.
I was surprised and delighted to find this video presentation by one of my favorite performers, Stephen Fry, called "Happy Birthday to GNU", on the GNU project homepage.
Posted on September 1st, in honor of GNU's 25th anniversary, it turns out to be only the latest in a series of entries on Mr. Fry's official blog site praising the virtues of free software.
Most of the assumptions on which our present economic system is based are based on nothing much better than "conventional wisdom": which is a fancy way of saying "it just sounds plausible". Sometimes conventional wisdom is wrong, and that's what the first part of this book has been about: six things that ought to be impossible if conventional wisdom were correct. But if the foundational assumptions of our economy are false, then where does that leave the economy? And if it's no longer standing on a firm foundation, then what are the new rules?
By rights, copyright really shouldn't apply to binary executables, because they are purely "functional" (not "expressive") works. The decision to extend copyright to binaries was an economically-motivated anomaly, and that choice has some counter-intuitive and detrimental side-effects. What would things in the free software world look like if the courts had decided otherwise? For one thing, the implementation of copyleft would have to be completely different.
Hypothetical? Academic? Not if you're a hardware developer! Because this is exactly what the law does look like for designs for physical hardware (where the product is not protected by copyright).
In a recent article, Ryan Cartwright argued that free software isn't playing the "same game" as proprietary software is. He's right—but that begs the question: what game is GNU/Linux playing?
Thirty years of proprietary software thinking have conditioned us to think that marketshare is a critical measure of success, and so we've convinced ourselves that we have to "win" against Windows in order to "succeed". But this is simply not true. GNU/Linux can be a very great success even if it never achieves more than 1% of the installations in the world. The reason is the difference between "power" and "freedom".
The Blender Foundation's second free-content movie, Big Buck Bunny, is the product of the foundation's "Peach Open Movie" project, and the results are impressive. Like the previous Elephants Dream movie, this film pushes the technical envelope for the "Blender" free software 3D rendering and animation application; unlike it, it succeeds as pure entertainment.
I've described using Zenoss for a very small network here, and that's as far as I plan to go. However, you should realize that Zenoss was designed with very large corporate networks in mind, so it is quite possibly to monitor hundreds or thousands of computers with it.
Zenoss is extremely configurable, so it can probably be set up to tell you just about anything you want to know about the computers you are monitoring. I'm just going to go through some of the things I personally was most interested in for my LAN computers, and then for my web server.
A really sharp admin would probably be able to set up SNMP on my virtual server and keep it secure. I, however, have no confidence in my ability to do this, so I at first despaired of using Zenoss to support my web server (which would've been a shame).
Luckily for me, however, Zenoss can also collect information without SNMP, by using secure shell (SSH) access. This is essentially doing what I have been doing—logging in remotely and checking stuff out—but automatically.
Now that I have some of my LAN computers running SNMP, I can set Zenoss up to monitor them by "modelling" them. To do this, I start by going to the "Add Device" option on the left-hand menu (this menu stays constant in Zenoss—you can see it on the side of the dashboard display in Figure 4, for example). The "Add Device" option is way down the list, under "Management". Clicking on it leads to the "Add Device" form (Figure 6). Of course, Zenoss calls your computers "devices" (and "system" means something else entirely).
The hardest part of the learning curve for me, was learning about SNMP, the "Simple Network Management Protocol". Zenoss, like most network monitoring services relies heavily on this technology, which apparently dates back to the late 1980s, even though I'd never heard of it.
Zenoss is pretty new, and there is no ready-made Debian package of it (or wasn't at the time of this writing, anyway), so installation will have to be from source. Given that Zenoss is a Python/Zope program, though, this won't be exceptionally hard, so long as all of the dependencies are taken care of.
The tools and techniques for creating hardware designs are very different from those used for software; and because of this, developing open hardware is a significantly different and greater challenge than creating free software. In the second part of my interview with the developers of the Open Graphics project, I wanted to explore these factors and the solutions this one open hardware project has found.
Recently, I attended a small symposium here in Texas, with just over 70 people attending: the inaugural "Texas Open Source Symposium" (TexasOSS). Although small, it was a pleasant conference. Topics ranged from 3D applications to business models, to introductions into the inner workings of the free software community process.
For many years, there has been a growing concern about the emergence of a "digital divide" between rich and poor. The idea is that people who don't meet a certain threshold income won't be able to afford the investment in computers and internet connectivity that makes further learning and development possible. They'll become trapped by their circumstances.
Under proprietary commercial operating systems, which impose a kind of plateau on the cost of computer systems, this may well be true. But GNU/Linux, continuously improving hardware, and a community commitment to bringing technology down to cost instead of just up to spec, has led to a new wave of ultra-low-cost computers, starting with the One Laptop Per Child's XO. These free-software-based computers will be the first introduction to computing for millions of new users, and that foretells a much freer future.
Suppose you've been good (or sort of good anyway), and you have a huge stack of CD-ROMs (or DVDs) with backups and archives of your old files. Great. But how can you find anything? I solved this problem today by making an index of all the files stored on these disks using a few simple GNU command line tools.
Microsoft turn to free software? That'll be the day. Some have suggested that Microsoft might embrace free software and thus resolve the present conflict. That actually would be a terrific strategy for them, but I don't think that Microsoft is smart enough to do it.
The Google App Engine doesn't really advance the cause of evil all that much, but it's not exactly good, either. Google makes a big deal about its corporate motto, "Don't be evil", but at the end of the day, Google really is just another corporation, no matter how well-intentioned its founders may have been. Regardless of whether the corporation holding the carrot is called "Microsoft" or "Google", developers should think long and hard before following the primrose path towards lock-in to non-standard designs.
Language and lock-in
One of the favorite arguments for free software is that it avoids lock-in to a particular manufacturer's products. Something similar happens due to choice of programming language, though, which accounts for the sometimes-baffling project rivalries in the free software world. While this may be a surprising result to end users, it makes a lot of sense if you think about how developers—especially free-software developers—work. Occasionally, you hear complaints about these "divisions" of the free software world, but is this really a bad thing?
Proprietary culture dumps a lot of disappointing experiences on me. I really had this brought home to me by a couple of toys my daughter received for Christmas this year, which just refused to work with our family's Debian-based computers, and I have to wonder: what are these experiences teaching our children?