Wed, 17 Sep 2008

Free your Mind - Free your Art!

For a long time publishing source code under a freedom givinglicense was considered bad. What if people would take your code and reuse it? What if you don't like how they reuse it?

History has shown that this has happened in only rare cases. And even then, having your code reused is an homage towards your creation. People started to understand that and it gladly became very common practise.

But it seems like the story starts over from the very beginning again, the field though is a different one. It's now graphic artists and especially musicians who are facing the same fears this time. But I think, it shouldn't be me writing this because I'm neither (well, only very few people consider ASCII art as proper art. Probably even less than consider good code to be art..). Good thing is, I don't have to. One of the wesnoth graphic artists did it, and way better than I would ever be able to get the idea across. So here you go: Jetryl about GPL Policy in wesnoth. It might be long, but it's definitely worth the read, and I hope it will help to make some people understand better and fear less.

Batman: Dark Knight

Wow, don't even remotely remember anymore when I was last blogging about going to the cinema. Granted, I wasn't that often in recent times, but I haven't mentioned some movies... Whatever.

Yesteday I have been to cinema again, and we watched "The Dark Knight". To be honest, I regret to have gone. The movie is as dark in its setting as the title says, even darker than what was common in previous Batman movies. They turned Batman into James Bond style, turning Morgan Freeman into Q, and using cheap Eminem quotes. I feel sorry for Heath that this was his last movie to star in. Even his great performance wasn't able to save the movie, and it's sad that this should be the movie people will remember him with... You deserve better, buddy.

Tue, 16 Sep 2008

webwml in git

Last week I wondered how much space a complete git conversion would actually need—and I was quite surprised:

$ du -hs webwml*
325M webwml
416M webwml.git
819M webwml.svn

The first line is the regular CVS checkout. The third line is the SVN checkout that's available from alioth. You can see that the size is not really something one would want, especially since the real gain is extremely little: besides offline diff you rather have disadvantages with not being able to do much offline because anything history wise requires you to be online. In CVS you at least knew that revision 1.12 of a file is three commits above revision 1.9 of the same file; while in SVN you have no chance offline to know how many commits to a file happened between revision 512 and 1024, if any at all.

The conversion to git took me quite a long time, practically almost three days of (non-constant) running git-cvsimport on my laptop. The time did not completely surprise me, at least when I noticed in the end that it were well over 83 thousand commits in well over 10 years, reaching back to July 1998. My first own commit was in July 2001, which wasn't too hard to find out with git neither, and required no online operation.

git gives you complete offline access to the history. This is actually something that the build process can be based on. There propably will be some speed drawback with not being able to do simple-math for revision difference like in CVS, but that actually will have to be checked. I'm still convinced being able to do all the stuff offline without any strange hacks or needing to be online all the time is something worthwhile.

Things left to do and which I propably won't find the time in the too near future because of ... erm, you know? Lenny? That we want to release? But anyway, to not have the list of things get lost, here is a (not complete) list of things in case you are bored and want to play around a bit:

Adapt the various scripts to not check CVS revisions but use the sha1 sums.

Adjust translation-check translation="" value for all files to use sha1 sums.

Check wether a full website build would work after that changes.

Try out how submodules work and wether they might be reasonable to use for language subdirectories to allow translators partial checkouts.

Playing around a bit? Well, you don't have to do the whole git-cvsimport on yourself: I've pushed my webwml.git repository to alioth: "git clone git://git.debian.org/git/users/alfie/webwml.git" should get you started. Please notice to play around in a seperate branch and not directly in origin to be able to pull further and update from time to time.