Alan Cox 024
View the rush: Alan Cox
Linux Kernal Programmer Alan Cox describes the way that the Linux community works, offers some advice for government and looks at the ethical dilemmas of 3d printing.
Transcript:
CHECKED
Q. They are excited about the customers and they are really excited about the idea that we are going to treat them really well, it is a great experience rather than being potential in each of those --
A. At the end of the day, treating someone as customers is the old model, it is essentially that you provide the service, they consume the service, so long as they are happy that what they pay is good value they will come back. Government is very different, health is very different. If you have a customer model it is kind of oh, you are smoking, you have lung cancer, we will fix you we will send you back out. Oh, you have lung cancer again, you are still smoking. You have to work on the basis that things are a partnership and health is a partnership, the environment is a partnership. It is only by making people feel that they are actually involved and they can make changes and they actually own the environment around them, it is not owned by some faceless bureaucracy. They will actually care to think they can improve it.
Q. I think that feeling that you will be able to make a difference is essential, the difference in consultation --
A. (1.33) For me, it is one of the reasons we have such poor voting turn outs. You look at it and marginal seats where people might make a difference, there is much more involvement in voting. For a large number of people they get out on the morning of election day and think, well, we hate them, we might think the other guys are good but they can't possibly win this seat so I can't be bothered to vote. We see similar things in local government, there is so much power sucked towards the centre that local government does not decide. Every time people get involved in local government they think, well, actually, that has been decided by this policy or this obscure piece of paper sent down from Westminster 20 years ago. We are legally obliged to do this, sorry we cannot help you.
Q. Is that the sort of guiding principle for any kind of involvement, if you give people the actual responsibility and the actual ability to change...
A. I think -- I suppose that if you give people, if you empower people to make decisions, make changes, then in a lot of cases it works.
Nothing works for everything, there are some things -- one of the reasons people elect politicians is to do all of the gungy work that they do not want to do themselves. We have elected our politicians to go and read the European Union treaty, we do not want to all sit at home and vote on it. When you get to local things where people actually really understand what is going on, then I think empowering them and making them able to make decisions is really good.
Q. Also, there might be loads of people who do want to read the European treaty --
A. I have my doubts, but yeah. I am just using that as an example.
Q. Say there are 30 people who want to read it across Britain who are going to give you feedback, there probably are?
A. Yes, we have government consultations for that sort of thing. The difference is you do not get everybody. You have local things like a hospital change, for example, you get a very large number of people involved who are the local community. People who actually understand what is actually going on, people who understand and care about it. With more general or less interesting stuff you may only have a tiny fraction of people who are actually interested and they may not be representative of the community. That is the other danger.
Q. (3.39) Representation is a problem in that way, but now I suppose the way that open source works is that some people with specific interests and knowledge --
A. Care about particular areas.
Q. -- are going to be the ones who update that particular element?
A. But there are chunks of the kernel that people work on where essentially almost nobody else cares. It works reasonably well in the kernel community because it does not affect everybody else, or at least if it does affect everybody else at that point everybody stops caring. I am not sure the same is true when you scale it up to UK wide or Europe wide government. There are some things that some people do get very heavily involved, (inaudible) is one, there were about 300,000 signatures on the petition for the European Union. But a lot of day-to-day running the country stuff, people would essentially prefer to delegate to people who do it. What we have to have is a scheme where people do start to care about it or something everyone has said this is wedded to the people and people say we do all care about this. There is accountability.
Q. (4.48) What is wrong with allowing everyone that ability to become involved if they are -- even if it is a very few amount of people who are interested and probably it will be the same people as far as they can (inaudible) training experts who are leading the way and have the most influence and most knowledge?
A. What the problem is is that those people may represent very specialist interests. They may also, for example, be lobbyists for two large companies who think it is a good idea to plant interesting plants in the countryside. One of the things politicians have to sort out anyway is what is the real representation and if people are just saying, sometimes they often do, that is a government problem, that is not interesting. We have to be aware of that and not assume that because nobody is speaking up, they don't care.
Q. Again, if people see those decisions being made and it is something about their local community or it is something about the EU and everyday we are aware of how that decision is being made and everyday we are able to --
A. In the local community there is a mechanism for people to see that. At the moment, in Britain, there is no mechanism for people to see, for example, UK or European policy because almost without exception the newspaper reporting is so woefully inaccurate that it is not fit for purpose.
Q. Why should it be the responsibility of newspapers? Should the government not have some sort of publishing where it releases everything it is up to?
A. It does try and release a lot of stuff and they give information out and does let you go and fish for the rest. I would like to see more of that, but I think the government must be doing a passable job on that and they are getting better.
They still haven't really let go, you see the (inaudible) inflation side of things. We still have bizarre things like the Government is putting up material in formats that are very hard to reprocess so people like my society having to work very hard, for example, to get the Hansard content and recently Parliament is saying, well, you cannot put Parliamentary clips up on Youtube, for example, which is exactly what you want. Some MP stands up and says something which is wrong to a certain community, it should be. How do you tell everyone about it? Stick the video footage on Youtube, but they will not do it.
Q. (7.12) What is their reasoning for that?
A. They claim what they are worried about is that people might misuse it or modify it, but there are licencing solutions to that. I think, to a certain extent, if people are making fun of politicians and it is visibly making fun that is not the problem anyway. If somebody downloads, you know, a clip of Tony Blair saying something stupid and paints a red nose on him, it is kind of obvious that it is humour. There is an issue, for example, with subtly changing someone's words. We have contracts, we have law, we have rules already about that kind of thing. All right, we have broken libel law, that is kind of related to the problem as well, and fixing the libel law also needs doing which might fix the newspapers which might fix the reporting.
Q. Do you see a significant change going on, sort of now particularly? Having been involved in this for a long time, you must be sort of --
A. I see a few little experiments going on, little bits of the Civil Service trying things out, local government in places, particularly in Wales been trying things out. Part of that is driven by language issues, because free software is available in Welsh. I don't see much in central government and everything I see coming from central government in terms of policy is very, very centrally controlled. Going back to the National Health Service again, ID cards, it is very central control, central management, big databases which is completely opposite to the kind of thing that free software was talking about.
Q. In terms of thinking, I mean, I don't remember but when the Internet was sort of new there were claims about how it was going to transform democracy and transform the world, but I feel now that those ideas are becoming much more mainstream and perhaps forcing something to happen?
A. Certain things are happening, H.L. Mencken famously said that freedom of the press is limited to those who own one, and obviously that has had an important effect. People are much more able to put information out there, but it does not mean anyone will read it. There is so much information out there now you have the problem of how do people discover the thing you are concerned about? The Internet is having some of the things like mySociety, Fax Your MP, these things are having an effect on government, the ability of people to organise protest campaigns has been much enhanced by the Internet. It has not yet really changed the government and the kind of things we see the government trying to do to get with the Internet have been completely unrelated to the underlying thing, which is this sort of democracy and accountability. Instead, there have been things like electronic voting, online voting, things that actually, again, everyone in technology is saying please don't do that, it is a bad idea. They think E is good, but they have missed -- they are concentrating on things like being able to do your taxes online, which is good, but they are missing out on the whole democratic side, the communication side of it has completely bypassed most of them.
Q. (10.20) Can you describe what is that democratic change that you are talking about? What should the government be like?
A. The government should be putting out everything it can, statistics and data in usable form. Some the national statistics on some of that, they could do with being a lot better about making people aware of things like consultations. All the people who deal with consultations all know where to look, but getting the public much more involved -- that is a hard problem with, you know, there is no easy answers to these things. It is recognising things like the Internet and government services should be a two way medium. It is a silly example, if I see part of a tax form which is hard to fill in, there is no box on my tax form where I can add a comment saying, "I thought this tax form was hard to fill in because..." or, "It would have been useful to know..." That is the kind of thing the Internet empowers and they are really aren't making use of that kind of thing at all.
Q. More generally about accountability and taking on board some of these things which are not just literal open source software, what is it that the Government should --
A. Well, I mean, accountability, making sure that people can see how decisions were made rather than in locked rooms with lobbyists. Making sure people can see the process, not only see it but people should be able to influence it because people don't think they can influence the process and they need feedback. They need something which says yes, you did influence the process. I think a lot of it, if you have a very centralised system you cannot fix, at the end of the day people don't care about consultation about the whole of the UK and there is not enough local knowledge. If you have a consultation about car parking, for example. You ever had one about car parking in Swansea you will get lots of local feedback from people who understand it. If you have a feedback thing on car parking policy for Britain, nobody understands enough locally about car parking situations in any other city so you will not get meaningful feedback. You have to have much more local policy to tap into these.
Q. (12.32) What is the job of the Government, as you see it? What should it be doing?
A. I think the job of government is to understand what people need. I suppose in the same way as with an open source project, it facilitates things happening and at times to provide guidance, for example where something has to be agreed across the entire country, somebody has to sit down and say what is the genuine interest, what is the right balance? Those are things that I do not think you can always do on a local level. You cannot decide, for example, which side of the road to drive on on a local level.
Q. In that distribution of the Internet is quite key --
A. The Internet is simply a mechanism which gets information from one point to another point or a lot of other points. That is all it does. It is a mechanism by which people can collaborate. The idea of people collaborating is very, very old. What has really broken down, I think, is communities have got so large that before the Internet there was no way for people to collaborate properly. People just kind of ignored things that were not their own street.
Q. What do you think Linux proved then, in terms of this sort of thing?
A. I think it has proved that it is possible to build using consensus and merit very complex systems to maintain them and to keep them running up to 15 years, even though there are all sorts of disparate groups involved, frequently conflicting goals and desires. It is also, I suppose, demonstrated that you can survive having people storm out in a huff. You have mechanisms by which people can get replaced and clearly it is a demonstration that at least, on that scale, the system works.
Q. It is a big scale, isn't it?
A. It is a very big scale.
Q. It is used in an enormous amount of ways?
A. Yes, but say the Linux kernel is big, the software project Linux kernel is big and there are, I think, something like 2000 contributors in the past six months, something like that. Huge. You look at it compared with government projects, some of the government projects, it is quite small. You look at it compared with kind of the projects going on transforming countries like India, in terms of IT, and it is minuscule. There are bigger examples, Wikipedia is a much bigger example now than things like Linux because Wikipedia has a much broader range of contributors because there is a much, much broader skill set.
Q. (15.30) What do you think Wikipedia proves in terms of collaboration? Is there a similar thing going on with the opposing views --
A. Wikipedia, I think, demonstrates also a problem. At the moment the way Wikipedia works is so that anybody can edit it and there is no real process for resolving things. Everything in Wikipedia gets to a certain standard, average standard, and frequently gets no higher. Wikipedia is in urgent need of creating some kind of internal peer review process. It gets to a certain standard say, well, we want to refine it and get it to a higher standard but not go backwards. Linux went through the same thing, early Linux was kind of like, hey, it works, stuff it in. Now, it is like -- we have a standard, we have certain things we have achieved, we want to maintain and go forwards.
Q. That is interesting. I think what maybe we should have lunch, do you want to head off as soon as possible?
A. No, no.
Q. We could maybe have lunch and then, I do not know what sort of demonstration we could do but maybe just even showing us what a forum, what a mailing list looks like?
A. I can certainly, I have my archived e-mail here just in case you wanted e-mail.
Q. (Inaudible question)
A. Well, things like walls or the glass in front of houses. One thing that studies have shown is that if you have people who think they own that patch of glass, they tend to take care of it. If it belongs to some undefined arbitrary outside body, the council or the council's PFA contracted repair company, they don't. There is lots of examples of that. There are studies being done in the third world, for example, where if the local people are actually put in, not just put in charge of it, say this is a conservation area, look after the animals. They actually own those animals and they get some of the money from tourists seeing them and stuff. Because they own it, they manage it far better and they see it as theirs and something that belongs to them that they should benefit from and take care of.
Q. (18.07) In a lot of ways, your ideas seem to be getting back to the argument in a way, we all rely on the (inaudible) and we all rely on (inaudible) these community own things then it would take pride in it?
A. Yes, and somewhere along the line we replaced things being owned by a community which we thought we were part of as being owned by an organization we paid taxes to and which -- you know, if a window is broken or a streetlight it was the council's problem and it was hard to report it, so people would say, "Oh, they still haven't fixed the streetlamp" or, "I wish they would do something about the graffiti" rather than, "Let's fix that wall this weekend."
Q. Are we going to get back to that, do you think?
A. I don't know. I think we need to get back to at least some of that. Whether that old model actually ever really existed I don't know and how true it is and how far it scales is another question. Certainly empower people to make some of those changes and report things and improve things is terribly important.
Q. Maybe we should --
A. Yes.
Q. (19.25) Seem to have lost the radio but I am sure it is just, (inaudible) radio on the right before and here is some atmos of the café.
(20.39) (A Short Adjournment)
Q. (25.09) What do you think we could look at now?
A. This is a set of e-mails from an e-mail exchange between two people.
Q. So what is this?
A. This is a fairly typical e-mail exchange so we have somebody proposing a patch that they are not sure about, they might want to add support for some fairly obscure features to the disc driver which they actually think are important to care about. They have posted a patch file which is a set of changes in the form the computer can also apply, not only can a human read it, but it can be applied in software. Then from that there is a response from the maintainer, sort of saying general concept yes, okay, and a list of the things that need changing. You see, initially it is just two or three things, one is a style issue, one is a question about something and then it goes on. Yes to refinements, note about a possible bug -- as you can see, the third person joins in and we see a discussion about a bug in question is important or not, whether it can actually happen -- then other proposed changes to fix it and a final comment to say the direction we should be going. The conversation is ongoing and will eventually result in final patches which meet everyone's requirements.
Q. Is it quite, sort of, constructive, the tone of what people are saying?
A. Generally. We have some problems, particularly between people in different countries. Different groups have different ideas about what is friendly. Certain people think the correct thing to do is to say exactly what you think of somebody else's code, whereas groups, for example in Asia they may have much more direct ways of saying that they do not agree with something. You do have to be careful of that. We also try and make sure that we have comments about code not people, because it is important that people don't take things personally otherwise you get to being defensive rather than being constructive about things. You need a certain amount of politeness and good manners to make it all work.
Q. Is there an etiquette in place?
A. The kernel does not have one, there are various other groups who have adopted etiquettes or kind of community standards for communication for exactly those kind of reasons, bad vibes. The kernel community generally -- if some stuff gets generally too far beyond the acceptable, people will start making comments. Perhaps initially in private e-mails to the person who is doing it and then maybe publicly if necessary, just asking them to calm down or pick their language more carefully.
Q. What sort of things would that be? There is not an etiquette that is written down, is there, it is a way of behaving?
A. I think any community has certain expectations about how you should behave and you pick those up from the people around you. Just like when somebody -- if you watch a child walk into a museum for the first time and they are noisy and they run around they fairly rapidly calm down and become quiet and follow the standard everybody else is doing. Mostly we see that in the kernel. Sometimes we get people who are just out to cause trouble and have nothing constructive to say. Sometimes we get people who are being rude, perhaps because they don't understand things, perhaps they just picked a wrong term because it is not their first language. We just try and, you know, try and keep people from going too nasty. Occasionally people do say silly things, they will accuse somebody of maybe being stupid or -- just picking terms that were perhaps not the right ones to have used.
Q. (29.46) How do you feel when people are sort of, disrespectful?
A. People can sometimes get very upset. I have fairly thick skin so it doesn't bother me too much, but some people can get quite upset so we do, yes, we do try and stop anything developing too badly. Like I say, various other groups have adopted real kind of written, "This is what we expect of our mailing list, this is how members of our community will behave" policies.
Q. What are the characteristics of people who are very good and revel within the sort of collaborative environment?
A. I suppose one of them is the ability to see things from other people's points of view and also to assume that the other person has a reason for doing what they are doing and not necessarily simply out to be a problem. Another one is being willing to accept that if someone does say something unpleasant or rude that they probably didn't mean it, at least start from the basis that someone is inadvertently causing upset or discontent. It is the usual case, people normally don't go out just to be rude.
Q. (30.59) (Conversation with unknown, off microphone.)
So what is going on in terms of the bit of code you are looking at now, the thread you are looking at, how is it being developed and refined? Who are the people that are adding to it?
A. Well, it starts off with someone who actually works for Intel who has discovered that there is a feature which is not sported that for some reason he wants sported. He has actually gone off and therefore written the code and produced a kind of first version of the changes and posted it to the mailing list. This is an idea, he has actually tagged the e-mail RFC, request for comment, so it is not necessarily saying this is to go in the kernel but this is what I have done, what do people think who know more about it? Maybe think about it.
First thing we see is kind of a response saying yes, basically okay. There is a comment saying this particular piece of code could be done a different way better, some validation checks missing, some style issues. Then the Intel person comes back and says here are a couple of reasons why I can't fire some of your ideas.
The conversation is going back and forth and people are gradually evolving the code to meet everyone's requirements. Then there are other people joining in about one of the bugs, whether that bug is serious, whether the case in question actually can happen in the first place or not. The decision that yes, even if we are not sure it can happen it should be fixed anyway because it might happen in the future and here is some code that might do it and some discussion. Where it is going, if we are going to add this code what we should be thinking about for future uses of this code and for future code which develops from this.
Q. (33.05) It is quite interesting the way people think of this.
(A Short Adjournment)
A. It is very rare you get people saying this is the way the code must be done, they normally get very little support from the community. You do need to evolve code and figure out how to make it work for lots of people. That sort of extreme, "This is the way I'm doing it, take it or leave it" attitude does not get you very far. We do sometimes get people saying this has to be done now. Sometimes there is genuinely in the community things have to be done immediately; security fixes, serious bugs might need fixing immediately. In those cases, we might just put in a fix which is more ugly than we would like but hey, it works, everyone is happy with it. Sometimes also people will write code, they will add it to their own bush in the kernel for their own project and that project has to be shipped by a given date, and after that will they then worry about getting it into the main version of the kernel. The code may change from their initial version, but they have met their deadline and then they can get it into the kernel and develop it in the longer term.
Q. What is the outcome of this code? What happened to it?
A. This particular thread has not quite finished yet, but it looks like the outcome will be that an improved version of change will go into the kernel so the feature will be added and in doing so the bug that has been noticed will also get fixed properly.
Q. Are you going to contribute to it?
A. Probably not, because it appears there is already somebody doing all the work necessary. I am just keeping an eye on this one because it is an area of code I am also working on, so I need to know if it affects the bits of code I am writing, which it doesn't seem to at the moment.
Q. Will you signal your, sort of, general approval for it in any way or will you just --
A. When there is a final patch I will probably review it and we have a process whereby people can actually add signed off bylines perhaps indicating, particularly people who actually say, I wrote some of this, I am licensing to the kernel under the Contribution Agreement Act by messages which say yes, I have looked at this, I am happy with it, tested by -- maybe we have a third party who is the only person who can reproduce the bug -- so, yes, I have tested this patch, it has fixed my bug for me. These will get added to the patch which help you see who has reviewed it, how much review it has had.
Q. (35.23) How would you describe your position in the community?
A. It varies over time. At one point I was maintaining the stable kernel tree, in other words the code plus patches that people would normally be using on systems. These days I am actually developing, writing code rather than effectively managing code. So I am working on the innards of various bits of the kernel itself. It just depends what needs doing and what is going on.
Q. Is everyone's position like that? Everything is constantly changing?
A. Yes, people may hold different positions. One thing you see in the free software community that you do not see in business is that somebody may be top of the pile for one project and just a random minor contributor to another project at the same time whereas it is very rare, for example, you would see somebody who is a senior manager for British Gas that also fixes leaks.
Q. There is something interesting, is this a different sort of qualification in a way?
A. It is based on merit and having the time to do that particular job, and so different people with different skills will end up in charge of code over time. It is usually the best person. I used to maintain the networking code and then Dave Miller (as heard on audio) started contributing patches which were actually better than I could do for the networking code. Fairly rapidly, he ended up maintaining the networking code and it is much better for it, then I go off and do something else which needs doing.
Q. (36.55) It is quite different to somewhere where a normal company or hierarchy where you work your way up and you get to a certain position and then you are sort of guaranteed, you will have more --
A. The Peter principle, promoted to the point where you are no good at your job. No, it is not, people do come and go, move up and down across the chain according to what needs doing. What skills they have, also what time they have and how they want to use them. It is not just in the volunteer community that people will do something for a long time that is their job, but involves some of those people saying, you know, I want to do something different. I am bored of doing this, who wants to do this instead? Or, I have something else here, this is really cool, I want to go and experiment with this or work on this project so if someone else could take over. We usually have a pretty good idea who, if you have a group of people working on something, so the people working on that section of the project have a pretty good who is the good one to be the next person in charge of it.
Q. Does it feel good to be in the job? Why do people want to take on more responsibility?
A. I suppose they enjoy the fame, so to speak. I must admit, I actually prefer writing code to managing people so I am quite happy with what I am doing at the moment which is just getting deep down with hardware internal things rather than trying to persuade people to write code in the way I want and deliver patches that don't disagree with each other and all of the other things.
Q. Why do you think people respect you?
A. I don't know, some people seem to get a lot of respect, some don't. It is not always, I mean, there are a lot of people who don't get well known or particular respect and they have actually done huge amounts of really good work, and there are people who seem to be famous for the purposes of being famous. So it is not necessarily always fair, sometimes it is the loudest voices that are heard outside the community, not the people who always do all the work. But, at any rate, some of the people who choose to do a lot of the work quietly don't necessarily want their name in lights, they just want to get on with the job.
Q. Where do you fit into all of that then?
A. I just write code and the rest kind of happened by accident.
Q. (39.11) Why have people heard of you? What do you think it is?
A. I think partly I was involved in the project from very early on and partly that I maintained the stable kernel, so I was basically in charge of which patches went into the code-base for a while. That being the stable code-base, the one everybody was using directly. So I was dealing and directing with all of the day-to-day frontline bugs and real systems.
Q. That is quite interesting, in a traditional company people would probably hate the fact --
A. I wouldn't say I was universally popular. One of the things you get is that you have to spend a lot of time saying no to change, particularly the stable code, saying you know that is really good but not in the stable code. That doesn't always make people happy.
Q. There is something about the way that this is managed which is very different in terms of the fact that you are not just saying no, you are saying that is very good and that is quite a different way of --
A. One of the things you have to remember is that because it is a volunteer project, people can go off and disagree with your stuff so one of the things you generally get is (inaudible) to show your working. You can't just say, "This is not going in, this is not going in, here is why, here is my thinking." The way that people may actually feel is, well, look, your thinking is wrong and decisions may be changed.
Q. How would you sort of visualise or describe the way of working to someone who knew nothing about this type of work? How would you explain how it works?
A. A lot of it works by assuming that people who are doing something actually know what they are doing because you have a system where you can add things, you can take things away again if you are wrong, you have lots of people looking at the changes and deciding whether they like them or not. One of the things you have to do is trust in the other people you are dealing with. It can be quite hard if you are used to a company where everything is sort of check-list management, double check, to say that guy I don't know who doesn't work for me has probably done the job right.
Q. How do you know he has done the job right?
A. A lot of it comes out of probability. You also get to know which people generate the best code and for people who contribute a lot, perhaps people make a common mistake so certain people you are actually looking and saying, "The thing I usually find wrong with this person's code is -- have they done it again?" It is a learning thing, you are all checking up on each other's weaknesses.
Q. Is it supportive, the culture, do you think?
A. Mostly, yes. I think, you know, people will say I found a bug in your code, it is not like, "Ha ha, there is a bug in your code, you are useless." It is, "There is a bug there, here's a patch, here's how I have fixed it" or "That piece of code is really ugly, I can see what it does but it is not a nice way of doing it" and you would go with the patch saying, "Here's how I think we could do it, do you think that is better?" It is usually very positive, at least the people actually making the real contributions. The negativity and stuff comes from people who do not actually contribute anything at all.
Q. (42.37) Could you list some of the places that I might come across Linux in my daily life? Where are the places where I might see it?
A. A lot of it on services used across the Internet like Google, Amazon and stuff. Banks are all heavy users of Linux. At home, in things like DSL routers, wireless routers, even in some televisions these days. It is starting to go into mobile phones. It is certainly going into all sorts of systems people take for granted, as well as just the desktop PC.
Q. So what about things like cars?
A. People are starting to use, certainly in automotive entertainment systems and stuff. For a long time people have been fitting Linux boxes into their own cars, building their own giant MP3 players and car management systems and stuff.
Q. What is car management?
A. Well, if they decide, for example, that things that the car comes with are not good enough. We have had people do things like wire the speedometer data into the music system so that as they pass a certain speed it starts playing Ride of the Valkyries to remind them to slow down, this sort of thing going on. Or tying it into GPS so as you exit town to countryside it changes the music to suit the outside views and stuff. Because you can actually tinker with all this stuff, it gives you enormous power to customise it to your own tastes, to do what to everyone is completely crazy things.
Q. What have you done with it that is an unusual use?
A. I spend most of my time working on the code rather than doing unusual things with it, to be honest. I don't think there is anything greatly outstanding like that. I don't drive which means haven't got a car to dismember.
Q. What keeps you going? Where do you think you are headed? Will you be happy by the time you get to the end of your life, what would you like to have achieved?
A. Linux likes to joke that the official project goal is world domination, possibly there is some truth in that. It would nice to get to the situation where we have democratised knowledge and the ability to actually contribute and change, particularly information technology, across the entire world.
Q. (44.57) Do you feel like you are going to achieve it?
A. I would make steps in that direction, I think it is a longer project than one lifetime. It is like the industrial revolution took quite a while to change the world, I don't think the Internet revolution will take any less time.
Q. How long did the industrial revolution take? About 50 years?
A. To really change the world more like 100. If you look at the political fallout from it, in terms of people moving to cities, labour, labour unions and stuff. Far, far more. 150 years or more.
Q. So will it be finished in about 100 years, do you think?
A. I think it could be another 100 years. There are people arguing for things like, for example, we are now reaching the point when we have so much storage we can store everything that ever happens so Charlie Stross, for example, has been arguing that we are approaching what he calls the beginning of history, because we are now in the kind of (inaudible) where some things are written down, so we know what Queen Victoria's appointments were on a given date. We have no idea what everybody else was doing and we are actually now approaching the point when we will have real history, where we will know what everybody was doing, what was really happening, every piece of news, every discussion that went on everyday in the past because we will have the space to store all this stuff.
Q. What does that mean?
A. I don't know what that means. It probably means that historians are going to have a lot more reading to do in future. It may change the whole accountability because so much of history is being written by the victors or by the few that wrote things down that we don't really know what the truth was. You know, we could just analyse saying that was the scene through certain people's viewpoints, what were their biases? What are they likely to have been trying to make us think?
Q. That is more interesting, is it not? (Inaudible) or in the present in having the opportunity to understand these bits of information?
A. Yes, that is a question of how you index it all. It is all very well having all that information but how do you tap into it? How do you find the conversation 35 years ago which is the key piece of information you need to solve your physics problem?
Q. What sort of world -- if the industrial revolution gave us, I don't know, what did the industrial revolution give us when you compare it to what this information might?
A. Well, the industrial revolution gave us cities, it gave us the idea of a life where you actually have a lot of free time, gave us all things like machinery, all the labour saving devices, most of the labour non-saving devices we have today. The Internet ought to make information available to everybody to the point where it is essentially free to share information and data. There is no cost in beaming a book in the world or a film or anything else. It kind of changes the way you can interact with information, the value of information.
Q. In terms of, sort of, distribution of power --
A. We democratise knowledge, so if knowledge is power we democratise power. Whether that really happens is a rather more open and complicated question I suspect.
Q. (48.14) Industrial revolution gave power to the people who control the production?
A. Yes, one of the things the Internet is already doing, you see it with the music industry, the bands are getting rid of the music industry because the bands now own the means of production and distribution. We are seeing some of it with things like newspapers going online, because the means of distribution is completely different from all the kinds of things, blogs and stuff are replacing some of the media discussion formats. There is what the economists call disintermediation going on in a large number of places. Amazon does not have book shops to deal with, it deals direct with the customer and because of that it can do all these things like, "People who read this book also like..." and all this kind of community type stuff, tapping into the knowledge and stuff.
Q. (49.18) Will (inaudible) affect every aspect of our lives?
A. It is going to affect some industries, I don't know if it affects everyone. We are not at the point yet where we know how to replicate physical objects and one of the really interesting long-term questions we have is when we can replicate software now, if people can start building effective 3D print-ups -- and there are projects working on this -- we can get to a world where you can share physical objects. Like, I like your dining chair, I will e-mail you the source code and out of your printer will come a dining chair. That will have a radical effect on society because it means a lot of the scarcity which goes around with physical objects goes away. Effectively, it just comes down to how much toner you can afford and that has huge impact in terms of copyright and our ideas about licensing.
If you think about the Star Trek hollodeck, which is a nice science fiction view of that kind of idea to create objects, can you imagine using today's licensing regime to figure out if you create a can of Coke on your hollodeck, what are the legal implications? We simply have no idea how that would be handled. And there is a liability question, if I post you the source code to a chair and it breaks.
Q. Is it not more to do with the source code or code which is, you know, just the ingredient? If that is open source then anyone has the ability to make that and also the way it is made, all of that --
A. But there are so many things that go with it. There is the shape of the bottle, there is the branding and stuff. If I, you know, if I have a Coke bottle and I just make another bottle of Coke with my replicating machine, should I be allowed to do that? Under what circumstances should I be allowed to do that? How do your markets work, how do your business models work where people are able to make replicates of things? How do you license them? What is your model for selling chairs when everyone can print them? Do you sell chair designs? Do you go to a website and download a new chair? We have things like, for example, you can sign up for a monthly chair plan and you pick a new chair every month. That is the direction technology seems to be going.
I don't think the legal side of things has really even thought about it, let alone caught up with where that leads. It leads to some very difficult questions, for example, if someone posts a source code to a gun what does that mean for things like your gun control when everyone can just print themselves a firearm? How do you control it when people start posting themselves encrypted guns or plans that don't look like guns but --
Q. It is not a problem is it, what people say is we need to give people the incentive to make these things. In other words, people won't bother to develop them, so people need ownership in order to give people a reason to develop new forms?
A. Clearly a lot of things, if you have that kind of printing, people would do as a community. You see that with a lot of arts and craft type stuff, people teach each other the skills and you see it in music, folk musicians teach each other songs rather than trying to lock them away and sue everybody else who sings them. Designing a car, for example, you clearly need a significant financial base just to do the design of a car. A situation where you borrow somebody's Volkswagen, pop it in the replicator and make a few more on the quiet is not a practical situation any more than pirating music, necessarily.
Q. (52.55) Things in China they do, these motorbike factories which are sort of a bit like the idea of the modules. You know, one man in one factory just making spokes, they are working together ripping off Yamaha or whatever motorbikes. They have managed to get hold of the sort of, the ideas and blueprints and they are using it, and also the sort of generic drug companies or whatever. Is it good for the world?
A. That is very hard to answer. We know for example economic studies on software, things like patents on software, actually reduce the amount of innovation and are harmful to the overall economic situation. Drugs are a very, very hard one because you have to balance the fact that if there is no money for developing drugs they will not be developed, yet if people can't afford them in parts of the world people will die again through the lack. That is an area I don't know a great deal about, but it is an area that needs a lot of rigorous economic analysis to find the answers.
Q. Shall we do the other --
A. 3D printing will have a huge impact because one of the interesting things that happens, if you have someone who builds an open source 3D printer -- which is a project in process, a long-term one -- the first thing you start doing is printing 3D printers. Print the parts and reassemble them and say, "3D printing is really cool, would you like one?" If everybody starts making a couple for their friends --
Q. Is that going to happen?
A. The technology at the moment, the open source, is very basic. It is at the point where it has made a few cogs for itself but nothing else, so it is a long way to go, but it is a practical project.
Q. Is it, sort of like, a big watery thing and you shine layers into it and it goes --
A. No, the current design is one which deposits layers of material, so if you don't want a cog you draw the liquid past gradually bit by bit, building it up. There are lots of technologies for this. They are still evolving.
Q. Are they not all single materials?
A. Yes, yes, so you have to design your 3D printer so you can make each of the parts individually and then assemble.
Q. Right, right. What about the electronic element?
A. That is an area which probably won't be, in the first instance, won't be replicated themselves. The idea is in time that technology will exist.
Q. Alan, do you think you could talk through just what we are doing?
A. I can do.
Q. I don't know -- (inaudible) conversation which is going on (inaudible)?
A. Yes, because this is exactly what we have been through already.
Q. Yes, if you just talk it through again, just tell us --
A. So, what, if someone is proposing a change and they have marked it as a request for comment, you say I think this change would be useful but I don't necessarily want it to go in now. Say what it does. This is format which is both human readable and the computer can apply this and other changes to code itself. So we have sort of the first code, proposed change, and then that is followed. There is a reply here, this is the maintainer of the code in question. General contact they are okay with it and then they have some specific concerns so they have sort of annotated it. Particular function should have been used because this is doing the same job as something that already exists, request for where some validation is needed, something hasn't been checked which should do, and so -- further comment, why the suggestion does not actually work and how it can be dealt with, comment on the validation thing, how it should be done properly.
Q. What is that, validation?
A. Just checking you don't do something. For example, in this case they are looking at transferring data to a user program. It says, "Do we always make sure the buffer it is going to be transferred into is big enough?" Make sure all those checks are done, things you are doing you cannot assume -- and then the conversation continues. We have a person agreeing, "Yes, actually the suggestion I made of using that other function does not work, I had forgotten that, didn't understand it" then they start further comments about the bug and the assumptions and the right way to fix them.
Then this continues and, for example, although the case can't happen it could happen in future or by mistake, so it should be fixed. Suggestions about how we fix it, some other pieces of suggested code then the long-term goals. That is where this particular thread stops at the moment, but obviously it will continue further. The decision will be made, the final version of the code will go into the kernel.
Q. How would you test it if you were going to test it?
A. If I were to actually run it and test it --

