Log in

Hey everyone, the annual developer conference in Brno is seeking for great speakers again! For those who don't know DevConf - it is annual, free, Red Hat sponsored community conference for developers, admins, DevOps engineers, testers, documentation writers, project leaders and other contributors to Open Source Linux, middleware, virtualization, storage, cloud and mobile technologies. It is conference where FLOSS communities sync, share, and hack on upstream projects together and it is all hosted at a beautiful venue of Brno University of Technology in Brno, Czech Republic. Last year the conference had around 1500 attendees and more than 200 talks and sessions and most of these great talks can be found on our YouTube channel.

At this point we're looking for content contirubutors. Whether you want to talk about your new cool project, dive deep into technology aspects of your favorite thing, run a community meetup and show cool stuff to everyone else - we want you. Call for Participation is now open, just head over to devconf.cz/cfp and hit Submit! :-)

Last summer at Flock Langdon White, Ralph Bean and couple folks around them announced work on new release tools and a project called Modularity. The goal was simple but aspirational - for couple years we've talked about rings proposal, splitting applications from the core of the OS, having alternatives available and easily installable for certain components and even though for all of these usecases you could always find a way how to achieve them they weren't really supported by the build infrastructure and software management tools. Once you would update your system or install something else it would usually break or do something unexpected. Modularity goal was to come up with a straightforward way how to deliver a bulk of content thru our build pipeline, offer multiple versions of components and different installation profiles. At the same time this new approach to delivering content would not break existing workflows and will be super easy for package maintainers.

Folks working on this concept has been reporting progress over the last year but finally today we have an image available that shows how modules behave on the OS and how DNF can deal with them. So let's give it a try and let me walk you thru what you can do Boltron - Fedora Modularity concept.

this is a special compose that points at a repository with modules. As a second step, you need DNF with module plugin and couple other enhancements.

$ microdnf -y install dnf

(Please ignore the ugly output for microdnf - it's supposed to be used in dockerfiles only and this is a sort of a hack to get the right DNF installed)One of the main goals was to preserve existing command line interface. Unlike with software collections or other tools DNF just works and there are only minor changes that expose the magic that is happening in the background.

$ dnf list

..has a new section called modules. The UI of this is most probably going to change but right now it shows modules that are available (apx 25 modules) and whether they are installed on the OS or not. It also shows two other important information - the stream where you either have the default stream (f26) or alternative stream (in case of nodejs, stream 8). Once you installed any module you will also see the installed profile of that module under Installed column.

So let's try to install our first module

$ dnf install httpd

Wait, there's no special command line option for module and it feels and looks like I'm just installing RPMs!? Right, that's the plan! Unless you want to use the functionality that modules bring - streams and profiles - you don't even know that you're playing with modules. In case of apache, module is a blob of RPMs that got build together in Factory 2.0 (the new Fedora release tools - updated koji, module build service, pungi and few others), they got tested all together as a bulk and now installed on your Fedora.

$ dnf list

.. now shows that I have one module installed - httpd in it's default profile.

Ok, let's try something different. Nodejs has two versions/modules available. Nodejs v6 and v8. So first, what happens if I just run

$ dnf install nodejs

In this case I get nodejs from the default stream - f26 and now I have nodejs v6 installed.

$ node -v v6.10.3

What streams do is that they preserve the version of a component. In our case, nodejs v8 is available but running

$ dnf update nodejs

won't update nodejs since there's no update available in the current stream. So how can I switch the stream? Easily, just run

$ dnf install nodejs-8 $ node -v v8.0.0

Tada .. I have nodejs v8 on my system now and running dnf update at any time will keep nodejs on the current stream - v8. And what if I want to go back to the default nodejs version? I would simply run

$ dnf install nodejs-f26

and I’m back on nodejs v6.

This is one cool feature of modules - streams. Another cool feature comes with profiles. But first let's see what information module actually carries and how DNF works with modules. First, DNF is really cool because of it's plugin-ability and all the module specific magic is included in a dnf plugin called module. Any special actions with modules, additional commands are thus hidden under $ dnf module.. so what I can for example do is display all information about specific module.

There are 3 available profiles, a default profile that install both client and server packages, server profile that only installs mariadb server and client that installs client. So what I actually want on my system is server and I don’t care about the client package.

$ dnf install mariadb/server

And I’ve got a server! Now what happens when I run $ dnf update mariadb later? I won’t be getting anything else but what I want from the profile. DNF for each module creates a configuration file

which keeps track of selected profile and stream. As I’ve already mentioned, DNF module plugin has couple additional commands. One of the allows you to list all installed modules

$ dnf module list --installed

Now you can see the versions, streams and profiles of what you have on your system.Cool .. isn't it?

All additional information can be found on https://docs.pagure.org/modularity. The syntax of DNF, integration of module metada into other tools such as anaconda and gnome-software are currently at works and hopefully will land for F27.

The most interesting session for me was Langdon’s talk about Modularity. The proposal has been already presented couple times and Langdon briefly described the evolution of Rings and why such leveled approach is not what would work for all users. The rationale was fairly simple, different users have different expectations on certain components in certain environments. Development of an application requires components with shorter lifecycle while production has high demand on integration, long lifecycle and ABI guarantees. Trying to fit one OS into this bi-polar world doesn’t work and that’s why the concept of modules has been introduced.

There are several goals that Modular approach is trying to achieve. First, a module is bundle that is managed as a single unit. The concept even though right now it is using solely RPMs can eventually be used with different types of content. The module as external API that doesn’t change within minor updates. And finally several modules can form a module stack where dependencies are defined by the API and not by RPMs dependencies as we use them today.

Langdon showed couple demos. First replacing existing kernel, than installing different apache modules and example of module stack with different version of PHP. Also described a option to define profiles for different modules with postgresql database. All has been done using DNF plugin, a build pipeline which can already compose modules and create repositories.

It is still a very new approach with several rough edges. The discussion about Modularity continued even after the presentation and Langdon invited people to join the Modularity Working Group tuesday IRC meeting as well as to review existing documents on the Modularity wiki.

Ralph did a good follow up after lunch for Langdon’s talk describing Factory 2.0. First he showed a long list of thing that Factory 2.0 is not! Truth is that our tooling needs major overhaul but it will never happen all together but rather as iterative steps. Also the list showing what Factory 2.0 is not showed that there are several issues with the infrastructure and build pipeline where people are asking for better solution.

I’ve also joined Patrick Uiterwijk’s presentation about Fedora Atomic as Workstation. Patrick build his own ostree and starting experimenting with the right content for that tree. The aim was to provide basic workstation configured to easily use docker, flatpak apps and other tools that Patrick needs. Patrick was hitting some issues with latest ostree in rawhide but other than that his tree keeps regenerating and he’s been using it for some time. Also Patrick mentioned ongoing issue with garbage collections which forces him to manually clean local package cache every now and then.

Last talk of that day that I’ve attended was Jan Blazek and OpenQA. The talk was focused on testing anaconda using OpenQA screenshoting feature and comparison of displaying elements. To be honest I was slightly disappointed by the talk. OpenQA is nice framework that Fedora QA has been using for porting of their work but it felt like they also have to maintain yet another framework, they can’t use or share tests across distributions and it is not used as a gating mechanism whether certain update can hit bodhi or not. I would love to see a common testing approach where developers can become test contributors and where Fedora QA focuses on tooling and workflow instead of writing tests by themselves.

Great day finished with a boat party on river Visla and nice walk thru the city center around midnight :-)

Flock is always a great conference with a very friendly feeling. Krakow was no exception in that and when I’ve arrived on Tuesday morning I immediately realized I know a most of the people by name or by face from other conferences or past Flocks.

I’ll try to summarize interesting notes from several talks but for me the Modularity related talks - Langdon’s Modularity, Ralph’s Future of tooling and the Modularity workshop were the most important ones. Most sessions were recorded and they should soon pop up on Fedora youtube channel ...

First talk that I’ve attended was Christian’s overview of plans for Fedora Workstation. The focus was on flatpak aka xdg-apps and the vision of integrating 3rd party repos with flatpak apps. Christian also mentioned work on http://www.fwupd.org/ - a service that helps vendors host firmware updates for Linux systems and client tooling to make updating firmware on Linux automatic and painless. Christian also mentioned that Wayland seems to be gaining lost of stability, the issues with nvidia drivers seems to be resolved and the plan is to have Wayland default in Fedora 25.

Petr Viktorin did great overview of Python work in Fedora. The most interesting part was the status of Python3 in Fedora. Half of the packages have been already ported and these seems to be the package user download and use most.

Containers as we use them today are very developer focused. Dan Walsh talked about why developer environment shouldn’t be replicated into production and what are potential risks of doing so. Dan described why COW filesystems are not the right fit for production and why shared storage is a better solution. Dan showed a demo with Atomic registry and images shared over NFS. In such environment docker pull is no longer needed and it doesn’t need internal network bandwith necessary to update images on all nodes of production environment. Dan also mentioned the ongoing discussion between systemd folks and docker upstream. Docker still doesn’t have any priorities and concept of run time dependencies between containers. Also he introduced ocid, tool based on runc that ensures containers are immutable, use shared storage etc. I hope to see more from Dan about this tool.

A great talk that I recommend to take a look at was done by Sinny Kummari and Dodji Seketeli. Ensuring that there’s no ABI breakage between two different version of libraries is fairly important for application developers and Dodji talked about generic concept of ABI and why it is not that easy to detect ABI breakage or make decisions based on ABI changes. Certain symbols and structures can be internal only, can be used in the way that any change doesn’t matter etc The library that he has been working with Sinny on - libabigail - and the set of tools around it provide analysis of C and C++ applications. In Fedora rpmgrill integrates libabigail and informs maintainers of whitelisted components about abi changes. There are still limitations to be solved and memory constraints that doesn’t allow to review bigger components.

Visiting the city in the evening with tour guide was great and I was surprised how nice and friendly Krakow is!

Last week Red Hat Czech has for the first time hoster a very special event. We've called it OpenSchool and the purpose of the event was to explain to high school students trends in IT, trends in software development as well as why should they care about opensource. It was fairly tough for us to figure out the level of knowledge that these kids between 12-16 years of age know about IT now. Sure they use smart phones daily, are on most of social networks and intuitively use tons of different applications - but do they know how their favorite apps are developed and what powers their daily used social network in the back?

So we've started with basics. First we've invited several (10+) high school from the region. In the past we've already met with high school professors to discuss the level of awareness kids have about IT and programming and we knew it varies a lot. It wasn't a surprise that there's no standard in teaching Computer science at high school and it varies from learning MS Office basics or basics in Pascal to advanced classes of Java, Python or to obtaining Cisco or other specialized certificate.

The idea how to approach such diverse group was simple. Let's bring up some grounding - "why should high school students even care about IT in general? " and follow up with more detailed stuff, drill down into specific areas. We did three rounds of same presentations, for each round we had around 100 students and not only we did couple presentations for them but also offered them a guided tour thru the Red Hat building. The choice of presentations was simple. Matej Hrusovsky opened it up with history of Red Hat and also highlighted activities we do with university students and opportunities we have for them once they join the university. I followed with sort of a strange taks - to predict a future of IT :-) .. I approached it in a most simple way by showing students how software rules the world! In a short 30 minute slot I walked them thru 3D printers and how they are changing certain industries including civil engineering or health care, showed them basic of home automation, pointed out how software rules in car industry (by giving them examples of Tesla and VW :-) ), how software made up companies such as Uber, AirBnB or Czech food delivery service DameJidlo.cz, how Facebook and Google relies on huge data centers and how cloud is the way to provide and manage computing resources and also showed them why they should start playing with toys such as RPi ..

Good news is that most of the students agreed that they have to learn at least basic of programming and about dozen of them from each group was interested in software development carreer. There were some bad news as well. First - any kind of Linux OS is still seen as sort of a weirdo thing and only few students admitted they run it as their primary OS on their laptops or home computers. Students that do some programming seems to like Python, some tried Java and some JavaScript. Not a big surprise here, again - there's no standard accross all high school and most students are taught what their teacher knows. Not so good news was also a discussion about Rapsberry Pi. Few students admitted they've got one but they are being dust catchers since then. There was only one student that was playing with RPi more and runs XBMC on it in his room. We've tried to show them some cool RPi examples but what would be probably better is a workshop where they can bring their dusty boards and start using them for some basic projects. My talk ended here and folks followed with basics of OpenSource and basics of software development. After these two talks all students had a tour thru the office to see the environment, lab and ask questions. Unsurprisingly most questions that we've got were about the workspace (can you really play games on that PSP4, is that food for free at the office everyday etc) but as always, there were few students where we got their attention and we've discussed things about Fedora, culprits of hacking in Python or Java etc..

That said, seems teacher have really high influence here on a next generation of software developers and we've already talked internally at Red Hat about ways how to help them. Most teachers have only limited time for self-study or the school doesn't give them any resource to take courses and certifications. This results on students being tought only what the teacher knows and as we've learned, it varies a lot.

All an all, interesting event that hopefully got few students thinking. We've run in exclusively in Czech to make sure there's no language barrier between us and students. We'll see how we will continue working with high school in the future, but for sure we'll keep inviting them for OpenSchool.

here it is again, DevConf has schedule and it's packed with talks. If you haven't seen the schedule yet, check it out on https://devconfcz2016.sched.org. DevConf is starting on Friday again (Feb 5) and this year we are running thru the whole weekend till the very last session on Sunday where you can with some cool prices! I was used to do a shoutout about talks that I find really cool but this time it's impossible. We've managed to get almost 200 sessions in, there's a huge Container track with great speakers and even better hackers, tons of Developer related topics and even better workshops where you will get a hand-son experience with several projects. So instead, I'll highlight few talks that are new for DevConf.

First is Jen Krieger talking about DevOps engineer. This one will hopefully open eyes of those engineers who haven't realized that the world of individuals hacking on their cool tool is not how to get work done on evolving projects where communication and open collaboration is a key to success.

Another one that is on my must-attend list is talk from two nice ladies Serena and Catherine about User Experience Design. If you haven't heard about design thinking yet and you haven't been working directly with end users to design software that suits their needs this talk will show how some of the opensource projects has been using this approach.

Something that was unthinkable in the past and yet it is happening - a Microsoft guy on opensource developer conference! Well, the journey of getting .NET core and all it's components opensourced wasn't easy at all and some of the struggles will be uncovered by Jan Vorlicek in his .NET core on Unix talk.

Sunday used to be a Fedora-only day. Well, this is no longer true and take a look at the schedule before you decided to leave early from the conferece :-) ! We have a bunch of great Security related talks on Sunday, as well as Networking (with our friends from CZ.NIC talking about Turris Omnia project) and OpenNFV talks together with two Fedora tracks and CentOS track.

As I've mentioned, we want everyone to stay till the very last talk of the conference. So here's a rumor that I will share - some say you might win a really great price at the last session of the conference. It is not going to be for everyone, but most of the attendees and it's going to be really cool!

I love reading reports from conferences and there's one thing that every conference attendee remembers, talks about and later reminds himself the conference by that - the Party! So yes, there's going to be a huge party, tickets available at the conference, first come first served but we've secured a whole brewery for you so hopefully you'll get in!

Recently Jiri Eischmann posted a great blog post about ABRT improving Fedora Workstation - [cz] and [en]. I'm glad the work the ABRT team is a valuable source of data for many projects these days and thanks to their input, the UI of ABRT Server is getting new features for better filtering, queries etc.

Recently there was a discussion within Linux Foundation members to even use this statistics for evaluating quality of a certain project and using the data from ABRT as one of the sources for their quality equation. Check out Census Project if you want to know more.

I'm in love with Plasma5 in Fedora 22. So far it's a really great experience and all my previous issues that I had with KDE 4 seems to be gone. One thing that I was missing was a pidgin notification icon. After quick search I found this project that even though it is called Ubuntu Indicator works great with Fedora and Plasma.

It's been some time after DevConf 2015 (www.devconf.cz) but due to ton of work after conference and some travel, vacation time and eventually sickness as well I got to write this post-conference report now. The conference was hell lot of work again and it's great that it is still based mostly on volunteers helping with the organization. And that's the way it should be! Couple people asked me or Jiri Eischmann - why didn't you organize this or that? (registration, competition, feedback forms after talks) and my answer was - we've setup a conference framework, we coordinated various activities but the rest is up to you/others. Even the schedule was collaborative effort between various groups who picked up sessions they were interested in and lined them up for themselves. That way we had people looking at Container track, QA track, Networking and Virtualization track etc. I think it worked great - thanks to this approach we had OpenShift folks comming up with their own competition - Winter of Code. They had around 30+ submitted apps and gave away 3 Nexus tablets to winners. Some projects asked us to booth tables - they got them and thanks to that we had 3D printing booth, JBoss Mobile booth, Rpi&Andruino desk etc. Some folks had this idea of streaming all talks directly to youtube. We've introduced them to people at university and let them figure everything out - well, we were little sceptical about the streaming and thus we haven't really announced it before the conference and turned out to work really great. So DevConf stayed and will stay a conference for Developer organized by Developers!

I received several great comments about the venue. We've moved from Masaryk University who's venue became really small for us to Brno University of Technology where we got not only bigger rooms and more rooms, but also more space around the rooms. Although some people commented that it was still crowded especially during the first day, we wouldn't be able to fit that many people in the old venue. We've used 9 different rooms at the venue and that way we could set up 8 parallel tracks for sessions and workshops. Honestly, I was little worried about the set up and especially the number of parallel talks. My worry was that we wouldn't be able to avoid disappoitment for certain presenters where noone will show up for their talk or hackfest. Well, turned out that the attendence at conference was really great and every presenter I talked to was happy about the number of people comming to their session. Another twist was the choice of speakers. DevConf originally was a starter conference for new faces, folks who didn't have a chance to present on big events like FOSDem or LinuxCon. On the other hand we've received submissions from folks were we knew they were going to deliver awesome talks. My preference was to those beginners. Not that we didn't find space for folks like Dan Walsh, Lennart and others but we've balanced it out. I've seen only couple negative comments about quality of talk - and it was mostly due to audio issues not the technical level of the talks. Putting that the other way round, comments I've seen valued the technical level of the talks and the deepness speakers went to. One comment was stating, that it was obvious that speakers are the technical experts and they know their stuff!

So let's get thru some numbers. This year we had 156 different speakers and on the original schedule 164 talks and workshops. We've pretty much doubled the size of conference compering to last year! And I have to appologize that coming up with the schedule took so long again, but we were trying hard to at first, get various teams to line up their own schedules and at second, please everyone and figure out a way how to merge talks, move them from sessions to workshops or other way round. I know it wasn't ideal in all cases and there were couple glitches but - it's a developer conference and it wouldn't be fun with things working out great all the time!

The attendence to the conference was great. Jiri counted more than 1000 people during Friday and Saturday. His estimate for Friday was going up to 1200! If you ask me about precise numbers - we don't have them. But there's around 400 people for signed up of sched.org and created their custom schedules. On that list, I see people from various interesting companies, interesting open source projects, countries around the world (based on their private email addresses) and of course, huge number of folks from Red Hat. And of course I was glad that couple good old friends showed up - people who love coming to DevConf and despite the weather that we tend to get in February they always come to Brno. Sched.org offers a full demographic report (for additional fee that we haven't paid) but I doubt this will be anyhow more interesting.

I'm preparing a follow up post with interesting links. We have slides available, videos of RedHatCzech youtube channel and several good blog posts. Stay tuned, it will come out soon.