Tag Archives: open source development

Wot I Lernd At DrupalCon

I spent last week in the lovely city of Copenhagen immersed in all things Drupal. It was a great experience, not just because of the city (so many happy cyclists!), but because I’d not seen a large scale Open Source project up close before and it is a very different and very interesting world!

I’m going to pick out some of my highlights here as to cover it all would take days, but if you want to know more I’d encourage you to check out the conference Web site and the presentation videos on archive.org.

So, wot did I lernd?

Drupal Does RDF
OK, so I knew that already, but I didn’t know that from Drupal 7 (release pending) RDF support will be part of the Drupal core, showing a fairly significant commitment in this area. Even better, there is an active Semantic Web Drupal group working on this stuff. While “linked data” remains something of an aside for us (99.9% of our materials will not make their way to the Web any time soon) the “x has relationship y with z” structure of RDF is still useful when building the BEAM interfaces – for example Item 10 is part of shelfmark MS Digital 01, etc. There is also no harm in trying to be future proof (assuming the Semantic Web is indeed the future of the Web! ;-)) for when the resources are released into the wild.

Projects like Islandora and discussions like this suggest growing utility in the use of Drupal as an aspect of an institutional repository, archives or even Library catalogues (this last one my (pxuxp) experiment with Drupal 6 and RDF).

Speaking of IRs…

Drupal Does Publishing
During his keynote, Dries Buytaert (the creator of Drupal) mentioned “distributions”. Much like Linux distributions, these are custom builds of Drupal for a particular market or function. (It is testament the software’s flexibility that this is possible!) Such distributions already exist and I attended a session on OpenPublish because I wondered what the interface would look like and also thought it might be handy if you wanted to build, for instance, an Open Access Journal over institutional repositories. Mix in the RDF mentioned above and you’ve a very attractive publishing platform indeed!

Another distro that might be of interest is OpenAtrium which bills itself as an Intranet in a Box.

Drupal Does Community
One of my motivations in attending the conference was to find out about Open Source development and communities. One of the talks was entitled “Come for the Software, Stay for the Community” and I think part of Drupal’s success is its drive to create and maintain a sharing culture – the code is GPL’d for example. It was a curious thing to arrive into this community, an outsider, and feel completely on the edge of it all. That said, I met some wonderful people, spent a productive day finding my way around the code at the “sprint” and think that a little effort to contribute will go a long way. This is a good opportunity to engage with a real life Open Source community. All I need to do is work out what I have to offer!

Drupal Needs to Get Old School
There were three keynotes in total, and the middle one was by Rasmus Lerdorf of PHP fame, scaring the Web designers in the audience with a technical performance analysis of the core Drupal code. I scribbled down the names of various debugging tools, but what struck me the most was the almost bewildered look on Rasmus’ face when considering that PHP had been used to build a full-scale Web platform. He even suggested at one point that parts of the Drupal core should be migrated to C rather than remain as “a PHP script”. There is something very cool about C. I should dig my old books out! 🙂

HTML5 is Here!
Jeremy Keith gave a wonderful keynote on HTML5, why it is like it is and what happened to xhtml 2.0. Parts were reminiscent of the RSS wars, but mostly I was impressed by the HTML 5 Design Principles which favour a working Web rather than a theoretically pure (XML-based) one. The talk is well worth a watch if you’re interested in such things and I felt reassured and inspired by the practical and pragmatic approach outlined. I can’t decide if I should start to implement HTML5 in our interface or not, but given that 5 is broadly compatible with the hotchpotch of HTMLs we all code in now, I suspect this migration will be gentle and as required rather than a brutal revolution.

Responsive Design
I often feel I’m a little slow at finding things out, but I don’t think I was the only person in the audience to have never heard about responsive Web design, though when you know what it is, it seems the most obvious thing in the world! The problem with the Web has long been the variation in technology used to render the HTML. Different browsers react differently and things can look very different on different hardware – from large desktop monitors, through smaller screens to phones. Adherence to standards like HTML5 and CSS3 will go a long way to solving the browser problem, but what of screen size? One way would be to create a site for each screen size. Another way would be to make a single design that scales well, so things like images disappear on narrower screens, multiple columns become one, etc.

Though not without its problems, this is the essence of responsive design and CSS3 makes it all possible. Still not sure what I’m on about? dconstruct was given as a good example. Using a standards compliant browser (ie. not IE! (yet)) shrink the browser window so it is quite narrow. See what happens? This kind of design, along with the underlying technology and frameworks, will be very useful to our interface so I probably need to look more into it. Currently we’re working with a screen size in mind (that of the reading room laptop) but being more flexible can only be a good thing!

There were so many more interesting things but I hope this has given you a flavour of what was a grand conference.

-Peter Cliff

Open Development: Building an Engaged Community

I had an interesting day on Monday at the OSS Watch workshop Open Development: Building an Engaged Community (the slides are available from there).

The days aims were

  • Understand how open development works and know the common community structures
  • Be familiar with the skills and processes that encourage community participation
  • Develop ideas for improving the community friendliness of a specific project

I’ve been using open source software all my career but I’ve always been 1) a bit sketchy about how and 2) very nervous of getting involved in any open source software development so this sounded perfect!

From the offset Steve Lee of OSS Watch, in his introduction to the day, made it was clear that open development practice was key to open source software rather than simply access to the source code. (A couple of the presenters said “don’t just throw it over the wall”, referring to the practice of putting your source code some where public and walking away – a very common practice in our field – as this would not lead to a sustainable software product).

The rest of the day supported this ideal… Sebastian Brännström of the Symbian Foundation spoke of how Symbian hoped to make as much of the Symbian operating system (for phones) open source as soon as possible, and outlined the large (and quite formal) organisational structure required to support the 40 million lines of code. For a software project that large, this shouldn’t come as a surprise, but clearly shows that “open sourcing” (I mean, the process to make software open source rather than sourcing work in an open way – though both are valid!) might not always be cheap or a free (beer) option. Indeed, he hoped that there would be a full-time, paid, community leader whose sole role would be to maintain and manage one of the 134 software packages that make up the Symbian OS.

Next up, Sander van der Waal of OSS Watch took us through the developer experience of taking part in an open source project – both from being part of a commercial company in the Netherlands and also working on the OSS Watch project SIMAL. It was very interesting to hear how his team had gone about contributing to Apache Felix & Jackrabbit (Two products very much of interest to our community!). He suggested it was very important to make use of the usual cluster of open source development tools – not just version management, but also mailing lists, bug tracking systems, wikis and the like – and that this was important if you were a “one man band” developer or a whole team. In many ways his experience here helped ease my nerves of contributing to projects.

The final speaker was Mark Johnson, of Taunton’s College, giving his experiences and tips on being involved with the open source course management system, Moodle. In a past life I’ve developed for Moodle, so this was interesting to hear about. His advice was broadly similar to that of the other two speakers, though from a different perspective and here there was evidence of useful reinforcement of ideas rather than repetition, which is always a good thing.

A workshop isn’t complete without a bit of group work and we were asked to complete a questionnaire designed, I think, to get us thinking about the sustainability of our open source projects by highlighting areas we should be considering – licensing, use of standards, documentation, etc.

This was a very useful tool and the questions got me thinking about all sorts of things. The results for futureArch were bad – all “red” (for danger) expect the section of use of standards – but that didn’t come as much of a surprise. I think it would be fair to say that futureArch isn’t an “Open Source Project” per se. Rather we’re avid users of open source software. We, like many, do not have the resources to run a community around anything we build (who has funding for a full-time community manager?) and it would probably be inappropriate to try. But we can and will contribute to other projects and the workshop helped me see that this was both pretty easy (assuming everyone is nice) and desirable.

And, of course, anything we build here – the ingest tool for example or the metadata manager – will probably be “thrown over the wall” and people will be able to find it and others, if they get the urge, will be able to found a community, which I guess shows there is value in simple publication of source code in addition to the (far more preferable and more likely to succeed) development of a community around a product. (The revelation that community building is essential for a sustained software product, probably so obvious to many, sheds light on the reasons behind things like Dev8D too).

Just some final thought then as it grows ever darker and it is good not to cycle too late home!

Firstly, it struck me as people talked, that while open source could be seen as less formal than closed software development, it clearly is not. Development of communities and the subsequent control and management of those communities, requires formal structures making open source anything but an easy option.

Secondly, fascinating were the reasons given to contribute to an open source project. Someone mentioned how by taking part you felt you were not alone, but the overwhelming reason given was “recognition”. By contributing you could get your name (and that of your employer) in lights, that participating in a community could lead to job offers, or other personal success. As most projects are on a meritocratic basis – the more good you do, the more say you have – that success could be to become the community leader or at least one of the controllers of the code – the fabled “commiters”. This is a curious thing – the reason to participate in a “community” is the “selfish” urge to self-promote. Something jars there, but I’m not quite sure what.

-Peter Cliff