Free Software

The idea of Free Software is writing software, and allowing other people to modify it at will. The reality of Free Software, for me to date, has been that I can use a large amount of software for gratis. I have been a user, not an author.

By default, copyrighted works have all rights reserved. If I put a piece of software up on my webpage with no specific mention of allowing you to do anything with it, you can only do ‘fair use’ type stuff. You could satire it, you could review it, and you could quote from portions in the course of your research. You couldn’t go and make a bigger and better piece of software based upon my code (you could base it upon my ideas if I hadn’t patented them, but not my code). Just as if I put a novel up on my webpage, you couldn’t write a novel with the same characters in the same fictional universe, nor could you write a sequel, or take my novel, make it a better novel, and publish it, even under joint names.

Anyway, the point of Free Software is giving people a licence to make derivative works based on your code (a better novel, if you will). You can do this to varying degrees. You can tell everyone that they can do what the hell they want with it. You can tell them they can do what the hell they want with it as long as your name is still part of any copyright notices.

A relatively common way of doing things is to use the GNU General Public Licence, which doesn’t really let people do what the hell they want with your code. They can make derivative works, but they must make the source code of their derivative work available if they distribute it, and it too must be GPLed, meaning that people can then make derivative works of their code, and

This doesn’t mean they have to distribute it gratis, just that they must then distribute the source code to anyone who has the product (and the source code must be distributed at cost, not for profit), and because the source code is GPLed, anyone who has it can make derivative works and distribute them, with the modified source.

It’s not really a winning proposition if your business model involves making software and relying on the fact that people can’t make better software from your software. You use the GPL if you want to make sure your work, and improvements on your work, remain Free. If you want to make the lives of programmers everywhere easier without forcing them to distribute modifications, you don’t use the GPL. Your decision.

Which is all well and good, until you suddenly realise that you might be making a derivative work of an existing GPLed piece of code (which means that your product, if you distribute it, must also be GPLed), rather than an original work, as you had intended. As I am considering doing with this weblog.

I rather like the idea of people being able to do what they want with their own intellectual property, produced for some value of time and/or money. If they want to sell it for oodles of money and not allow derivative works, and they can get someone to buy it, so be it. If they want to hand it out on street corners, well that’s generous, well done. The GPL is somewhere in between, and well, if you put the work in to make an original piece of software, and a condition of using it is that derivative works have certain restrictions, well, it was your work.

Now wanting to contribute a few hundred lines of blogging software to the world is not exactly the most serious of contributions. And I was considering using a piece of software in it that is in fact, GPLed, which would mean that this software is a derivative work.

However, I kind of sputtered. I’ve been thinking of it as an original work, you see, and therefore entirely my property to be distributed under such terms as I choose. It seems odd to hook it up to something else, and have it suddenly lose its status as my own work. I’m more accustomed to the idea of the GPL applying when you make little improvements to something big, rather than when you take two rather different pieces of software and link them together at a few points. It feels rather like writing a novel that makes a passing reference to Frodo Baggins and having your novel’s copyright suddenly owned by the Tolkien Estate. The analogy is not fair, but I’m illustrating reactions rather than ethical decisions.

So, at this point, I’m deciding whether or not to re-implement the wheel a little bit for the sake of having an original work, or to eat of the fruits of the GPL. It’s been luxurious being a user of Free Software, since it is generally distributed for rather small sums of money, I wonder if I’ve been fed too well?

Blogging and blogging software

It used to be a bit of a tradition among people I know to have about one hundred million unfinished web projects hanging around on various accounts we’d all forgotten the passwords to.

I’m not as bad as that, I tend to have old, finished, but badly badly in need of a redesign, projects, that move between hosts when I do.

In fact, my oldest web project, the Discriminant Boy stories, has gone through abut six design iterations and is still in fact hanging around on the web, having escaped the black hole of geocities, and of a user account, and now having its own subdomain. My personal website has been through about four design iterations and about six content iterations, and has now stabilized, pending me writing my own personal mega content management system for it.

This blog originates in me wanting to do some non-fictional writing, and not being able to do it in my online diary, because the tone and content established in the diary now restrict it to being my day-to-day life. It took about a year to move from idea to reality.

I did the basic site design, inspired by the GIMP adding all the hot colours to the eye logo, about seven or eight months ago, but gave up before I began coding.

About a month ago, I searched freshmeat for blogging software and found such a banquet of it that I couldn’t be bothered sampling them all to actually make a choice. I decided writing my own might actually be faster.

It took the old trick of stuvac to get it to a launch phase. I was, and am, procrastinating an essay you see.

Anyway, I now have a rather cute codebase, which I will tidy up and release – fancy that. I’m tempted to try and get it onto freshmeat, just to further annoy people who want to download some blogging software for their site. It’s probably going to have version numbers attached to it.

I’m worried that writing for it might not be as much fun as coding it was, and for me, that’s a serious, serious statement.

On history

I took first year Modern History this semester, as a kind of "fill in the gaps" thing for my degree. And like other ‘accidental’ subjects I’ve taken (linguistics) I really enjoyed it.

I only wish that high school history hadn’t been so piecemeal. I have vague recollections of learning about Gallipoli without understanding what World War I was about, of learning about JFK (and my mother lent me the findings of the Warren Commission) without learning about the 60s, or about the US. I wish there had been social history, and Big Picture history. Instead, we got snapshot history.

No wonder kids hate learning about the Australian explorers. There’s no maps given out to show where they went, no idea of the conditions they lived under, or the size of their cities, or whether they needed more land for agriculture, and nothing said about the colonial mentality.

We saw a map of Europe in 1750, and almost nothing, save England, was the same. I wish I’d seen that years ago. But then, I can’t remember whether or not I knew what a map of Europe looked like before I was thirteen or so. And I don’t know if my contemporaries would have recognised one either.

Our exam question is about how the ideals of the Enlightenment and the horror of World War I are tied together. I wish I’d had to answer questions like that at school.

On writing a diary for an audience

You know those diaries that people keep under their bed? Maybe with a key? I’ve never been able to keep them. I’ve tried. Several times. I still have some of them. I can’t bear to reread them. And I’ve never been able to keep writing in them for more than a month.

I always get caught up in guilt complexes. First, I feel guilty if I don’t write in them. Second, I feel that I need to put everything in them. An emotional experience left unrecorded is almost as if I have lived a lie. And I always end up lying by omission to my secret journals. There’s always something that is too painful to form into a narrative that evening.

Of course, it always ends up taking forever to write in them too.

But, years ago, when my grandmother (who died nearly two years ago) finished writing her life story for us, she told me that there was one thing that had been very helpful, and that was keeping a diary. Or so I remember. Noone in the family seems to think she kept a diary of any form, except possibly an appointments book.

In any case, that was something to feel guilty about. I didn’t have a record of my life for myself when I got older, or when my grandchildren wanted to know.

I ended up keeping an online diary due to my growing appetite for them. I felt like if I was going to consume the details of people’s lives (and I really do like reading the daily details of people’s lives, it’s only television snobbery that keeps me away from reality TV, I’m sure) then I should write about mine.

And so I have, for nearly two years now. And I’ve really enjoyed it.

People wonder how I can stand writing a diary that is emotionally bland, or relatively so. The secret is: I can’t write for myself, I can only write for an audience. I have tried to write for myself; I’ve tried to keep diaries, I’ve tried to write essays, and I’ve tried to be a poet. But the only thing that keeps me writing is a feeling that I’m writing for other people.

I don’t really use my diary as an emotional outlet – not an unthrottled one anyway. Rather, I use my diary as a writing exercise, as a record of my day-to-day. Already, there’s memories that are only ever invoked by rereading my diary, events that I now think would be lost to me without the diary.

I use it to practice writing. I use it to tell my mother details of my life that she would never hear in our weekly phone conversations.

It helped me discover that writing is something I really enjoy, and that’s something that forcing myself to pour my fifteen year old heart out to paper journals I’ve never reread couldn’t do.

Community stuff; Code

Community stuff

I’m on the SLUG committee, rewriting the constitution, organising a Python Interest Group after spiv‘s talk: SLUG PIG! [It’s all about the naming.]

jdub is doing the logo. Mmmm, slugs and pigs. It will be beautiful.

I’m doing lots of stuff for LinuxChix, including managing the FAQs, and helping restart the Sydney chapter.

Code

I’m learning Perl. Hopefully.

It’s been 1.5 years since I’ve tackled a new language and there are reasons for that – low frustration threshold 🙁

Tuesday 26 March 2002

<injoke>

jdub: “haw haw” is so passe. It is now “haw haw… um.” The inspiration is clear.

</injoke>

barryp: I have a theory about Python uptake that runs something like this: five or so years ago, your average larval phase pizza-guzzling university computing student was a big Perl user and Perl advocate. Now, a lot of those students are Python users and advocates. Which is not to say that a lot of them don’t know Perl too, but Perl is moving away from being the scripting language of choice of your Geek of Tomorrow. Still, this might just be my university.

Tuesday 2 October 2001

Part of the problem [with teaching groupwork] is the difficulty recruiting good tutors. The other part is that noone is as committed to their studies as they are to their job (people will allow themselves to fail much more often than they will allow themselves to get fired), so even though people are meant to work in a group, one or two group members end up being responsible for much of it. Result: groupwork is the most despised part of CS courses especially by the good people, who ended up doing much of the work.

Cert saga

25 certifications. 24 (including mine) at Apprentice, 1 at Journeyer. Certification: Journeyer. That’s mainly what is disturbing me about my new fake-cert.

I wonder what malcolm thinks is the cause of the difference in opinion about my contributions to free software.

I wonder also what he heard while I was working in February. I wasn’t working on free software, I was just using it, after all.

Certification

Exceedingly scary…

I should have the option of not being able to be certified higher than I’ve certified myself (which I did when I found my new imposter-cert). I realise then some ultra-modest hackers might end up being certified very low… but how many are there…