This is perhaps a silly question

Photo Hunt: Word List #15-Mother/Daughter HandsIs there any need for us all to switch to the same DVCS, as long as we all switch to something that jhbuild understands?  It’s a huge, huge job to convert the whole of GNOME from one VCS to another, as I’m sure everyone who was around at the time we switched from CVS can attest, but it’s less of a vast job to switch between VCSs for one project.  So perhaps we can all stop attempting to convince the whole Foundation and start just trying to convince one group of maintainers; that seems more likely to happen, since the groups are far smaller.  Then later if a project decides it wants to change to another DVCS, we’ll have a lot of good information to help it do so, and changing DVCSs isn’t really all that hard, is it?  And in the end perhaps we’ll reach a consensus.  Where would the bzr/git/hg repositories be kept?  I don’t know.   Maybe there could be an official GNOME place to keep them; maybe people could make use of launchpad or github or repo or freehg or whatever for now.

I think this turned into a bikeshed discussion a while ago.  Maybe some tools are slightly better or worse than others, but I think any of them would be better than none of them, and I’d like it if everyone could get on with making awesome software rather than wasting energy arguing about where we keep it.

And now another subject: People were asking questions about how well Metacity co-exists with AWN.  Someone (I forget who, sorry) was saying it works very well, and I have been playing with it and can confirm this.  I also think AWN is very nifty and will probably continue using it.  I’ve also been playing with Anjuta, and it’s rather nice.  I wasted quite some time trying to get its GtkSourceView plugin to work: stick to Scintilla for now.

I should also tell you what’s going on in my life in general, but I am busy.  Later.

And now, some other links, while I’m here:

Photo by Judy Baxter, cc-by-nc-sa.

Thomas Thurman does not like cold meals because of broken applications

Cimi says that we have a large userbase and a small number of developers, and the key to continued survival is to have more of the users become the developers.  Then we have new blood, and new ideas, and also some help (good grief, I could clone myself four times over and still work full time on some of the work I have around here).

I have often wondered what it is that stops people crossing over from being users into being developers.  Here are some thoughts I’ve had:

  1. Not understanding “free”.  I once saw that someone complained about Wikipedia because the version in his language couldn’t even get the word for “free” right: they’d used the “as in freedom” version, and he had an assumption that “the free encyclopedia” meant “the encyclopedia you don’t have to pay for”.  Similarly, when I was downloading a particular program with Rio last night and I explained to her what GPL meant, she got very excited and said “cool! Can I give it to my best friend at school?  And we can make a version which looks like this or that!”.
  2. Not being a hacker. The other day Fin was somewhere getting lunch with a group of people and there were no forks;  Fin picked up two wooden stirrers from beside the coffee machine and used them as chopsticks.  All the other people in the group were amazed at this ingenuity.  This is the sort of thing I mean: some people are content not to figure out ways to improve the stuff they’re given and rethink the fundamentals. It’s the sort of thing that RMS called “creative playfulness”, and some people are content not to have it.
  3. “But I’m not a programmer”.  Some people, creative people who would otherwise do well, think of themselves as non-programmers and so don’t get involved.  But we need more than just programmers to get involved– we need artists, copywriters, testers, triagers, sysadmins, coordinators.  At least, we say we do, but I think there’s a public perception that to be a real GNOME person you need to be a programmer; I wonder if we went down the membership list of the Foundation and checked how many people were coders whether there’d be an obvious disproportionality.  Something that struck me today was Mårten Woxberg mentioning the proliferation of Metacity themes; I think we see so many of them because they’re something relatively harmless and easy for non-programmers to modify, and they really have got the idea of free software about the right to share and the right to fork that only far more rarely happens with real software.

    Secondly, however, it is hard for us to remember that coding isn’t just something you can sit down and do, especially writing patches. We programmers have a fair amount of training merely to be programmers, and we take that for granted. Look at the willingness people have to contribute to Wikipedia, where the bar to entry is far lower (you might also say that the quality is lower too, but maybe we have better QA).  What is the solution?  Can we identify creative people who aren’t programmers but who might want to help, and help them become programmers somehow, not solely so they can have A Lucrative Career In Information Technology™ as my radio keeps telling me but so that they can help the world?  Some kind of course, perhaps including work on actual GNOME programs as a project?  Maybe we can join forces with an existing distance-learning institution?

  4. “But it’s all so huge! Where do I fit in?” (And hey, Rob, I promised you an essay about this a few months ago.  It is coming, when it’s ready.) When Mozilla’s first public release was made, I decided I wanted to help even though I’d never worked on free software or on a collaborative project that large before.  So I checked it out of CVS and started looking around.  After a few hours I started freaking out at the size of it all (who was it who called it a code-katamari?) and ran away and wrote my own little projects for the next eight years or so.   In the GNOME project, we do actually have a place for this to happen, GNOME Love, so we’re actually doing pretty much okay on this point.  It certainly helped me fit in with GNOME.  (If there was such a place for Mozilla back then, I apologise; I never did find it, though).

    I suppose the existing GNOME Love can always use improvement, but something I’d really like to see is a sort of Job Centre for all free software.  I’d like to be able to say “I need someone who knows about P to help out on Metacity and I’m willing to help them with Q and they will learn useful things like R and presumably gain XP on the system”.  And then someone could enter all the things they knew about, and the stuff they wanted to learn about or have appear on their resume, and it would email them when things came up.  Maybe this is something Canonical could fit into Launchpad somewhere.

Any more reasons than these why people don’t dive in?

Metacity overview: drag and drop

A new, long explanation in the Metacity blog about why it’s actually rather hard not to raise the lower window when you drag from it to the upper, in case you read planet but not the Metacity blog. GDK hackers are particularly invited to read it. I had to do quite a lot of research and sifting of the original sources to write this and it felt like I was back in grad school for a bit, but if there are any mistakes I really do welcome corrections. And all comments are welcome, of course.

On holy wars and a plea for decadence

I don’t want to live in a world of arbitrary change for the sake of change any more than I want to live in a world of arbitrary change for the sake of Microsoft’s shareholders. Change for the better is good. Change away from the worse is good. But change in itself is a nasty, disturbing, uncomfortable thing, makes you late for dinner.

I want to live in a world where each program asymptotically approaches perfection and fits its ecological niche. I want to live in a world where programs have irrational version numbers and get a digit closer to them each release, where bug lists truly do shrink to nothing.

I want to live in a world of decadence.

Our sad tree adventure

The weather broke, and we were very glad. We ate dinner with the window open and the rain brought the coolness of the breeze through to the table. The thunderstorm and the quesadillas reminded me of happy childhood days eating toasted cheese in an English pub.

A little while after dinner there was a sudden blast of white light, followed not by thunder but by a slow and repeated cracking noise. “What was that?” and we ran out into the storm. None of the trees were broken as we looked around until I saw the lawn beside the house full of branches and pointed…

One of the pin oaks had been struck and fallen, hundredweights of tree lying feebly there fluttering its leaves in defeat. I ran up to Rio’s room and asked to look out of her window to get a better look. On its way down the oak had hit the maple which sheltered the house and broken its branches away, bouncing off it to land on the lawn. Had it not, it would have carved a hole in the roof with part of its trunk, and written off Alex’s car with the rest.

This makes me sad, and grateful to the maple for its self-sacrifice, and particularly sorry for my friends the squirrels who have lost their drey.

Later: I swear it was a complete coincidence that tonight’s story in sequential order from The House at Pooh Corner was the one where Pooh and Piglet are with Owl in his house when the tree gets blown over in a storm and they have to escape.

abi changes come and bite me; also, blt has moved

I didn’t get the 2.23.34 release out today, although the previous 2.23.x release was only a few days ago and there wasn’t anything particularly interesting to users that was new other than updated Vietnamese translations. All the tests ran, but when it was preparing the archive, the linker got confused about a symbol in cairo: undefined reference to `pixman_format_supported_destination'. Re-jhbuilding everything and changing the prefix didn’t do anything for it.

This post says that that was added in pixman 0.9.7, but there isn’t a 0.9.7, just a 0.9.6 and a 0.10.0. I suppose I have to try 0.10.0 next.

Also: my twitter client, blt, has moved from Google Code to Launchpad: here it is. People have been sending in lots of patches, and a new release is coming soonish. Thank you all.

Understanding Metacity themes

Oh look! A rare Useful Marnanel Post.

People were saying Metacity’s themes were under-explained, so I’ve spent a few days now writing the start of an explanation. I didn’t post it here because it’s a Metacity thing and belongs on the Metacity blog, but I linked to it here in case people who read planet and don’t read the Metacity blog would like to read it. I’ll add to it later to describe the two parts I skimmed over. Please link and disseminate, and correct any errors which have crept in. Comments are always welcome!

various pieces of nargery

I didn’t get the 2.22 release of Metacity out of the door last night because I couldn’t get it to build on my build setup (due to Cairo ABI changes), and releasing something I haven’t tested isn’t really on the cards. I will attempt to get a more current jhbuild working and see whether I can get a 2.22 series release out soon. Sorry :( I still don’t know why 2.23.x should build fine on the setup where 2.22.x fails.

There is a 2.23.21 release, though, with a lot of fun stuff; release notes should be coming through on g-a-l any moment now.

I have been talking to people about merging FUSA with the fork of FUSA which the GDM people made back in March, so that their version of FUSA is then the canonical one. An objection has been raised that this will make it harder in the future if we want FUSA to talk to KDM or whatever as well.

Does anyone know a way of including boilerplate blocks of text in *.schemas.in so they get translated? Obviously I could use entities or something, but I don’t know whether i18n works okay with those.

Andrew Tanenbaum made an interesting (and commonplace, perhaps, but easily forgotten) point about political blogging and news; I’ve linked to it from this post which says which paragraph.

Translation script

and then later a movie tooA while ago there was a post on pgo about the need for a particular script to make life easier for translators. I had a conversation in comments with two people, but I thought it wasn’t going anywhere because I seemed to be misunderstanding something fairly fundamental about their point; in the end it petered out. I could have done most of what they wanted, but I was worried I’d get it wrong and wanted to be sure. I thought it might have been more productive to have the discussion over IRC. Now I can’t even find the post.

Can whoever it was get back in touch so we can talk, if there’s still a need?

Photo: “And then later a movie too”, by late night movie