| Monument ( @ 2006-10-20 13:52:00 |
| Entry tags: | gnome |
I was musing about wikis today.
The year is 2010, and somewhere in the world a first-year undergraduate is checking her email on a college computer. This being 2010, the computer is running GNOME (version 2.25 as it happens), and some shortcoming about the way it handles windows has been bugging her for weeks. Well, she has a couple of hours free, so she goes to b.g.o to report the problem as a bug. A few minutes' browsing shows her that it's already in bugzilla, and marked with the gnome-love tag.
Let's imagine it's something like changing a loop which iterates over an array, and making it handle only members which have a certain flag set. (This is similar to how I myself got into GNOME.) Sure, it'd be a trivial thing to fix, since she's taken some C classes, but this is a college computer and doesn't have a development environment installed, and she has no means or inclination to get over the great hurdle of setting up access to a development environment. In 2006, the story might end here.
But this is 2010, so the relevant filename in bugzilla links to a Wikipedia-like site with the contents of the file on it. Every function has its own "edit" link; she creates an account on the site, finds the function she needs and adds the relevant "if" statement. She has the option of using plain text or a more Ajax-y IDE with syntax highlighting and crossreferencing in the style of LXR. Rather than changing the HEAD copy, the changes she makes affect only her sandbox.
Now she clicks "compile" in the sidebar and, after a few seconds of "please wait" while the build machine works on the problem, she's shown where she made a typo (two closing parentheses); she fixes it and recompiles, and finally the site gives her a link where she can download the newly-compiled binary.
However, in 2010, metacity has a large test suite, and the site knows about it. She clicks "test", one of the test machines gets to work on the new binary, and after a minute or so she is told that all tests pass.
At this point, there are four ways she can continue. She can edit some more. She can revert all changes in her sandbox so that it becomes identical to HEAD once more. If she was a GNOME developer (which she isn't) she could click "commit", provide a message, and add it into HEAD. But instead of all these, she clicks "make patch" in the sidebar, and it asks her for the bug number, and attaches it. Her future of contributing to free software is well underway.