Paul Boddie's Free Software-related blog


Archive for the ‘English’ Category

Norway and the Euro 2012 Final

Sunday, July 1st, 2012

Here, I’m obviously not referring to the football championship but to the outcome of an interesting thought experiment: which countries are making the best progress in adopting and supporting Free Software? As a resident of Norway, I’d like to think that I’m keeping my finger on the pulse here in a country that has achieved a lot in recent years: mandatory use of open standards, funding of important Free Software projects in education, and the encouragement of responsible procurement practices in the public sector.

Norway’s Own Goals

However, things don’t always go in the right direction. Recently, it has become known that the government will withdraw all financial support for the Norwegian Open Source Competence Center, founded to encourage and promote Free Software adoption in government and the public sector. One may, of course, question the achievements of the centre, especially when considering how much funding it has had and whether “value for money” has been delivered, or as everyone knows where any measure of politics is present, whether the impression of “value for money” has been delivered. Certainly, the centre has rolled out a number of services which do not seem to have gained massive popularity: kunnskapsbazaren (the knowledge bazaar) and delingsbazaren (the sharing bazaar) do not seem to have amassed much activity and appear, at least on the surface, as mostly static collections of links to other places, some of which are where the real activity is taking place.

But aside from such “knowledge repository” services, the centre does seem to have managed to provide the foundations for the wider use of Free Software, in particular arguing for and justifying the collaborative nature of Free Software within the legal framework of public sector procurement, as well as organising a yearly conference where interested parties can discuss such matters, present their own activities, and presumably establish the basis for wider collaboration. My own experience tells me that even if one isn’t involved with the more practical aspects of setting up such an event, such as the details of getting a venue in order, organising catering and so on, the other aspects can consume a lot of organising time and could quite easily take over the schedule of a number of full-time employees. (People going to volunteer conferences possibly don’t realise how many extra full-time positions, or the effective equivalent of such positions, have been conjured up from hours scraped together from people’s spare time.)

And it has also been noted that the centre has worked hard to spread the message on the ground, touring, giving presentations, producing materials – all important and underrated activities. So, in contrast to those who think that the centre is merely a way of creating jobs for the sake of it, I’m certainly willing to give those who have invested their energy in the centre the benefit of the doubt, even if I cannot honestly say that my awareness of their work has been particularly great. (Those who are so eager to criticise the centre should really take a long hard look at some other, well-established institutions for evidence of waste, lack of “value of money”, and failure to act in the public interest. I’m sure the list is pretty long if one really starts to dig.)

In Politics the Short Term Always Wins

In many ways – too many to get into here – Norwegian society offers plenty of contradictions. A recent addition appears regularly on the front pages of the tabloids, asserting a different angle at different times: there may be a financial crisis, but it apparently doesn’t affect Norway… or maybe it does, but here’s how you, the consumer, can profit from it (your mortgage is even cheaper and you can expect your house to increase even further in value!). I was told by someone many years my junior the other day as he tried to sell me a gym membership that “we’re in a recession” and so the chain is offering a discount to new recruits. I somehow doubt that the chain is really suffering or that the seller really knows what a recession is like.

Nevertheless, the R-word is a great way to tighten the purse strings and move money around to support different priorities, not all of them noble or sensible. There are plenty of people who will claim that public IT spending should be frugal and that it is cheaper to buy solutions off the shelf than it is to develop sustainable solutions collaboratively. But when so many organisations need to operate very similar solutions, and when everybody knows that such off-the-shelf solutions will probably need to be customised, frequently at considerable expense, then to buy something that is ostensibly ready-made and inexpensive is a demonstration of short-term thinking, only outdone by the head of IT at the nation’s parliament boasting about only needing to rely on a single vendor. Since he appears to have presided over the introduction of the iPad in the parliament – a matter of concern to those skeptical about the security implications – one wonders how many vendors are really involved and how this somehow automatically precludes the use of Free Software, anyway.

(Another great example of public IT spending has to be the story of a local council buying iPads for councillors while local schools have 60-year-old maps featuring the Soviet Union, with the spending being justified on the basis that people will print and copy less. It will be interesting whether the predicted savings will materialise after people figure out how to print from their iPads, I’m sure.)

The Role of the Referee

The public sector always attracts vested interests who make very large sums of money from selling licences and services and who will gladly perpetrate myths and untruths about Free Software and open standards in order to maintain their position, leaving it to others to correct the resulting misconceptions of the impressionable observer. There needs to be someone to remind public institutions that they are obliged to act in the public interest, conduct sustainable operations, and that the taxpayer should not have to cover every expense of those operations because they have delegated control to a vendor who decides which technologies they may or may not use, which roadmaps are available to them, burdening them with arbitrary migration exercises, extra and needless expenditure, and so on. Moreover, such institutions should protect those who have to interact with them from interference: taxpayers should not suddenly be required to buy a particular vendor’s products in order to discharge their public obligations.

As we have already seen, there is a need for education around the issues of sustainable public sector computing as well as a need to hold those responsible for public expenditure to account. Holding them to account should be more considered than the knee-jerk response of splashing their organisation across the media when something goes wrong, even if this does provide opportunities for parody; it should involve discussion of matters such as whether such organisations have enough resources, whether they are sharing the burden with others who have similar goals instead of needlessly duplicating effort, and whether they are appropriately resourced so that they may operate sustainably.

I don’t expect a competence centre to perform the task of referee in ensuring a properly functioning, sustainable, interoperable, transparent public sector, but just as a referee cannot do without his linesmen, it is clear that public institutions and the society that pays for them and gives them their role cannot do without an agent that helps and informs those institutions, ensuring that they interact fairly with technology providers both small and large, and operate in a manner that benefits both society and themselves, through the genuine empowerment that Free Software has to offer.

Buying Hardware that Supports Free Software

Saturday, February 4th, 2012

Have you ever wanted to buy a computer without paying a certain corporation for a product of theirs that you don’t want? Were you concerned that, regardless of whether you managed to buy a system without that unwanted operating system, the hardware might not support your favourite operating system distribution properly, leaving you unable to use some of the computer’s hardware (like the wireless network or some of the fancy graphical capabilities)? Were you worried that you might need to do extra work to support your favourite distribution and that people you know would end up blaming you for persuading them to try out something like GNU/Linux? Did you ever try to buy a “computer that runs Linux” from a major manufacturer only to find yourself navigating a labyrinth on their Web site (with every passage prominently marked with an advertisement for the unwanted proprietary product of a certain corporation), ending up either on a page telling you that they don’t sell that model any more, or on a “404 not found” page with all traces of that model erased from the record as if it never existed in the first place?

On the Fellowship Wiki, we are trying to put together an up-to-date list of vendors selling systems that at the very least don’t involve you paying the “Windows Tax“, and preferably involve the option of having a Free Software operating system distribution (like a GNU/Linux flavour such as Debian, Fedora or Ubuntu) pre-installed and ready to use. Although we don’t endorse any vendors – this is just research into those offering solutions that are friendly to Free Software – we hope that this resource will be useful for anyone looking to buy a new computer and act as an encouragement for other vendors to offer products that uphold healthy competition and appeal to an increasing group of people who care about things like Free Software, privacy, the right to control their own computer, the provenance of the software on their computer, the sustainability of their computing environment, and, of course, the proper functioning of the market for personal computers (where one company should not decide what everyone gets to use).

Go to the Hardware Vendors page to see what we’ve found so far, along with links to other resources that have provided good directions to friendly vendors, and feel free to contribute if you are an FSFE Fellow with some expertise of your own in this area. With the vast majority of ready-to-use computers sold via retail channels bundled with proprietary software, the market has been distorted to make the adoption of Free Software more difficult and to keep end-users ignorant of the benefits of Free Software and their right to control their own computer. Please consider helping us to level the playing field!

The FSFE Fellowship Events Calendar and GriCal

Monday, October 24th, 2011

Some time ago, I got involved with the FSFE Fellowship Wiki and implemented the theme code for MoinMoin that blends the Wiki together with the visual styling for the different Fellowship Web sites, along with an event calendar that shows what different Fellowship groups and individuals are doing – an activity which led to the release of the EventAggregator extension for MoinMoin.

Back then, a simple solution which let people add events by adding event pages to the Wiki, perhaps using the new event form, was sufficient and it seems that people did manage to publish their events after all. Having a solution already integrated with the Wiki was arguably preferable to installing yet more software and then thinking about theming and integration all over again, and nothing from the range of existing solutions – at least those known to the Wiki team – appeared to be particularly compelling. So, a bit of Wiki extension work got the job more or less done.

The new event form

The form used to add new events to the Wiki

But now, some interesting work has become visible in the form of GriCal: a Free Software events service that not only carries details of numerous events related to Free Software, but is also a genuinely free solution whose code can be downloaded and deployed for those sufficiently motivated to do so. Some people prefer to publish events on GriCal and would rather see them appear automatically in the Fellowship events calendar. So why not aggregate events not only from the content on the Wiki but also from other sites?

EventAggregator has virtually always supported the iCalendar format as a way of downloading calendars, so that it is possible to view the Fellowship events calendar using your own calendar or organiser client, but could it not also support iCalendar as an input format? From the beginning, EventAggregator has used the fundamental information reminiscent of iCalendar to define events, albeit without all the BEGIN:VEVENT and DTSTART syntax, so surely a few adjustments were all that were necessary. Well, it did require a bit more work than that, necessitating some refactoring and the revisiting of assumptions that tends to happen when software evolves to do a bit more than it was originally intended to do, but now the distinction between events from remote sources and local pages is more and more blurred: the calendar doesn’t care where the events come from, although some caching within MoinMoin does attempt to stop those sites acting as event sources from being worried about having their events downloaded a bit too often.

So what does this mean for Wiki users? Well, defining calendars and creating events is still as straightforward as it used to be, especially if you use the “New event” link either below each calendar or in the menu when hovering over a day number in the calendar view. But if you know of some useful sources of high quality event information, you can also add an event source to the Wiki’s register of sources and then use those sources when showing your calendar.

The day view

The day view showing the timing of events within a particular day

Apart from all this new support for iCalendar aggregation, EventAggregator has also gained support for some other nice features over the past year or so. You can now view days individually and see the time information for events, and this can be useful when looking at things like conference schedules where lots of individually scheduled events are occurring within a short time-frame. You can also view events in any suitably prepared map, with events shown on a European map being perhaps the most obvious application for this feature in the Fellowship Wiki. Although the default map is not as fancy as something like OpenStreetMap or its proprietary competitors, the simple layering of active regions over a bitmap could be useful for customised maps, perhaps even things like building plans or anything that takes liberties with the concepts of latitude and longitude!

The map view

The map view using a map of Europe for Fellowship events

So I hope I’ve inspired you to at least take a look at the Fellowship events calendar. Remember that the Wiki is a collaborative resource: it doesn’t improve all by itself with only its increasing age to help it along. But with a bit of interest and even the most modest contributions, it has the potential to become a powerful tool and a medium to create greater and better things.

Finally, I’d like to thank Wolfgang for encouraging me to look into integrating EventAggregator with GriCal, opening up lots of new possibilities, and Ivan for telling me about GriCal and working hard to make the service work well with those of us who want to use its iCalendar output. I’d like to think that through such mutual encouragement and help, Free Software projects, products and services can only get better and better. The experience has certainly been a satisfying one for me, and I hope that Wiki users can now share in some of the benefits of this rewarding work.

EuroPython 2010: Talks Selected and Announced!

Thursday, May 27th, 2010

I wrote earlier about EuroPython 2010, the Python community conference taking place in Birmingham, United Kingdom in July this year. Well, the list of talks has finally been made available. In addition, there’s a tentative schedule that will probably be adjusted over the time before the conference as people request different slots, change their travel plans, and generally try and avoid leaving for the airport right after taking questions.

What’s new about EuroPython this year is that there are four days of talks, not three, across four (and a bit) simultaneous tracks. Although Python conferences have tried as many, if not more, tracks on various occasions, rarely have they attempted to exceed three days. Certainly, the PyCon UK organisers behind this year’s conference are nothing if not ambitious!

Outside the Conservatoire, Birmingham

Outside the Conservatoire, Birmingham

This year, I aim to give a talk about Python, Wiki solutions, MoinMoin and other collaborative tools, based somewhat on what I have learned from working on the FSFE Fellowship Wiki and on other community Web sites. It won’t be possible to cover absolutely everything about planning, implementing and maintaining these kinds of sites, especially with the broad range of Free Software applications and tools that can be brought into action, but I hope to cover some essential topics in the allocated time, and there will naturally be some resources made available that people can study afterwards.

Once again, why not take a trip to Birmingham and take advantage of four whole days of Python-related talks and events? Should that not be enough, there are another two whole days of tutorials (albeit at a modest extra cost) featuring everything from Web framework development, testing, game programming (featuring PyWeek‘s very own Richard Jones!) and even the somewhat peripheral topic of Arduino-based hardware hacking. And after the main conference programme, the usual sprinting begins (included in the main conference fee).

Suddenly, even the full-price fee starts to look like very reasonable value for money indeed. Register here!

EuroPython 2010: Registrations, Submissions, Organisation

Friday, March 5th, 2010

Every year, I seem to get involved with the organisation of the EuroPython conference, and this year doesn’t seem to be an exception. Like last year’s conference, EuroPython 2010 will take place in Birmingham, United Kingdom, and seeks to gather a respectable number of European Python users and developers under one roof by offering stimulating and engaging talks on the use of Python in various fields, the development of Python technologies (including the steadily increasing number of implementations), and other matters of a broader technological and cultural nature. As well as the talks, there will again be a number of tutorials, and after the main conference days (19th-22nd July) the sprinting begins: as most conference-going Free Software developers know, this is where people use the opportunity to collaborate with others to get some serious programming done on their favourite projects.

Birmingham's mercantile architecture

Birmingham's mercantile architecture

For some of us, it can often be quite hard to think a few months ahead and to consider signing up for a conference, not to mention the idea of submitting a talk proposal and then putting something together to present to a large number of other people, and especially this latter notion can seem overwhelming: when high-profile and/or successful projects are likely to appear in the schedule – after all, Python is almost everywhere now – one might question whether anyone would be interested in my software or my experiences with Python when there are supposedly so many important people presenting their important stuff. Well, in my experience at least, some of the most interesting talks and some of the most interesting discussion topics outside the talks frequently occur around people who aren’t minor community celebrities and whose issues aren’t announced with a fanfare. Discovering these hidden depths of Python usage is frequently what make conferences really worth attending. For an idea of the breadth of talks at EuroPython, take a look at those given at EuroPython 2008 and 2009: they aren’t all about big name projects or crucial decisions taken by Python’s core development team.

Geoffrey French presenting gSculpt

Geoffrey French presenting gSculpt: an interesting application that would probably go unnoticed by many

I wrote an article about organising EuroPython in 2008 for The Python Papers Vol 4 No 1 (2009), and if you don’t mind downloading a PDF, you can obtain it directly from the journal in question. In this article, I mention a number of talks that probably wouldn’t get the kind of promotion that one sees in the “blogosphere”, yet the topics (game development, code analysis, compilation, using “cloud computing” resources to solve real problems) are definitely things that would have many people returning home after the conference and taking a closer look at what the presenters have been doing. And frequently, the keynote speakers provide perspectives beyond those of software development and even inspiration for developers looking to solve problems which may be new to them, but which are very real to others: this truly makes a form of technology transfer possible in a way that those of us who support Free Software should approve, not based on parcelling out products but based on the transfer of expertise to where it’s most needed.

So if you’re interested in Python, as a beginner, a regular user, or as an expert, and you’re looking for a conference where there will be plenty of things to see, learn and do, and you’re also looking for a community-style experience instead of the more corporate-style conference events, and you would prefer a slant towards Free Software – and I think it isn’t unreasonable to claim that EuroPython encourages and emphasises Free (and open source) Software – then why not consider coming along to EuroPython 2010 this summer? And if you’re looking to make connections within the community, which is what many regard as the primary benefit of community conferences like EuroPython, why not join the organisers in putting the event together? That way, you’ll not only make connections with some fairly well-connected people, but you’ll also help shape the event into something that benefits you even more!

The Python implementations panel

The Python implementations panel at EuroPython 2009

Helping to organise a conference can be hard work, but the end result can pay back this effort with interest. With this being my fifth year of being in some way involved with the running of EuroPython itself, I feel somewhat qualified to make this claim. Why not start your own investment with EuroPython 2010, or perhaps start one with your own favourite technology’s community conference? You might make connections and influence people, too.

Hacking the Fellowship Wiki

Saturday, November 21st, 2009

(That’s hacking in the good sense of the word, of course.)

A while ago, Matthias Kirschner encouraged me to blog a bit about the FSFE Fellowship Wiki and some of the enhancements that have been introduced by the small group of volunteers and administrators, so in this post I’ll explain what I’ve been doing with the Wiki since I volunteered to help out a while back.

First of all, the Wiki needed to use the same visual style as all the other new FSFE pages. Since the Wiki is run by MoinMoin, and since I have some experience with making themes for MoinMoin, this was an opportunity to help out. Thus, my place as a volunteer was established: there didn’t seem to be anyone else amongst the existing volunteers familiar enough with Moin’s theming framework to do the job in a hurry.

Fortunately, the hard part of doing the visual styling had already been done, and all I really needed to do was to write a theme module which generates HTML that then uses the various CSS classes and rules already provided by the visual designers. In this way, the visual elements are plugged into Moin’s content generation system such that when a page is formatted, the right kind of HTML is generated, appropriately styled, that can then make the browser put the visual elements in all the right places.

Once the theme was done, other enhancements became desirable or essential. One aspect of the visual design was the presence of a green title bar at the top of the content area of each page – you can see this on all the FSFE sub-sites (home, blogs, planet) – and this didn’t fit in with the way Moin generates its pages. Ideally, one would dedicate all of the content area to Moin, and to allow the page author to put whichever title they like in such a prominent position, perhaps the first heading on the page. Ultimately, a compromise was reached (after numerous experiments): page authors would omit any initial heading, instead relying on the page name itself to appear in the title bar (which is what solutions like MediaWiki do), and the theme would make a “pretty” version of the page name for this uppermost title.

Another enhancement, given that FSFE is a European organisation where many languages may be in common use, was to support multiple languages and to allow users to find translations of pages. Although Moin already supports many languages, there isn’t a built-in feature to help users find the translation of the current page in their own language, preferably by providing a link to such a translation in a prominent place. Thus, it was decided that the theme would incorporate such a function, and the result is a sidebar menu which lists languages for which a page has been translated. More information on how this works can be found in the Wiki user guide, and the advocacy FAQ page should show this function in action.

One project that didn’t start as a Wiki project was the Fellowship calendar. It did appear that some Moin-based solutions were somewhat relevant, such as MonthCalendar and EventCalendar. Having written a Moin extension called CategoryMenu, dynamically building and showing navigation menus which present the Wiki’s categories, together with expanded lists of pages for those categories to which the current page belongs, and considering the likelihood that calendar events would most likely be written on a separate page in order to fully document the event, show likely participants, schedules, and so on (see the FSCONS page for an example), I thought it would be interesting to write a macro that would gather all event pages (belonging to a designated category) and to present them upon request in a calendar view.

The result of this effort is the EventAggregator extension, which started out just showing a simple list of events in each month, but then evolved to support a calendar view (which is arguably a necessity and was always planned), RSS and iCalendar feeds, and a number of conveniences to encourage people to add events, such as a “new event” form which can be prefilled with information, making the task of editing an event page less intimidating. I imagine that more enhancements will be made to this extension, possibly to make it more useful for applications beyond the Fellowship Wiki, but it has been an interesting exercise in learning more about Moin’s features, benefits and shortcomings. The result can be seen on the Wiki in the Fellowship Events page, although calendar views can be added to any page using the macro.

The work doesn’t end here, of course. There are always plenty of things that could be better, but here are some of the simpler ones for anyone wanting to help out but not to take on something that might be too demanding:

  • Language translations for MoinMoin: the FSFE theme uses texts which do not have built-in translations provided by Moin, but it’s easy to add these texts for your own languages; see the English dictionary for all that’s required to make the Wiki friendlier to native speakers of your own languages.
  • Templates for editing: templates for common types of pages, such as local Fellowship group pages, are required; such templates reduce the amount of boilerplate that authors have to reproduce and make editing easier, just as has been done for event pages with the Fellowship events template.
  • Just using the Wiki makes it better! By adding content, there’s more of a reason to visit the Wiki, and by remembering to add events to the Fellowship Events calendar or by adding the right metadata to make events show up in the calendar, or by making more specific calendars (perhaps for your own local group), it becomes more interesting to use such resources.

Beyond the Wiki, there are many projects that can be tackled by anyone enthusiastic enough. It has been a rewarding experience to do all this work, and it has been a pleasure to work with the other volunteers. If you want to make the Fellowship infrastructure better, I can certainly recommend volunteering!