 Good Late morning to every one of you. Thanks for showing up. I'll be talking today about my PhD research, which I'm conducting at the University of Limerick in Ireland I don't actually live there. A lot of people seem to be confused. I'm still in Zurich, but In Limerick I have a rather awesome prof Brian Fitzgerald. He's been doing a lot of stuff in open-source research and When I presented him my idea he was very keen to have me even if I'm not staying at the department So that's a little bit of background My working title for the research is method diffusion in large open-source projects And for those of you who have no idea what these individual words mean well join the club This is academia. I feel very much for you And I will bring you a little slide with definitions in just a second but Well, I guess I do want to apologize that a couple of the words that are you going to encounter on these slides are not necessarily How should I say? practical but Those of you who know academia know that this isn't my fault. Who of you by the way is involved in academia. Does academic research? All right, so that's about a little less than half. Okay So I'll be giving you a short overview. I'm look at a little bit of a Adoptions of tools that have happened or are currently happening in Debian and try to Give an overview of my future directions now. I don't really know where that's going to lead yet But we'll get there later So here are the definitions that I promised method diffusion and large open-source project with method I simply mean something like a technique or a tool It could be anything from version control to a new buck tracking system or even entirely integrated workflow that people start adopting in order to produce better software a Diffusion is an introduction of this tool or offset method with the goal of having it adopted by other people and Large project I had to put that into the title because even though I do want to limit myself mostly to be looking to Debian I had to make it a little more generic and I had to put the large project in there simply because The high inertia and the complex self dynamics of large projects such as Debian make this research particularly interesting I Initially thought about looking at various projects including the clone and so projects where I'm also a developer But then in the end decided that they it would be comparing apples and oranges if you look at Plone and you look at Debian because just the sheer size off the project makes a big difference So my motivation or research basis I came into this initially thinking that Or with this very strong interest in group wear and workflow Tools and in thinking that there's a lot of places in the Debian workflow where we could really do with some improvements When you look at Debian the methods that we are using have definitely evolved over time have gotten a lot better But in the end it's more or less still the same stuff We've been using three years ago five years ago eight years ago. It evolved a little bit further, but we never actually took the time to reevaluate and Reimplement an entire workflow. So just to give a very simple example if you are Maintainer for a package and you receive a buck report What you have to do is basically interact with that buck report via the buck tracking system At the same time somehow fix the buck in your package, which may require you to use a version control system The version control system if you're using one requires you to write a commit message You also have to write a change log entry into the Debian change log file explaining what you did and you may also want to write some about your fix into the actual buck report So these are three different Syncs of information where you're putting stuff and even though they are somewhat interlink There's for instance the tool depth commit which will take your VCS change VCS commit message and Sorry the change log entry and make a VCS commit message out of it and our DAX suite actually automatically closes bugs that have been Mentioned in the Debian change lock upon upload The entire workflow though is very brittle and not integrated There are plenty of places where you can make mistakes plenty of times When you don't actually create a patch for the fix that you have just Introduced into your package which should ideally be attached to the buck report so that other people other Distributions who are running into the same problem could actually just take your patch and don't have to tackle you for it so there's high interdependence of the methods and The fact that we have been using more or less the same stuff over the last couple of years lead or Suggested to me that we're reaching a sort of stagnating efficiency Now, I believe when the first couple times when I talked to some Debian people about this research And I said something like stagnating efficiency some of them got up and walked out the room or something We're like very offended. I don't mean it as harsh as it sounds. I guess Debian is a very very Good project a very productive project and incredible in what we have achieved and what we continue to achieve every day But I think that given our manpower We could be doing a lot more if we actually didn't have to spend so much time on the little tasks that have to be done if they could have be somehow better integrated and Lo and behold we actually do have better methods here and there for instance version control seems to be a big topic and especially the Distributed version control methods Those actually can be used to solve a lot of our problems if we properly integrate them But of course There is not only one version control system. The world would be so much easier if it were just bitkeeper, right and nothing else Because then your choice would be bitkeeper or not bad bitkeeper and everybody in Debian or a large mass would start using bitkeeper Well, there you go. Perfect. Well, our problem is that we have so many other good alternatives and We don't really have any way to integrate them. So Some people may be using subversion still for their packaging other people may be jumping on the git train and so on and so forth The problem about that obviously is that You're kind of forming clusters that way Initially when I was starting this research I had in my head the idea of the Middle-aged person who on a Saturday afternoon actually has some free time because the kids are out playing and They're four hours to be spent and those four hours that person would like to actually contribute to Debian and make a real difference But as it is right now unless you are completely immersed in Debian work every day Those four hours are going to be reduced to pretty much two hours of contribution because in the first two hours You're going to have to try to figure out What it is? How is it? How are you supposed to actually achieve what you wanted to do? What version control system does the package use that you're trying to fix? How do you actually use that version control system? And then you learned that information? You know how to do it for SVN and next Saturday your kids are out again And you would like to contribute this time. However, the package is maintained in Mercurial so there you go You can learn yet another version control system and from a couple of interviews that I've done with contributors mainly on fairs Even though for us, I guess most people here at the at this conference Learning a version control system is somewhat fun. You know just like Configuring a text editor somewhat fun like we are actually playing with our tools. We're geeky enough for that There are plenty of contributors out there who just don't care They do not want to contribute to Debian and learn and have to learn a version control system on the way They just want to contribute to Debian and we I think have to understand that and Have to figure out how we can come up with methods that Make it a lot easier for people or a lot more accessible make our development process a lot more accessible So my research question actually is under what circumstances could we get? volunteers to use some new methods and I would like to Kind of jump ahead to a slide that I have towards the end I'm not talking about Having a perfect solution to the Debian workflow I actually started two years ago with this research and I thought hey I'm just going to like create this perfect workflow for Debian and then everybody's going to adopt it We're going to be this awesome project that is just going to be a hundred percent more efficient but I very quickly gave up and gave up on that because Not because I don't believe that it's possible to introduce something like a perfect workflow or a Single workflow by which everyone abides. I mean we're doing it right now already We already have one workflow that everybody has to go by I think it is definitely possible But I don't think it's within my core competencies So I much rather leave that to someone else and just look at the factors that actually deal with the diffusion around it So my hypothesis is that given a diffusion given a an unleashing of a tool within Debian There exists a certain number of characteristics about the tool or about the way it was diffused into the project But the way that communication was handled or the way that the social system is structured into which it was diffused which determined largely the Rate of adoption by people now with rate of adoption. I simply mean that s-shaped curve I'm sure you've seen that in every single Stoods or in various statistical Articles The I don't unfortunately don't have it with me right here But you can basically imagine in the very beginning of any adoption You'll just have a couple of freaks using a tool and then slowly slowly it starts picking up until you get a very steep gradient when Everybody kind of keeps jumping on to that train and starts using that tool and then in the end it kind of flattens out again because you The number of late comers to the party is ever decreasing If we actually managed to identify these characteristics managed to be able to say what it is about a tool or about a way that We diffuse that tool that made people adopt it then I think we can Provide it that we come up with a tool or with a workflow. I'll just call it method We can actually engineer that diffusion to improve the efficiency of the entire process so For my research, I've chosen a two-tiered approach Unfortunately, I couldn't just stay with a single one. So this actually requires me to use two different research Strategies and I don't know if you saw my bad joke on the very very first slide Saying that I'm an alien. I'm a computer scientist in the world of sociology. That's actually what's going on I somehow managed to end up doing a PhD on sociology and Just kind of happened all too fast. So now I'm in it and I can't really do anything about it But it also means that I get to do all these like cool research techniques called qualitative research techniques like case studies and interviews and ethnological stuff and So out of the immense selection of Research strategies I could pick off I had to take two for the two phases of this approach and the first one is basically case studies and the second one is the Participatory action research. I'll tell you what this is all about in just a second Let me have a look at phase one first case studies. What do I mean with case studies? Well, I mean looking at previous diffusions for instance the diffusion of depth helper about nine years ago or its friend CDVS and just trying to identify what kind of factors where surrounding that diffusion and then We can hopefully say that One tool one diffusion was a successful diffusion whereas CDVS may have been a little less successful than depth helper and then I can combine that and come up with Statistics hopefully qualitative statistics. I love that word to be able to figure out Which characteristics actually made this happen and I'm not going to be the one Actually analyzing all these diffusions because I'm just one single person and this is qualitative work So I would be very biased or I'd have very biased research if it was just me So I'll be doing a bunch of interviews with people who Have overseen these diffusions or who have actually engineered them who have been part of them and figure out whether they were aware of what they're doing or whether they actually remember the Important facts There are also usage statistics obviously popcorn is hopefully going to be of big use to see how quickly people started to adopt it But on the other hand, it's going to be slightly difficult because I'm talking about development tools and popcorn kind of talks about all of our tools in the archive and It doesn't necessarily mean that if somebody has git installed that they're actually a developer Maybe they just had to once download the free desktop work archive or something like that Also survey data. I put that into parentheses because I really don't want to be doing a survey It's one of the hardest things in qualitative research because the questions have to be perfectly engineered Otherwise, it's useless if people could misunderstand misunderstand what's going on and it's quite a time-consuming job to get the survey out and then to get feedback back and Actually have people participate usually stays at a very very low percentage So I'll mostly focus on the case studies actually in the my mad lead graphical skills have Allowed me to come up with this graph and you'll see on the left side. There's these previous diffusions I'm sorry for the small font, but I didn't remake it for the slides previous diffusions and then the analysis trying to figure Come up with all kinds of facts related to soft facts related to the diffusion and then Creating what I call standardized exemplars from it. So sorry for that language standardized exemplars It but I'm basically mean is a type of framework You can think of it one of the easiest analogies. I've come up with is a portfolio a stock portfolio that's one sheet of paper and it has the most important data about a stock and I Want to be using such exemplars or templates or frameworks or whatever you want to call it so that I can actually put structure into the data so that I can compare two different instantiations of these templates and if you think about it again in terms of the stock Portfolio if you have two stocks and you have portfolios for each and both of them are issued by the same bank It's going to be a hell of a lot easier to compare them Then if you have two portfolios from different banks because they just have different data and different And the facts in different Parts you have a question. There's a microphone Yeah, what examples are you gonna have for them? Can you give us an example of one of the temp templates you're gonna be using? Well, I'll get to that in just a second. This is actually where I'm currently at in my research. It's a it's a very very difficult part So with these templates, I hope that I can actually like identify common lines and condense them into a set of guidelines and these guidelines Should then be usable by people if they wanted to get a tool out there or should at least give them a better idea of how they could do it and Once I have these guidelines then I'm actually going to Go to phase two, which is the implementation phase and Let's just skip those bullet points here. We have these It's one of fully lovely graphic again. We'll start on the top with the guidelines and then you enter that action research cycle here now action research is a relatively new sociological research strategy and it basically just means that You are immersed in the field that you're studying so if you had to study the diffusion of Engineered corn seeds with farmers in Iowa, which by the way was the first sociological Study on the diffusion of innovations if you had to do that Then you wouldn't just write to them or like try to get your data out of journals You'd actually go to the farmers and work with them and try to understand So that's what action research is and that seemed to be the perfect Choice for me being a Debian developer myself because I am part of the project and I can actually Get at a lot more information than just what people studying Debian might be able to get out from the outside and with Information I don't only mean I can observe different parts much better because I have access to Debian private or something like that No, I much more mean that I can actually make a change and and By that way gather more information Maybe just another quick interesting fact. I used to come from the domain of artificial intelligence and robotics and we have a Concept that's called situativeness and basically what it means is that you want to be Immersed in your own world. You want to be able to manipulate your own words to be world to be able to learn about it And it seems rather obvious if you put a baby In a room and you don't let it touch anything and you don't let it move around It's not going to be very intelligent when it grows up But if you if that baby of what babies do, you know, they take everything and Munch on it and so on and so forth then they actually start to learn a lot faster about their environment and Action research is very much the same if you just go and look at Debian And you try to figure out why this is happening or what's going on over there You're going to have limited information, but if you go there and you actually Change stuff move things around you'll have a lot better chance of getting at it So I don't actually I can't really explain these boxes I don't think anybody really can but academics and especially the socioscientists are very good at creating these graphs that can't be explained but action research is a five stage process and it basically it's cyclical and it basically just means Trying to formulate what it is that you're trying to do Looking at what the current state is trying to come up with a sort of delta a difference between what's currently going on and what you would like to For it to happen and taking actions evaluating again Whether you were actually successful and then depending on whether you have been successful Decide that adoption has been reached or go around the cycle again identify the next problem That's lovely All right, so that these are the two phases and I hope I didn't bore you too much with the Research strategies and the academic background of it. Are there any questions up to this point? Other than the one about the templates which I'm using No questions. All right, then well, let me get to those templates then they're sort of called conceptual framework I Try to stay away from the word framework because it's just way too overloaded But I guess that's what people want to see in a thesis the conceptual framework and as I've already seen those templates Think of them as the stock portfolios think of them as data sheets that are issued by exactly the same organization to make comparisons easier There exists many of these frameworks already in sociology and management science the problem so far is that These are usually related to voluntary independent adoption decisions and with that I mean These volunteers like for instance the corn farmers in Iowa They have the choice themselves to adopt the engineered corn seeds If they do it they don't affect anything else, but they're their own crop their own life They don't affect their neighbors at all And well, it's voluntary on the other hand In management science usually what you have is frameworks that try to explain authoritarian concerted diffusions like a company that goes out and says well We're going to be using bitkeeper and everybody has to use it That's authoritarian and it's concerted because kind of everyone is supposed to start at the same time So it's probably accompanied with some form of trainings and so on and so forth But basically there's not really anything in between these two extremes You either have corn farmers in templates or you have poor people working with bitkeeper and a company for open source software and Debian in particular these won't do it's Way more complex what we are dealing with because there's something in Debian that we call strong network externalities that's another one of those lovely words where when I first encountered it I was like that means nothing to me and and Still now that I know what it actually means it still doesn't really mean anything well a network externality is really something that I'd call an interdependence between Actors in a social system So a high network externality means that if one person starts to use a new method within a social system That kind of requires a lot of other people to adopt that method as well For instance if we were to switch our buck tracking system from depth box to bugzilla, don't shoot me That would pretty much require everyone to go ahead and use bugzilla So that in that case it could be said that it has a very high degree of network externality Externality well, and there's also ideology people who actually Refuse to use a tool that perfectly does what they want But unfortunately, it's written in pearl and not in python there are folks like that and It's kind of difficult to deal with that and especially difficult to Try to fit that into the existing frameworks You know because at a company nobody's going to say I'm not using bitkeeper because it was written in C And the corn farmers are not going to complain that they're not going to use those corn seeds because the container in which they arrived was blue It doesn't matter to them, but the OSS seems to be a rather weird group of people There's also this voluntary and cabal type thing With that what I mean is Basically that you have something called opinion leaders You you as a single developer may have the choice of using a tool But you may also see like this group of highly influential people Who are all deciding that get is the way to go now and they all start adopting get and they sort of like there's just sort of like Cabalistic type of feel to it like those are the the cool people and they're using that and then that builds up a very very strong motivation for the individual to actually adopt that tool as well and these forms of Decisions on an individual level. They just aren't made among corn farmers and they aren't made among people who are working in managed corporations So I'll give you a very quick example of one framework that actually exists and it's the most famous one This is a work by Everett M. Rogers who was basically the person to first formalize this concept of diffusion of innovations And he was exactly the person that did the study on the corn seed on the corn farmers in Iowa and what Rogers did was basically try to Do exactly what I'm doing try to come up with certain Factors characteristics that could be used to describe and analyze diffusions And this is his famous framework and that framework has probably been applied more to more than 3000 I can't I can't remember whether it's two thousand or three thousands, but it's definitely more than two thousand Studies, so it's definitely very verified and I cannot ignore it just like that even though to be honest I would much rather ignore it It is very generic in that it can be used to describe pretty much any diffusion from corn seeds to Open source software, but it may not actually fit perfectly with each but He has four different categories the innovation communication process the social system and then the consequences and then with each category within each category you can see these Different characteristics for instance the innovation itself the new method that is to be diffused Does it have an advantage over what I'm currently using and if so then is it not complex? Is it compatible with my current work? Can I actually try it out and is it well documented? Is it visible and can I find out about it easily? Is there an active community behind it those factors tend to influence a lot whether people Will see an innovation as being something or even consider the innovation innovation And then there is stuff like communication mass versus interpersonal media That's very interesting actually to look at at what phases in the Adoption process which type of communication is more efficient for instance in the beginning You don't have to try to do interpersonal communication to get people to Interested in the tool that you just developed last weekend because what you're going to be doing is just going around from one person To another and start preaching to them the same stuff over and over again And you're not going to have any effect in the beginning. It's definitely mass communication But later on when let's say 35% Adoption rate has been reached what you then need is actually interpersonal communication and that has been delivered in terms of training or that has been delivered in terms of Conferences like here where people come up to each other and are like please explain this to me or let me show you my cool new toy and Then actually spread the toy even further Well, I won't go much further into these individual characteristics because I could talk a lot about them, but You get the picture. I hope of what these what the framework is so Before I move on ask your question, please So I just want to check Would you would you would you not agree that a basic summary of what that is trying to achieve? is to ask the question to two questions does the Does it contribute to the goal or does it aggravate the goal each of those things Compatibility complexity is it contribute to the goal or so it does it aggravate it is would would you agree with that? No, yes and no, it's one of the questions that you asked, but you said you had a second one anyway, and well just to quickly answer Absolutely, however Within the social system that we're studying it doesn't matter often to people the other day. I was Sitting here in the hack lab, and I was trying to actually get some work done and there was a guy sitting next to me continuously swearing because He didn't manage to get the work done and he wanted in the last one and a half hours because He wasn't understanding what git was telling him and he had just started to use git an hour earlier So instead of giving up on git and actually doing the work he wanted to do He just kept beating his head on the table until he understood it. So it's it's slightly You know, it is definitely Incompatible it's complex and so on but that doesn't really stop people and just kind of influences you can't reduce it to that But you had a second question No, it was a second question. It was just that two parts Okay analyzing thing is the quest the first question was you know, for example on the The let's pick one on the innovation somebody has an idea which they believe an innovative idea Which they believe helps achieve the goal Or the innovation is that they think the git is better Does the does what they are trying to do to achieve that goal contribute or To contribute to the goal or does it aggravate the goal? Does the person contribute to the goal? Does the person aggravate the goal? It's the case the key question in each of those things the communication thing that somebody's trying to do Does it contribute to the goal of getting to think or is the person yapping away and bashing the head against the table? Is it aggravating the the overall goal? Don't know it's just sort of a thing each of those things it seems to me that it fits those You know that each of those two questions it seems it seemed to fit. Yeah, well, well, that's definitely true whether Because in the end if people managed to stay Clear and keep in their heads what they're actually trying to do then that really applies But what I was telling you earlier is that that's not always the case Sometimes people will actually force themselves to use vi. I remember when I started with vi I was just like vi. That's the coolest editor. I have to start using it My productivity was down for like three weeks Before I actually started to understand it and it happens all the time, but you're absolutely right That each one of these actually can be Split or you can look at them in terms of that dichotomy that you just identified, but as I said This is this is this framework does not do I can't use this I tried with like about eight different Adoptions that we had in Debbie and and I couldn't There weren't any once I once I analyzed all these Adoptions and then fit them into the template and then sorted Those that I considered to be successful into one pile and those good I considered to be non-successful into another there weren't any substantial differences between the data on Sheets in this pile and the data in sheets in this pile and that's the hope that I have That I you can find these characteristics. Obviously, you know Some of them were different like maybe Maybe even Something like compatibility for debbie and it's rather important The tools that were successful were all compatible. I don't actually know whether this is true But let's assume it for a second they were all compatible with what you're doing currently and the tools that were unsuccessful were all incompatible So that is actually a factor that you want to consider that that factor determines whether a Diffusion is going to be successful or not But it's definitely not going to be the only factor and for all the other factors listed here The distinction wasn't as clear. You'd have 50 percent Verifiability in that and also in that pile So you couldn't use verifiability as a as a distinguishing method method between success and failure of an adoption well Try to come up with the problems and it's rather hard to formalize them But the two most important problems that seem to prevent me from using Roger's framework as well as any of the other classical Diffusion frameworks that are being in use in management science and sociology is basically that The low degree of network externalities that they study So whenever a decision was made by an individual in the studies where these frameworks were used it didn't affect anyone else and for us in Debian That's definitely not the case and prior information not required. That's some a point that I haven't raised yet No, none of the farmers really did need to know Just how this corn was engineered Because for them it was just corn seeds They would go out to the field and put them under the ground and then like do whatever they do and harvest the corn after a little while there was no prior information required if We are trying to get version control into Debian for instance Just let's assume for a minute will make everything in Debian version control based Then not only does that require every single Debian developer to learn The basic concepts of version control, which I assume everybody kind of knows So then only has to learn in the front end has to learn how kid or how mercurial is used It also requires us that our Let's say two thousand five hundred other contributors translators people interested finding bucks and so on and so forth Have to do exactly the same and they aren't as close to development as we are So they may not actually know about version control So we're asking them to learn and a very complex topic Just so that they can help us get further with our project and that That's definitely a factor that we have to put in at none of the frameworks that I've looked at in management science and sociology actually have that in there, so I fought and fought and ended up losing because now I actually have to go and design my own framework and I'll hopefully be able to do that by cherry-picking stuff like verifiability or Compatibility from other frameworks and assemble them, but the big problem is when you do data Classification in the way that I do it and especially in a qualitative type of way What you really want is for these different categories to be orthogonal to each other so that verifiability is completely independent from compatibility because otherwise you'll you'll have Analysis or you can have an analysis that actually isn't based in the characteristics But sort of like on the stuff that is in between and it won't allow you to come up with some clear results So that's a very very time-consuming process And I have been on that for the last three months and actually was hoping that I would have something done a Final framework for the stepp conf to present to you, but it just hasn't happened. It's Way more involved Than I initially thought but that's always I guess that's what hopes that this law Everything takes twice as long as you think even if you take into account host that does law or something like that But I did spend a lot of time thinking about this and these are some of the ideas that are Always as specific or well relevant to open-source software, which aren't found in or aren't all found in the In the other frameworks that I looked at So for instance the method of development is a centralized one person Fighting with patches in their mailbox, or is it actually using a version control system in which language is it written in that place? An important factor to some people whether they end up using it and that is related in some ways to Let's see the responsiveness of the author as well as the flexibility and the accessibility for re innovators Because many of us many of us Start using a tool and then kind of become developers very quickly Because the tool doesn't do exactly what we want it to do or there's a bug that we find in exactly the same the use case that I have which the original author didn't and so we kind of become Code developers and for code developers. It's in part. It's very important To have that factor in there like how quickly does the author actually respond to bugs and how quickly are they fixed? How short is the length of release cycles? Is it easy for me to actually get new features in there that maybe only I use? Is it well documented? That's actually some people seem to think that's a very important I can't say anything about documentation. It's really weird. Sometimes documentation is everything that'll get the tool adopted and In more than more cases actually documentation is quite the opposite good examples for instance are I Don't want to I don't want to slay any project here because I certainly took my hat to every project that has documentation my projects never do but for instance the Can't come up right. I think I think for instance the git documentation so three pages Introductory tutorial straightforward. It's very easy to read. Whereas if you look at the Samba tutorial The Samba how-to or a documentation. It's a massive book It's very good. I'm not saying that the Samba documentation is bad, but when you first encounter Samba and you look at that tome you're kind of like Intimidated by it sometimes and that intimidation can happen at such an early stage of the adoption process that you don't even consider Adopting that software anymore simply because you were intimidated at the first site Steiner. Yeah, I think it's kind of funny that you're pulling out the git documentation as a positive thing My main reason for not using it was at a time when I was using Documentation sucked and it was really hard to find so It was funny to see if like the availability of that documentation is what will driving it forward or not Right, maybe it was a bad example, but I hope I still made the point kind of clear You're right. I think that a year ago The git documentation was really bad and it has gotten a lot better So it would be that's exactly the kind of stuff that I'm looking for like has the increase in available good documentation and To what degree was it responsible for the increase of users? Well, I don't really need to go into every single one of these characteristics because I think most of them are quite obvious to you I Do want to highlight one one point quickly the manifesto Many of you know that I started writing that conf here at camp and I actually spent the weeks before that camp or even the months before that camp writing design documents and These design documents. I don't know what a design document exactly is sort of like whether there's a structure how you write it But I always found myself like identifying What's the problem that I'm trying to fix and why do I want to fix it? What do I think I can do and how do I intend to do it and that document kind of a Well, a lot of people thought that I'm like the opposite of an extreme programmer I'm sort of like the lover of the waterfall model and in some ways it's true, but I also found that It's impossible to do Anything complex without having a pretty good idea before that unless of course you become an extreme extreme programmer and you're ready to rewrite every single line about 25 times before you get anywhere and within the project and When I talked to Joey Hess who is as many of you will know one of the main or one of the He's definitely the author of a death helper and some other tools that have reached wide adoption so I Talked to him and I had some questions to ask because I'm genuinely interested out of the the research and how he does it or whether he's aware that he's doing this kind of stuff and He said that the manifesto the design document is probably The one a piece of advice he would give to anyone starting a project Write down what you're trying to solve and how are you going to solve it and then start solving it? Because not only does that get you straight on track It also gives people a more abstract idea of what this is about whether they should actually Bother to get involved in the project or not And Just for completeness. Is there anything that you would think of that is an important factor? Determining whether an adoption will happen or not, which is not on this list a Charter and vision statement Sorry a vision a charter and vision statement. Okay. That's kind of what I meant with manifesto. Yeah, but also again If you're a group at the the Ubuntu vision statement is absolutely fantastic And I've also seen another one which isn't to do with free software, but the unity guild world of Wardcraft Vision statements and and and charter are absolutely fantastic Fantastic because they say things like you both those two things the Ubuntu vision statement a charter and the world of Warcraft unity guild Charter say we will look after people You won't do this when you get to a certain level and in in the unity guild You are expected to take a certain amount of responsibility. So experience automatically transverse responsibility Really very very very interesting. It's a thing. It's it's a communication. It's about encouraging communication between the people Well, I think that's a that's a very interesting point If I go back to that framework for a second one thing I have to say about it though Is that it seems to be applicable to the social system mostly? So if it's an Ubuntu vision statement, then it is basically about the social system that Ubuntu has Collected and the same with that world of Warcraft guild The problem with this category social system, which my framework will also have it's just knowing not going to be exactly the same is that This is actually more or less static across all template instantiations because we are more or less Still within the same social system. Obviously, there are going to be slight differences there If I look at the Debian installer team, for instance, that's more or less a separate social system It's it's a sub-social system not sub-social but a subsystem of the Okay, I better move on now. I Hope you understand what I mean Okay, well, I talked about the adoption process that Were there any other questions or any other input on that slide? All right Talked about the adoption process If you're interested in this kind of stuff well first of all that you can I'll have a link to my web page in a second, but there's also this wiki page that I started about Eight ten months ago or something like that where I asked a couple of or everyone every developer to provide their input on what they thought Were the important characteristics of a diffusion such as CDBS or Any other build tool there quite a lot of them the responses were Pretty impressive and I didn't set up network now. Well, I guess I could quickly but sure so the the responses were actually quite astonishing and We quickly had to even create subcategories. I think I started up this wiki page with like four tools on it Wanting to get feedback on those four tools and now you can see that we have a nine subcategories. So For instance that helper which everyone knows People have provided input on it and it's exactly this kind of data that I will be needing and looking at and if you're interested and you have an opinion on any of the Adoptions that have happened in the past or you think that there are some tools that should really be mentioned I would appreciate if you Took the time and put some stuff some of the information on the wiki. All right now I don't have much time left and I also don't want to be running into the last second. So just some points to clear up here when I Initially when I started with this research, I would talk about engineering Diffusions according to some guidelines and well some people were like, are you a fascist or like are you trying to take over? Debian are you going to like and like do some social engineering on the tool level on the method level to eventually like take over the project and Of course, that's not the case and with engineered guidelines what I What I don't mean is We see this one. I'm not I don't have the method that is the solution to all of our problems And I'm ready to engineer that whether you like it or not. It's not that kind of the thing, but I think that within Debian we're very very innovative for instance like Here Debcon for a lot of projects have started or have completed just to name one meta in it a project that Tries to address the fact that there are more than Cisv in it. There are also dependency RC and so on and so forth and Even though we have update RCD and invoke RCD, which is our current meta in it That that stuff is old and it doesn't Deal with newer innovations such as upstart so we can't use it for upstart Which is perfectly all right replacement for the inner system and so now meta in it is Coming up with ways in which we can abstract to the point where upstart and Cisv in it are exactly the same initialization frameworks and Given such an innovation made by someone else. I hope that these guidelines that I provide can be used to make them spread faster and I hope that these guidelines will help to do that. Ideally, I would love to have a document that sort of in the spirit of Enrico's step tags and apt-cache work kind of gives you a Sorted list of factors like if you if you spend the same amount of work on Improving the documentation it would get you 23 percent more adoption than if you spent the same amount of time on on doing something like Whatever else but that's not going to be possible. Unfortunately, I would need to collect maybe a thousand different Template instantiations and I'm also doing qualitative research So there is not really any statistical stuff to be done It would be nice to have it like that and I guess in the end what I will produce is a document that you can treat more or less as a how-to and Within that how-to some of the factors will definitely be listed first if they're if they have most impact But it's not going to be quantitative All right, and then just as a last slide I'm Very interested in this topic Not because now I can finally do sociology or it's a sociological topic but because my interest has always been in workflow and management and One thing that I've noticed and from talking to a couple of managers that companies actually Was confirmed in is that it seems that nowadays modern management makes employees more like volunteers You're at that company somebody is actually telling you what to do You're also getting paid by that company, but in the end the actual management the The environment with in which you're working is more like a volunteer like people are happy if you show up But you can also stay at home You kind of manage your own day as long as you deliver and so on and so forth and I guess if these guidelines Happen to be successful within open source, which is very complex probably more complex than companies They're definitely going to have some impact on management side as well. All right That's it from me. I thank you very much for your attention. Are there any questions or Any other input? Yes, Jeremy What about real life? I mean, what about you have you Try to look at how much impact had a real life meeting and Some an adoption of a new tool. I didn't understand that could you what about real life meeting meetings for like, you know How real life meetings affects our real life meetings? Ah Yeah, I guess I guess you can look at meetings as a form of tool as a form of method absolutely That's like, yeah, that's actually an interesting point Although it's going to be hard to argue that they're Non-productive it might also be hard to argue that they are productive given that conf, you know All right. Thanks. I'll write that down. Is there anyone else any other input? Yes, okay one thing I've recently become aware of Which I wanted to put a put to you to consider As part of your research is in any communication that's going on How much of it focuses on the past and How much of it focuses on the future? Any communication whether it be IRC or email or face-to-face meetings How much of it goes over old stuff and how much of it goes on do you have a hypothesis? Do you have a like Question would you say that like projects that talk more about the future are going to be more successful or any any of that? Like what where do you think does that come in? Basically? Yes For example Talking to Phil Phil hands. He came up with the idea of creating a Filter for pop three for mailing lists an optional filter, right where people can say Whether something is useful or whether it isn't and then so you it's like a spam filter useful not useful and so If people start discussing stuff in the in in flame wars that we are you Stole my cow from my grandfather's well or whatever their thing And you deserve to be cut off completely That sort of thing. It's just not useful And but some people might want to Listen or read to all that read all that stuff. So you can't apply it across the board So what I wanted to do was to set up a pop it is to do a suggestion What's to set up a filter which people can apply to the mailing list if they choose? Which from which they can cut out all of the all of this Not useful. Okay start. I mean that what you're talking about right now is kind of communication as a method of development The communication medium so they're definitely that will have features like usability for instance I guess being flooded with spam or flame wars is usability type issue So that's definitely interesting. I'll mark that down right next to real-life meetings seems to be related even All right, thanks very much for your input. Is there any any other input? All right, then I don't really want to keep you any longer. Thanks for your attention and Have a good lunch