 Okay and before we begin just again my regular announcement about the bag outside that's for plastic bottles and metal cans which are recyclable recyclable because we can get back a deposit of that and use it to buy a dual-studded crown for the project leader or something like that so I'm sure they'll get double now you can also put money into the back so our next talk today is about custom Debian distributions by Andreas Tiller and I'll just hand over everything to him okay thank you very much at first I want to do some advertising for Fujitsu Siemens who are not able to get me let me see my own screen so I see exactly the same as you and I have no hidden secrets that's why I'm standing here okay I hope wonky managed to keep you awake after lunch and so I have a good base to have a nice talk to you so I in principle I'm just continuing to think we did before lunch in the roundtable talk and I want to present my ideas about custom distribution without getting interrupted by other people so at first I want to talk about something in the past what happened a very short introduction then I want to give an overview what I think what is the current state of Debian and current and custom Debian distribution the relation between both and I want to present some ideas about the future of custom Debian distributions so what about the history at first we had Debian internal projects the first one was which was custom Debian distribution related was Debian junior it was just to make children happy and keep the work of installing the computer away from the parents I like it very much I'm very quick to install the computer of my son so fine I just adopted this idea for medical applications in 2002 and in 2002 also Debian edu started but it was not the same as Scholar Linux is now or Debian edu is now because these internal projects became a little bit misinterpreted to be technical projects like the one of embedded embedded Debian or whatever we decided on Debian 3 to change the name and in this time it was just well grouping packages into meta packages making things more visible by just installing one package with his dependency and throws everything in it was nice feature but I think today we are more as I said we had some kind of evolution two years ago at tap that comes three we decided we need some well differentiation between the more user oriented custom Debian distributions regarding to the pure technical stuff embedded Debian is a target for a technical device by the custom Debian distribution targets to a special user group which makes a big difference so in principle at this time we thought about a kind of technical cooperation between the existing custom Debian distribution so we try to implement some common tools for Debian Junior Debian made Debian edu at whatever to to just stop people reinventing the wheel and this is remarkable some folks from Debian we are coming back to Debian for instance at precisely this Debian conference 3 it was sorry it was noted that Debian edu was more or less that nobody cared about Debian edu but there was a very vital project ScholarDinox we deserve them major parts of the Debian installer and whatever and so it was nice that these people just took over the Debian edu effort just they became Debian edu and so came back to Debian and are now presiding more or less inside Debian also this DeMudi project it was originated in a project which was sponsored by the European Union Union it was the first free software project which was sponsored this way and they are just targeting to the multi-major artists to make a distribution which contains contains just all the stuff multi-major artists would need so what are custom Debian distribution they are applied to our users what happens if a new user insults Debian well he is faced by well 10,000 15,000 whatever packages what is the sense of it if the user wanted to read all the package description it would take him what three days a week whatever and he wouldn't be able to understand half of the descriptions including me I do not understand every descriptions of packages in Debian and so the user just becomes frustrated so what about custom Debian distributions well it is easy you just think well I have a I have a known user for instance a schoolboy or a teacher whatever and we get the focus on Debian we get the focus on Debian which just gets out all the stuff we do not need and just focusing on the interesting stuff and so this this lens what you will see here this is a custom Debian distribution and it focus on the our users which are in schools the next example is Debian made just if you are medical stuff takes this lens and you you see clearly what is interesting inside Debian for you as a user with a special interest and this way it works graphically spoken for every special users we can support we can support lawyers we can so can support also people who are doing geographical information system and whatever the list is longer than I want to present here you can read up I just want to explain the principle so we have more than 10,000 packages and the users which are our target users for custom Debian distributions need a defined subset of these packages and our major goal is to make this subject subset available for these people so we know that there are groups of specialized users and we find out what is the need of this special group and the thing is that if you have specialized users they are certainly not informaticians and an informatician can cope with Debian as it is he would not be confused by the who must because he knows the stuff you really use it we have make sure does that our users who are really not computer experts find an easy installation and in configuration which works for them so the main idea is not to fork Debian but to make a separate not to make a separate distribution but make Debian fit for the special purpose of the person who are doing this specialized stuff so in my eyes we have two basic things inside Debian we have maintainers most people are maintainers and I regard them as a missing link between the upstream autos author and the user in for especially for specialized applications upstream autos do not not much about usability and whatever and users just are not possible to use these application because they do not know the internals they do not know how to install they do not how to work with this package and the Debian maintainer has a task to make the link between these both groups and another interesting feature in my opinion is that Debian is kind of well it moves the principle of free software at distribution level we are not we are not just writing free software we use the principle to write free software also to distribute free software if you look at commercial distributors they bring bring something in to to just own money but we just try to define our own interests and bring our own trusted interest into the user space what do I mean with this I'm working in the field of medicine so my own interest is to have a distribution which is fit for medical users it is the same people who are writing a special application for medicine writes them at first point for for their own use they want to use it at their own and the user is profiting from this in the distribution we do it also at first place for our own and then we try to make it so good that also our users will gain profit from this effort so why should we include special applications into Debian this is an interesting question and I'm not personal personally absolutely sure if it is good because Debian becomes larger and larger we become even more packages if we include all these special applications so this is the point we should really discuss I'm not really sure about it but I'm a little bit biased I think it is good so the question is we can discuss later on how many packages are good for Debian on the other hand we can bring those special applications under our quality control Debian is well known for a high level of quality so it is very often the case that these special applications do not have this high level and we couldn't increase the level if you ever deal with such kind of special applications like the well I say the better versions of practice management systems you see they have a very very low level of information science under the under the hood it works on the surface but we have to increase this upstream programs by just bringing them under under our control and I know it's for my own experience the upstream authors are happy that we try to help them to make their software better on the other hand we can attract a wider user base the user base of Debian is really huge and so if some specialized users just install Debian for their own purpose whatever and then they see oh there there are some applications I could use also in my job they are really good for me then they sometimes notice stuff they wouldn't even notice if if the applications hang around anywhere on the internet and so we can attract a wider user base for these applications so the question is how many packages are good for our users because we are obliged to our users now to a certain amount I changed my talk after discussion last week on the mailing list and so I bring in some ideas about the limits of growth in Debian oh sorry I have to go back sorry this is the advertising for the Siemens people so we have a growth in Debian if you regard the number of people are working with it it is the number of maintainers is increasingly growing well we are not sure if this does really scale well the same happens on package level you have also I mentioned it no idea if it is really good to have more and more and more packages then the number of architectors is growing there was a very interesting flame bar how to cope with it I want to go I don't want to go into detail but maybe we just cut the number of architectors then the number of bugs is growing and growing the number of users is growing this is on one hand it is good but I just want to mention we have growth in several dimensions the number of derivatives is growing some people likes this others might see problem inside it and the time spent between our releases is growing well we hope that we can change this but we should not only hope we should do something for it a good thing is that the numbers of attendees of Debcon is growing so this is a nice number and the amount of money sponsored to Debcon is also growing also a nice number so I try to concentrate on the first seven points and the eight and nine points might help to sort of one to seven so here comes some kind of philosophy in the talk well you know perhaps I'm biased by the GDR education with Hegel and Marx and Engels or whatever they they found out that if you have a growing in quantity there is a point in time where it changed to a new quality and Trotsky found out it is very critical to find the point in time when this change happens okay but that's why yeah sure but I was referring to the first point beside that this is nice to talk okay but the problem is we have to find that we found the point in time once this growth in quality changed to a growth in quantity changed to do a new quality and I really wonder if we just are below this point I'm wondering if I hear some some words of some fellow deviant developers I have the two times here yesterday and today that deviant developers who are very long in the project longer than me and very interested are just attending here to see whether deviant is worth continuing working on it so if long-living deviant developers have those ideas and think well if deviant was working on it or should we go to another project it's deviant that's what I was working for in in the past we have to to think about this stuff and we have to take it serious and that's why it is a very sensible task to find out if we just are below this border or if we are if you have a good chance to solve the problem and so the next thing is the Darwin principle something evolves by changing the quality and so we I think we have to try to evolve inside deviant and make those structural structural changes that we can evolve in the positive direction and not to die out and got out of the line by others so in my opinion CDDs can deal with nearly all the dimension of growth and I want to explain why I think it would work so on the left side we have the problem and on the right side the CDD solution well I've told you we have a number of growth of the people of the number of people grows and if you take if you think about deviant as a as a sub structure structural thing with several custom deviant distributions we have smaller sub projects and so people inside these sub projects can come come closer together and work in smaller group and so it's better control we have sub project leaders who controls their members of the groups so we have the growing number of packages so in custom deviant distributions you find some sub structure to make a closed package set a closed package set in this sense that the the user now as the users are known and the packages are interesting for these users and in the in the consequence we are making distribution for users and not for fun the number of buck is numbers of buck is increasing so how can this help if you go the CDD approach in every CDD you have certain people and they look for a certain type of bucks so if they find a stronger focus to the buck tracking system and feel responsible for a special type of bucks it could be help to resolve at least the critical ones we have an increasing number of users for the custom distribute custom deviant distributions these users are specialists with a known profile and we know the needs of these users better than if we do a general distribution we have a growing number of derivatives so if we do reasonable customization there would be no real need to derive in so many directions deviant would be flexible in itself and people could keep this stuff inside deviant and regarding to the time span we could think about just releasing close set of packages releasing just these custom deviant distributions we can provide separate packages files in in our big pool which relies on a common base but just contains the applications most users of this scope really need so in my opinion this table is a good overview what is possible in principle well now it's time for the technical people to implement these solutions it has to be a community effort to make this happen so now something about deriving from deviant in my opinion there exist two main reasons to derive there may be commercial reasons you can add something to deviant but which can't be insights like non-free stuff or whatever so we cannot do anything about it they can take the freeze apart from deviant and just add what what I need to add to go to the market whatever non-free software or if they think they need a shiny installer or whatever no problem with that or some service companies might need a certain brand so I just want to say this is my brand and you use it but in principle is deviant was with a nice cover around it so this are commercial reasons to derive from deviant then there are also political reasons if you are working for for government or whatever they need a nice flag or whatever or something else as a background and well this is our product yeah they are free to use it and this is also kind of rebranding or sometimes you find projects which are granted I mentioned the de Moody project if they are granted by the European Union they need the product to show them this product is what is called the Moody but in principle it is deviant it is compatible it is fine so this are in my opinion reasons to derive from deviant what I would call a misconception about deviant which leads to every derivatives would be it is impossible to work together with deviant well there are many people who think this way and I have to admit they have reason to think this way because we have some maintainers who are really hard to work with but this is something we have to face and we have to target and we have to find solutions then they think deviant is an inflexible beast really huge and you can't do some some fine fine configuration whatever but my reason was to use deviant and to become a maintainer because you can do something yourself we have this doocracy principle inside deviant the doer decides what happens and if you think deviant is not flexible enough just do something to change it it's your distribution and you can do something to change what you don't do not like so what about the present we have some grouping of packages as I said in this meta packages piece the technical details I leave to to former talks or whatever or ask me in private this is more a political talk to get the idea the meta the meta packages can contain depends recommends or suggests for packages so it is this this lens I showed you this lens is each meta package is a lens to few on the package pool of deviant just concentrate on the things which are relevant for you maybe some conflicts so you make some black spots whatever if it's necessary I haven't faced the situation but it might be and then we have user menus because we need some some specialized users in these groups which have which have different needs so if you think of school linux maybe the teacher perhaps might have a different menu from the pupils or the students and so we have some roles to implement and we have also some configuration issues why do I think that user roles which are expressed in menus are really important if you think on our users which are no experts which do not know what is installed on the machine it is just simple what's not in the menu it's not on the machine it's not visible and that's why I think we should care for those menus for our user target target use and we also want to reduce the menu to the interesting part you know the deviant menu is very large and contains many interesting stuff but it takes much time to find out which is really relevant to me and that's why our target users should get only the menu which are interesting for them and that's why a different shape of this lens as a focus on the interesting part so just a side note you will not be able to read this I explain it short there we have even users outside Debian I just got an email by by a user that CDD dev package I'm there out of home was not installable he scrambled something up in his set up of a local mirror and so I asked him what's the problem was what what did you on your machine and well he told me that he is installing a computer pool and just building some private CDD packages for the use in in different classes of the room and so we we face the situation that people got the idea to substructure Debian and to make these substructures available to their users or even people outside got the idea of making custom distribution even if it's not is of wider use the idea was accepted to have the sub grouping and substructuring so what is the problem if we try to adapt package configuration well at first point we have to relay on the package maintainer that means we need some depth conf questions in a package to have clean configuration so often it is fine we can perfectly configure packages but on the other hand we have to cope with overworked lazy or stubborn maintainers whatever who say well I'm not interested in this depth conf question I will not implement it so but now what should we do from a custom Debian distribution point of view in my opinion here the answer is group maintenance of important packages so this group maintenance should contain or this group of maintainers of these packages should contain people who are from different fields and are competent in different use cases so they will be much more flexible in implementing the needs of the users if we really not are able to convince the maintainer or the maintainer group then we have one fallback which is not nice but well we can walk about around it with the CF engine and so gives the local administrator at least a helping hand to to work with a change of configuration so a new star on the CDD sky is the custom Debian distribution to a kid it is currently developed from some people in Valencia because my the CDD depth to a kid I developed has certain constraints and is does not really scale for all purposes and so there is a new development which deals a different way with these problems for instance they have tried to implement in brapper around up and they store original config files to a separate place install their own config file and on upgrade is which is the most critical problem they do this specific specific configuration and there's also some some other there are also some some other ideas to replace a meta package approach by just installing the interesting packages in a other way that this would be more flexible but the meta package approach is also done if you like yes we ran across a similar situation of progeny with with with comp files because we wanted to be able to brand a distribution for our customers and that means meddling with Etsy issue and Etsy issue net and the solution we ultimately came up with was a Cluj which was to fork base files to not mark those as comp files the real fix which I looked into and found out wasn't possible yet would be for diversions to work with comp files but deep package divert explicitly does not work with comp files so that is a very specific technical piece of work that could be done that I think would assist with this kind of thing yeah this would be interesting I believe actually what what was very quickly mentioned here about how the CDTK is during a diversion is the diversion that you are also talking about it's a clever hack of doing the diversion yes sure the things we did essentially had the same consequence they were essentially the same tech we just implemented in different ways but the right fix would be I think to have deep package divert supported yeah this is this is what what I mean was the current state and the future will be to fix this to fix it the right way so the current state of documentation I have written a general CDT documentation which I am in the end of the talk I point you to the link to this PDF and underlined texts are linked so you can find it easily there should be some web tools currently we have nothing there is a possibility to do some basic things automatically and the documentation is very different between CDTs well it doesn't matter if it's different but it would really help would really be helpful if we agree to some certain basic level to to make our effort uniform to if users come to the website of Debian they should easily find what's there what can I use currently the custom Debian distributions are not really visible on our pages and this should be and enhanced I have a question too currently is there any easy way to make a live CD because I can imagine that for many can I come back and I come back to this okay yeah one minute we have this new generation toolkit which is currently developed in Valencia and this will replace the meta package build system and do some alternatives which might be helpful and it contains some simple techniques techniques for configuration but this should be enhanced and not well more or less we have hacks and we need a real solution we need the technical solution okay okay so thank you for the question regarding to live CDs and installers my opinion is live CD is really nice to have we need these but in principle knife CDs are a perfect way to just show off to show people oh I have this shiny one put it in your box and show hi good how good I am this is important for marketing and advertising but in my opinion for real work you need also a good installer so we need both and we have no tools to build live CDs we need them I hope we will get them in the sequence of our development but currently there isn't anything yeah there is somebody doing it but the question was is there yeah it is it will be in the future when hurt comes out okay yeah yeah okay whatever yes question well why is it why is a microphone is walking I continue and then you interrupt me again okay okay whatever we need installers who are like user just pressing enter well this is the type of installers we need just pressing and enter like the hen which which picks on the enter key it's it's a fine thing to have and this way our users like a soul the question hi in Israel we use live CDs for something like taking advantage of all the hardware and using custom distributions not by this infrastructure but they base on something like more fix or not pick and really making a distribution which is based only on nice it is you won't install it but I'm not I don't think it's just nice to have it sometimes be a must tell me a reason where you need must have an in productive environment a live CD instead of a install operating system maintenance yeah chaos well but you can you can have a net boot for kiosk also this okay yeah good okay as a kiosk system was was the question but well I admit there are special cases really but in general I think users want a rock solid installer live cities are fine maybe I was a little bit shortcut so I admit but I think if we have a reasonable live CD it is really worse having it but the installer is the thing I would focus more on okay my personal opinion I might be wrong okay thank you and from our experience especially in the education system people or students tend to ruin the computer and play with the settings and so on so we prefer to work from live CDs and we know but you can you can do a net boot and have this class computers this net boot just us as calling new people it's also a good solution but we can't always implement it okay thank you because the the pupils are easier in in what whatever playing putting a bubble gum in the CD drive instead of well making the network card travel or whatever so I think it's but whatever so for the documentation side we need a better web presence as I said and we could even do an automatically graphing the dependency map what I mean this is we made it manually for the Debian made pages you have all the things in this meta packages are listed and in kind of to-do list they are this is the colors scheme which has a green color for the included packages a yellow color for the packages which are on our list outside Debian we want to move to Debian and a red to-do list for the packages we want to have into the move into Debian to show the users we are here we want we work for you join us help us and this you can expect from our work to pay to be visible over the net if you are not visible in the net then you are lost so unified web pages and enhancing visibility as I said then to the bug tracking system the bug tracking system currently do also not really scale well if I want to have an overview over all packages which are in the dependency list of my say medical image in meta package I'm lost but I would like to check what is the problem in in medical imaging as a whole and so I can check the bug tracking system for single packages but not for dependency list but I would have to would like to have clean all the dependencies we have also found some way to take to take the interesting packages in the work needing and prospective packages list but it's also a hack so we have to implement kind of a view to the BTS as we do it to the package system I have no idea how to implement it I hope for recommendations so we need an enhanced CDD centric view or interface to the bug tracking system and we would need user documentation documentation documentation we need documentation and we need translation because our users are normally if they are all over the world they are not experts in format in F informatics and we cannot assume that they understand English that's why we need translations so structural changes in the in Debian I see as I said CDD might solve structural problems we have to decide if I'm right or not maybe I'm not but I hope that this talk might be helpful we should try to fit the interest of our users and I think custom Debian distributions can make Debian stronger if we do it in the right way this is important we have to find out what is the right way and we should follow it and so it is a quote from Enrico he has always the same talk about the last final step about towards total word termination and thanks to Enrico I'm just adopted his headline perhaps we can reach this final goal so I think I met it if you are looking for the talk you can either go to this URL or just Google for Andreas Taylor talks and so you find it on the first hit and there is this PDF document if you want to read it and there is a quite large technical custom Debian distribution documentation at the same place and now I think the question session is open so any more questions well I had one observation to that anyway one of the new features of Deb bugs is going to be tracking by release you know for stable unstable and so on perhaps that could be extended a little further so that you might be able to have a tag for a custom you know distribution or something like that so you know that might be worth looking into but it in principle it would be easy to implement if you have so we have this meta packages just stick to the example it is called mid-imaging which depends from all medical imaging applications and you have just to to find out the list of dependencies and list all the bugs regarding these packages so it is the information is there it just has to be implemented okay well so are there any final questions I can take a 10-minute break oh wait we have a question over here can you explain in more detail what Debian developers should do to help the custom Debian effort well I think the general Debian developer could try to make flexible package configuration for interesting packages maybe there is some some effort in in database programming that's you need some special configuration just try to follow their the bug reports or the wishes bug reports of the custom Debian distribution people then try to find out where you can help in the custom Debian distribution effort what are your interests your personal interests and perhaps you find a special field for yourself I couldn't help be helpful or whatever are you thinking on any special things this are my my main things enhanced documentation could be everybody not only developers okay so let's take a 10-minute break before the next session and thank you Andreas I'd like to remind everyone that after the last session of the day we don't have much time before we have to clear the building so you know try not to stretch it out please feel free to continue outside but we have to close up the building on time