We do what we can because we must

A recent conversation with a friend about Twitter vs identi.ca prompted the following response, slightly edited for formatting and anonymity:

<my friend>
man.. that’s my primary annoyance with the open source movement

<me>
What is?

<my friend>
the belief that everything has to be duplicated especially for open source, or it’s invalid

<my friend>
and a version of something that already exists with a smaller community around it and a worse user experience is somehow better

[snip]

<my friend>
someone creates something useful, and then a bunch of people jump on it and do a piss poor job trying to replicate it because they lack the ability to actually design (in the architectural as well as UX sense) and come up with a shit product that they think everyone should use because of some subjective moral high ground

While we were having this conversation, I was sitting in a cafe, it was a lovely sunny afternoon, the sun was beginning to set, and I was feeling very peaceful. I briefly tried a sort of rebuttal but couldn’t conjure up the energy to continue when the argument started to get heated. I replied instead that my surroundings were making me feel mellow. I wanted time instead to respond, which I will attempt to do now.

Let me first try to address the concern at hand. Twitter vs identi.ca. If Twitter exists, why should identi.ca exist? The only reason I started to curiously poke around identi.ca is that I noticed Debian people were using it, and I’ve found that I’m very like-minded with other Debian users and developers. So I trusted their judgement about the usefulness and safety of identi.ca, and I started using it. I’m not particularly defensive about either website; I still think microblogging is kinda dumb. I just wanted to see for myself it would be as captivating as everyone seems to think it is, and I was glad I found a microblogging service that my friends seemed to like.

And yes, it’s true that the fact that I have the source for the website, (it’s under the AGPLv3, which is like the GPL but activates its copyleft clauses by network interaction, e.g. a website!) gives me warm fuzzies. I like having source, and I’m a little sad that the other big websites that I use frequently for their services, bitbucket and gmail, don’t give me source. I briefly tried out gitorious because I wish I could at least submit patches for bitbucket, but then that’s git, and I still prefer hg.

At any rate, if I have two websites of approximately equal functionality, one gives me source, another one doesn’t, then I will disregard popularity and choose the one with source. It’s just what I prefer. I think this is what the attack about “high moral ground” was about, that I think a website should be used because it has source.

I would like to defend against the accusation of high moral ground or holier-than-thou attitude. I now try to never personally appear or act that way, except in very obvious jest (e.g. by speaking religiously about Emacs). I have learned that telling people, don’t use that software, don’t buy that product are extremely counterproductive, so I’m not trying to impose upon anyone any sort of rules of what software I think they can or can’t use. I wish everyone was using identi.ca instead of Twitter and that identi.ca would stay free with that burst in popularity, but the way to that goal isn’t by telling people what they should do; at best you might suggest why they should value source for its own sake, because it enables other kinds of interaction, but it’s pointless to pontificate. So if I or any of my peers in the free software movement have pontificated to you, I apologise for myself and I apologise on their behalf. Empty rhetoric is not what we want you to get out of our work.

Which brings me to the rest of the accusation, what in my friend’s words is a “shit product”… which I don’t think identi.ca is, the interface seems very polished to me (I probably shouldn’t have started off showing the interface by showing off my own identi.ca dark theme; dark themes seem to provoke very intense negative reactions in people). If my wish of everyone using identi.ca or (Octave instead of Matlab!) won’t happen with preaching, then how will it happen? By building a non-shit product, one with a good user experience, one that is architecturally sound.

Clearly being free software isn’t an impediment to being of good quality. We can find software both free and not of good and bad quality. But if there is software that already exists of good quality and it’s not free, then why bother creating a free alternative? And here I come again to Octave and why I felt a poignant need to write this blog post. I am, after all, working on a free project with which I hope to give Matlab users and other people with numerical computing needs better ways to freely collaborate. Octave does frequently receive accusations of having a bad interface (but Jacob Dawid’s Quint project in our private Octave clone may very soon fix this!), of not having enough toolboxes, of being slow, of not having a JIT compiler… all of these are complaints of varying validity. Matlab users have come to expect them, and if we are to offer Octave as an alternative that respects their freedom, we also need to address user complaints.

Here I come to what I felt was the crux of my friend’s complaint. Why bother? If there is something that already works, why recreate it freely and offer something that is a worse user experience? Well, I find this defeatist. If you had the option of software of equal functionality and quality, wouldn’t you prefer it to be free? I think you, yes, you deserve free software, so I’m trying to build it for you, with you. It may not be all that you want right now, but we can always try to make it better. Perhaps you may even help me! Or not, you’re free to do what you want, just improve it privately without even giving me your improvements. That’s fine too.

Will we ever win? Will Octave ever be the de-facto numerical computing environment instead of Matlab like our brothers-in-GNU with the R project are for statistical computing? Will identi.ca receive Twitter refugees when the company takes an irredeemably evil turn in the future? Who knows. But we must not lose heart. We have the capacity to build something better, and because we all deserve something better, we must keep trying. It’s our duty to ourselves, as a community. It’s not a holier-than-thou attitude; it’s thou-art-just-as-holy-as-everyone-else attitude. These are worthwhile windmills to tilt at, we have the steed, we have the lance, so tilt we must.

Knitting for geeks

Margarita Manterola from Debian Women asks:

So, after the whole Wikip. thing, I ended up following lots of links
about knitting, and as everytime I come in contact with this, I feel
like I should learn to knit (or maybe I should say, re-learn, I was
taught during primary school, but forgot all about it afterwards).

Is there a “knitting for geeks” tutorial around? :)

There’s tons of videos in YouTube to get you started, although I don’t think many of them are “for geeks” specifically… or at least different kind of geeks. Knitters geek out over types of yarn, needles, complicated patterns, unorthodox knitting, knaughty knitting (e.g. knitting a bra or a thong)… they do end up speaking a special kind of language and getting very passionate about it. What worked for me was when my mom sat down with me to teach me how to cast on, the basic knit and purl stitch, and from then on I was able to bootstrap my first scarf. Perhaps you can learn from videos instead. We didn’t have YouTube when I learned how to knit, heh.

I personally do appreciate a certain mathematical aspect of knitting. I got started because I saw a friend in algebra class in university (y’know, the Galois theory kind of algebra) do complicated lace patterns with needles while she was listening to the lecture, so I was intrigued (and later in love, long story). My kind of mathematical knitting is usually limited to things like knitting a Möbius scarf (non-orientable knitting!) or a hyperbolic plane (negative curvature knitting!). It’s rather remarkable how with just a few basic stitches you can build very complicated things. It does feel a little like Turing machines!

If you need a book, I rather like the Vogue knitting series myself. I hear Stitch’n’Bitch is popular. And most knitting magazines also have introductory instructions in every issue. I liked Knit 1, another Vogue publication, or you can read Knitty online. Knit 1 seems to have ceased publication, but you can probably find back issues in your LYS[1].You might also want to find people near you to knit with, in which case language can be a slight hurdle at first. I really enjoy social knitting. I actually get a little lonely when I can’t find people to share my knitting with.

Incidentally, it’s kinda interesting how knitting patterns are a lot like source code, with similar kind of politics. People share them, remix them, some jealously guard them and try to sell them, others want to ensure as many people as possible can compile your knitting instructions… Interesting world, definite parallels with the free software world.


[1] Local yarn store… too bad most knitting distros don’t ship with the wtf(1) binary. ;-)