 All right, let's get started again. Our speakers this afternoon are some guy named sitter and Jonathan Riddle Because nobody can spell his name apparently they'll be talking about Katie in neon and take it away guys Yeah Hello So Katie's turning 20 years old isn't that awesome? Unfortunately in that the process we employ hasn't haven't really changed for 20 years There's a bit peculiarly because the industry has moved on right in the industry's DevOps is all the rage It's a continuous cycle of you code and then you deploy and then you look at what you deployed and then your codes are more But in in terms of how we release our software we haven't really adopted this what we do is we have a Release cycle where we do code then we have the feature freeze then we release the software as source code And then we leave it to other people Take this source code and turn it into binaries And so in a way it hasn't really changed since David for first uploaded cake on because I'm an ftp server many many years ago and Stefan Hullo would take this source code and turn it into a binary for people to actually use and so John and I we went to California with a part of the plasma team and we thought it a good idea to go surfing there For no other reason than that And we haven't and it hit us right and releasing software is a lot like waves Right, it's there's a release and then there's like this massive wave of stuff that you need to do And it's all very horrible from the integration point of view, right? Frameworks as we've heard is 70 towels or so who's gonna do that all at once, right? Integrating it to all at once It's not practical from from the integration point of view because you're doing a lot of change at all at once so There's gonna be problems. You're gonna mess up just because of how it's working and Jonathan is the release manager for plasma and he also doesn't like it because as a release manager you're sort of You're putting your name on the release, right? You're responsible that this is gonna be a good thing and how can you how can you reasonably do this if it is? very hard for people to actually try software before it is released and So we decided to do a thing we call neon Now neon is a cool new way We or rather the way we imagine kitty software should be done, which is Without the strict separation of creating code Releasing code and then having someone else someone unrelated in fact other organizations Integrate the code and Neon tries to solve this neon very much is about getting kitty software to the users to test those to developers as quickly as possible and So we looked at the playbook that the industry employs in order to do this continuous release cyclipping and We set up a Jenkins instance Which is now building? Kitty software continuously in a way that can be installed and used by us by users by everyone who's interested really and It set up under the Katie umbrella. So every Katie developer can go to Builder neon that Katie's org and trigger a build If you so choose also the packaging so the essentially the instructions for how do I turn this? source code into a binary It's also hosted on git repositories that are on the Katie umbrella So every Katie developer can go there and tweak with the packaging, right? And We have a lot of technology in there that prevents things to break for the user So you can sort of go wild, right? It's gonna turn everything red and then you will probably get an angry mail from me But you can do it right? That's kind of the point We are not separating between who's doing the the application source code and who's doing the integration Now we started off with frameworks and plasma Because clearly those are the core products that we're producing for Linux On the one hand the foundations will build upon the frameworks and plasma of course being the The workspace that everyone Should be using really because it is the best workspace, isn't it? Absolutely But and recently we also started doing Application releases extra gear even though extra isn't really a thing So generally all the applications that we have in addition to frameworks and plasma It's really cool and It's chucking along nicely and the really cool thing is and this is sort of a hidden motivation is Packaging and integrating software for the longest of times has been a very manual process. It was David war uploading the tarball someone else fetching the tarball Building the tarball the tarball would not build because dependencies were missing someone goes off finds the dependencies But the dependencies it is a really messy process and it is cumbersome and awful and So the hidden motivation in a way is that Everything is automated like doing a frameworks release for neon is clicking a button and then Machines do this their stuff and at the end comes out A binary that we can install and and use The entire thing is driven by something we call pangia tooling pangia tooling is In the broadest of senses Tooling for a CI systems. It does a lot of stuff. It basically sets up Docker images manages Docker images life cycles and whatnot It is a fairly expensive Library as well that just does stuff Relating to see I and so it isn't really a surprise that the same tooling is used for a Debbie and see I a Rohan garg is running Which basically does the same thing but on a Debbie and core system and the same technology is being used to To build the plasma mobile prototypes. We're doing The entire thing is written in Ruby with some exceptions There's actually many different languages involved, but the core I would say 95% of Ruby and it's all unit tested and lovely in addition to that we also have a Repository where we host the binaries Now we are using depth as the binary format because we we know depth. We know how they work. We are Probably reasonably good at creating them I would say and So at least the software used for that and the entire thing is being built in the cloud because scalability and whatnot We distribute files over files that kd.org the established mirror network. We also use for source tab balls for the longest of times and Recently, we've got a new git setup that is basically exactly what we have for the source code. It just runs Separately because basically what neon needs to do is have for every KDE repository Repository we have neon would have a mirror repository with the packaging instructions for the code repository and Importantly that repository because we're a KDE project everyone who's a KDE developer or 1000 odd people with good accounts can make fixes directly to it So there's no more a case where you install it and you go well you didn't add that far in the right place Everybody in KDE can make those fixes directly and then they can Build them and then they can test them directly and trivially and so the whole process becomes a lot more smooth Because there isn't an artificial separation between the people making the source code and the people deploying it And we have to have a way to deploy it and so we have installable ISOs that you can download and install on your computer And we use the foundation of Ubuntu LTS edition which gets updated every two years So that's a nice stable edition and it's unlike a rolling release setup like Gen 2. It's not going to Take ages to update every morning, and it's not going to break or Yeah, it won't break every morning, but it has enough updates in it that is still relevant after those two years it's still perfectly usable and We deliberately kept it quite light System that you install by default the visual design group picked a few programs which Are the best integrated with plasma plasmas KDE's flagship products and we design neon around plasma So they picked VLC For videos and Firefox and Dolphin and Ark and Gwen view and and that's about it for default applications because people Beyond those basic ones will have their own preferences, and they're very welcome to install those the main thing that's missing as a PDF reader because ocular is still KDE lips for and we only want Supported maintain software and the frameworks branch isn't yet merged. So there's any ocular developers. That would be lovely to have done Pronto Our packages and our eyes who's are available in three editions, which mirror the three main use cases of the KDE sources and the most important one is the user edition Because that's the most important results made by KDE and this uses the tarbles that we release on download dot KD Torque So David has a technology called watch files and those watch files scan downloads dot KD Torque For any new releases and when a new release comes along Our Jenkins continuous integration build server kicks into life and blows them away automatically and the user edition has various QA checks in terms of Checking that it the release hasn't isn't a malicious version. It's actually got the right signatures That it successfully compiles successfully installs doesn't Break the previous stuff in previous ways And it's intended for people who are fans of KD plasma or who are interested and have heard about this awesome Software the KD creates and who want to know the best way to get hold of it But the other two editions Are the developer editions and one is built from the get stable branches From which releases are made and one is made from the get unstable branches the master branches and That's intended for people who want to be active contributors who are either coders like many people here Or who have found a bug maybe in the user edition? Maybe they've reported a bug but the developer says well As well used to me that that stuff is last year last month's code and need a way to get the latest stuff and this is a good answer to The KD developers can give to people of how you get the latest on how you test your fix is gone. Is that a question? Go with the question Well, actually the first one is not a question. I Started using the get unstable builds also for confirming Fixes for problems so user would come on back to the arm. I'm running the latest stable I have this in that problem. I would go yeah We did a whole bunch of changes. Could you test the get unstable? images to live CD so No harm just takes a bit of time Two days later we fixed something and I can hit the rebuild button and ask the user Pretty much the next day. Could can you confirm this is fixed? That's extremely valuable to me because I don't have to wait until well, basically months until Updates at the user so I can actually get confirmed that I fixed the bug but I Can even fix the bug that I introduced with my fix before it hits its release the other thing is Was it the plan that for before 5.9 is released that we create an additional user addition with the Plasma 5.8. Yes, so with 5.8 being an LTS release We have the intention of having another addition which would be the LTS with this addition and trekking 5.8 So kitty has often shipped software directly to users before that's not particularly new Critter puts their code in in the steam store Plasma active had a reference release back in the day But we'll put install to test from the plasma active developers to say this is what it should be looking and feeling like Jay compree puts their source code in in the Android store in Google Play Store and Plasma mobile shipped images as well from When that was launched last year, but what's new is continuous delivery is that The the software is updated as soon as As soon as it's either a coded for the unstable edition or as soon as the developers say this is good for release for the stable edition and Katie E as a project exists because of the internet and the internet about this with stranger Katie hasn't embraced continuous delivery until now that We've had this very slow jumping model and having a model where users just can automatically get the latest stuff on their system It's something which is quite novel, but also something which we should be ideally placed to take part in much of the work for that came in That became the Katie neon and the pangia tools started with plasma mobile Because that was a system that needed to be delivered directly into the Hands of users just having the source code wasn't anybody any use to anybody. So a lot of that continuous integration stuff with Jenkins Is what has become what we now use to build Katie neon And is now flipped over because Katie plasma mobile is based on it's based on Katie neon now and In the free software world you're nobody if If somebody isn't using your source code or somebody isn't using your project to create a new project And in our case we now have not just plasma mobile But also Maui Maui Linux as another Linux distribution that has taken Katie neon Decided that's a good base to make their project on and so they they come with a far more fleshed out version default install that people can try and there's a big use case for that kind of We have a shining responsive html5 happy website again Katie has been pretty slow at picking up the new technologies That have happened in the web in the last few years Website looks pretty slow. So we got Ken for maths who very kindly made this pretty pretty design for us and It works very nice and there's a hope that The same design will be used on the main Katie website. So if anybody wants to pick that up, that's very welcome to do And and social media is something else that Katie was always quite slow at picking up It's the main way that people want to use the internet these days main way people get their news and communicate with people and Katie what has been a bit slow at having Making good use of that and this there still isn't a very good strategy for it and There's still details that I think should be fixed Fixed and sort tied it up like the sys admins don't have access to the social media account So something disappears than what happens to them But with neon we were keen to make sure that the news it wasn't some other new news feed that we've set up We would just put it on Facebook and Google plus and Twitter because that's where people expect news to be on and With the user support forums again They're on the pre-existing forums and as a kitty projects We can use the kitty forums because that's where people expect it to be said a question at the back So I assume as a diaspora user. I'm not I don't know welcome or something Yes, there is that I know nothing about diaspora and so that's why I happened not to have put it on But I would love to be educated and informed and to add that to our collection This slide is meaning that I spent a lot of time in the last 15 odd years that I've worked with KDE making sure that That the source code is free and that it complies properly with all the correct procedures and whatnot And so typically that's meant removing things like rfcs, which aren't quite under the free definition Or we're moving PDF files for example because PDFs aren't modifiable But people think that they're free because they make them themselves and and these days that means Removing minified JavaScript because people think minified JavaScript to source code. Of course, it's not modifiable So it's not source code. So one thing with one of the checks the kitty neon does is making sure that That everything is free software as far as can be automated that testing can be automated and So now we I can fix that or I can tell the maintainer to fix that before we release the source code in a slightly non-free style But as a word of warning word of interest well one new distribution methods come along We have to make sure there's a compliant with the free software norms So with neon we make ISOs and that means you also have to have source code ISOs Which is quite a big burden but an important part that we do that But with app images and flat pack another containerist applications We have to work out what's the best way to make sure the source code is available to people and and there's been violations already by arc the the package archiver That have to be tied up to make sure that source code is available and best practices there are still evolving and we need to work those out Something that kitty is always lacked as an image writer a way to put an ISO image onto a USB disk as the main way to Install our our sorcerers that kick starter to get it onto your computer as the operating system We looked around for the best one to use and Rosa image writer, which is made by a russian project Is very nice one it's made with cute and it's cross-platform, which is really important It's no use just having one that works on Linux if if our target is to get people to convert from Windows So that's nice to cross-platform, but it has a few problems You have to run it as roots and so forth So I'm pleased to say that I've now managed to get the maintainer to turn it into a KDE project and we have a get repository for it and We'll be working on making sure that becomes a proper KDE project with with Problems of like using pockets instead of roots and checks. I'm checking and so forth one of the side projects that we've done as part of neon or actually started long before neon was I made plasma Wayland images ISOs that will run Martin's beautiful work of Quinn running as as the Wayland and This is Betty the fuzzy pig which was on the Release announcement for plasma. Nobody commented, which I think is slightly disappointing or I'm not sure But I think she should be our mascot for a plasma Wayland and And as you see she's a keen user of plasma Wayland because she can using these plasma Wayland ISOs Which I now made through the the neon Platform and and so they're pretty trivial to just turn those out every couple of weeks so Install tracking is something that we talk about occasionally at At Academy and Dan said in previous talk that he wanted to find out what people use With PIM and again with neon we want to find out does anybody use this stuff? Where are they? Who are they? What do they use it for and so I put an ID tag and the updater and that means that we have web logs And we couldn't work out how many installs there are And what additions they use so as a question to the audience who can guess of the three additions? Which ones are the most popular and a hot order? So you've got the two developer additions and the user addition which one is the most popular They have unstable. Yep. Any other suggestions? They've unstable is the most popular with you well big surprise then because it's the user addition is by far the most popular it's got It's got three times what the other additions have which is not no big surprise to me. Maybe a big surprise to you And next down is dev stable and dev and then dev unstable and the site tells me that maybe our messaging is actually a bit incorrect because people I think we'll be installing dev stable because they think that's that's the crack of the day but it's but it's a bit more stable than that one and in reality our use cases should be what is This is still crack of the day and they can still contain new bugs that haven't been tested And if you're using this chance, sir, you want to be a tester who is able to give some feedback and report bugs Set a question I've taken out the numbers here because we're not sure because people can remove The install tracking and so it doesn't have any particular absolute meaning But it's not many. It's about a thousand. So it's not like it's not like we're taking over the world with this But it's an interesting useful Way to start the project I think so the next question is What are the top three countries that use KD plasma as defined by neon who knows what would be the top three countries Germany Many Germans here. Okay. Number one and what else would be in the top three? Sorry, Brazil USA somebody says Say again Macedonia, but probably not with neon. So I guess it wouldn't be counted here. So not Macedonia, but But it is This one is Germany over here. So what on Absolutely, right. And then but then number two is the United States which was said so it's maybe no immediate surprise But what's interesting to notice that there's not a massive difference between the popularity in Germany and the popularity in the United States But the number of Germans who are at this conference the number of Americans are this conference is mostly is mostly late to Americans and Last number of Germans that tells me that we're missing out on potential members of the KD community Who are using our soft serve but somehow have not been brought into the community? How can we make Katie great again stop using pre pre grated cheese? And Then number three is Latvia and and who's from Latvia. There's a mysterious KD community there. I'm not sure Okay, let's move on around this time. Yeah So as part of being Responsible for the source codes as well as the integration side What we started to look at is security and authenticity of our stuff, right? I'm only recently Linux Mint got their installation is a compromise and had malicious code in there And so what we started doing is doing a full signing chain Which is what this means is that the release script for plasma right now will sign the gift tax It creates as well as the tables it creates and this is then uploaded to the source servers We fetch them we verify that those are signed by keys We know and trust we then build them sign them again when they come out as the ISO with our Specific ISO signing key and so we have a full chain of Authenticity and we can we know we are very certain that it's the software that we We expect it to be and I know that open zoosa is already doing this as well And I hope that other districts will start doing it as well But there's still a long way to go frameworks and applications currently unsigned We we yeah, we tried to figure it out, but we definitely need to do something Because it is it is very important and we have ignored this for a very long time and we shouldn't any longer Of course in the future as Jonathan mentioned containers are of course a very interesting and hot topic right now, so I Took a bunch of KD people and took to a snappy sprint snappy is one of the container formats that are being considered and We basically just made our requirements known and discussed the technology as a whole and what we expect to happen and I Should hope that we as KD are very much at the frontier with regards to containerization Regardless of the the format and we do have a foot in the door snappy because of neon We can very deeply create snappy packages and essentially during the snappy sprint recently We basically Exposed all our applications also as snaps which you can install right now and run right now if you know where to find them So they're not tested there are lots of Things that we need to still figure out in order to be able to ship them into production But we are very much on the right way there and With that we've come to questions if you're bored during questions You can read that which is the explanation of why neon is called neon so questions more questions Now everyone's busy reading disappointing That's what happens when you write long bedtime stories Are one of you going to host a key signing buff so that oh, yes I'm going to look into doing a key signing off tomorrow or sometimes in the week and it would very much Yeah, yes You mentioned user tracking. What are you doing there and why? Well when you neon will ask for when when is the latest update and So I made it add the machine ID to to the URL for that So in the web blogs we can look at the machine ID And we get a pretty decent idea of how many users are installed as part of the ongoing to-do work is making it trivial to remove that for people who don't want to have their machines tracked and People are told about that when they when they download about neon but Yeah, but I'd be interested more feedback about how to make that more more friendly to people who don't want to be tracked And what are we doing with it? Well, just the two graphs that I showed you there for now And I'd be interested in knowing from people what what other graphs they would be interested in that we could make with this data And see if we could get more interesting Information of what who our users are and therefore who we're missing or where the potentials are that we need to work harder Yeah All right any other questions then let us thank the speakers