10 Years of Debian

I’m not sure of the exact date – if my memory serves me correctly, it was sometime during the summer of 1997 – I was given an account on Debian’s server (located, at the time, in Beaverton, Oregon). I didn’t go on to upload my first package until October of that year, as I had landed my first programming job at the same time, at CKS Partners. The “new maintainer process” in those days consisted of Klee Dienes calling me up and checking that I was a real person, had a pgp key, and wasn’t completely clueless.

It was a very different project in many ways than it is today – much smaller, much more informal, and of course much less well known in the world at large. Some elements were in place, though – my recollection is that the “flame friendly” atmosphere, while perhaps not quite as accentuated as it at times appears today, was firmly in place even back then.

In ’98, ’99’, and 2000, the Linux world was an exciting place to be. I still recall reading about the database companies deciding to release their products on Linux, reading The Cathedral and the Bazaar, and going to one of the first big commercial Linux conferences, in San Jose, in early 1999. Debian was well poised to take advantage of Linux’s growth, too. Under Bruce Perens’ leadership, several key elements of Debian had been put in place, like the social contract and free software guidelines. Fortuitously, Jason Gunthorpe was working on apt in that time period as well, which was another key element in Debian’s success.

One of the things I’ve always admired about Debian in the open source world is that it is in some ways a “stepping stone” project, meaning that it’s a good way for people to start getting involved with free software, to get their toes wet “giving something back”, without already being an expert hacker. It’s easier to maintain a package of code, if you’re willing to put in the time and attention to details, than to, say, write a new kernel module, or some other piece of critical C code. I’ve seen a number of people take this route – they get started with Debian, and as they go, learn more about the packages they work with, and perhaps even get involved with them “upstream”, as they acquire skills and knowledge. By no means is everyone in Debian in that situation, though – there are some really first rate hackers, who tend to be the small core of people that really make Debian zing along.

Indeed, being an autodidact in the world of computers, outside of one very forgettable term of C++ at Lane Community College, has given me an immense appreciation for the enormous opportunities open source affords in terms of learning – and especially hands-on learning. How many other fields let you work from anywhere in the world with an internet connection, with anyone else who is interested in the same subject, at whatever time you want, with tools that you can download entirely for free? It’s really an intoxicating sensation realizing that you can do anything you want if you are willing to put the time in to learn how. The learning opportunities are one of the many things I’m grateful to Debian for.

These days, I’m really not involved much with Debian anymore. I mostly run Ubuntu, which I think has perhaps improved on some of the social aspects of Debian (although Mark’s zillions of dollars certainly play a large role, too). In terms of free software, I don’t have as much time, and dedicate more of it to my own projects like Hecl. I still love the idea of open source software, but I’m also older and wiser (or more cynical?), and must face the reality that without scarcity, you have nothing to trade with others for things like food. Due to my lack of activity, perhaps I should resign, but … I really don’t want to, and who knows, maybe I’ll have more time, and an “itch to scratch” at some point in the future.

Who knows what the next ten years hold for Debian?

Linux Notebook

I think the time is finally right to get a notebook while we’re in Oregon this summer, and was looking at the Dell/Ubuntu systems, which look like a good deal. The only thing is the long wait. It would ship the 16th of July if I ordered right now, according to their ordering system. That’s a long wait, especially since I’d like to have it around to get some work done while we’re over there.

After looking around a little bit more… the price looks really good, so it’s very, very tempting.

DedaWiki – alpha

I came down with a serious case of Not Invented Here, and created a wiki of my own. Before you look, consider that:

  • It doesn’t have a lot of the features that I want.
  • It may be broken (I didn’t dedicate a lot of time to writing tests).
  • Indeed, unless you’re the kind of person who likes to hack on things, you’ll probably seriously injure yourself if you so much as glance at it!

That said, I’d love to have a collaborator or two:

DedaWiki

It will eventually replace the wiki engine utilized over at http://www.leenooks.com, which is showing its age, and not as fun to work with as Rails at this point in time.

Ruby and Rails in Innsbruck, Austria

I like coding, but I also like to meet up, share ideas, and exchange information with other programmers from time to time. So I “spammed” a few people I found via google, and met up with Sudara and Samo yesterday for a beer and chit chat about Rails, Austria and life in general. It was fun, so we went ahead and created an Innsbruck Ruby and Rails google group, and are thinking about doing a “real” meeting at some point in the future. Samo had a nice presentation in German introducing Rails that I bet people would find interesting. Should be fun! I enjoyed getting out of the house and talking with some interesting people.

Presenting Hecl at OSCON in Oregon

I will be presenting Hecl at OSCON this summer!

http://conferences.oreillynet.com/cs/os2007/view/e_sess/12403

I’m pretty excited about it, and have been brushing up Hecl a bit, although I need to do a new release. For the moment, getting it from subversion is your best bet. I’m really looking forward to going home to Oregon, and getting to go to a cool conference and present at it, too!

I hope to see you there!

Ruby gems annoyance – GPL’ed libraries

I tend not to be much of a license bigot, and think that they all have their places, but GPL’ed libraries are annoying, especially when they’ve been “blessed” by being inserted into an official repository like Ruby’s gems. Consider:

  1. A big, large stand-alone application, like…Linux, for instance. I can see why people might GPL it – because there is a very real risk of someone “taking it proprietary” (or was – these days the comunity is too big and too fast to compete with). So I can understand the use of the GPL there.

  2. 200 lines of library code. There is no way anyone is going to “take it proprietary” and make any money off it. Even incorporated into some proprietary application, it’s not going to make or break it. So, if it’s GPL’ed, those working on proprietary software won’t use it. If, on the other hand it uses a liberal license, then they can use it, and if they’re smart, they’ll contribute back any improvements to it.

I suppose that in case 2, someone might still GPL the code if their goal is solely to keep it out of the hands of proprietary developers, even at the cost of having less utilized and contributed to free code, but it’s not an optimal strategy otherwise.

The problem that I’ve stumbled upon is that Ruby’s Gem repository is full of randomly licensed code, including lots of GPL stuff. At the very least, this information ought to be very visible so that it’s possible to weed out any GPL’ed libraries. At best, the Ruby guys would only accept MIT/BSD licensed code for the standard repository.

This is something that’s done well in the Tcl community. Tcl is BSD licensed, and so is everything that surrounds it. Sure, people at times consciously decide to GPL their applications, but that’s their right, and it’s much easier to understand than some tiny bit of random code that one might like to use for some particular function in an application.

Information Asymmetry and IT Hiring

It appears as though Akerlof’s “market for lemons” that Bruce Schneier wrote about has caught on.

While hiring is certainly a case of information asymmetry like the “lemons market”, there are some other factors at work:

The Principal-agent problem: even once you’ve hired someone, there are some asymmetries at work of a different sort: your motives may not be the same as your employer’s, and it may be difficult for the employer to monitor what you’re doing. If you’re digging ditches, it’s pretty easy to see what you’ve done, and how well you’ve done it. If you’re creating a complex system, on the other hand, it’s much harder, even for an expert, to tell what sort of job you’ve done, let alone for a “pointy haired boss” with little knowledge of the domain at hand. The wikipedia article discusses different schemes and problems with attempting to align the interests of employee and employer.

The curious may wonder why anyone hires anyone at all, rather than just having all work be a series of contracts between independant individuals, rather than companies and employees. Ronald Coase asked the same question a number of years ago, and determined that the answer lies in transaction costs – the subtle friction that permeates any real world exchange. Think about having to continuously search for potential contract workers, and bargain with them over prices. It’s easier to employ someone, and be able to count on their work, at a steady rate, than to have to outsource important functions continuously and at variable prices. It’s also probably cheaper in some ways because of people’s tendency to be “risk averse” – they prefer the steady but stable job over a more variable, but higher paying income stream. As we’ve seen in recent years, as transaction costs have come down, it does become easier to outsource certain kinds of work, and we have seen more of it.

Economics provides a fascinating lens through which to view the world of high tech and information goods, and the superficial overview that I’ve attained has certainly served me well. A good place to start, besides perusing wikipedia, is the book Information Rules by Hal Varian and Carl Shapiro.

Dunbar’s number and online communities

It’s widely known that online communities tend to follow a certain pattern if they are successful. They get larger, and beyond a certain point, they start degrading. Slashdot, digg, reddit, usenet – there are countless examples.

My idle thought for the day: how might one go about reconciling the vastness of the internet with Dunbar’s number.

Dunbar’s number, which is 150, represents a theoretical maximum number of individuals with whom a set of people can maintain a social relationship, the kind of relationship that goes with knowing who each person is and how each person relates socially to every other person.

The ideal system would work to expose you to all the new and interesting things you can find only by interacting with a large group of people, yet keep the actual community aspects (comments, for instance) small, in order to facilitate happier, more interesting and productive communities, rather than the vicious circle turd-flinging matches that a lot of popular sites seem to descend into.

I don’t have a clear idea of how that might be accomplished at a practical level, but the idea interests me as a way to create something that grows a lot, yet doesn’t become unpleasant.

Pluto Meeting

The Pluto Meeting in Padova was fun to speak at. It was good to see people I haven’t had a chance to see in a while, and I was very impressed that the organizers managed to put the whole thing together in under a month. That’s no mean feat!

I gave a talk on economics and free software, a subject that I find fascinating. I went there expecting to get a few more questions or people pushing back against what I had to say, given that a lot of the people present were “of the FSF persuasion” in terms of their beliefs, but for some reason that didn’t really materialize. Too bad, because it could have been interesting.

In any case, we had a great time back in Padova for a few days!

Paul Graham and the Opportunity Costs of Startups

Anyone who hasn’t read them should have a look at Paul Graham’s collection of essays:

http://paulgraham.com/articles.html

They’re not all winners, but there’s a lot of good stuff there, especially where he talks about things he knows intimately: startups and “hackers” (in the sense of programmers). I’m not sure if he actually ever comes out and says that startups are the way to go for enterprising hackers (he may not, infact), but his enthusiasm for that route is infectious. It’s a route that was fantastically successful for him, and so it’s natural that he thinks highly of it.

However, the “opportunity costs” are also important to consider. In other words, what else could you do with that time, as a young and bright coder? I think the world, and possibly Linus Torvalds himself, would have been worse off had he dedicated himself to creating a company. He’s a bright guy, and might not have done too badly with a startup, but Linux is really one of a kind in the success that it’s had. Same thing goes for other bright people who have dedicated themselves to technology in some way (Guido van Rossum, Ruby’s ‘Matz’, Andrew Tridgell come to mind), in the process creating something very cool that has come back to reward them, in the end. On the other hand, while the idea of Arc is interesting, my guess is that the world is better off with Y Combinator, and Mr. Graham certainly seems to have done well by himself with the company he founded and sold to Yahoo.

The question is: what kind of person should do what? Some of the personality traits are doubtless similar between the two categories. Or perhaps there isn’t much difference at all, and it’s motivation that counts. Perhaps the most important thing is the people you know. Apple’s two founding Steves might not have did what they did without one another, whereas Linus was able to capitalize on the internet to leverage his own creation, without having to work closely with a business partner.

I don’t have the answers, nor do I think they are clear or easy, although I’m sure that motivation does count for a lot in terms of overcoming what people don’t expect you to be able to do.