 Hello. Welcome to my talk. I really thank the previous talk to fill the room, so it's nice. I will be speaking about the relationship between upstream and downstream, and in case of Debian, also the down parts of having a very good packaging team. Myself, I'm Steve Schneb, I'm working as upstream of Munin, and well, that's mostly it. So this talk is really dedicated to all the packaging teams. They are truly awesome. I mean, really? I mean it. Not as a plur. Yeah, I know we are mostly of Debian, but many, many destroyer. Well, that's quite great. So the agenda will begin by a little survey. We'll speak about separation of powers between upstream and downstream. We also speak about the very usual case when upstream is downstream. And we'll have the very specific Munin solutions to this issue. And yeah, I mean, compared to the other talk, I won't have any, any comment lines. So no, no color either. So should be readable. Actually, you notice the layout. It's my design. So if you think that Munin is quite not very fancy, that's why. My fault. So a survey. Who is Debian developer here? Oh, nice. So some aren't. Who is upstream? Oh, interesting. Who is both? Who is both for some package? Who wants to be both? Don't. You'll see why. But well, it's not really, it's only guidelines, but well. Okay, so separation of powers. I mean, you know that every democracy has this pillars of every power should be separated because one, well, usually one usually always six is own agenda. And if you're alone, you it's very interesting to to six or or an agenda. You see, if you're a dictator, I mean, you can go very fast somewhere. If you're a democracy, you have to agree with others. And that usually takes long. But some, but the ways thing is dictatorship is very efficient. But unless unless you are the dictator, you can go wherever you want. But it doesn't usually follow the path of everyone. I will speak about Austrian. That's me writing software in the in the Munin example that I will take. What really interests me is only supporting a single version. I mean, I don't care about others. Only what's on get the on get a master and the rest I don't care. That's my ideal word. Also, I also always install to a single part code path. You have different environments. I don't care. It's not my problem. On my box, it works. I want to realize every often mean ideally, I had just hack a feature. I mean, and I want to show it right away. And for everyone to consume. It's it's it's very natural for for when you're upstream because mean you don't want to to to spend time working on features and and and having them in two or three years when the next release is here. So and what I don't really like is interacting with users. I mean, not massively mean when you have one handful of them. It's really great. And but when you have a thousand of them, mean it's it's getting very interesting because you your mables gets filled, your bug tracker is is full. You cannot mean and but the user it's it's quite nice because they force us to to to to they have real needs. So if you're completely disconnected to to to your user, the software doesn't work as we saw in the in the in the late night stand up. And and what I really like about downstream is it's they all handle the storms. I just write code in some isolated way and they they just bring the the survey of the fields then users and they say okay this this is important. This is not so important and this is great. This is not so great or are you sure this is great and that's very very very interesting. So now speaking about downstream, that's you when the one who raised the hand. What interest is of interest about it enables the broadcasting of software because when you write something usually in the free software you want that everyone uses it. I mean it's it's not wrong and when you're alone as as upstream I mean to have a very broad coverage and it's quite difficult. I mean I know that these days every project begins with curl blah blah blah github.com, Pipe, Sudo, Sage and Barbara it's installed and it's not very interesting to to to install that way. So for this part we have distros and they're really good at that one. So to send the software to the users everywhere it's it's a nice place. They also are very kind in supporting most all versions. I mean if you Debian for example supports a very old version of Munich that well I didn't I mean I did I don't offer many backfixes and there are still some backfixes on that and it's quite great. And the other thing is every distribution has its own version that's a little bit interesting also because every every distribution has its own paste that's normal and they freeze the code at one version of upstream and they integrate it in their distribution. So I'm not speaking about a rolling release distribution but more fixed set like Debian or CentOS or Red Hat. And also distribution you have I mean if you looked at the distribution survey I mean you have so many distributions to use truth from because there are so many different situations that users are into and they offer a centralized package for doing very specific stuff but upstream cannot do. I mean I don't have the manpower to address every single problem. I mean specifically when it's very very tiny and specific to one platform or one configuration or whatever. For example many doesn't even have a support for starting. So any D or system D or whatever is completely handled by the distribution. I mean for upstream it's just install something at boot and blah blah. It's quite easy for me but when the real stuff is done by distribution team. And distribution are very nice in that they have many users already. So I mean they have the tools to deal with that overwhelming amount of users and alternatively with you when you have big users you have also a big number of bugs. So actually the BTS kind of thing is quite awesome. I really like to work with with that and especially when I'm like packages just do a summary of what's important what's not and they do bug charging that's really really awesome. So I'll speak about one on very special project who has one person's project right now working on. Okay mostly everyone. And thing is who is packaging it for this single person project is packaging it for Debian right now. Yeah same person. And thing is it's really great because when you're in a position of doing that your project has automatically a broad visibility. As I said before with broadcasting software. And the release mean you're your own judge so your own dictator as I said so it goes quite well if it if it doesn't well I mean you're you're you're to be blamed and it's it's it's like that. So it's good because there is no overhead it's ideal for small projects. I mean the one one person's project is very typical example. And and it's great great also to to yeah it's great great also to to to attract people because if you can show something people will come and mean vapor war is nice but it only lasts for a while. I mean after people get distracted they go they go somewhere else and do somewhere else more interesting. And the the the most difficult part is is to attract a package when you're a stream the most difficult part for new projects is to attract a package. So you're in a great position of being both. That's that's quite interesting for you. And and that's that's that's great. But it has this also is issue. Usually when you do that you don't distribute Talboros anymore. I mean usually it's it's when we'll see that in Jebian it's a little bit different but but on on other on other distro they don't distribute Talboros anymore. It's it's only in RPM and Basta or or the Git tag. And usually when it's one person project it's only one distro that is handled. I mean here I suppose that you don't package it for Red Hat. And so it it's assumes a lot. For example usually it assumes that the the files of the config files or the installation part is is somewhere and and there is always something installed and therefore you have less less portability and also less documentation. Since you don't need to explain people how to install it except APT get installed in my software. I mean that's the greatest part but the biggest part is is is it's it's since it's so easy you don't need to to document it and usually people don't do it when they're not forced to do documentation. That's bad but that's human. And it does not scale. It's the thing is when you're alone you're alone. I mean it's it's like when it's like software when when you have an algorithm that that does this you can optimize the algorithm but you can go much much faster in in putting 100 machines and it will go mostly automatically 100 times faster. Yeah it's not do but you get the point. And so to to attract new people it it's it's quite difficult and especially when it's when it's one person project that that has as I said no documentation and no tarble or whatever. Yep so I'll speak about our okay I speak about our solutions to these. It's we don't we don't have we still have tarbles. Actually it's because of Debian you require it. I don't care about tarbles anymore because no one installs it from the tarble nowadays anymore. I mean in the era of a vagrant that you that we saw I mean I mean everyone has its own preferred way of distributing a software but should that's a plea. Well it's okay. Yeah provisioning. I mean we really try to have every distro sync on one version. It didn't happen yet. It's quite difficult to make it happen but it's it's it's not bigger. We we started with LTS versions like like Debian did like because and then the distro can rely on having all the same versions and at the end we have we really avoid version in depth because that's what kills packaging. It pulls hairs out of our loving packages. So we also have we also write more documentation and what one I we use a Sphinx. Who knows Sphinx. It's basically something based restructure text based it's it's something for like markdown but and it the good thing is generates like a book. I mean you can read it from the beginning to the end with index and because the wiki is nice but you always get lost in that. I mean you have so many information you just don't know how to search it. Portability we that's still an issue because we only have homogenous hardware and we try to have to have a demo cloud and I mean a demo version in many hardware but well yeah okay that's the end part is so thanks Debian for letting me present this talk and yeah I will not say everything you can you can you can read are some blind people here and all the other people in the media to access system and really really I thank packages because because you're doing a really great job you even have two slides and well that's mostly it. Questions yeah no comment line no questions I agree okay well thanks you can have lunch early