Archive for February, 2007
Ranganathan came up with his first law, Books are for use in response to his perception that, at least in the 1930s, many librarians believed that books are primarily for preservation. In discussing the consequences of this first law of library science, he talked about extending library hours, improving library furniture, hiring the right type of library staff, and providing a readers’ advisory service, all of which contribute to increased use of books. We tend to take many of these things for granted now, largely as a result of Ranganathan’s vision. However, he didn’t talk about what ‘using’ books involved, perhaps because he thought it was self-evident: people use books by reading them.
In considering whether the first law of open source software is that Software is for use, the question that comes to me first is “what does ‘use’ mean?”. Most people would probably respond by saying that to be able to use software, the code needs to run without errors, and the prospective user needs to have enough information about its requirements (for example, the operating environment and any dependencies) to be able to get it working. In other words, documentation is needed in order to be able to ‘use’ software. I don’t think this necessarily means that developers need to write complete user documentation, though. Well-commented code, with some brief instructions, might be all that’s needed for a simple program, but as the software increases in complexity (as the number of scripts/components increases, say), there is an increased need for good documentation, if end-users are to be able to use it.
However, unlike books, which have one primary use, source code can be used in other ways. The Free Software Foundation’s four software freedoms identify other types of use, including being able to study the software to learn how it works and being able to improve it.
While it seems clear that developers release code under an open source license so that it can be used in some way, it doesn’t necessarily follow that they are thinking of end users with limited technical skills when they do so. They might simply be hoping to encourage other developers to study and then improve the software. This could be one of the reasons for the Jekyll and Hyde personality of open source projects Karen Coombs recently discussed, with some developers releasing their code primarily for other developers, and not for end users.
One other point to mention here is that one route to ‘opening’ up source code seems to come from funders. I’ve never seen anyone else talk about it, but the Mellon Foundation Intellectual Property Policy gives people a strong incentive to release software funded by a Mellon grant as open source. Some of the high-profile library/information management open source projects, such as dSpace and Fedora, have received Mellon Foundation funding. I suspect that IMLS grants carry a similar requirement, since many IMLS-funded projects are also open source.
February 23rd, 2007
Two weeks ago I had a window of free time, so I got ambitious and scheduled four interviews. Now I’m deep in the transcription blues. Going to Auckland for three days last week interrupted the flow, but I’m starting to regain some momentum. So far I’ve finished transcribing one interview, and tonight I’ll start on the second. If I’ve interviewed you lately and you haven’t heard back from me, don’t worry, I’m working on it.
Transcribing is a slow process (it takes me around three hours for every hour of interview), but I’m glad I’m doing it myself, rather than involving someone else. Listening to the interviews for a second (and third and sometimes even fourth!) time means that I can reflect on what I’m hearing, and think about what’s going on at another level. I hope that I’ll get the remaining ones transcribed by the end of the week. I have a couple of email interviews to complete, and then I’ll be finished with this stage of my data collection, and will be able to write about my findings.
In the meantime, I’ll carry on musing on whether Ranganathan’s five laws can be adapted for open source software projects. Next posting, the first law, software is for use.
February 19th, 2007
Open source, open standards, open access: what’s the difference?
Last week I went to one of Russell Brown’s (the media commentator and journalist, of Hard News | Public Address fame) Karajoz Great Blends. It was held at the Boatshed in Wellington, a great venue on the waterfront.
The first half was a discussion with Matt Heath and Chris Stapp of Back of the Y, featuring clips from their various videos, and a trailer for The Devil Dared Me To, which premieres at SXSW next month. Even though splatter movies don’t usually appeal to me (with the exception of Shaun of the Dead), Matt and Chris were very funny, and I might even go to their movie.
The second half was a panel featuring Chris DiBona, currently employed at Google and a former editor at Slashdot; Rob McKinnon, the developer behind theyworkforyou.co.nz, Alastair Thompson, from Scoop, and David Hume from the e-government unit at the State Services Commission. The discussion covered a range of topics, including the Google Maps API, voting machine software, and One Laptop Per Child (Chris DiBona had one of the prototypes, and they’re very cool).
theyworkforyou is an interesting mashup of information primarily from Parliamentary Services, intended to help voters understand what our elected representatives are up to. But what struck me most was a question that indicated quite a lot of confusion about the difference between open source software, open standards, and open access. The questioner suggested that they were all more or less the same thing, and to me they are very different, but related.
An open standard means that the definition of a data/information structure is available to anyone; the Wikipedia article on open standards says an open standard can be implemented by anyone, and that one of their purposes is to promote interoperability. The article also identifies an ‘open format’ as a format for data that has no royalties or other limitations. Open source software involves providing access to a program’s source code. To me, software involves an exectuable process, and that’s what the code does: expresses an algorithm that can be executed (or studied, changed, or redistributed). Open access is the most straightforward of the three: it just means that anyone can access the data/information/publication, without any barriers (assuming they have access to the necessary hardware and/or software).
So where does the confusion come from? I remember a conversation I had with someone a number of years ago (probably 12, or even 15), in which they argued that software and data were the same thing. I was never convinced. To me data is something that software acts on, and it exists independently of the software. Do people have to write code to understand the difference, or am I being too literal in making such clear distinctions between the three?
February 13th, 2007
I’m still mulling over whether it makes sense to adapt Ranganathan’s laws for open source software projects. I’ve started reading his The Five Laws of Library Science to improve my understanding of what he meant by each law, and hope to have something more to say soon.
In the meantime, here’s something to ponder. In Emergence, Steven Johnson talks about self-organising systems, where the whole appears to be greater than the sum of its parts. His approach is journalistic rather than academic, and there are some very critical reviews on Amazon, as well as many positive ones. Johnson draws his examples from ant colonies (as you might expect), cities, SlashDot and eBay, among others. I found his discussion of Deborah Gordon’s research into ant colony behaviour interesting, in particular her finding that ants from older colonies behave differently from ants from younger ones. Individual ants in each colony are likely to be a similar age (their lifespan is apparently about a year), and the suggestion is that the length of time the colony has been established somehow affects the way they react.
How much are open source software projects like ant colonies? What I would find if I compared the behaviour of people in different open source software projects? Would those from a new project react differently to a naive question from a non-techie than people from a well-established project? That’s not really part of my current research, but it might be something to look at in the future.
February 10th, 2007
Seeing Michael Stephens post in Tame the Web about updating Ranganathan’s laws made me wonder if they could be relevant to open source software/projects. This is partly because of some of the things that I’ve heard in some of my interviews and a recent conversation about how open source projects work.
The original five laws are:
- Books are for use.
- Every reader, his book.
- Every book, its reader.
- Save the time of the reader.
- The Library is a growing organism.
Ranganathan, S.R. (1963) The five laws of library science. (2nd ed.) Bombay: Asia Publishing House.
Various people have updated these laws for the digital age, including versions for digital libraries, electronic resources, and the web. Mentor Cana made a start on adapting them for open source software. Cana’s version:
- Software is for use
- Every user his or her software
- Every software its user
- Save the time of the user
- A software Library is a growing organism
I don’t necessarily agree with the wording, and will see what I can come up with that might be clearer after the weekend. Over the next few postings, I’ll be saying a bit more about each law, and how it might apply to an open source software project.
February 3rd, 2007