[124000040010] |Shamans dance [124000040020] |Sunrise and the music beckons, thunder in the mist with horns of heaven blaring across a sleepy valley. [124000040030] |We arrive at the farm and walk through orange groves to find a cacophony of trance devotees, each disconnected but somehow acting as one frenzied crowd, dancing under a pale blue dawn. [124000040040] |The music reminds me of John Hine’s wife’s description: units of monotony. [124000040050] |But there’s something infectious, something vital and energising about the disharmony. [124000040060] |We’re swept up in the crowd and find ourselves becoming part of the greater animal. [124000040070] |The dust of the dancing makes patters of light stand out as te sun starts to filter through the trees. [124000040080] |I can feel other thoughts slipping away as the shaman’s trance sets in, a general unwinding of everything Launchpad in favour of the primal focal points of movement, sex and rhythm. [124000040090] |I don’t know how long we stay in the mix, hours perhaps, but at some stage the spell is broken and I find myself drifting away from the jangle, looking for something different. [124000040100] |Exploring the rest of the farm is surreal, with the thump of the music reaching out into farmish places full of farmish animals that seem utterly unmoved by the dancing imperative. [124000040110] |Cows chew, donkeys wander. [124000040120] |I find a bamboo thicket that seems otherwordly, an ancient copse of thought groaning slightly in the breezy, a grinding bark-on-bark sound that seems timelessly patient, bamboo copses have been groaning forever. [124000040130] |There’s a tangerine tree that’s growing accidentally in the midst of it all and I carry the scent of it’s fruit back with me to the crowd. [124000040140] |As we gather forces to move on from the party, we find a clump of sugar cane and take one section with us to the car –it makes a delicious diversion as we head to the waterfall for the afternoon. [124000050010] |Breezy released! [124000050020] |Well done Matt, Colin, Fabio and company. [124000050030] |This has been a very smooth release process, you’ve got it down to a fine art. [124000050040] |There’s been lots of news coverage of the coolness of the Badger,so I won’t rehash that. [124000050050] |Very well done indeed. [124000050060] |Personally, I’ve been hacking on some of the Launchpad infrastructure to support Dapper-On-Launchpad. [124000050070] |The part of Launchpad that handles packages, archives, distro releases etc is called Soyuz, and while the back end of it is in good shape (thanks muchly Kinnison!) the web frontend is a bit weak. [124000050080] |So I’ve finally got the skeleton of that to the point where we should be able to represent on the web what’s going on in the package archive itself. [124000050090] |Of course there is http://packages.ubuntu.com/ but it misses some of the subtleties of version history, that we track in Launchpad and which it would be cool to display. [124000050100] |Hopefully the new code will be live next week. [124000050110] |As of next week, the Dapper archive will be open, all run by Launchpad. [124000050120] |Expect delays, but they should be ironed out before UBZ. [124000050130] |So now we start the road to the Dapper Drake. [124000050140] |I’ll spend this week focused on the definition of topics I’m hoping to cover at UBZ. [124000050150] |As always we will track the specs in the Ubuntu wiki. [124000050160] |This time we will have some help with scheduling and coordination, using the spec tracker in Launchpad itself to keep track of the status of each of the specs. [124000060010] |Postgres FTI and SQLObject [124000060020] |Postgres is a truly awesome database. [124000060030] |When we started working on Launchpad I wasn’t sure if it would be up to the job. [124000060040] |I was so wrong. [124000060050] |It’s been robust, fast, and *professional* in every regard. [124000060060] |Stub has got full text search pretty smoothly integrated into Launchpad, using tsearch2. [124000060070] |Today I setup the source package searching engine in the Soyuz part of Launchpad (see the page at http://launchpad.net/distros/ubuntu/+search) and used tsearch2. [124000060080] |What I could not figure out, however, was how to rank the results by the quality of match. [124000060090] |We are using SQLObject. [124000060100] |So the code ends up looking like this: [124000060110] |Now I have the resultset, but it does not seem to be in the optimally ranked order, and I can’t figure out how to get it that way. [124000060120] |Does anyone know? [124000060130] |Ah well, Stub will wake up shortly, will bother him then. [124000070010] |Postgres FTI with SQLObject issue resolved [124000070020] |Ah joy. [124000070030] |Figured out that SQLObject can be extended fairly easily to handle the ranking problem I referred to previously. [124000070040] |The goal is to end up with a query like this: [124000070050] |So, hacking SQLObject to add a selectAlso= option to SQLObject.select gives us the ability to write code like this: [124000070060] |Voila. [124000070070] |I’ll pass the SQLObject patch on to Stub for a review and submission upstream. [124000080010] |Soyuz: distro package management in Launchpad [124000080020] |The last few evenings have been devoted to the part of Launchpad called Soyuz, which tracks all the distributions and packages that are registered in Launchpad. [124000080030] |It’s the heart of the “distro management” capability of Launchpad, that allows customers to manage their own Ubuntu derivative through the web. [124000080040] |And of course we will be dogfooding it constantly, but managing Ubuntu itself in it. [124000080050] |Wednesday, all going well, we will open up the Dapper archive based on Launchpad, which will be the first time that we will have this stuff in production. [124000080060] |Expect delays for the first few days as we iron out the kinks. [124000080070] |My own work has been the first cut of the pages that display which package is published where in the archive at any given time. [124000080080] |That sounds very straightforward, until you realise how fiendishly complicated a distro package archive can be. [124000080090] |They are very much structures that have evolved, and so a lot of the complexity comes from having to deal with the badness of reality. [124000080100] |For example, there is no guarantee that a newly upload package will build on all the supported architectures. [124000080110] |So say I upload Apache 2.1.3-1 source to Ubuntu, and it builds on all architectures. [124000080120] |You would expect to have those binaries published on all architectures in short order. [124000080130] |Now, we upload 2.1.3-2, which builds on all architectures except for PPC. [124000080140] |This is where the fun starts. [124000080150] |The “current” version of Apache is now different, depending on which architecture you are looking at. [124000080160] |One resolution might be to say “build everywhere and reject if it fails anywhere”. [124000080170] |But we are constantly adding new architectures, and as those become more esoteric the chances of a build failure rises dramatically. [124000080180] |We can’t hold back the distro when a package fails to build on ARM. [124000080190] |So the system has to be able to handle this divergence between architectures. [124000080200] |But it gets even more interesting. [124000080210] |There is no rule, for example, that a package called foo on i386 should have the same description, or dependencies, as a package with the same name (and even the same version) on amd64. [124000080220] |They are just entirely different beasts. [124000080230] |So to do this justice, someone has to drill all the way down to the lowest level before they see stuff that’s human readable. [124000080240] |Even though 99.9% of the time, pacakges with the same name and version on different architectures WILL have the same details. [124000080250] |So I’ve put quite a lot of work into trying to balance ease of user interface and technical correctness. [124000080260] |At the lowest level, you should see exactly what’s published, which versions, when they were built (and more detail on those than you could have imagined you really, really wanted). [124000080270] |At a higher level, however, you should be able to search and find the “obvious answers”. [124000080280] |I’m sure there are bugs, and improvements to come, but it’s nice finally to see this code going into production. [124000080290] |Try following the link above to the Ubuntu pages in Launchpad, then searching for packages, and send me your suggestions on how we can improve things. [124000090010] |Riser helmet mods [124000090020] |For the snowboarder in all of us, I’ve been working on the ultimate ski/snowboard personal voice communications system. [124000090030] |The idea is to get hifi music, handsfree cellphone conversations, and walkie-talkie radio access all neatly integrated. [124000090040] |I would like to be able to go boarding, listening to my music, and receive a call without fumbling for the phone (of course, the phone is optional for those days when silence is golden). [124000090050] |Then I would like to be able to talk to my buddies on the other side of the valley without reaching into a pocket for the walkie-talkie. [124000090060] |I looked around on the net and found a partial solution: The Giro Fuse helmets with what they call “TuneUps”. [124000090070] |This fits my standard Fuse helmet and does allow for music and a walkie-talkie OR cellphone, but won’t handle all three at the same time. [124000090080] |Also, it has one of those tiny little microphones-on-the-string that will produce verage sound and be a pain to activate in thick gloves. [124000090090] |I need something a little more industrial. [124000090100] |Maybe not throat-mic industrial, but something tougher definitely. [124000090110] |A little more research took me into the motorcycle world, I thought perhaps something like this might exist for bikers. [124000090120] |And that led me to the StarCom1, a cool little device that does almost exactly what I need. [124000090130] |It supports two headsets (one for the driver and one for a passenger) which is a bit of a waste in my case, but everything else is perfect. [124000090140] |Placing the order was a little confusing. [124000090150] |Their site could be better laid out in terms of the kits and the options. [124000090160] |But the company was really responsive and both sets arrived promptly. [124000090170] |We need to do some custom installation magic, fitting this gear to skiing helmets rather than the usual biking kit for which it is designed, and we will need to setup a special box for the comms unit, the battery pack (I still don’t know how I’m going to create a 12V battery). [124000090180] |This evening Marianne and I got the first part of it done. [124000090190] |We had to slice open the neck and ear padding on the helmet. [124000090200] |The microphone is on a flexible boom, so the tricky part was figuring how to attach that to something that is basically made of sponge. [124000090210] |I was going to try to superglue a piece of rigid plastic to the frame of the ear padding, but Marianne suggested just stitching the boom straight to the fabric. [124000090220] |That seemed to work fine. [124000090230] |The earpieces fit in nicely, and I glued the PTT (“push-to-talk”) button to the outside of the right ear cover. [124000090240] |Doh, I glued in the place where the chinstrap comes down from the helmet, but it’s fine and the helmet fits snugly. [124000090250] |So now we have one modded helmet with the microphone and speakers in place and two cables hanging out the back. [124000090260] |So far, I’ve tested the cellphone connection and music interface and it works perfectly. [124000090270] |The walkie-talkie isn’t, yet, perhaps there’s some incompatibility between the cable and the radio. [124000090280] |Will look into that next week. [124000090290] |The big issue right now is power. [124000090300] |The device needs a 12V supply. [124000090310] |I have the connector cable, I just don’t have anything to connect it to. [124000090320] |On a bike, there would be a 12V supply handy, but I guess I will need to make up some sort of battery pack. [124000090330] |Anybody know how to do that? [124000090340] |Where can I get a battery pack into which I can plug 4 normal 1.5V batteries in series to make up 12V, and get a simple cable out? [124000090350] |Any and all suggestions welcome. [124000100010] |Virtual wundermachines [124000100020] |I’ve spent a few hours this afternoon playing with VMWare and an old copy of Windows XP. [124000100030] |What a cool experience. [124000100040] |Installing VMWare 5.5.0 on my bleeding edge Kubuntu Dapper desktop was pretty straightforward, even with this morning’s latest 2.6.15-12 kernel image (the one which supports the dual-core G5′s for those of us who are also into the PPC thing). [124000100050] |It’s proprietary software only right now, though there is a free “player” with good Ubuntu support. [124000100060] |I needed to patch the kernel slightly, details are on Kerneltrap at http://kerneltrap.org/node/6040 if you want to do the same. [124000100070] |I will ask Ben Collins, the Ubuntu kernel maintainer, to make sure VMWare is a supported module during the rest of the Dapper test and release cycle so it should Just Work for others. [124000100080] |After you install the VMWare software you can create a new virtual machine. [124000100090] |You then “power up” the machine, and watch it “booting” in a window on your desktop. [124000100100] |It has its own BIOS (“Press F2 for setup, F12 for boot options…” etc) and initially it was failing to boot because its “disk” was blank. [124000100110] |I told it to boot from the CD-ROM and up came the Windows XP Professional installer. [124000100120] |Interestingly, the Windows installer is pretty basic compared to modern Linux installers. [124000100130] |I would like to see how the Windows VIsta installation goes. [124000100140] |XP was smooth, mostly, though it got stuck and needed a restart at one point. [124000100150] |Not all that impressive. [124000100160] |But an hour or so later I was looking at a Windows desktop, in a window on my Kubuntu desktop. [124000100170] |Everything seemed to work well, including Windows Activation. [124000100180] |Charmingly, there are no security updates for Windows until you activate it (cough splutter choke). [124000100190] |For what it’s worth, some things do work very well under windows. [124000100200] |The theming is consistent and classy, control panels are tight and the Windows Update service is pretty slick now. [124000100210] |I’ll be using the VM for cross-platform testing, and so that I can give my old Windows laptop away and still retain an ability to run Windows apps. [124000100220] |Sorting out the details will have to wait till the end of the Asia trip. [124000100230] |So does anybody have comments on the current state of Xen, especially for running multiple OS’s? [124000100240] |It’s also interesting the extent to which modern hardware seems to want to provide all the core virtualisation services –SUN talk about this a lot with their Niagara chips, POWER5 is big on virtualisation and Intel says it’s in the pipeling on x86 too. [124000100250] |How long before running multiple OS’s with little or no performance penalty is the main order of the day? [124000100260] |I’ll also ask Colin about publishing VMWare images of the regular test releases (“Flight’s” during the Dapper cycle) we make in Ubuntu. [124000100270] |That would allow people to download and test a virtual image without having to burn a CD or reboot a computer. [124000100280] |Would only really be of use for installed images, not for the installer itself, although with the new Ubuntu Express GUI installer based on the Live-CD, perhaps its possible to test it under a VM as well. [124000100290] |Hmm… [124000110010] |Nothing to fear from the truth [124000110020] |I’m in Beijing, China, for the first time. [124000110030] |What an interesting experience. [124000110040] |The city is modern –spacious, well organised, clean. [124000110050] |The people are gracious, relaxed and open. [124000110060] |Yet this is clearly a tightly managed state. [124000110070] |This hotel broadband connection links me to about half the internet –the rest is conveniently firewalled off. [124000110080] |Surfing the net for news is painful, many sites and stories just time out. [124000110090] |Others are blazingly fast. [124000110100] |The firewall rules decide who can see what. [124000110110] |There are closed circuit video cameras all over the show, and they obviously and actively track the pretty girls. [124000110120] |Because they’re obviously a clear and present threat to national security. [124000110130] |I’d take that line too, if it was my job to monitor the damn things. [124000110140] |This is a country that will certainly take its turn as the dominant global superpower. [124000110150] |Again. [124000110160] |History may not repeat itself, but it rhymes, and the pattern of the ages is that major cultures each take their turn at the top. [124000110170] |Of course, China has been there before in days gone by, and if modern history had been written by the Chinese we might all be more aware of their great early discoveries, exploration and civilisations. [124000110180] |But that’s history now, the important thing is the future. [124000110190] |And the future here is bright. [124000110200] |China is moving fast. [124000110210] |The story of recent Chinese “management policy” is interesting. [124000110220] |Many concepts, such as the one-child policy, are outrageous or offensive to Western sensibilities, but they are widely supported and well regarded here. [124000110230] |And frankly, they make a certain amount of sense. [124000110240] |Keeping the population growth rate down has made the economic growth rate contribute more directly to personal well-being. [124000110250] |Having come directly from India, the contrast on that front is immediately obvious. [124000110260] |There may be a billion Chinese here, but they each seem to have a reasonable amount of space, and less pressure on resources means fewer reasons for domestic tension. [124000110270] |In practical terms, the West will likely end up adopting similar policies. [124000110280] |While we all have the right to do what we like with our lives, there are likely to be increasing consequences for behaviour that has a social cost to it. [124000110290] |Most Western countries are banning smoking in public places, because your right to smoke doesn’t give you the right to harm the health of others. [124000110300] |And I think it’s likely to go further (sensibly so) to reflect the fact that self-induced harm should not be the problem of the state. [124000110310] |Countries are going to say to obese people: you lose your rights to free health care unless you take care of yourself. [124000110320] |Same goes for smokers. [124000110330] |Here in China, the one-child policy is similar. [124000110340] |You can technically do what you like, but if you don’t help the state manage itself, then the state won’t help you. [124000110350] |Fair enough. [124000110360] |What I find more difficult to understand, though, is the restriction on speech and access to knowledge. [124000110370] |A free country has nothing to fear from the truth. [124000110380] |That’s something we need to remind ourselves of today. [124000110390] |In the USA, there are awkward signs of the truth being surpressed when its politically inconvenient. [124000110400] |NASA’s climate scientists are getting told to keep the facts of global warming to themselves –by a 24 year old who lied on his resume about actually having a degree, but who proved his political loyalty during the Bush campaign. [124000110410] |Journalists who probe allegations of White House impropriety face censure and are ostracised. [124000110420] |Their employers come under pressure to silence them or fire them, or face economic sanction in subtle but meaningful ways. [124000110430] |As much as the White House would love some things to be true, the facts don’t always cooperate. [124000110440] |A mature leadership recognises that and adapts its plans to reality. [124000110450] |An immature leadership tries to manipulate the presentation of reality to fit its ideas. [124000110460] |So it’s not just in China that we see the systematic suppression of the truth. [124000110470] |But in China, the filtering of information reaches a new height. [124000110480] |And I wonder how the transition to an open society will be made. [124000110490] |Because sooner or later that transition must come. [124000110500] |In cities, people have ever increasing wealth. [124000110510] |They find it easier to live with things like the one-child policy, because their modern lifestyles make fewer, smarter and better educated children a sensible strategy. [124000110520] |They share increasingly Western values –and sooner or later they are going to expect Western-style freedoms. [124000110530] |Their rural peers, however, are on a different track. [124000110540] |So much as there is a widening economic divide, there is a widening divide in values, needs, and expectations. [124000110550] |The people of the cities may well want to get a real say in what happens long before the rural communities are comfortable with that idea. [124000110560] |Or before the state is comfortable with the rural community vote. [124000110570] |And that will make for an interesting transition. [124000110580] |It must be an extremely difficult responsibility, that of the future of a nation of one billion people. [124000110590] |And we should be impressed with the results that this management team has delivered in recent decades. [124000110600] |An economic transition from central planning to rampand capitalism is under way, and it’s been much better handled than the same transition in Russia was. [124000110610] |Well done. [124000110620] |I wonder if the information transition will be as well handled. [124000110630] |And I wonder what the country has to fear from the truth. [124000110640] |None of us has a monopoly on the truth, but it’s only in letting each of us speak our individual truth that society creates its consensus view. [124000130010] |What the fsck is a product series? [124000130020] |In Launchpad, we have a thing called a “product series” that represents a series of releases from the same branch. [124000130030] |For example, Firefox 1.5, 1.5.0.1, 1.5.1 etc would all belong to the “1.5″ series. [124000130040] |The name “product series” sucks horribly, and I’d really like to get a better name. [124000130050] |Suggestions welcome, on #launchpad or on the launchpad-users mailing list. [124000130060] |So, why do we have these? [124000130070] |Very simply, because many (if not most) of the things that developers care about are related to work in progress. [124000130080] |Think about it. [124000130090] |We don’t really edit the translations of the 1.5.0.1 release of Firefox –because those are in the tarball, they are done and dusted. [124000130100] |If we are editing translations for 1.5.0.1 its because we actually want those translations published along with 1.5.1… the next release in the series. [124000130110] |So we should track the translations of the series, not the release. [124000130120] |Similarly, if you want to fix a bug in an upstream product, and do it for say 1.5 of Firefox, then once again you are “targeting this fix to the next release in the series” of the branch you are landing it on. [124000130130] |So, in Launchpad, both translations and bugs are tightly coupled to upstream product series. [124000130140] |Of course, a product series is very similar to a special branch of that product. [124000130150] |And in fact, in Launchpad you can associate a particular branch with a series. [124000130160] |This then means that we can monitor that branch for special events. [124000130170] |In future, for example, we will be able to know that you have fixed a bug in a particular series when we see a commit message to that effect on the branch. [124000130180] |Pretty cool vapourware [124000140010] |Malone is useful even if you have your own bug tracker [124000140020] |Martin Meredith blogs that it would be good for other distros also to adopt Malone. [124000140030] |Most of the larger distros have established bugzilla’s or their own custom bug trackers, though, so we specifically designed Malone so that it can link to those external bug trackers rather than requiring them to adopt Malone. [124000140040] |Right now, it still requires opening a bug in each of the upstream trackers, which is a pain. [124000140050] |In the future, I think we should see if we can get permission from the upstream bug tracker operators for Launchpad to be able to open bugs directly in their trackers. [124000140060] |So, from Launchpad, if we had permission from Mozilla, you should be able to say “this bug in Ubuntu’s Firefox package is also in upstream, please open a bug report for it”. [124000140070] |And that should report the bug in bugzilla.mozilla.org, then link it in all the right ways in Malone. [124000140080] |The problem will definitely be the risk of filing unnecessary dups in the upstream tracker. [124000140090] |Bugzilla is getting good at getting people to check that the bug they are reporting has not already been reported. [124000140100] |We need that same level of defense in Launchpad (though with the ticket tracker slowly improving, we should see more problems starting out there, being handled by the community, and graduating to Malone only once they are verified). [124000140110] |And we need a way to make sure that Launchpad does not get a bad reputation for being used to poke dups into upstream bug trackers. [124000150010] |Better spec tracking in Launchpad [124000150020] |I wrote most of the spec tracker in Launchpad (click here if you want to see it in action) and it needs a little more love before the next Ubuntu developer summit. [124000150030] |So I’ve been hacking on it in preparation for the Launchpad sprint. [124000150040] |There’s still another round of updates coming, but for now please enjoy: Proper implementation tracking: a proper implementation status dial, which lets people say how they are making progress with the actual coding of the feature. [124000150050] |JaneW has been asking for that for a while now, since she compiles the weekly Dapper development summary and it should make that process a LOT simpler. [124000150060] |Safe targeting to releases and series: a reasonable way to target a spec to a distro release (“dapper”) or a product series (“1.2″). [124000150070] |Anybody that is related to the spec can propose it for a release or series, but only the series managers can accept or decline the feature. [124000150080] |So it behaves a bit like a wiki, with only the drivers of the upstream product or the distro able to give the go-ahead for a feature to be an official goal for a specific release. [124000150090] |Along the way I fixed a bunch of embarrassing bugs in the menus for product series. [124000150100] |I blogged separately about how product series are *supposed* to work and why they are important in Launchpad. [124000150110] |I’m working on making ProductSeries an essential part of the system, since a lot of the data model issues get cleaner when you assume that series is always there. [124000150120] |These changes should all be in production in already at launchpad.net. [124000150130] |As usual, these features work equally well for upstreams using Launchpad as they do for the distro teams. [124000160010] |LAMS [124000160020] |James Dalziel, of the LAMS Foundation, is leading a project that I think is the “next big thing” in e-classroom technology. [124000160030] |Basically, LAMS is a tool that describes not content, or people, or processes, but the interactions between all of them that make up the learning experience. [124000160040] |Unlike a traditional content management system like Moodle, or a collaboration system or chat system or school information system like SchoolTool, the LAMS goal is to construct the “workflows” that make up a learning module. [124000160050] |So with LAMS, you design a “digital classroom experience” to convey a certain skill or knowledge. [124000160060] |You find and link to content (that could come from Moodle, or the web generally, or just be embedded in the LAMS object). [124000160070] |You figure out whether you want the learners to read, or discuss, or write essays, or vote, or have forums-style discussions, etc. [124000160080] |And you sequence all of that and set it up that you can track the work done by each participant in each stage of the process. [124000160090] |Best of all, these LAMS objects are content in their own right, can be published under open content licences, and shared and improved with open-source style processes so that over time we can create a body of learning experiences that is interlinked and ever-improving. [124000160100] |I think these general principles will serve us very well in this first stage of the TSF analytical skills development initiative. [124000160110] |So I just want to say a big thank you to James and the LAMS team for helping to invent something entirely new and very special. [124000160120] |I’m sure there will be other, similar frameworks, but it takes a remarkable bunch of people to envision and build something different. [124000160130] |Well done. [124000170010] |Launchpad UI plans [124000170020] |Phew, big Blueprint landing just went in to LP, I guess it will be in production some time this week. [124000170030] |This gets the spec tracker into roughly the right shape for us to get Dapper+1 smoothly planned and executed. [124000170040] |It also involved quite a lot of groundwork for the 1.0 UI I am driving towards for Launchpad. [124000170050] |So perhaps I should blog about those plans and solicit some feedback. [124000170060] |The high-level story is this: [124000170070] |
  • Applications on subdomains. [124000170080] |We will move the functionality of the different facets of Launchpad into subdomains. [124000170090] |So rosetta.launchpad.net will be where you will find translation pages, malone.launchpad.net will have bugs, blueprint.launchpad.net will have feature tracking. [124000170100] |These applications will share a navigation system so if you are used to using the one app, and moving around Launchpad objects (upstream, ubuntu and derivatives, people and so on) then you will easily feel comfortable moving around in a different app. [124000170110] |The big advantage of this is that it keeps you “in the zone” as you move around Launchpad. [124000170120] |So say I am working on the spec system, and I click on the link to Carlos’ homepage in Launchpad. [124000170130] |Typically, when I do that, it’s because I want to see what Carlos has on his plate in terms of feature development. [124000170140] |Using subdomains gives us this for free, because I will be jumping, say, from http://blueprint.launchpad.net/distros/ubuntu/dapper/ to http://blueprint.launchpad.net/people/carlos/ and as you can see I’m automatically still in the “specs” mode. [124000170150] |I’ve watched people using Launchpad, and usually when we jump from thing to thing we still want to keep focused on the same “facet” of that thing.
  • [124000170160] |
  • A better menu system. [124000170170] |A lot of the navigation will shift to the top-bar menu and breadcrumbs system. [124000170180] |Right now you can see an (ugly) first step towards that, if you hold your mouse over the Launchpad in the top left corner you see a dropdown menu that takes you to distros, products, projects, people, meetings… now imagine you could continue navigating in to the specific product or distro or package you are looking for. [124000170190] |Less clicking for everybody. [124000170200] |The breadcrumbs will also become part of the menu system, so say you are looking at the 1.5.0.2 release of Firefox (two thumbs up btw guys) and you want to see what features are planned for 2.0, you should be able to get there just by hovering over Firefox in the breadcrumbs, then see the 2.0 series, and go straight to it.
  • [124000170210] |
  • Better switching between apps. [124000170220] |At the moment, we confuse two different kinds of switching. [124000170230] |You can switch between objects that you are viewing, and you can switch between the aspect or facet of the object too. [124000170240] |Sometimes, clicking on “Bugs” in the actions menu does BOTH kinds of switch, and that’s really bad. [124000170250] |Its unpredictable. [124000170260] |So we will work towards ensuring that any action link has a predictable result –it either is an action in the current application on the current object, or it changes the app but keeps you on the current object, or it changes the application and takes you to that app home page (“I’m switching now to think about translations, take me to the Rosetta home page”).
  • [124000170270] |
  • Canonical object names. [124000170280] |We track quite a few kinds of objects in Launchpad. [124000170290] |The main ones are distributions (and their structure, releases, packages), upstreams (in the form of overarching projects, as well as individual products and their releases) and people. [124000170300] |In order to disambiguate them we’ve kept separate namespaces for them, and used the URL structure to indicate what you are looking at. [124000170310] |Hence you can have http://launchpad.net/products/mozilla/ and http://launchpad.net/projects/mozilla/ if you want. [124000170320] |Now we want to switch to a different approach, where we canonicalise the names of those three major kinds of object. [124000170330] |So there can only be one “ubuntu” thing, and that’s the distro. [124000170340] |And only one “mozilla” thing, and that’s a project. [124000170350] |And only one “firefox” thing, which is a product. [124000170360] |This will let us simplify the URL’s quite a bit, down to http://blueprint.launchpad.net/firefox/ for the specifications for Firefox, we can drop the /products/ bit because we have Canonical names. [124000170370] |This also gives us a “teleport” facility, where typing the name of the thing teleports you straight there. [124000170380] |An email address will take you straight to the home page of the person you are thinking of. [124000170390] |A product name will take you straight to that products Launchpad page in the app you are working on.
  • [124000170400] |As you can imagine, there have been lots of dicussions, debates and fairly intense arguments about the UI for Launchpad. [124000170410] |It’s a huge piece of infrastructure, I think it’s quite a bit richer in scope than SourceForge, which would be a reasonable comparison point, so it’s taken a long time for us to get a handle on how most efficiently to present it. [124000170420] |I’m pretty confident in this plan, and keen to see it in place in the next three months, perhaps even in time for Dapper. [124000170430] |Further down the line I think we can use AJAX tools to speed up the interaction processes, but I don’t want to jam those into the infrastructure until the core plumbing is robust and mature. [124000170440] |Right now the world of AJAZ is very much in flux, and so is the underlying set of frameworks we use in Launchpad: Zope 3 and SQLObject. [124000170450] |We have a lot of work to do just to get the core app framework robust for taking Launchpad to scale, and that’s where we are focusing the resources. [124000170460] |We’ve published pretty much all the Zope and SQLObject changes we are making, and I think I would like to make more of that work. [124000170470] |Once the AJAX stuff matures, we can fold it into the app framework in a general and graceful fashion. [124000180010] |Documentation for Blueprint [124000180020] |I realised that Blueprint has very little in the way of documentation to help people figure it out. [124000180030] |Despite this, usage of Blueprint seems to be taking off, with nearly 700 specifications in the system and quite a lot of Launchpad karma getting dished out daily. [124000180040] |But documentation will help, especially since Blueprint is starting to take shape and will be at the heart of our planning for Dapper+1. [124000180050] |So without further ado, I give you: [124000180060] |Official Blueprint Docs (v0.1) [124000180070] |Enjoy, and comments, updates and clarifications welcome! [124000180080] |Note, some of those features discussed have landed in the code but not yet moved to production, so you can find them at http://staging.ubuntu.com/ rather than http://launchpad.net/ for the moment. [124000190010] |Amazing two day workshop on programming and education [124000190020] |I’m all fired up after two days of the most amazing work bringing together some very remarkable people to talk about a TSF strategy to ensure that we can give the next generation excellent analytical skills despite the global collapse in the supply of maths teaching capacity. [124000190030] |The headliners were: [124000190040] |Alan Kay of the Squeak project and Squeakland educational software platform, Guido van Rossum of Python fame, James Dalziel of the LAMS project, IMO the “next big thing” in the e-education space, Zelda Holtzman, CEO of the Shuttleworth Foundation [124000190050] |There were about 15 of us, covering several programming environments (scheme, smalltalk/squeak, python, logo) and a variety of educational frameworks (UK, South Africa, participants from France, Switzerland, Netherlands, USA…). [124000190060] |The idea was to bring together people who potentially have the ability to shape up a framework that can take off like wildfire. [124000190070] |The risk was that, with so many strong opinions from different backgrounds, we would not be able to make progress. [124000190080] |Suffice it to say that after two days in the bunker, I think we did brilliantly! [124000190090] |I saw real bridges being built between Alan and Guido, two great men who’s collaboration might give us the tools to teach logic from the earliest days of education (think of 5 year-olds writing code visually) through to high level instruction (we all know how effective Python is for university type problems, right?). [124000190100] |Instead of fighting over turf or syntax, I sensed a genuine willingness to synthesize the best work from both camps into something that could have both Python’s pop-culture widespread appeal, and pedagogical foundations that build on years of Alan’s experience in the Squeak world. [124000190110] |The mouse might yet become the snake’s strongest ally. [124000190120] |We also heard from people who help to shape educatonal policy in the UK, South Africa and elsewhere, and I was even more convinced that the problems we want to solve through this initiative are universal, even though the crisis is most evident in countries like South Africa. [124000190130] |So I hope we can mobilise a global response, and if you have access to global agencies interested in education then please put them in touch with Helen King, who coordinates the international work of TSF. [124000190140] |What’s this all about? [124000190150] |The big picture is that I believe we should be building an analytical skills curriculum that is post-mathematical. [124000190160] |Mathematics is a beautiful but abstract art, that has traditionall been the vehicle for the development of analytical capacity in young minds, but has equally traditionally been seen as dry and difficult. [124000190170] |We need to teach mathematics NOT because people should become mathematicians (I could not pass my first year maths exam tomorrow though I did reasonably well at the time) but rather people we want society in general to have the ability to apply known tools and patterns to solve the problems it encounters. [124000190180] |That’s what learning maths gives us during our formative years. [124000190190] |So what could replace traditional mathematics instruction? [124000190200] |Why, software engineering –but not the way it is taught today. [124000190210] |We don’t want to produce a society of software engineers any more than we used to want to produce a society of mathematicians. [124000190220] |We want to produce a society that knows how to: [124000190230] |
  • Learn a set of tools quickly and efficiently. [124000190240] |In life, the set of tools we apply to the problems we face changes every few years. [124000190250] |So it’s not the specific SET of tools you learn, its the ability to grok a new toolset, figure out when to use, and do so efficiently that counts.
  • [124000190260] |
  • Break problems into simpler pieces, solve them using familiar tools. [124000190270] |The whole process of analysis is about taking a big hairy problem that is new and unfamiliar, and teasing it into pieces that look solvable based on tools that you already know.
  • [124000190280] |
  • Put those simpler answers back together to make an answer to the big problem. [124000190290] |This is the synthesis part –taking the results of your analysis and making them meaningful in the real world.
  • [124000190300] |Anyway, the traditional way to teach these life skills has been to drill kids in mathematics. [124000190310] |That was always quite a tough sell. [124000190320] |Nowadays, its a tough sell in the face of even tougher competition for learner mental bandwidth from cell phones, MTV, instant messaging and the myriad other bling-bling commercials desperate to get your attention when you are 12 and about to get your first credit card. [124000190330] |So we need something that is sexy, exciting, challenging, and interesting. [124000190340] |I’m pretty convinced that basic technology is becoming pervasive, so by the time our R&D here bears fruit it’s reasonable to expect that most kids even in developing countries have access to technology, whether that looks like a $100 laptop or a TuxLab (another awesome TSF project). [124000190350] |And kids LOVE technology. [124000190360] |They love the games, they love the puzzles, they love figuring out how to make those darn machines do what they want. [124000190370] |This initiative, then, is about figuring out how to build a curriculum that will produce generations that can do the 1, 2, 3 above NOT because they learned mathematics, but because they explored the world of technology. [124000190380] |You can read more about this specific project on the TSF wiki. [124000200010] |The Edgy Eft! [124000200020] |Lloyd pointed out that I never blogged about… [124000200030] |The Edgy Eft [124000200040] |We now have quite a lot of infrastructure in place to track feature ideas through to implementation, so this is a call for folks who want to drive features in Edgy to document those in the wiki, and register them in the Ubuntu Blueprint. [124000200050] |I should say that there’s a real art to getting a feature into Ubuntu. [124000200060] |If you can hack it yourself, then join MOTU and get cracking! [124000200070] |If not, you might want to read a little about managing the community process and building a team around your idea that CAN turn it into reality. [124000200080] |Enjoy! [124000210010] |Judging the 2006 Rolex Awards [124000210020] |I’ve had the huge privilege over the past two days to be on the panel helping select this year’s Rolex Awards for Enterprise. [124000210030] |It’s inspiring to see the diversity of amazing projects that were shortlisted –on the one hand that made the debate all the more difficult, on the other hand I felt that each project had much to recommend itself. [124000210040] |You’ll have to wait till October to find out the winners! [124000210050] |Anyhow, for the record, it’s fantastic to see individuals with courage and vision getting the chance to pursue their dreams with the support of an award like that. [124000210060] |If you know someone –anyone –doing original and visionary things with whatever time and resources they have to hand in the fields of exploration, heritage, the environment… urge them to apply for the next round. [124000210070] |Perhaps the best bit for me was the panel itself. [124000210080] |Most often when I have the pleasure of meeting someone I really admire the meeting is necessarily short –we’ve both got to run to the next meeting, and the next time we’re likely to be able to coordinate a meeting in person is months away. [124000210090] |Here we had long, intense discussions about the projects, which become a proxy for the challenges facing the world at large. [124000210100] |And so you really get to see what people think are important, and why. [124000210110] |A great two days. [124000210120] |Tomorrow, I’m off to San Fran for the MySQL user conference, then NYC for the weekend and on home to London to get ready for The Drake. [124000220010] |It’s the ability to learn tools, not the tools themselves [124000220020] |One of the big debates we are having at the moment in the Foundation is all about how to design a curriculum to stimulate the development of analytical skills. [124000220030] |The thing I care most about is that we focus not on the specific set of tools, but on the ability to “learn and apply a current tool set”. [124000220040] |The truth is that we constantly acquire and discard sets of tools. [124000220050] |So we should not be fixated on one specific set of tools for all of life. [124000220060] |Society, technology and the times change so fast that any fact, process or algorithm we learn at school is by definition not going to be useful for any length of time. [124000220070] |The real skills that serve us are the ability to adapt, learn, apply the products of that learning, and participate in the discussions and challenges of the day. [124000220080] |Tht doesn’t mean that facts are useless, nor that specific tools don’t matter. [124000220090] |Unless you can demonstrate an ability to absorb and apply both, fast, you haven’t actually gained the knack of becoming effective in a given environment. [124000220100] |I was thinking about the toolsets I’ve had to acquire over the past fifteen years since I left school. [124000220110] |In university you are solving the problem-du-jour as set by lecturers and tutors. [124000220120] |Each year you learn a new set of theorems, axioms, rules, laws, analytical techniques, best practices, algorithms, formulae etc. [124000220130] |And you have to learn how to make them dance for you so that you can do well in that year. [124000220140] |Then, by and large, you file those away never to be used again, and learn new tools for the next year of study. [124000220150] |Sometimes, the tools and laws and rules are additive, you build new knowledge on the old stuff. [124000220160] |Sometimes, however, you just learn the tools because you need them to get through the year, and that strikes me as being makework. [124000220170] |See my rant on the study of economics below. [124000220180] |In work, you’ll have to learn the tools of the trade or the company and how to get things done. [124000220190] |If you’re a nutcase like me, you change your toolset entirely every few years –I spent two years consulting and training (late university and early Thawte), two years writing database-driven web applications for crypto and PKI services (later Thawte), a year studying ballistics and space vehicle operations (Star City and the ISS), two years learning cooking, dancing, and the intricate details of playboyhood, and now two years learning about how to build a distribution (Ubuntu), and how to build *big* web applications (Launchpad.net). [124000220200] |In each of those phases the tools have been different. [124000220210] |Its hard to know what kind of schooling could have made a meaningful impression on my ability to be a better cosmonaut –or a better programmer –or a better man of leisure. [124000220220] |And I’ve no idea what set of tools I’ll have to learn next. [124000220230] |My experience might be extreme, but for ALL of us life consists of a constant process of reinvention, learning and discovery. [124000220240] |You are not doing the same job today that you were five years ago –the world is changing around you. the most successful people learn how to spot the best tools and trends and to take advantage of them. [124000220250] |They also learn to LET THEM GO when the time is right. [124000220260] |Rather than being convinced your tools are the One True Way, recognise that they are rocking good tools right now and will also certainly be obsolete within five years. [124000220270] |That gives you an incentive to keep an eye out for the things you need to learn next. [124000220280] |Not everything that gets offered to you is likely to be of use. [124000220290] |I hated economics at university because it epitomised the disposability of old knowledge. [124000220300] |The problem was that first-year economics was basically a history lesson disguised as a science lesson. [124000220310] |We learned one classical set of ways of looking at the world, and how to apply them to assess an economy. [124000220320] |This was a bit like learning science circa 1252 and being told that you need to be able to draw up an alchemical recipe for lead-to-gold conversions that could pass for authentic in that era. [124000220330] |Then in second year they said “luckily, the world has since decided that those ideas are utter crap, you can’t really manage an economy using them, but here’s a new set of ideas about economics”. [124000220340] |So we set about learning economics circa 1910, and being expected to reproduce the thinking of the Alan Greenspan’s of that era. [124000220350] |The same people who orchestrated 1929-1935 and all the economic joy that brought the world. [124000220360] |We knew when we were studying it that the knowledge was obsolete. [124000220370] |And of course, when I looked into the things we were supposed to study in third year, fourth year and masters economics programs the pattern repeated itself. [124000220380] |There is some value in disposable knowledge. [124000220390] |I like to hire guys who set out to learn a new programming language every year, as long as they are smart enough to stick to core tools for large scale productive work, and not to try and rewrite their worlds in the new language every year. [124000220400] |The exercise of learning new API’s, new syntactical approaches, new styles is like jogging, it keeps you fit and energised. [124000220410] |It’s useful even if aren’t a marathon runner by profession. [124000220420] |But it should be kept in balance with everything else you have to do. [124000220430] |So, back to the topic of curriculum. [124000220440] |We want to create a curriculum that can: [124000220450] |
  • be self taught, peer mentored, and effectively evaluated without expert supervision
  • [124000220460] |
  • provide tools for analysis that will be general useful across the range of disciplines being taught at any given age
  • [124000220470] |
  • be an exercise machine for analysis, process and synthesis
  • [124000220480] |The idea is not that kids learn tools they use for the rest of their lives. [124000220490] |That’s not realistic. [124000220500] |I don’t use any specific theorems or other mathematics constructs from school today. [124000220510] |They should learn tools which they use AT SCHOOL to develop a general ability to learn tools. [124000220520] |That general ability –to break a complex problem into pieces, identify familiar patterns in the pieces, solve them using existing tools, and synthesise the results into a view or answer… that’s the skill of analysis, and that’s what we need to ensure kids graduate with. [124000230010] |Call for testing bzr 0.8 [124000230020] |I believe distributed revision control is essential for healthy free software community development and I’ve been funding some R&D in that regard, which has turned into “bzr” (short for Bazaar-NG Version Control System). [124000230030] |The latest release, bzr 0.8, has all the core functionality that we wanted and performs pretty darn well too for something that has had no optimisation and is written in Python with no C extensions. [124000230040] |The new release will be in Dapper, and in fact they hope to get a 0.8.1 out the door before Dapper ships so please test 0.8 and if you do find any issues let them know. [124000230050] |We’ve put a lot of effort into the “feel” of the system. [124000230060] |Version control has to be like Goldilocks porridge –“just right” –but it’s difficult to describe exactly what just right is all about other than that it should be a smooth experience from start to finish. [124000230070] |I think with 0.8 the Bzr guys are nearly there. [124000230080] |It’s trivial to start versioning a directory or tree of directories, and then to start passing those versions around to collaborate with friends. [124000230090] |It has some unique capabilities, like the ability to work on a shared branch (like subversion) and then trivially to split off and work on your own branch, then merge back to the shared branch. [124000230100] |This ability to be online and collaborative, and offline when I need to be, is what really makes me more productive. [124000230110] |The new version supports a more efficient file storage format, called knits, which has radically improved the speed of network pushes and merges. [124000230120] |Here’s the short version of how to use bzr: [124000230130] |
  • Start versioning files in a directory with bzr init
  • [124000230140] |
  • Make changes, and commit locally with bzr commit
  • [124000230150] |
  • Get status on that tree with bzr status
  • [124000230160] |
  • Push the branch to an sftp server with bzr push sftp://where.com/here/
  • [124000230170] |
  • Merge from another branch with bzr merge http://there.com/thatbranch/
  • [124000230180] |In short, it’s fast, easy to use and “just works” the way you expect it to. [124000230190] |I’m really pleased with the work that Martin and the bzr team have done. [124000230200] |The community is shaping up to be nice and vibrant too. [124000230210] |There are about 40 regular participants in discussions about bzr implementation, and there’s a nice plugin model with lots of interesting plugins coming from the community to do cool stuff like graphical representations of trees and merges. [124000230220] |It does a really fast annotate, so if A changes a line, and B merges that change from A, and C merges that change from B, and you merge from C, you can still quickly see that the line was changed by A. [124000230230] |That still blows my mind. [124000230240] |Gets and pushes are not as fast as git but the guys want to focus on network latency optimisation and local performance in the next major version, for now the emphasis is on the “revision control experience”. [124000230250] |To test Bzr you can: [124000230260] |
  • Download the latest release
  • [124000230270] |
  • On Ubuntu Dapper, apt-get install bzr bzrtools
  • [124000230280] |And of course it’s all under the GPL. [124000230290] |Now, if only we could merge some of the good work being done in the Mercurial project into Bzr we would have one kickass Python VCS… I like their single-tree performance but far prefer our user experience. [124000240010] |Growing the Ubuntu team [124000240020] |We’ve published a few more job descriptions in the “Jobs@Ubuntu” department this week. [124000240030] |Jane and I went through our notes recently and realised we want to hire 24 people in the next few months! [124000240040] |Fortunately, I enjoy meeting new candidates . [124000240050] |The scope of the jobs we have in mind for people is definitely widening from the pure development focus (though we need a few more of you too ) to the full range of skills that it takes to manage a project of this scale –and the relationships that it brings. [124000240060] |As we’ve grown and as we start to shape Ubuntu into something that works well for the community and for commercial deployment, we need a whole new set of talent that speaks both the traditional language of management and marketing, as well as the new language of participation and community. [124000240070] |I enjoyed Mitchell Baker’s blog recently on the need for new roles in free software projects which I think says it better than I can. [124000240080] |Except I would have said “free software” rather than “open source” . [124000240090] |The challenge I think in hiring for these new positions is that community driven organisation is not something that “young executive tigers” are going to be familiar with. [124000240100] |While I enjoy helping other companies wrap their heads around free software and the dynamic of the community, I sort of hope we can find a team of executives and operatives that have already made that leap. [124000240110] |Rare people indeed. [124000240120] |If you know someone who fits the bill, point them in my direction! [124000250010] |Gloomy outlook… not [124000250020] |You know, some days London just isn’t so bad after all. [124000250030] |Update: Of course. [124000250040] |The fact that I am not actually allowed INTO that lovely garden is another matter altogether. [124000260010] |Free software spotlight at SUN [124000260020] |I have to admit I was a little edgy, facing 15,000 people at the Java One event in the Moscone Center on Tuesday. [124000260030] |Being on stage like that makes me break out in incomprehensible Swahili-nglish, every time. [124000260040] |So I was grateful when Jonathan Schwartz gently pointed out that the licencing change we were discussing meant we could make *Java* easily available to free software desktop users, not Linux, as I said in my nervousness. [124000260050] |Doh. [124000260060] |Most free software desktop users already have Linux . [124000260070] |Some day maybe it will be easier to be in the spotlight. [124000260080] |Till then, I can only hope for hosts that gracious. [124000260090] |So, down to the nitty gritty. [124000260100] |Even though this was not the announcement we were all hoping for (a complete shift to free software Java) I was pleased to be part of the “Distro Licence for Java” announcement. [124000260110] |As best I can tell, the new leadership at SUN clearly recognises the importance of the free software model AND the role of the community. [124000260120] |That’s a big step forward and important to the progress of free software. [124000260130] |If my being there could help accelerate the date when we really do have a free software licence for Java, then I was happy to take the time. [124000260140] |The new licence does not mean that we can include Java in Ubuntu by default. [124000260150] |It does not yet meet our criteria for free software in order to get into “main”. [124000260160] |But it DOES mean we can put it in the Multiverse or Commercial repositories, and people who want it can trivially get it after they have installed Ubuntu on a desktop or a server. [124000260170] |Three clicks, and you’re done. [124000260180] |Also, it can certainly be part of the default install of distros like MEPIS which leverage Ubuntu but add interesting and to many people useful proprietary bits. [124000260190] |So it’s a constructive step. [124000260200] |I wouldn’t expect a “big bang” conversion at SUN –it takes a long time to build consensus throughout a large organisation and it also takes time to straighten out the details of potentially thousands of other legal commitments. [124000260210] |But the quote of the day was certainly Rich Green saying that the question is not “if” Java should be open source, but “how”. [124000260220] |SUN wants to live in a free software world but also wants to continue to deliver on the promise of Java as a “compatible everywhere” platform. [124000260230] |Even if there are already warts on the universal compatibility front (“write once, debug everywhere”) we’re all better off for the fact that Java is basically Java is basically Java. [124000260240] |Developers don’t want to have to deal with “extended double remix” versions from a multitude of vendors. [124000260250] |Especially not from vendors that specialise in “embrace, extend and extinguish” lines of attack. [124000260260] |So I thought I would ponder a little the strategic options and hypothesize a game plan that might do what SUN needs, while remaining firmly in the free software world. [124000260270] |Here it is, inspired by the view of the Pacific coast as I make my way back down from San Francisco to Mexico City and Debconf. [124000260280] |
  • Pick a copyleft licence, like the GPL If SUN were to make Java available under a free software licence it would benefit from having it under a copyleft licence, which means that folks taking it freely would also have to contribute their work back. [124000260290] |Following the lead of the Free Software Foundation and requiring copyright assignment would preserve SUN’s undisputed ability to defend the ownership and licence of Java while broadening the base of talent that can help make Java perform on a wider variety of platforms. [124000260300] |For many companies, particularly those who want to embed Java in their own infrastructure, a copyleft licence will not do (it would force them to make their own applications Free) and there will thus be plenty of incentive for them to strike a reasonable agreement on commercial terms for a custom licence to the Java code. [124000260310] |This dual-licensing approach has worked for companies like MySQL. [124000260320] |Java is both a client and a server technology, so the reach of such a strategy is even wider than server-only platforms like MySQL.
  • [124000260330] |
  • Manage the trademark very, very well Copyright is only one leg of the intellectual property table. [124000260340] |The trademark is the piece MOST associated with compatibility. [124000260350] |SUN gets to say who can use that trademark even if it makes the code itself available under the GPL. [124000260360] |Of course, use of the trademark should be conditional upon the maintainance of compatibility. [124000260370] |Those test suites will have to get even better. [124000260380] |If SUN is smart it can deploy the trademark as free advertising on all the platforms which are not in any event revenue-generating (like, for example, the free software desktop) while at the same time benefitting from royalties in places where it can reasonably claim a share of the revenue flow (the proprietary desktop and the embedded marketplace).
  • [124000260390] |
  • Keep the patent option open I don’t believe software patents are a good thing (they’re a no-win deal for society, we shouldn’t grant a monopoly in exchange for a disclosure of something that could never be kept a secret anyway). [124000260400] |That said, since the US allows them, SUN has them and SUN’s competitors have them too, it’s smart to tie Java-related patent licences to good behaviour on the part of licencees. [124000260410] |The GPLv3 touches on this –in short, SUN can leverage the popularity of Java in order to provide itself with some protection from patent suits.
  • [124000260420] |All of us at some stage or another have dreamed of having a brilliant idea then resting on our laurels while the cash flowed in. Truth is, life is never that easy. [124000260430] |While Java was and still is a brilliant idea, there is plenty of competition out there and the field is hotting up, especially amongst the free software alternatives. [124000260440] |I’d say there are no more than two years between today, and the day that a free software widget comes along that has all the characteristics of Java and *doesn’t* come from SUN. [124000260450] |So, much as SUN would like the world + dog to rush to licence Java, that isn’t happening and won’t happen. [124000260460] |More to the point, when that other contender exists it will rapidly become ubiquitous, at which point SUN will have lost the opportunity to lead that platform –forever. [124000260470] |Today’s markets are created by tools and standards that become pervasive and ubiquitous. [124000260480] |Apache became pervasive because it is free software, and Java could do the same. [124000260490] |This opportunity is SUN’s to lose, but everything I’ve seen suggests that they do want to grasp it with both hands. [124000260500] |I can only applaud that commitment. [124000260510] |As a small incentive, I’ll close with a thought on the value of being the platform where innovation happens. [124000260520] |Right now, there’s plenty of development on “Java on Linux”. [124000260530] |Think of every major company that deploys heavyweight J2EE infrastructure on Linux today. [124000260540] |But that sort of development is not what drives innovation. [124000260550] |When I look at the Java code that’s out there it’s industrial, but not exciting. [124000260560] |The really exciting stuff tends to happen at the fringes, in student dorm rooms and tiny companies. [124000260570] |And they tend to use the tools that are most immediately accessible to them. [124000260580] |
  • If Java had been free five years ago, PHP and LAMP might never have come into existence, because it would have been possible to deliver that vision using a lightweight integration of Java, scripting and the database.
  • [124000260590] |
  • If Java had been free software four years ago, then it might have less of the reputation as a “corporate overkill platform” that it’s at risk of being saddled with right now
  • [124000260600] |
  • If Java had been free software three years ago, then it would have even higher penetration on cellphones and mobile platforms, and there would not be competing free osftware implementations of the mobile Java VM and API’s
  • [124000260610] |
  • If Java had been free two years ago, then Ruby-on-Rails might have been “Java on Rails” (though truth be told I’d rather it was Python on Rails!).
  • [124000260620] |
  • If Java was free today, more of the AJAX stuff that is popping up all over the show would be done in Java (on the server side), because every student with a Linux box would have Java installed by default
  • [124000260630] |A big enterpise-focused company like SUN will always convince big enterprises like Deutsche Bank that they should buy technology and services from SUN. [124000260640] |Fair enough. [124000260650] |But they can’t convince a smart Comp.Sci. student to envision the world using their tools –unless they make those tools pervasively and freely available. [124000260660] |And it’s that smart Comp.Sci. student who writes the magic that will be headline grabbing material three years from now. [124000260670] |Innovation starts in unexpected, lightweight sorts of places. [124000260680] |So you need to ensure that your tools can reach into those lightweight sorts of places. [124000260690] |When Java is free software, it will flow further out into the network –and that can only be a good thing for SUN. [124000280010] |Kudos to the Shadowman [124000280020] |There was a bit of grumbling about Red Hat at Debconf this year (along with plenty of grumbling about Ubuntu too). [124000280030] |While I agree that the Red Hat Network legalese effectively makes RHEL a proprietary product, I think it’s important to give credit to Red Hat for the role they have played and continue to play in bringing Linux, GNU and the free software stack to the wider world. [124000280040] |Red Hat was, and remains, essential to the free software and linux ecosystem. [124000280050] |Most of the world’s computer users have never seen or touched a Linux environment directly. [124000280060] |Yes, of course we all use it in the form of Google or Akamai or a WiFi base station that we installed ourselves last weekend… but in terms of actually staring at the keyboard and typing into a Linux console or X-Term, adoption is still very much in the low-single-digits. [124000280070] |Which means that less than 1-in-20 people who consider themselves IT people have hands-on experience with free software. [124000280080] |For most of those people, Red Hat “speaks their language”. [124000280090] |Which means that they are far more likely to get their first taste of free software via Red Hat than they are, say, compiling their personal kernels from scratch. [124000280100] |And we all win, when Red Hat has a win. [124000280110] |Every Red Hat server installed at UBS is a win for Free Software. [124000280120] |Every Fedora Core 5 installation at a school is a win for Linus Torvalds, for me, for Ubuntu, for Debian and even for Richard Stallman. [124000280130] |Every time Red Hat gets a mention on CNBC or that stupid Cramer show that really should have died with the dot com bomb, it’s a win for Free Software. [124000280140] |Why? [124000280150] |Because people learn by taking single steps. [124000280160] |They learn by tasting new ideas little by little and not getting burned. [124000280170] |They learn that “Linux” works, is reliable, is predictable, and that not running Microsoft Office is potentially a feature because it also means that it does not run all those pesky macro viruses. [124000280180] |And they learn that “normal”, which they used to define as “Windows”, is just part of the full universe of options they have at their disposal. [124000280190] |That of course inevitably touches their curiousity bone… and who knows where they might actually end up –in Gentoo, in Ubuntu, in Debian, perhaps even in OpenSolaris-land. [124000280200] |It doesn’t matter –it’s all GNU goodness. [124000280210] |Even if they stick with Red Hat. [124000280220] |In the free software community, we are as likely to turn viciously on one another as we are to stand united. [124000280230] |And that’s a big weakness for us, as a community. [124000280240] |It’s too easy to get free software advocates, who agree on 99% of things, to shred one another over the remaining 1%. [124000280250] |That just makes us a confusing place for new users –and a disturbing place for more corporate adopters. [124000280260] |It makes it easy for proprietary software companies to divide and conquer the free software world. [124000280270] |We divide spontaneously. [124000280280] |Instead, we should strongly affirm the things in which we all agree. [124000280290] |
  • Software CAN be Free (using Richard’s terminology) and therefor we believe it will ALL END UP FREE. [124000280300] |And we’re committed to reinventing everything we need until the free software stack is a genuinely complete computing universe. [124000280310] |We’re already pretty far along.
  • [124000280320] |
  • Free software is not just cheaper. [124000280330] |It’s BETTER. [124000280340] |It’s produced using a better process attracting better talent and it evolves faster, resulting in better innovation. [124000280350] |All of that adds up to great value.
  • [124000280360] |If we keep reminding ourselves that we agree on all of that, then our disagreements come into perspective. [124000280370] |Instead of criticism for Red Hat, I think it would be more constructive to remind ourselves of the things that Red Hat does for the free software community first –and then perhaps to talk about why we prefer another system, for whatever personal reasons. [124000280380] |Just off the top of my head, here are a couple of things for which all of us free software advocates have Red Hat to thank: [124000280390] |
  • When the EU was voting on software patents, it was the surprising sight of Red Hat and SUN jointly appealing for clearer thinking that tipped the scales in favour of the defeat of the motion.
  • [124000280400] |
  • Red Hat has in many ways been the public vehicle of IBM’s major Linux initiative. [124000280410] |Without Red Hat, much of that work would have had less “punch”, because Red Hat was able to encapsulate it into a platform that could be presented to traditional IT people. [124000280420] |We’ve all benefitted from that punch.
  • [124000280430] |
  • Red Hat was a leading proponent of GNOME, and to date has put far more active resources into the GNOME desktop even than Ubuntu. [124000280440] |I do intent to match that as soon as Ubuntu stands on its own two feet, but until that time, hats off (har) to Red Hat.
  • [124000280450] |
  • The NSA and Red Hat teamed up to make SE Linux feasible. [124000280460] |Even though that hasn’t yet become widely adopted, it still was a crucial step in getting the Fed’s to treat Linux seriously in the data center –and that’s in turn brought a rush of hardware vendors and ISV’s on board.
  • [124000280470] |There’s a danger in something we love to hate. [124000280480] |It’s that we can forget to love it. [124000290010] |DebConf6 [124000290020] |I got struck down upon my return from Mexico with a fever. [124000290030] |Other than that, it was a fantastic conference –well done to the organisers for picking such a cool venue. [124000290040] |Highlights this year (for me, anyhow): [124000290050] |
  • The 10m jump. [124000290060] |Bonzai.
  • [124000290070] |
  • Meeting Warren of MEPIS fame in person.
  • [124000290080] |
  • Getting to do not one but TWO Ubuntu Q &A sessions. [124000290090] |Thanks, Don.
  • [124000290100] |
  • The flurry of activity around the Java licence changes. [124000290110] |Still not settled, but still, well done to all involved for at least making good progress so far.
  • [124000290120] |
  • The curious geodesic-ish dome, which it turns out covers a sulphur spring (why? no idea. but cool nonetheless)
  • [124000290130] |
  • Sinchronizada’s. Especially in two’s. Asynchronously.
  • [124000290140] |
  • Mexico City Margarita’s (alas, not much to be said for those in Oaxtepec)
  • [124000290150] |
  • Oaxtepec Negro Modelo’s (forever to be known as “The Black Hunk”)
  • [124000290160] |
  • The bandwidth if you woke up before 9am
  • [124000290170] |
  • Tango lessons
  • [124000290180] |
  • Dodging the Pool Police for late night skinny-dipping. [124000290190] |You KNOW I love skinny-dipping.
  • [124000290200] |
  • The mountains on the drive up from Mexico City.
  • [124000290210] |
  • The volcano to the east of the complex.
  • [124000290220] |
  • Some positive feedback from Joey Hess (along with some constructive criticism, but hey, it’s a start)
  • [124000290230] |
  • Lots of DD’s thanking me for Ubuntu. [124000290240] |Don’t thank me. [124000290250] |Thank them. [124000290260] |And thank yourselves And while you’re at it, THANK UPSTREAM! [124000290270] |But nonetheless, thank you for saying thank you, because it’s a labour of love.
  • [124000290280] |
  • The view of Mexico City from the plane, coming and going. [124000290290] |And coming. [124000290300] |And going.
  • [124000290310] |So, all in all, I had a great time. [124000290320] |I’m pleased that there was good discussion about the Ubuntu and Debian relationship. [124000290330] |Overall I think we’re past the “sky is falling in” phase and into the “practical ways to improve the flow” phase, which is thanks to hard work on both fronts. [124000290340] |I note far fewer Ubuntu bugs spuriously ending up in the debian BTS, and a lot of coordinated tracking of bugs across Ubuntu, Debian and upstream. [124000290350] |From our side, at least, Launchpad makes it a lot easier for Ubuntu to be smart about that. [124000290360] |Raphael and Enrico made a list of things we can do on all fronts that will improve that coordination –we’ll get to quite a few of those this year, I think. [124000290370] |Some folks apparently grumbled in private but never showed up to the Ubuntu Q &A’s –you know who you are. [124000290380] |Hello, folks, you don’t get to party unless you show up! [124000290390] |To those who did –thanks for the Q’s. [124000290400] |I hope the A’s were satisfactory –ping me on irc.freenode.net if you have more. [124000290410] |But mostly, it was just good fun. [124000290420] |I’m glad that the rain and the flooding didn’t bring out the scorpions, as it sometimes does in tropical environments. [124000290430] |My Spanish may suck but I never felt like a stranger in Oaxtepec. [124000290440] |Or, better put, I never felt like a lone stranger. [124000290450] |We’re all a bit touched, really, by local standards. [124000290460] |Manyana… [124000300010] |US visa-waiver program [124000300020] |Joi ito has had a few stern looks from the US INS regarding visa waiver forms. [124000300030] |I can relate. [124000300040] |I have a UK passport by virtue of the fact that my father was born in the UK (mostly by accident –another fun story). [124000300050] |So I also know about the visa waiver program –it used to cover me too. [124000300060] |Until one day I flew into the US briefly, on my own plane, to visit friends in DC as part of a long trip. [124000300070] |When we arrived at Dulles, the immigration officer said there was a small problem. [124000300080] |The operator of my plane had never signed the visa-waiver treaty, and so despite the fact that I had entered the US 27 times previously on that same passport, without a visa, they would now have to decline me entry. [124000300090] |But before doing that they would: [124000300100] |
  • take me in for questioning
  • [124000300110] |
  • search me (I objected to the strip search, they relented)
  • [124000300120] |
  • fingerprint me and send those fingerprints off around the world (no, Mossad is not looking for me, yet)
  • [124000300130] |
  • examine for obvious tattoos and other distinguishing features
  • [124000300140] |
  • ask me to sign a statement of wrongdoing (I declined)
  • [124000300150] |
  • terminate my visa waiver access –from then on I need a visa
  • [124000300160] |A complication was that, because they did not have records of all the times I left the USA, they believed I had previously stayed for longer than the 90 days. [124000300170] |Fortunately I was able to get copies of all my inbound and outbound tickets faxed to them, so I think they eventually came to believe that I had not actually overstayed the visa program ever. [124000300180] |Then they let me back on the plane, we flew to Ottawa, the US embassy kindly gave me a visa, and we returned to the USA. [124000300190] |Now, flying into the USA I am ALWAYS sent off for extra questions and paperwork. [124000300200] |And on applying for a new visa, I have to fill out the form for “people with a criminal record” (cross out the criminal record part, write in “visa waiver declined”, I kid you not). [124000300210] |It’s a joyless process. [124000300220] |Hello, land of the free, knock knock. [124000300230] |I fell in love with the USA once. [124000300240] |It was built on beautiful principles. [124000300250] |Alas, it appears to have forsaken those in the name of security and expediency. [124000300260] |As a result, I think the world is looking for a new source of inspiration –a new country where the most interesting people of the world can arrive, feel welcome, and feel free. [124000300270] |Joi, best you be sure to hand that little green form back, every time. [124000310010] |Sparc and Niagara support in Ubuntu [124000310020] |Today we announced that Dapper will include full support for SPARC, and in particular for the UlstraSPARC T1 (the “Niagara” architecture) in all its multicore multithread glory. [124000310030] |I would credit the Linux/SPARC community (and David Miller in particular), and the OpenSPARC community, with the speed of this port moving from “first code” to production supportable. [124000310040] |When I first saw David speaking about Niagara support at LCA in Dunedin in January, we all thought that Dapper could support traditional SPARC at release but then get Niagara support some months later in an update. [124000310050] |But the fervour with which the community at large under David’s leadership attacked the problem has meant that Linux on Niagara has progressed far faster than we expected –so much so that the first SPARC CD release of Dapper (which will be uploaded a little after the other architectures when we make the Dapper release) will support most UltraSPARC T1 machines out of the box. [124000310060] |David –wow! [124000310070] |Thanks for that leadership. [124000310080] |I guess we have to add your SPARC work to the list of things for which the free software community have to thank Red Hat [124000310090] |I should also thank Matthias Klose, Ben Collins, Jeff Bailey, and the unstoppable Fabio di Nitto for integrating that community work into Dapper and for making sure that the installer and userspace bits are all in good shape. [124000310100] |I hope that the Linux-on-SPARC community will experience a bit of a resurgence now that these officially-supported options are out there and in production use. [124000310110] |The other aspect has been the OpenSPARC process, which essentially means that everything you need (all the documentation, the source code of hypervisors etc, and even the RTL defining the processor itself) is published under free software licences. [124000310120] |So this is the first time that Linux has been ported to a TOTALLY open architecture. [124000310130] |My hope is that this will allow Linux to keep up with the proprietary alternatives in supporting the very latest and greatest hardware features on SPARC on the day the machines first roll on out of the factory. [124000310140] |Now, if only more hardware manufacturers took that approach, we wouldn’t have to deal with the frustrations and shortcomings of binary (or worse –entirely unavailable) drivers on Linux. [124000330010] |Visiting Poland and Russia next week [124000330020] |Next week June 12-16 I’ll be visiting Poland and Russia. [124000330030] |It would be great to meet up for beer, discussions and Q&A with any Ubuntu LoCo folks, users or contributors in Warsaw or Moscow. [124000330040] |I’m keen to learn about the state of free software adoption there, the level of translation of Ubuntu into Polish and Russian, and ways we can help accelerate both of those! [124000330050] |We’ve setup some wiki pages for potential community LUG-style meetings, feel free to add suggestions for a venue for them, or your name if you’re keen to join. [124000330060] |I think it would be good to host discussions about the meetings on the Ubuntu-PL and Ubuntu-RU mailing lists: [124000330070] |SABDFL in Warsaw SABDFL in Moscow I’ll also be in St Petersburg on Friday, so if there’s a lot of interest we could have a meeting there too. [124000340010] |More opportunities with Ubuntu and Canonical [124000340020] |There are a couple more job postings up on the Ubuntu employment page, and I thought I would blog about some of them in particular because they demonstrate what I hope will be a role model for the synthesis of paid, professional work and the best of free software volunteerism. [124000340030] |Today I’ll focus on just the one position: [124000340040] |The Ubuntu Community Manager opening is “uniquely Ubuntu” in that it brings together professional management with community integration. [124000340050] |This job has been created to help the huge Ubuntu community gain traction, creating structure where appropriate, identifying the folks who are making the best and most consistent contributions and empowering them to get more of their visions, ideas and aspirations delivered as part of Ubuntu –release by release. [124000340060] |It’s unusual in that it’s a community position that is not an advocacy position. [124000340070] |It’s a management position. [124000340080] |Our community in Ubuntu is amazingly professional in its aspirations –folks want to participate in every aspect of the distribution, from marketing to artwork to sounds to governance and beyond. [124000340090] |And we welcome that because it means we share the ownership of the project with a remarkably diverse and mature team. [124000340100] |In the past six months I’ve noticed a number of people joining and having an impact who are mature professionals with great day jobs and a limited ability to contribute in terms of time –but a strong desire to be part of “this phenomenon called Ubuntu”. [124000340110] |The job of the community manager will be to make it possible for these folks to have an amplified impact despite having time constraints on their ability to participate. [124000340120] |Partly that means bringing the principles, practices and real world experience of traditional management to community initiatives. [124000340130] |Making sure that teams meet regularly if there is stuff on the boil, that they communicate to the rest of the project where needed, that the right people are empowered to take decisions in the team and that great work which is done by that team is recognised and incorporated in appropriate ways elsewhere. [124000340140] |It’s a management position in that it will involve meetings, oversight, guidance, coordination, judgement, sensitivity and awareness of everything that is going on. [124000340150] |It requires the extra gift of knowing how to work effectively with enthusiastic volunteers, and how to translate that energy into a real outcome that expresses what the community wants to do in a way that is consistent with the broader goals of the project. [124000340160] |I’m really pleased at how many of the informal Ubuntu teams are starting to get formalised and professionalised. [124000340170] |In the art team, for example, we are in the process of appointing an Art Council, which will report to the Ubuntu Community Council. [124000340180] |And we have appointed “artists in chief” for Edgy for both Ubuntu and Kubuntu, so everybody knows where the buck stops for the default artwork in those releases. [124000340190] |As a result we have real professional experience signing up and contributing, and I’m excited to see what that turns into for Edgy artwork. [124000340200] |The “artist in chief” appointments are for Edgy only so the idea is to give other community contributors a chance to hold those reins with each subsequent release. [124000340210] |This effort is already paying off, with clear plans, deadlines and processes in place for the Edgy artwork which are consistent with how the rest of the distro is run, and which give everyone a clear idea of what to focus on at each stage of the process. [124000340220] |It’s looking very cool. [124000340230] |We can’t provide active management and guidance for every community initiative (and as Jane Silber pointed out to me today, we don’t have to –in many cases the Ubuntu community has done a superb job of “getting real and getting professional”, which is better than having someone external to the team create structure and process). [124000340240] |But for a couple of our largest community areas, having a great person to lead, provide consistency and an interface to the core team will be a big help. [124000340250] |I’d love to think that someone with a job at a top law firm could feel they could devote some volunteer time to the project –similarly for marketing professionals, translators, artists, engineers and others. [124000340260] |They will only do so if they feel that the project is very smoothly run, that they can be productive and make a real impact very quickly. [124000340270] |They need to know where to go, what to focus on, and how to deliver their contribution in a way that can be integrated with a minimum of fuss. [124000340280] |The job of the community manager is to ensure that the WHOLE community is well governed, well structured, and running effectively with a good idea of how it fits into the rest of the project. [124000340290] |It’s a really unique job. [124000350010] |Artwork progress for Edgy [124000350020] |The artwork team has been making some very good progress with their new methodology. [124000350030] |I’ve always been slightly in awe of people who can produce visual art –it’s that feeling of watching something magical happen that I could never do myself. [124000350040] |First they collected a variety of inspirational elements that had interesting artistic qualities –pictures of shells, glass items, various stock images with different palettes and effects. [124000350050] |Now the focus is to draw those themes together and identify some stylistic techniques that will define “the look of Edgy”. [124000350060] |One very cool thing is that we now have all three main flavours (Ubuntu, Kubuntu and Xubuntu) getting attention. [124000350070] |Jmak is doing amazing things with the XFCE themes. [124000350080] |You can see a snapshot summary of the state-of-the-art or hop onto the ubuntu-art mailing list to provide feedback. [124000350090] |The list is still a bit chaotic –we need to separate out the “cool new idea” traffic from the “one step further along our agreed line of work” contributions, but in general I think the process is working well. [124000350100] |I’m sure there will be rough edges in Edgy –that’s the point –but I’m really impressed with the leadership of Troy Sobotka and I think the team is going to do wonderful work over the next series of releases. [124000350110] |Thanks guys and well done! [124000360010] |Red Hat’s demise is not our goal [124000360020] |I woke up this morning to a flood of mail regarding Tony Mobily’s commentary on Ubuntu vs Red Hat. [124000360030] |This would be a good time to remind all of us in the Ubuntu community that Red Hat’s demise is not our goal, and not how we should measure our success. [124000360040] |My own view is that Red Hat will continue to do well in the specific areas that they have targeted –they are extremely well established in the high-availability enterprise Linux server market, and it will take some years before Ubuntu can make the same claim. [124000360050] |Our focus is different to that of Red Hat –we want to ensure that there are free (in both FSF and economic senses) platforms for commodity requirements, like desktops and typical web or email of HPC servers, where the existing free software stack does everything that people typically want. [124000360060] |And we want to ensure that this free offering is sustainable, so that it is independent of the whims of any large corporate (and frankly independent of my own whims, too). [124000360070] |Essentially, we want to create a sustainable, practical home for the very best Linux engineers and architects (initially drawing primarily from the pool of Debian developers but now we’re starting to bring in upstream folks too). [124000360080] |If that can be sustainable, and charged with delivering a free platform that anyone can use for a desktop or a standard server, then I think we will have accomplished something remarkable and unique. [124000360090] |Much like the FSG, and OSDL, Ubuntu will have a role to play in making Linux widely and freely available and keeping it at the cutting edge. [124000360100] |Our job is to make the amazing, cutting edge work of thousands of free software developers available in a neat, elegant package that anybody can deploy free of charge, with easy access to the whole universe of free software, and for which they can get commercial grade support if they want it. [124000360110] |That’s a much less grand vision than Red Hat’s goal to challenge the establishment –SUN, Microsoft et al –and create a new enterprise serving other enterprises. [124000360120] |It’s true that competition with Red Hat and Novell is part of what energises the Ubuntu team –we strive to produce something that is cleaner, crisper, faster and better engineered than the alternatives that are out there, and we value the bar that they set. [124000360130] |But our primary competition is ourselves –we set extremely high standards for our own team, and we aim to beat that with every release. [124000360140] |So, Red Hat will I think retain a place in the world. [124000360150] |Given that their balance sheet is almost as strong as (ours), I would expect them to be around for some time . [124000370010] |Tags on bugs in Launchpad [124000370020] |The inevitable Web 2.0-ism has landed in Launchpad… TAGS. [124000370030] |Congrats to Brad Bollenbach and Bjorn Tillenius on the landing. [124000370040] |In this first cut, only the bug tracker supports them, but if you can suggest interesting other applications for tags in Launchpad I’m sure the guys on #launchpad would be keen to listen. [124000370050] |There’s a demo server with a full list of Python’s bugs from Sourceforge imported into a Launchpad instance, with tags, that you can check out for a taste of bug tagging goodness. [124000370060] |That’s not the usual, production LP, it’s a demo setup we use to show new features or to import sample data. [124000370070] |Personally, I’m something of a sceptic. [124000370080] |Tags are certainly a useful way to do short term organisation of things in a project, but they can’t compete with rigorous structure for ongoing management. [124000370090] |Essentially, a wiki is FULL of tags, but organising things in wiki’s is fraught with challenges. [124000370100] |We used to organise the feature planning for Ubuntu in the wiki, but it drove me nuts –to the point that I had to sit down and write the feature planning system in Launchpad. [124000370110] |Folksonomies are powerful in the right places, but they are no magic bullet. [124000370120] |Still, I’m intrigued to see how projects use them. [124000370130] |You can see how the LP team themselves are coordinating their tags-onomy –I like the idea of having agreed, and proposed, tags. [124000370140] |Of course, you can tag anything with anything, but *some* structure or convention makes the whole endeavour much more useful. [124000370150] |Hmm… time to add that to the Malone Highlights doc I wrote up over the w/e. [124000380010] |Communicating release goals [124000380020] |Dapper has now been out two months, and in general the feedback from the release has been wonderful. [124000380030] |I feel somewhat relieved –it was a challenging set of goals we set ourselves, but it seems that (a) most users prefer Dapper to any previous release and (b) most users are very happy with the combination of features and stability. [124000380040] |Phew. [124000380050] |However, there’s always room for improvement, so we have been evaluating the release and figuring out what we can do next time to have a closer alignment of expectations and reality. [124000380060] |Matt Zimmerman put it best in a private mail which he’s given me permission to republish: [124000380070] |Matt Zimmerman wrote: [124000380080] |So, what can we do better next time? [124000380090] |First, I think we need to realise that any heightened publicity will create impossible expectactions. [124000380100] |Dapper was by far the “biggest” release the project has produced to date, we were all excited about it, there was a lot of buzz, and as a result there’s a temptation for each person to hope that this release will have the set of things that THEY think is essentia. [124000380110] |Second, I think the word “polish” is misleading, so I will try to stop using it. [124000380120] |The problem is that it says different things to different people. [124000380130] |To “polish” a release means to fix lots of little things that are irritating but not essential, and of course, everyone has their own list of bugbears. [124000380140] |So saying the release will be “more polished” is about as bad as saying it will be “more better” . [124000380150] |In future, I think we should articulate specifically where we will be investing the effort. [124000380160] |In the case of Dapper, it was (a) the kernel, (b) the installer, (c) the server, and (d) the graphics theme and icons. [124000380170] |Of course there was a ton of other work done, but that was what *I* meant by “polish”. [124000380180] |So we need to communicate much more clearly EXACTLY where the investment and the results will be found. [124000380190] |Third, we should be honoured to be in head-to-head comparisons with Windows. [124000380200] |Some of the toughest criticism of Dapper I have seen comes from people who have never used Linux before. [124000380210] |And so they quite rightly stack us up against the OS they use every day. [124000380220] |That is something of a success already –we can at least claim to be in the ballpark. [124000380230] |Now we need to look PAST where Windows is today, and deliver an experience to those users that is so compelling in some places that they are willing to forgive a few of the warts. [124000390010] |Jono Bacon steps up [124000390020] |A short while ago I blogged about what I think is one of the most interesting and challenging positions at Canonical –the Ubuntu community manager. [124000390030] |We had several fantastic folks in the shortlist and I’m pleased to say that Jono Bacon (a.k.a. jono on IRC.freenode.net, pictured here playing his own interpretation of Hamlet) will be stepping up to the plate. [124000390040] |Jono –welcome aboard! [124000390050] |We have one of the world’s best technology communities in Ubuntu –from the UbuntuForums to the MOTU with LoCo teams, Art, Doc, Marketing, and specialist interest groups all collaborating to make Ubuntu rock. [124000390060] |I’m excited to have someone working across the project to help them all rock even harder! [124000400010] |Essential spec subscribers [124000400020] |One of the Blueprint hacks I got around to this weekend was to add the idea of “essential” subscribers to a feature specification in Launchpad. [124000400030] |Since we use Launchpad to plan our meetings, its useful to know when we are arranging the discussion sessions who has to be present when a topic is discussed, and who is simply interested in the discussion. [124000400040] |There’s a brief doc describing the feature further on help.launchpad.net and I think it will first be used for Edgy+1 planning in November. [124000400050] |PS –thanks to Google for the star image, artistic improvements welcome! [124000420010] |Conflicting goals create tension in communities [124000420020] |Matthew Garrett expressed frustration with Debian recently, in a blog post that’s become rather famous. [124000420030] |I’m of the opinion that Ubuntu could not exist without Debian. [124000420040] |So it’s absolutely my intention to see that Ubuntu is a constructive part of the broader Debian landscape. [124000420050] |It’s vital that Ubuntu help to sustain and grow Debian, because it’s the breadth and strength of Debian which make up the “shoulders of greatness” on which we in the Ubuntu community stand when we reach for the stars. [124000420060] |That doesn’t mean I’m naive enough to think this relationship will ever be an easy one, but I would hope that the discussion doesn’t turn into one of “Ubuntu versus Debian”. [124000420070] |Because it isn’t the case that one of them will succeed and the other fail. [124000420080] |You could only perceive that as an outcome if you assumed that the two have exactly the same goals. [124000420090] |And that’s where I think a lot of tension is created: it’s hard to know what Debian’s goals are. [124000420100] |Those goals are technically articulated in some founding documents but I don’t believe the specific, detailed nature of those goals is actually matched by the personal goals of many members of the community, or users. [124000420110] |Debian, in many senses, is at that dangerous stage where it’s a victim of its own success. [124000420120] |Its infrastructure and developer recruitment model are for many people what define Debian, and they have been so successful that a community has been created of people who, drawn together by the same things, nonetheless have subtly different personal agendas and goals. [124000420130] |Those differences are a cause of tremendous stress. [124000420140] |When a flamewar erupts, the notional topic of the flameage is often less relevant than the underlying tension between people’s true goals. [124000420150] |It’s hard to come to agreement on how to address a specific issue, if there’s no agreement on the very high-level goals that everyone is working towards. [124000420160] |Arguments go on forever because one person REALLY wants to see Debian get even more stable on the server, and another person wants to see it get even more cutting edge on the desktop. [124000420170] |One person wants more translation of stable versions of applications, another wants newer versions which are by definition not as well translated. [124000420180] |One person wants fewer architectures, another wants the full power of Debian on a small embedded architecture. [124000420190] |And all of them have every right to BE RIGHT. [124000420200] |All of them, ARE right. [124000420210] |The problem comes if anybody believes that one institution, one product, one single leadership team can synthesise all of that into something which is optimal for EVERYBODY. [124000420220] |It’s just not possible to deliver one thing which is optimal for two sets of conflicting requirements, let alone those of a thousand or so of the smartest, most passionate, and lets face it most eclectic of the world’s free software developers. [124000420230] |Debian has almost unlimited capacity for some things, by virtue of its openness and democratic governance. [124000420240] |That is a wonderful thing. [124000420250] |At a time when we all must play to our strengths, many organisations out there would love to have a strength as potent as that. [124000420260] |But openness and democracy come at a price if you have narrow goals. [124000420270] |No one person or institution can bend that democratic forum to its own specific goals, whether they be desktop, server, embedded, global, local or whatever. [124000420280] |Debian, like any institution or product, cannot be all things to all people. [124000420290] |It can also not be perfect for one group at the expense of another. [124000420300] |To me, this is the real joy of Debian –it can provide a forum for almost every part of the free software world to come together to hammer out differences and find common ground to the extent that common ground exists. [124000420310] |It’s a level playing field –independent of company agendas or technical historical baggage. [124000420320] |Debian is the Tibetan Plateau of the free software landscape –elevated through the grinding efforts of conflicting passions to the point of forcing those who visit to get along in a somewhat rarified atmosphere. [124000420330] |It can be difficult to breathe up there, sometimes . [124000420340] |It’s a bit like the Linux kernel itself: show up, with code, and take your place at the table. [124000420350] |And the results are spectacular –Debian as a community creates what I believe is one of the great digital artistic works of the era, and frankly comes as close as I can think possible to actually delivering something that does meet all those conflicting agendas and goals. [124000420360] |Consider Sid. [124000420370] |Yes, it breaks your toys now and then, but by and large it represents an extraordinary achievement –pretty much the latest releases of the upstream communities, packaged and categorised. [124000420380] |Nothing else, from Ubuntu or Red Hat or Novell (or Microsoft) comes anywhere close. [124000420390] |Debian Developers are at their happiest running and working on Sid –a recent survey found that something like 76% of Debian users run Sid, while only something like 6% of Ubuntu users run the equivalent beta code. [124000420400] |And remember, Ubuntu only has an Edgy or an Edgy+1 because of Sid. [124000420410] |When I look at the ebb and flow of discussions on the Debian mailing lists, I see that Sid is in fact where the very best of Debian comes forth. [124000420420] |It’s forward looking, it’s focused on the next generation, it requires exceptional skill and up to date technical knowledge to participate, and it’s not subject to the same political tradeoffs that are inevitable when dealing with releases, architectures, dates, deliverables, translation, documentation and so on. [124000420430] |There are very few flamewars about Sid. [124000420440] |If Debian were a business, now would be the time for a careful review of strengths and weaknesses, and perhaps for a plan to focus the resources of the organisation on the things it does best. [124000420450] |There’s nothing wrong with cutting goals. [124000420460] |Jane, the COO at Canonical, keeps me on the straight and narrow with a fairly regular pruning of Canonical’s focus points too . [124000420470] |Every conflicting goal sucks resources from the overall cohesiveness and strength of the group. [124000420480] |If there is no consensus in the community, and the leadership don’t think they can get consensus, then it might be better to cut out those conflicting goals altogether. [124000420490] |To my mind, the two things that Debian developers absolutely agree on are first, the uncompromising emphasis on free software, and second, the joy of Sid. [124000420500] |If I was to try to resolve the bickering and frustration that I see evident in the community, that’s where I would direct the focus of my efforts. [124000420510] |Of course, that’s a tough approach, and leaves many other goals for other people and other communities. [124000420520] |But it’s where I think Debian, and DD’s, would be most productive and ultimately happiest. [124000420530] |There are many things that Debian does brilliantly –celebrate that, focus on it, and trust that others will fill in the gaps. [124000420540] |By contrast with Debian’s Plateau, Ubuntu is a cluster of peaks. [124000420550] |By narrowing the focus and allowing the KDE, Gnome and server communities to leverage the base of Debian without treading on one another’s toes, we can create a K2, and a Kangchenjunga and a Lhotse. [124000420560] |Ubuntu’s peaks depend on the plateau for their initial start, and their strong base. [124000420570] |Ubuntu needs to be humble about its achievements, because much of its elevation comes from Debian. [124000420580] |At the same time, Ubuntu can be proud of the way it has lifted beyond the plateau, drawing together people with specific goals to raise the bar and deliver specific releases that meet ambitious, but narrow, goals. [124000420590] |Many people have asked why I decided to build Ubuntu alongside, or on top of, Debian, rather than trying to get Debian to turn into a peak in its own right. [124000420600] |The reason is simple –I believe that Debian’s breadth is too precious to compromise just because one person with resources cares a lot about a few specific use cases. [124000420610] |We should not narrow the scope of Debian. [124000420620] |The breadth of Debian, its diversity of packages and architectures, together with the social equality of all DD’s, is its greatest asset. [124000420630] |So, what’s to be done about the current furore? [124000420640] |A little introspection is healthy, and Debian will benefit from the discussion. [124000420650] |Matt is to be credited for his open commentary –a lesser person would simply have disengaged, quietly. [124000420660] |I hope that Matt will in fact stay involved in Debian, either directly or through Ubuntu, because his talent and humour are both of enormous benefit to the project. [124000420670] |I also hope that Debian developers will make better use of the work we do in Ubuntu, integrating relevant bits of it back into Debian so as to help uplift some of those other peaks –Xandros, Linspire, Maemo, Skolelinux and of course Etch. [124000420680] |And most of all, I hope that Debian will start to appreciate its strengths even more, and to play to them, rather than dividing itself along the lines of its weaknesses. [124000420690] |Debian/rules, remember? [124000430010] |Bling-bling Buntu! [124000430020] |I was very pleased to see John Vivirito announcing a desktop-effects team for Ubuntu, that will focus on the integration of 3D technology into the desktop like Xgl, Compiz and AIGLX. [124000430030] |Folks who are interested in that stuff and want to help make Ubuntu rock in that department please join the team! [124000430040] |We’re particularly interested in people who have strong OpenGL experience. [124000440010] |Next Distro Summit: Nov 5-10 in Mountain View, California [124000440020] |Jono Bacon has announced the next Ubuntu Developer Summit: November 5-10 in Mountain View, CA. [124000440030] |There’s been a steady growth in the number of upstream and outside developers coming to past summits, and given the density of free software developers in the Bay Area I hope we’ll have an even more awesome group this time around. [124000440040] |The summits are pretty intense –deep, detailed discussion of the top 100 things we want to see in the next release –but if you’d like to meet the Ubuntu core team, or motivate for a feature, or help to plan a feature you want to contribute to Ubuntu, this is the place to be. [124000450010] |Ubuntu road warrior tips [124000450020] |Don Marti from LinuxWorld asked me to write a bit about using Ubuntu on the road. [124000450030] |The article appeared here, but I thought it would make a good blog post too. [124000450040] |I’d love to hear from folks about tools you use with Ubuntu to make it rock harder on the road! [124000450050] |The original article is here. [124000450060] |I do use Ubuntu on my laptop, and travel a lot. [124000450070] |My laptop is both my primary working environment and my primary development environment. [124000450080] |I also have a desktop machine, which runs Kubuntu, and which I use for development at home over the weekends. [124000450090] |NetworkManager is (mostly) my friend. [124000450100] |When it works on your hardware it’s a blessing, though every now and then it can get itself into a horrible jam. [124000450110] |The primary missing feature for me, now, is the ability for it to recognise “locations” and configure printers accordingly. [124000450120] |I’m a Thunderbird fan and use that rather than Evolution. [124000450130] |The best tip I can give anyone is to try the Quickfile extension for Thunderbird. [124000450140] |It was developed in response to a bounty I put out some time ago, and has made my life much, much better in dealing with several thousand mail folders. [124000450150] |In simple terms, it lets me file a mail to a folder by typing a hotkey and then a few letters from the folder name. [124000450160] |This lets me drive Thunderbird almost entirely from the keyboard. [124000450170] |Combined with the offline email function of Thunderbird I can be extremely productive with email in planes, trains and automobiles, which is where I get a lot of time these days. [124000450180] |One glitch in that routine is when people send me email with a URL in it. [124000450190] |I am often offline when I get to the email, so it can be frustrating because I can’t then see the document they are pointing at. [124000450200] |To work around this I use a combination of Firefox bookmarks and T-bird labels. [124000450210] |I have a “Needs web access” label, which I use to flag emails that have this issue. [124000450220] |And I have a “To read” folder on my firefox bookmarks toolbar. [124000450230] |By right clicking on the URL in the email I can copy the URL, then I right click on the “To read” folder and create a new bookmark to that URL with a note about the context. [124000450240] |Then, when I’m online, I can trivially get T-bird to show me all the mails that need online attention, and open all the relevant pages in tabs in a new Firefox window. [124000450250] |The result is that I can immediately deal with everything that NEEDS me to be online. [124000450260] |This is a huge win if, like me, you are traveling constantly and can only grab net access in short windows while parked outside a Starbucks or in an airport lounge. [124000460010] |Writing a book collaboratively? [124000460020] |Someone joked about giving Jane the title of “Chief Wiki Officer”. [124000460030] |We have about 7 wiki’s internally and there’s no end in sight! [124000460040] |I think we could consolidate them and use access controls to keep various communities distinct but –for those of us who have to roam across them –integrated. [124000460050] |This got me thinking about the limits of current wiki technology. [124000460060] |Is there any comprehensive list of wiki platforms? [124000460070] |At the same time at the Foundation in Cape Town we are busy gearing up to commit about R30m (about $4.5m in today’s terms) to create a complete set of school books for all subjects in the South African curriculum in wiki format. [124000460080] |I got to wondering which format we should use. [124000460090] |There’s a lot of action around MediaWiki (used by Wikipedia) but one of our goals is to be able to print low cost books –real books with tables of contents etc on real paper –for those schools which don’t have bandwidth or PC’s. Can MediaWiki produce DocBook output? [124000460100] |Or should we be using a different collaborative platform altogether? [124000460110] |I remember hearing about a DocBook wiki system, but can’t find any references to that now. [124000460120] |So here’s the question –if you wanted to write a book collaboratively, with rigorous access control and revision control but also with chapters and sections, and an index and tables of contents etc –what platform would you use (free software greatly preferred, and open format’s required, of course ). [124000470010] |Agenda shaping up for Mountain View Summit, Nov 5-11 [124000470020] |Since the call for topics went out there’s been a steady flow of interesting suggestions for the next release of Ubuntu (likely to be 7.04, code name “The Feisty Fawn“). [124000470030] |I’ve spent some time reviewing those and proposing a few of my own …as have other members of the Tech Board and community. [124000470040] |The best place to see how it’s shaping up is to look at the current set of topics for the next Developer Summit that takes place Nov 5-11 at the Googleplex (yay bandwidth!) in Mountain View, California. [124000470050] |If you will be close by, subscribe to a few of those topics, and register to come (Launchpad account required) to the summit and tell us how you want Feisty to rock! [124000490010] |UbuntuWorld 2007 in the USA? [124000490020] |Wow, it feels like just a short while ago that a few like-minded Linux lovers gathered at my house to talk about the project that became Ubuntu. [124000490030] |Now we’re thinking of having a “user and business” conference, aimed at bringing together the people who deploy and manage Ubuntu in the real world (well, in the USA in particular, but let’s think globally) with those who help to produce it. [124000490040] |The big question is –who would want to come? [124000490050] |In order to run such an event we would need about 500 people to attend. [124000490060] |It would be a 2-day conference (with additional days of workshops and tutorials separately, probably) and would likely be run in close proximity to another big event. [124000490070] |The cost per delegate would be around $700. [124000490080] |We’d bring together companies offering services based on Ubuntu, developers and ISV’s building solutions on it, and end users who just want to squeeze the most out of it. [124000490090] |It would be a traditional style conference, with tracks and keynotes etc. [124000490100] |We’re testing the waters and keen to know what sort of level of interest there is in this idea. [124000490110] |So –please leave a comment on this blog post if you have suggestions, ideas, or would attend such an event. [124000490120] |Or feel free to email ubuntuworld@ubuntu.com with your comments if you prefer that. [124000520010] |Bazaar 0.12 released –check out the smart server! [124000520020] |Congratulations to the Bazaar team, who just released version 0.12 of my favourite free software distributed revision control system. [124000520030] |Well done Martin, John, Robert, Aaron &co. [124000520040] |The big focus as they move to 1.0 is performance, and a key part of that is the performance of revision control across networks. [124000520050] |Since the whole point of internet-based collaboration is to share code and innovation between developers in different parts of the world, network performance is a key issue for the team. [124000520060] |Bazaar has the neat property that you can publish your branches using only a web server, with no special features. [124000520070] |Just exposing the files as a read-only tree over HTTP is enough to publish your branches. [124000520080] |That’s nice and easy to setup –combined with SFTP support it means that just about anybody with some sort of personal web space can publish code in a format that is easy for other developers to collaborate on –with full revision control for everybody. [124000520090] |The disadvantage of this is that HTTP publishing (or any sort of virtual file system) requires that files be read one-at-a-time, with all the work being done on the client side. [124000520100] |That means it’s difficult, or perhaps impossible, to make the whole thing super fast. [124000520110] |For that, you need a server which understands “branches and changesets”, so that you can talk to it using a specialised protocol with meaningful questions and answers like “what’s changed in this code since I last came by and asked?” [124000520120] |This latest version of bazaar includes just such a smart server. [124000520130] |It’s really easy to setup –if you have an ssh-based account on a machine, you can work with your remote branches very efficiently now –in fact, it’s much faster checking for updates using this smart server than using something like rsync. [124000520140] |This is just the first cut –over time, I think the smart server will become more capable, the conversations more “high-level” and, as a result, the performance even better. [124000520150] |Robert Collins has written up a comprehensive page on how to extend and improve the smart server –Python coders with an interest in revision control should check it out. [124000520160] |This complements his article on extending bzr itself with plugins. [124000520170] |There are a lot of very cool plugins already –Jelmer’s “SVN branching and committing from BZR” plugin really shows how we can bridge the divide between different version control systems with bazaar, which has an underlying model that is a superset of the other major free systems. [124000530010] |#12: Consistent Packaging [124000530020] |A long, long time ago, packaging was an exciting idea. [124000530030] |There were disputes over style and process, there was innovation. [124000530040] |There were reasons to prefer .deb over .rpm over emerge and its binary packages… [124000530050] |Today, these differences are just a hindrance. [124000530060] |The fact that there are so many divergent packaging systems in the free software world (and I include the various *bsd’s) is a waste of time and energy. [124000530070] |We want to focus the collective brainpower of the community on features and bugs, not on packaging. [124000530080] |I would like to see the LSB renamed to the FSB –the “Free Software Base”, and get buy-in from the *BSD’s, and then I’d like to see us define distribution-neutral packaging that suits both the source-heads and the distro-heads. [124000530090] |Then there’d be sufficient rationale for the relevant upstreams to include that packaging framework in their revision control repositories, and distro patches would become far more exchangeable. [124000530100] |Ubuntu isn’t built on secret sauce in the packaging. [124000530110] |We don’t think our patches should be hoarded –we mail them all to Debian daily anyway, and publish them as best we can on the web the instant they are uploaded, often before. [124000530120] |Packaging is also one area where we can definitively improve on the real user experience for most people who treat computers as a job not a passion. [124000530130] |It’s a strategic tool in the battle between proprietary and open approaches. [124000530140] |I often think that the proprietary software world’s way of distributing software is one of its biggest weaknesses –an Achilles Heel that we should be exploiting to the full extent possible. [124000530150] |I’m often asked why Linux can’t make it easy to “write something like Microsoft Installer, or Installshield”. [124000530160] |That’s the wrong rabbithole, Alice. [124000530170] |Linux can make it so when you dream of databases, PostgreSQL or MySQL are “just there” and “just work”. [124000530180] |That’s a much nicer experience –we should make the most of it. [124000540010] |#11: Simplified, rationalised licensing [124000540020] |This is one post in a series, describing challenges we need to overcome to make free software ubiquitous on the desktop. [124000540030] |Richard Stallman is the man I admire most in the free software world. [124000540040] |Nobody else has so clearly articulated, so beautifully argued for the freedom to change your own software and the freedom to share it. [124000540050] |I’m absolutely convinced it is free source, not “open” source, which is at the heart of the innovation that will carry free software to ubiquity. [124000540060] |Developers are inspired and motivated to climb in and make Gnome or KDE better *because* they have the right to do so, and they know their work will form part of something big and beautiful. [124000540070] |But my voice is only one of many, and I recognise in this world that there are lots of reasonable, rational positions which are different but still, for some people, appropriate. [124000540080] |Thus I think it’s normal that we have the BSD-style licences as well as the GPL family of licences, and it’s also normal that there be a few licences in the mix from companies like Microsoft –witness their “Shared Source” initiative. [124000540090] |The result of those reasonable-but-slightly-different positions has been a plethora of licences, most of which fall into a few broad categories, and a few of which are… thpethial. [124000540100] |The diversity of them adds nothing to our cause. [124000540110] |If anything it makes it harder to build cohesion in our world, and harder to reap the benefits of both collaboration and competition. [124000540120] |There are two major desktop environments in Linux partly *because* of these differences. [124000540130] |So what can be done? [124000540140] |Well, I turn for inspiration to the work of the Creative Commons. [124000540150] |They’ve seen this problem coming a long way off, and realised that it is better to create a clear “licence space” which covers the various permutations and combinations that will come to exist anyway. [124000540160] |Hence we have the various options of the CC licences, which allow organisations to specify their INTENT using a few, high level ideas. [124000540170] |And as far as I can see we have neatly sidestepped the potential fragmentation or balkanisation of the open content licence space. [124000540180] |By being willing to represent the whole movement, and not just one square on the board, the Creative Commons has saved us from a very messy death by a thousand paper cuts. [124000540190] |It is reasonable for me to dream of whole swathes of compatibly licenced educational content, from hundreds of different owners, being combined to create new works of breathtaking scale. [124000540200] |Here’s the hard edge. [124000540210] |The OSI needs to decide if it wants to continue to be a driver of fragmentation, or if it wants to lead towards unification and integration. [124000540220] |The FSF, much as I am happy to wave their flag, will always remain aligned with a single-minded set of values, and that’s the right place for them to be. [124000540230] |They are not an appropriate forum for talk of the whole movement. [124000540240] |OSI, on the other hand, while they have much to earn back in the way of credibility with the free software camp, might just be able to pull this off.