 Hello. Okay. The next talk is about Custom Deviant Distributions by Andres Tilde. Again, whenever you want to make a question, just raise your hand. Wait for the microphone to reach you and then you can do the question. And please try to look at the camera and, well, nothing else, Andres. Yeah. Hello. And I want to add, even if it is... Now there's a lecture you can ask in between if you'd like to do so. But the title is Custom Deviant Distributions. And the subtype is making Deviant the distribution of choice for specific work fields. I want to give a little overview of what I want to say. And so I want to give a little overview of what's... Custom Deviant Distribution. And in principle it is something about linking the upstream developer with a user by just making specific adaptations to Deviant. And the second part of the talk I want to elaborate a little bit on the techniques we are using. And I want to say a little bit about the future of the Custom Deviant Distribution. So I want to give a short introduction because I think it is a third talk I've given at DevCon about Custom Deviant Distributions, but I enjoy it. I will not tell you the same. I'm just going a little bit in the details with the first slide. So in fact, in Deviant we have 22,000 packages, a little bit more, a little bit less, whatever. And in principle the users are not interested to install all these packages. Even it would be technically possible with conflicts or whatever. They are normally interested in the subset of packages and I think you will not find much more than 1,000 packages on a really existing machine. So the problem is every user has a specific work field. So it's not about the fact that every user probably needs a browser and needs an email client. It's about getting specific work done in his day-to-day work. And you normally want these users to get in some easy installation without working down this list of 22,000 packages. What do you think? How long would it take to read 22,000 package descriptions? And I assume you will understand all these package descriptions. It works not for me. I can assure you I will not understand 1,000 of these descriptions because I just don't understand the content. So it's about making the user be able to understand what's this really large package pool and what is really useful for me. So Debian is a very general distribution. The reason for this is that if you have 1,000 developers, statistically it is quite insured that from every working field there is anybody who is working in a specific field. So in principle the Debian developers are a good team with enlarging this number of 1,000 people by 3 or 4,000 people who are actively providing some stuff without being an official Debian developer. I think Martin elaborated in this talk. So we have a specialist for every field which is worth working about. So the idea is we do not want to derive from Debian. It is what I also said in the round table before. We want to make Debian just the distribution which is fit for any special purpose by including small adaptions to make people able to use special applications to find these special applications and to get a computer which is a real workhorse after a short time without doing much work. If you want to bring Debian to the masses, you have to make it brain-dead easy to install a computer for a specific purpose. I know that every attendee of this conference is perfectly able to find all the packages which are fine for him. But I want to make it easily accessible for everybody, for your mum or whatever, or your grandma to install a computer which exactly does what she wants it to do. So I had a little funny story. A doctor, a friend of mine told me, what are you doing? You are traveling around the world with this stuff. What is this about traveling around the world? Well, I'm doing this Linux stuff, you might have heard about Linux. No, I haven't heard it. It is some kind of secret society. I admit I was a little bit speechless to call Linux or Debian as a secret society. But I was thinking about it and it's not that fast because we know that we are anything else but secret. But we have one feature in the normal life. We are here in this hotel very close to friends. But if you go out over the street and ask a random passenger, what's Linux? He said, whoa, what's that? And if you say, well, this is an alternative to this operating system, how I have heard about this. I've experienced this two times on my travel to here. In the underground, in Frankfurt, I was talking to a random passenger and after telling him that this is something, some alternative to Windows, he asked me, does it have any chance? Well, this is really interesting. So I do not want to elaborate on the question whether we have a chance or not. It works for us and this is okay. But we have one feature, this is a concealment and I think the concealment is that we, as any other Linux distribution as well, are sometimes concealed under the noise of advertisement of proprietary products. We normally do not advertise what we are doing. We talk to friends, they're in a school and you could use it, but this is not advertisement. I'm no businessman and I don't know really how much money compared to the real value is provided by a company is put into advertising and we are doing just nothing, we have no nothing at all. So we are really concealed, which is some way why people think we are a secret society and we are somehow concealed by this unity. What do I mean by this? If you talk to people who are a little bit more educated about Linux and you are asking people, well, since Ubuntu exists a little bit different, but before Ubuntu existed and you ask people in German Linux, ah, Susi Linux, I know it. If you ask people in America, ah, Red Hat Linux, yes, I know it. If you want to France, ah, Mandrake Linux, ah, I know it. So there are so many different distributions which are taking over the name Linux. As I said, I have no problem with different distributions, it's fine and you should use the distribution of your best friend, it's completely fine. But the problem is we are not speaking with one language to the outer part of the world and I think this is not so good. We should try to come closer because finally we are on the same side. We want to provide free software and we know the reason for this and I think we should try to get over this unity somehow. And one way, this is not the final solution, but I think one way is to break the secret by advertising complete solution to these people. So coming back to the friend of mine, which was a doctor, it would be really nice if I could hand over a CD and say, well, try the CD and run your practice with it. Well, I think this dream will not be possible before 10 years. 10 years is a large time in computer business, but before it will definitely not be possible, perhaps then perhaps it will take longer. And well, in my case with the doctors is a really special field. Imagine normally you know your doctor has some money. He doesn't care about you have paying a program or so. But this is different if you come to schools. If you just come to schools, we just had a very good example in Extremadura. Every school is running Linux. If you go to Extremadura and ask 100 people about Linux, they might know because every school is running it. And so they are providing a complete solution. The solution is putting Linux on every single box in the school and this means in every classroom is one computer for two people. So not only in the computer cabinet or whatever. Once I've seen the Extremadura, I called Germany a developing country after. I've seen the schools there because if I go into the school of my son, there is one computer cabinet with 20, 25 computers and it is used once a week by the pupil. That's not very funny. And I do not want to tell you what's hardware and what's software anyway. It's running on these computers. So I mean, if we try to break the secret by providing ready solution for schools, for some enterprises, for very specific work fields, people might know Linux and might know free software and might know Debian if we manage to do it. So the next point is you want to be some missing links between upstream developer and the users. What do I mean with this? I learned that several upstream developers do some work to get some tasks done for their day-to-day life. And well, if some Debian developer is able to detect the software, he can make a package and finally the user, if he is lucky, finds the program in the 20,000 packages. The problem is sometimes that these, I call the upstream developers experts to solving certain tasks, have a lot of knowledge about the task they are doing, but they have quite frequently not enough knowledge to have a solid build system, write proper make files, use auto-make stuff, and so this is some knowledge many upstream developers do not really care. And so the upstream developers anticipates enhancement of Debian developer if he said, well, you are building a library with some compile option. What about using lib2 or something like that? So the Debian developer has a completely different view on the building of the package and how to integrate some software into a complete system. And so the work of the Debian developers is greatly appreciated normally by the upstream developer because it enhances the quality of his software and also helps to propagate it to other distributions. So we as a Debian developer give some value back to upstream. And finally, it is in my opinion a good idea to get these upstream developers closer to Debian by telling them, well, what would you like to think about becoming a Debian developer because while you are doing some good stuff and you are the best man to verify that your software really works and you know all options and so I think it's a good idea to get these upstream developers in and the same is true if you want to become interesting for your users. You provide some ready packages from upstream over Debian to the user and I have some very interesting guys working with medical software who are really, really happy that we are doing this stuff in Debian. But why should these upstream developers not work with some other distributions? Well, the first problem is the main distributors with the main commercial distributors like Red Hat and Susie care for the shareholder value and do not really care for this special application. This is fine. If it's kind of a special application from upstream, it makes a lot of work for a distributor to find, for instance, a special school management system to move to its distribution, test it, roll it out to the users and you cannot make so much money from the schools because normally they have not so much money, at least if this might appear in Germany and so it is questionable if Susie would roll out the school distribution and so the chances to do it in Debian are higher because we do not have to care about making money. We can say, well, it makes perfectly sense to do this and we try to do it and as I told you before in the round table it is a kind of doocracy principle. We think it is reasonable to do this and that and we just do it and then it works and that's why we have a good chances to be the missing link between the upstream developers and the end users. Another point I want to make is, I try to make it in Martin Medox talk with a method diversion. If you want to attract your users, you have to, you can talk to him that you are very good or this is advertising but as I said advertising does not really work for us. We have to just provide interesting techniques that the user wants to use our stuff. The acceptance of the new methods we want to provide to our users has to be based on a solid technical base. We have this and this feature and people really want to use it. If they do not want to use it, they will find something else by chance but it must be attractive by providing good techniques. What we found out in the custom distribution effort is we try to provide good ways to make packages into categories. Categories means this is a work field. For this work field you need package A, B, C, D and we put it in one category or we call it task files. I think the main point once people joined this custom distribution effort was that we started providing web pages which are just making these task files visible. Up to one year ago Debian Meet was the only custom distribution which was using a technique which was intended to work for all of them. Then I was able to convince the Debian Edu people and we found a common framework and this framework was just displaying. I will show you in the second part what we are doing and this pushed the number of CDTs which are using this technique to five and probably three or four others are on the queue to take over this technique. We have found some kind of key documentation feature and documentation is principle our only way to advertise to the users. We have good documentation, you can read it, you can see what we are doing. We have some means to promote software that builds a really complete working environment. You can browse down the list which is not the package pool of 22,000 packages but 20 packages which are really specific to your work field. We can finally realize the end user interest to install this software of the work field and we also provide means to do it with one mouse click or one up-get line or whatever. Because upstream developers are often weak in just advertising their software they just put their software on the web page and are done and the better one are using Savanna or Sourceforge but I have seen software which was provided this way. I like sailing and some pictures about sailing. I like cats, this is my cat pictures and on the very bottom of the web page was a link to medical practice management software. Well, this doesn't work, nobody will find it and so you have to care about better ways of distribution of the software. So Debian wants to help these people and provide much more simple access and to make sure that this software is not just hidden like a needle in the haystack. And CDDs are somehow, well I called it kind of a looking glass into the Debian package pool. If you are looking at the Debian package pool this is probably the user who just have read 22,000 package descriptions which are swirling around his head and he is absolutely not able to make any sense of it. Just use some logos from packages and some Gimp magic. And now comes Debian Edu and makes this. You are focusing the interest of the user exactly on the Debian Edu stuff and people notice, oh, there is something which makes me happy. Or Debian MedSize, this is our stuff. Forget the other stuff, we care about your database system or Apache stuff. This is not for you. You don't have to care about it. Just try to use the applications and do not try to install all this stuff which needs computer expert experiences and knowledge. Just click on one button, install this and you are fine. So this in principle is what we are doing in CDDs and everything of this whole slide is inside Debian. This is an important point. And the term custom Debian distribution is, I admit this is really broken because it says for somebody who hears the term custom Debian distribution is immediately clear it is something else in Debian. And when I was having talks about custom Debian distribution, Debian science or so I told them we are doing everything completely inside Debian. I told them once, twice or three times in the talk. And the first question after my talk was why are you doing some additional distribution about scientific software? Couldn't you use Debian? Well, yes, I told you but you was not hearing. And I am thinking about finding a different name. There is even a wiki page renaming custom Debian distribution to something else in more sense to make people understand immediately. If you hear a name you should know what it means or you could name it like a fancy thing but a name which implicitly say something else and it is a little bit broken. It was not my idea, sorry. So now I am coming to the technical part of the talk and how to use this CDD Dev package. Well, basically it is doing some very simple Debian control files. You have to give a task name. The task is for instance in school mathematics, physics. So it is just the topics which are run in school or whatever. We have Debian Junior, they have games, writing. Also what is fit, which makes in Debian Junior case makes the small children able to write something. It contains some simple text processing program or something like this or games. The task is just the topic of the thing you can do with your computer. Then this task has a short description, long description. You know this is what is always inside the Debian control file. And then we have some depends. So this task depends from package ABC so you can have recommend other packages and you can have suggested packages. So this is quite simple. The CDD Dev tool now parses this task file to make sure that the package you mention as depends and recommends are really available in the Debian package pool. It might happen that the package managed from Debian because it's RC buggy or whatever and just goes out and so the CDD Dev tool just verifies that you get a really working control file. Then we have done one thing that if you specify it depends in your task file. We turn it into recommends and the idea was you should be able to reinstall the meta package because well some people do not want to have this resulting meta package and recommends are installed by default anyway and so we are discussing about this but in principle you should not wonder about what depends and up and recommends. This makes sense. The packages which are not available in main will be turned into suggests. That means if you have non-free packages mentioned as recommends or depends you don't have to check the CDD Dev tool just realizes this is not in main so we just suggest it. It is perfectly able to install the meta package and suggest are just ignored or you can install them with well yeah if you are using Synaptic or so just click on install suggests it is just to make sure the resulting meta package can in any case be included in Devian main. This is the main idea why we turn the non-existing packages in suggests and you can even mention packages that are not even included in Devian itself. I will come back to this later if I will talk about prospective packages part. So CDD Dev tries to create a proper Devian control file to build this meta packages and in addition to this task cell control file is generated this is heavily used by the Devian ADU people which install which are using some installer who is just presenting the user with the Devian ADU task cell file because if a user is installing Devian he gets a do you want a desktop and an email or whatever this makes no sense for specific use. The specific user knows that he wants to want a machine which is should be running in the computer lab in the school or in a medical practice and he wants to have the specific task so this task cell file is also generated by CDD Dev. So then we have some web tools to make sure that the information in the meta packages is easily accessible for people who are not just installing just want to have a look at it and Devian made has developed several web tools which are taken over to the other custom distribution as well for instance there is a so called Bucks Overview there is a link to the Devian translation Devian description translation project these people are just having a small metering in the micro scene they could tell you more about this then we are doing some QA features which means I do not think that the custom distribution is only about packaging software I think we should form a team which really cares about this software we have no image but I think it will show up later and I can keep on talking, is this okay? That's okay so we are making some QA stuff in the custom devian distribution feature because building a distribution is not only building packages but it is just caring for your users and if the user has broken packages or if the quality of the package is not as we expect the user becomes frustrated so we try to build really good teams and then we manage the QA status and we are using the really nice QA features which were presented yesterday by Tincho Tincho also had this devian midfuel and I was happy that he liked it and finally we have this task overview and I managed to make this task overview available to all other devian distributions and it's no little bit of shame that I cannot really continue without the screen because I wanted to present something it's my laptop at least provided in the stream it is streamed what I'm saying so if people have it in their screen I just continue for custom devian distribution it's working, it's coming in so this is great, thank you for the technical people and I've just re-initialized oh yes, great, thank you so this bug overview just looks at the task files I mentioned, looks for the dependencies looks for the bugs, all these dependent packages are showing I'm sorry, I just used a German local just to make sure you see that it's localized this bug overview, it's not too because I forgot it, we have this localized page and you are looking at devian mid bug overview so this is a few or four medical images and this is one bug and this bug overview has a color scheme which makes sure that the release critical bugs are colored red the yellow and greenish ones are not so important bugs and the blue are wishlist bugs you see, it is a translation bug in the SQL app stuff and so I can show you online later on if you want then for the deviant description translation project if you say we care for our users it doesn't mean we care for our English speaking users it means we care for all users and especially if you come to real end users in a clinic, for instance I think if you go here in a hospital in modelplata and would like to find a body of the stuff who is able to understand a single description in English of our packages you get some money from me I don't think I have money I don't think you find anybody we try to care about the translation of all this stuff you see yourself in some descriptions we have this overview only for some languages in principle we could add more but it makes no sense to make a list with only red crosses we try to find out the languages which are quite good translated so here the Brazilians do very well the Spanish and the German are also well these have so many red crosses because they are normally well translated probably it is the special field which is not so good translated and the Italian guys have to do some work so this is the overview of the Description Translation Project and you could click on this special packages if you want to translate if you have an easy way or you should have, we are working on this this is a few you can see this is another example from the Debian Mids Project and you see that these three translations are translated and the Italian one is emitting and you find a link if you can speak Italian language and want to provide some translations, you can do it so this is what I understand with doing custom distribution stuff not only building packages, care for your users make sure they understand what you are doing so then we are watching upstream this is a part of this QA the stuff you find in the qa.packages.debian.org stuff we just put a different layout on it and we cared for showing up all the packages we care this is also an example from Debian Mids because it is not yet ported for the other CDTs I am just working on it and so you see for which of the packages are new upstream versions available so you have a very easy overview of what this set of packages you are really interested in and you can also see which other features of the QA work is interesting for your very specific package set and finally we have so called prospective packages this is to do list that means the following if there is a WNPP bug ITP or something which is interesting for us we just use the package file as the main source of information and just put these items into the task file it depends on the not yet existing package home page responsible it is interesting to know who actually issued this ITP bug because sometimes this person just vanished so you can ask are you interested so then the license, the number of the bug and if there is an unofficial package you can put the URL because the user might be interested to install the unofficial package perhaps there is an external repository not yet included in Debian this depends goes in the list of suggested packages and if the user on his machine just adds an additional source line he just can install this unofficial package so this is an additional feature this is a package description the effect of putting this I think this is not so good scaled I just use Debian science stuff because can you see this better this actually this task pages are ported to to all the TDDs it is very easy to you just need to create task files you get the green ones are the packages we have in Debian so if I browse down we have a lot of astronomy related packages was you aware of this? so this is a problem you have get an easy overview of what is really in Debian with a special working field and now we come to the yellow section this are experimental or unofficial Debian packages that means there are any Debian packages out there or there is some packaging stuff in a repository or whatever and these one are listed here I don't know if the projector makes it's really good yellowish green is above and the below is yellow and the red ones this is a real to do list we have an WNPP bug but it is not so there is no official package available and there is some work to do and this is just listed to make the users aware if you see it on your screen this is better on the webpage if the user sees the green ones packages are in Debian well it's fine I can use them the yellow ones I have good chances to install on my machine and these people are really working they are working on this stuff and they are showing what work is done and it also makes sure for the CDD people that they do not forget if you are if there are more ITP bugs which are solved by an upload of a package or which are solved by just removing it from WNPP because nobody cares anymore and so this list makes sure that the package will not be forgotten so this is our task pages and these task pages finally convinced several people to take over this technique the Debian Junior people had some issues why we do not want this task files built this way and that way and why should we use it and now they are using it as well so here are the this is what I showed you online so coming to the end my plan is well it was on my tool list for Debcon I will finally do it I want to do some further enhancement to these task pages to make it some more it is my last slide thank you I have got some additional minutes it is the last slide anyway so I want to do some further enhancement to this task page this is fine web stuff which was done by one of our Debian made crew available for other CDDs it is just some factorization putting some variables where Debian made was formally and changing some URLs so this is probably quite cheap to make available for all CDDs and I also want to bring back external projects to the Debian community by providing these tools so we have several people and we have seen them in the round table for instance in Munich people if they think well this is a cool tool to show our administration that if we join closely to Debian then perhaps it makes life easier to join Debian to make the focus that your special task is really interesting for us and we want to care for it and so I really hope that we will have success to people who derive from Debian but might come back and if you wonder whether you find these slides you will find them after my talk I just didn't link to this but normally you find all my talks also the old talks and you can feel free to ask some questions no questions? I don't mean that you didn't understood me or I explained everything so good that you perfectly understood perhaps just a comment what I started to see is a lot more people are producing bug overviews for different things and duplicating a lot of work that should really be done in a centralized location one thing that would be nice is instead of people making more bug overviews if they started working with me and the rest of the DebBugs team to make those overviews available because there is nothing inherent that is possible to do so that is something that instead of duplicating work would be better spent doing it at once centralized yes there is a very good hint and I wanted to come back to you once I am there this David Palaino is a very great guy he was very fast doing things and I hope in the process when I want to generalize this which duplicates at less as possible so we just want to have this specific few and this specific package and if there is a solution which makes this brain that easy then I will talk to you just to make it really obvious you can do it now it will be a long URL but you can list every single package that you are interested in and a single query and it will show you only those bugs in those packages so in a single tiny dot url you would have that exactly so we definitely want to avoid making more and more stuff it is just to get this set it is our interest and provide all the bugs and if it is easy to use with the BTS I am very happy about this some more questions so there is no point in waiting any longer I got the red light from there Andres it is documented in your article that if you obtain the complete Dabin GNU Linux distribution you have all available custom Dabin distribution included is that works for the install process I don't know if it is possible to have a custom Dabin installer for a CDD I don't know if you consider that should be the same Dabin installer inside Dabin or if I change something the installer like the images banner or some splash in these Linux you are scratching on the definition issue of custom Dabin distribution in principle in my opinion it should be possible if you are creating your CDD installer you just switch to the build process and this build process cares for just turning one single switch to install Dabin Edo or Dabin Brazilian to make sure that this installation medium must install this CDD this should be the ideal goal we could probably could make some tweaks or whatever and I do not know if it is really possible but the goal is to change as less as possible in Dabin and if you think it is not possible for you to make this installer this way and make this installer it is tiny bit different with a different image but you could even put your splash image in a package in Dabin which is needed to build your installer at least this is my idea if you disagree plus tell me anybody else? thank you very much for your attention