A summary of my participation at OSS EU / ELCE 2018

ELCE 2018 has been a key event each of my 3 years at Codethink. It is an interesting conference from the technical and business point of view. This year the event was collocated again with several others, like the Open Source Summit Europe (OSS EU). It took place in Edinburgh, UK, I city I find particularly beautiful and enjoyable.

CIP, the Linux Foundation Initiative for Civil Infrastructure, has the event as a key milestone. The group organises a booth and a face to face meeting of the Technical Steering Committee (TSC) the day before the event starts. So for me ELCE is a day longer. The other main task for me at this event is supporting Codethink business development and community engagement actions, since I represent the company at the Linux Foundation.

During the CIP TSC face to face meeting, I did a short presentation of one of the projects I am putting effort on lately: BuildStream. I also described the project among several people I know during the event, asking them to try out the integration tool and provide me feedback. The tool has matured quite a lot the last few months and I am interested in collecting feedback from experienced developers and software integrators.

Lukas Bulwahn is leading an interesting effort to create a safety Linux related initiative at the Linux Foundation, including a Safety Critical Systems track at the event. I attended the last day of the conference to these talks. My colleagues Ben Dooks, senior kernel developer and Codehtink’s CEO Paul Sherwood, presented there a couple of topics we have been working on lately. I found the track interesting and learnt a few things. I hope such track consolidates and more automotive companies participate in the future.

Codethink sponsored the event and had a booth to recruit new developers. I backed up my colleague Tim a couple of times during the first two days of the event which allowed me to talk to a couple of of potential hires. It is always interesting to find out what motivates others about the company your are working for.

During the second day of the event I took some time to visit some booths and learn about what other companies are doing, as well as attending to a couple of talks. I also had several interesting meetings and conversations with old friends and former colleagues, visited again the Edinburgh Castle, this time at night, and managed to try a few whiskies from the Highlands. Not everything was to be work, right?

kernelci.org is an initiative I feel attached to since it was born during my time as Director at Linaro, promoted by engineers from my department, specially Kevin Hilman. Time has demonstrated that the project has helped the Linux Kernel tremendously. I hope kernelci.org get a successful second life under the umbrella of the Linux Foundation.

At Akademy 2018 a group of KDE people agreed to put effort in showcasing KDE software at embedded events to demonstrate that Plasma Mobile is a credible option as HMI for automotive R&D environments. At ELCE 2018, we showed Plasma Mobile and a couple of applications on top of a YOCTO based system on a Raspberry Pi 3 with a 7″ touchscreen. Showing the same technologies across different form factors (a mobile, a Pinebook, a laptop with openSUSE and the mentioned RPi3) was impressive. Sadly my RPi3 worked only the first day because it burned. I guess I have taken it to too many events. RIP my dear….

I would like to highlight how excited I got when I saw the KDE booth at this event, the fantastic work that Adrian, Jonathan, Kenny and Paul did there and the significant impact KDE had. Getting out of the comfort zone is never easy, but usually worth it. I am looking forward to show further progress at FOSDEM and the Embedded World early in 2019.

Except surprises, this will be the last event of the year for me. It is time to prepare next year’s agenda. I will see you all at FOSDEM 2019. Thanks Codethink for sponsoring my participation at ELCE 2018.

Back from Akademy 2018. What an event!

A few days back I wrote about Akademy 2018 and my expectations and duties at the event. This is a report based on that previous post.

Akademy 2018 in Vienna, Austria, has been the best one in I’ve attended to in recent years. We event got a record number of sponsors, Codethink among them, and some of them for the very first time, which is always a good sign. The organization went smooth, the location was comfortable and several talks were very good. As a point to improve, I would mention the location of the Sunday party (sorry, social event), which was small for so many people.

Codethink as sponsor

This Akademy there were more first timers than in previous editions. Most of them knew nothing about Codethink. So being a sponsor allowed me to talk for 3-4 minutes to the audience, right before the closure, about what Codethink does, specially about the FOSS projects freedesktop-sdk and BuildStream. I will write more about them in the near future.

Representing Codethink also allowed me to attend to the sponsors dinner. I have attended to several of them before, either as a KDE eV Board Member, as the local organiser or as a sponsor representative (SUSE and now Codethink). This one worked very well. I was sit by the openSUSE Leap release manager Ludwig Nussel, former colleague of mine, Chris Lamb, Debian Lead and Alan Pope from Canonical, which allowed us to have interesting conversations about topics like reproducible builds, telemetry in distros, automotive systems, upstream events, etc. I also had the opportunity to introduce BuildStream to them.

Flatpak – Snap BoF

As part of my duties at the event I participated in the Flatpak – Snap workshop to introduce briefly the work Codethink is sponsoring on freedesktop-sdk and BuildStream:

  • freedesktop SDK 1.8 was just released before Akademy. flatpak-gnome and kde runtimes are based on it.
  • freedesktop SDK uses BuildStream as build tool. The integration team at GNOME too. So it was about time to talk about the project among KDE people. When it comes to build tools, the key selling point for BuildStream within KDE community is the advantage of creating a single set of definitions (recipes) and get different outputs like flatpaks, rpm-deb packages and hopefully in the future, snaps. Outputs depend on plugins that can be developed and maintained by contributors to BuildStream if they are not already available.
  • I am happy with the response BuildStream got and hopefully after the coming v1.2 release the project will support some KDE contributors in trying out the tool. It will be interesting also to support the KDE community in building the flatpak-kde runtime.

BuildStream

I introduced BuildStream to several developers. In general, very few knew anything about it which is not surprising since, except among the GNOME community, we have barely made any noise about the project. The coming release will help us to start mitigating this issue. The KDE community produces flatpaks, snaps, .deb and .rpm packages, has Yocto recipes… . A tool set that provides you all these outputs by maintaining a single sets of definitions, being simple to install, update and maintain, becomes attractive at first sight. The challenge is major, but a nice one to face.

Third edition of the Freedesktop Summit?

Several years ago, driven by Alison Lortie and sponsored by openSUSE, I organised the first freedesktop event ever. The following year I participated in the organization of the second one, that also took place in Nürnberg, Germany. During Akademy I talked to some people that might be interested in participating in a new edition. I did have some conversations around this topic at GUADEC too so, although it is still nothing but an idea, I will invest a few cycle to mature it. Who knows, maybe we can organise a third edition of the event next year.

KDE for automotive

As you know, I have been advocating at KDE for putting effort to showcase our software in automotive R&D and pre-production environments, knowing that Qt is the default graphic toolkit in the industry. Last year I provided a lightning talk about it which, together with the improvements in Plasma Mobile, triggered the interest of some developers at KDE, which are professionally involved in Qt companies working in embedded/automotive already. We had a BoF back then and we created a roadmap to shorten the gap between what we had and what would be interesting to show in such environments.

Andreas Cord-Landwehr and Volker Krause has managed to create two Yocto recipes together with the infrastructure to update them regularly. Both had a talk at Akademy. Andreas introduced the audience to Yocto and talked about the created recipes while Volker showed during a lightning talk the plasma mobile shell working on a RPi3 with the Raspberry 7″ touchscreen.

At the BoF we evaluated the technical, coordination and promo actions taken as well as the coming ones. The ultimate goal for the coming year is to showcase at different events KDE apps on top of Plasma mobile on automotive dev as well as to increase the attention of more KDE developers on embedded as a potential target market for KDE software.

I am excited about this progress. I believe putting some effort to move towards embedded can bring more attention and new energy to KDE.

KDE E.V. AGM

I participated at the annual KDE eV AGM (general assembly) on Monday August 13th. As you know the KDE eV AGM is a close doors one, so private. It was a good move to provide room during the event for the working groups to summarise the work they have done. These reports used to be done during the assembly. As consequence, the AGM was shorter.

There used to be a time in which the KDE eV AGM was long and tedious. Over the years we have put effort in making it shorter and more dynamic. Mission accomplished.

openSUSE

It was great to meet all timers but also new openSUSE contributors. I could take some time to talk about points that require some attention in the distro, learn about the improvements on the delivery process that has been implemented on Leap 15, some of the actions in progress and future plans. Finally I did not update the Leap version in my working laptop (a Slimbook) because I had more work than expected during the event. I will update it during the coming weeks. Overall I am happy with Leap 15 in my personal laptop (a Lenovo) so far.

Slimbook

I was happy to see Slimbook booth at the event. As you know I am a Slimbook happy customer. I had the chance to talk to other customers at the event and I would highlight how happy we are with the post-sale service they provide.

Did I mention I would like to have a 11″ SlimNoteBook. I definitely did to them.

Free Qt Foundation

I cannot get tired of telling everybody within KDE and specially outside the community how important is the Free Qt Foundation, not just for KDE and the Qt ecosystem, but also for the entire Free Software movement. I never loose the chance when I am among automotive professionals to highlight the enormous impact that this entity has on their businesses. There is still a lot to do to provide The Free Qt Foundation the attention it deserves. By the way, it is always a pleasure for me to talk to KDE e.V. representatives there, Martin Konold and Olaf Schmidt-Wischhöfer.

What a great contribution they do.

Other topics

Did I mention how cool it is to have Mycroft integrated with KDE? All the demos I have seen are so promising… openSUSE Tumbleweed has packages to enjoy Mycroft on Plasma. The same applies to having KDE software on phones. It seems that we will have Qt6 in 2020 and that the transition from Qt5 is planned to be smooth. Breaking things when updating is never a good strategy in my opinion.

I love KDE Connect and I had the chance to learn about some coming new features, which is always a plus for coming to Akademy.

Sebas and Valorie got awards this year. Well deserved, as the rest of the winners. I like the fact that we as community, put some effort in recognising those who make significant contributions to the project.

I could have chats with people that I respect, new developers, key contributors… . As I said, a great event.

Thanks to the organisers

I will finish this Akademy 2018 report thanking the organization team who worked hard to make Akademy 2018 one of those hard to forget.

Thank you.

Automotive, what an opportunity for KDE!

During the last year I’ve focused a significant part of my effort on driving the GENIVI Development Platform, together with some Codethink colleagues and other GENIVI professionals and community members.

What is GENIVI Development Platform?

GENIVI Development Platform (GDP) is a project and an outcome.

As a project, it can be defined as the delivery side of the GENIVI Alliance. Today is a fairly standard Open Source project, done in the open following many of the most common practices any FLOSS developer would expect.

As an outcome, GDP is a Linux base distribution (Poky) derivative, built with Yocto, that integrates the software that GENIVI community (automotive professionals) develop as Open Source software.

It still a small project but the quality of the platform and the number of people involved has grown this last year significantly.

GENIVI Alliance is a consortium of +140 companies so obviously most of the overall effort is done by paid developers. Changhyeok Bae (community member) together with Tom Pollard and Robert Marshall (Jonathan Maw before him) from Codethink Ltd, constitute the maintainers team, who are responsible for the integration, testing and release of GDP.

These guys are supported by people like myself, doing coordination, marketing, documentation, IT services, infrastructure, testing and many other key tasks which provides the project a level of robustness and scalability that any serious attempt of this nature requires nowadays.

I am interested, where can I get more?

You can find more general information about the project in the following resources:


GDP-ivi9 is the current stable version although we have moved so fast this last year in terms of the software shipped, that I recommend you to try the following:

  • If you are interested in a solid base system, try GDP 11 RC2
  • If you are interested in checking the latest UI and demo applications, try GDP 11 RC3
  • If you are interested in building from scratch you own images with the latest software, do it directly to GENIVI’s rolling release, called Master for now. You can get the latest software there. It should most ly work since we put stabilization effort on it, following the openSUSE Tumbleweed mindset in this regard.

Currently GDP supports RPi2 & 3, Minnowboard MAX and Turbot, Renesas Porter and Silk and Qualcomm Dragonboard 410c. GDP ships Qt 5.6 at the moment, since it is based in Yocto 2.1…

…which makes GDP a great target for KDE software, specially for Plasma.

 

GDP and KDE

Putting the effort on having KDE well supported in Yocto would provide the project a third life, landing on an industry that is heavily investing in Open Source with a key piece of software, with no clear competitor today in the open.It would revamp the interest of many KDE developers in porting their apps to embedded/mobile environments and would bring attention to the project from Qt professionals all over the world. Currently KDE is significantly better than anything else that is open in automotive. It would just require the effort to include it and maintain it in Yocto, which is not small, and adapting Plasma a little initially, not much.GENIVI launched a Challenge Grant Program that might help to put some funding in the equation 😉

Whatever effort done to put Plasma on Yocto (so GDP) would also be picked up by GDP’s competitor, AGL UCB (Auto Grade linux Unified Code Base), the Linux Foundation automotive group Linux (again, Yocto) based distribution. So there would be at least two players for the cost of one.

It wouldn’t surprise me if Qt companies would jump in on this effort too. In order to play in the open filed today, they need to Open Source their products, which is a big risk for most of them. Playing with KDE, which is based in the technologies they are familiar with, would be simpler for them. I bet the Qt company would be heavily interested in promoting this effort. It would help to dissipate all the pushing back from the automotive industry to the current Qt license model, GPLv3 based. And it would do it in the best possible way, by providing great ready-to-use software with no competitor. I have been one year preaching about how big the opportunity currently is for KDE, but this is not the kind of challenge that can be sustained on volunteer basis, sadly, since keeping KDE up to date in the Yocto project would require a high level of commitment from KDE as a whole.

The community probably needs first a small success story and some company/corporate push before really jumping on it, I think. The support of a couple of KDE or Qt companies would catalyze the effort.GENIVI and AGL make a significant promotion effort around the world within the automotive industry, participating in forums where KDE is unknown. Many companies that currently develop close source Qt applications for automotive would be interested in KDE which would increase our potential targets for our Corporate program.

Having KDE on GDP and AGL UCB would increase the incentive of developing new applications for many of our young developers who currently do not have automotive as a “professional target“. 

Companies like LG, Renesas, Bosch, Hartman, Intel, Jaguar Land Rover, Toyota, Visteon, Fujitsu, Mitsubishi, Volvo, among many others…. are key stakeholders of GENIVI and AGL. Isn’t it this attractive enough?A success story like the one I am proposing would be yet another example of how KDE can play a key role for the Qt ecosystem. Sadly not everybody in this ecosystem understand what a great “tool” KDE can be for them. After a hit like this one, it would be undeniable.Think about the exposure, think about where we are today… Something like this would place KDE where Unity, Android (AOSP) or GNOME are not… yet. I believe this is the kind of strategic decision that would change KDE future. But also the business perspective of those companies (specially Qt ones) who would get involved.

Let’s do it now… or somebody else will.

Update(29/10/16): to find out about the state of KDE in Yocto please read the comment to this article from Samuel Stirtzel. Thanks Samuel.

Team blog: more than just a blog.

Motivations

Creating high quality contents takes time. A lot of people write nowadays but very few are writers. In the software industry, most of those who write very well are in the marketing side not on the technical side.

The impact of high quality contents is very high over time. Engineers and other profiles related with technology tend to underestimate this fact. When approaching the creation of contents, their first reaction is to think about the effort that takes, not the impact. Marketers have exactly the opposite view. They tend to focus in the short term impact.

Successful organizations have something in common. They focus a lot of effort and energy in reporting efficiently across the entire organization, not just vertically but horizontally, not just internally but also externally. Knowing what others around you are doing, their goals, motivations and progress is as important as communicating results.

One of the sentences that I do not stop repeating is that a good team gets further than a bunch of rock stars. I think that a collective approach to content creation provides better results in general, in the mid term, than individual ones. Specially if we consider that Free Software is mainstream nowadays. There are so many people doing incredible things out there, it is becoming so hard to get attention….

Technology is everywhere. Everybody is interested on it. We all understand that it has a significant impact in our lives and it will have even more in the future. That doesn’t mean everybody understands it. For many of us, that work in the software industry, speaking an understandable language for wider audiences do not comes naturally or simply by practising. It requires learning/training.

Very often is not enough to create something outstanding once in a while to be widely recognized. The dark work counts as much as the one that shines. The hows and whys are relevant. Reputation is not in direct relation with popularity and short term successes. Being recognized for your work is an everyday task, a mid term achievement. The good thing about reputation is that once you achieve it, the impact of your following actions multiplies.

We need to remember that code is meant to die, to disappear, to be replaced by better code, faster code, simpler code. A lot of the work we do ends nowhere. Both facts, that are not restricted to software, doesn’t mean that creating that code or project was not worth it. Creating good content, helps increasing the life time of our work, specially if we do not restrict them to results.

All the above are some of the motivations that drives me to promote the creation of a team blog wherever I work. Sometimes I succeed and sometimes not, obviously.

What is a team blog for me?

  • It is a team effort. Each post should be led by a person, an author, but created by the team.
  • It focuses on what the team/group do, not on what they will do, what they think or what they want. Why? because a team blog is way more than a promo tool, it is also a reporting one.
  • It is supported by a communication expert as editor, not just to increase the quality and potential impact of every content, but to increase the team skills as writers in a practical way.
  • It is management driven because it requires to embed it in the team processes and group dynamics. So it requires analysis, a clear goal, follow up and activation energy, specially during those moments in which the team workload is high, so writing is not perceived as a high priority.
  • In order to ease the identification of the team with the blog and vice-versa, the promo aspects should serve the team and not the other way around. This is a key difference between this action and other common marketing efforts done by every organization.
  • Selecting the right topics to write about is not a question since, as mentioned before, the team blog is about what the team is working on. The question is about when to publish, together with the approach used to create the articles. Again, a management point of view is essential here. That view can come from different areas of the organization or within the team, but has to be there to take full advantage of the effort.
  • It feeds engineering reports. It saves time on this task in the long run.
  • If the goal of the action and the vision brought up by the editor are set up correctly, the team blog should also feed the technical marketing and customer engagement efforts of the organization/business unit.
  • In the mid term, the blog serves as input for evaluating the performance/accomplishments of the team as a group, when associated with the key objectives previously defined. This is true not just from a management or customers perspective. What is more important, the team blog serves as evaluation input for the team itself too. The retrospective that this action can provide is essential for the growth of any team.

Core Dump

I am pushing such action once more, this time at Linaro. The name of the blog is Core Dump. My presentation describes the motivations and goals that drives it. There is a talented group of professionals behind it so I hope that in just a few months we will be able to evaluate the results. I am confident we will succeed since we have every required ingredient.

Sponsored vs supported

Probably the most relevant non technical action that a community executes is events. Most mature communities organize one or several big events in different part of the world with different goals, but one of them is common in every single case: engagement needs face to face relations. We are humans….after all.

In order to organize these events, sooner or later you need a legal organization that provides financial support to these actions. You might not know that, in words of the founders, this was the main reason behind the foundation of KDE e.V. .

And when you want to bring contributors together, most organizations end up having as goal to financially support some of them since they cannot afford it:
  • The trip is expensive since they come from the other side of the world.
  • They come from countries where the cost of the trip or accommodation represent the salary of a year.
  • They are students, so they have little income.
  • They have family and they cannot afford the expenses derived from being a week far from home.
There are many more use cases.
So one way or the other, most organization that support FLOSS communities dedicate resources for supporting contributors to attend to its main event(s). But if we look closer, there are small differences among different organizations.

Some differences among organizations.

Since resources are limited, organizations try to make sure they support those who have made significant contributions to the project throughout the year. Being supported/sponsored though, have frequently attached an expectation of being heavily involved in the event itself. Giving a talk or helping the organizers are the more obvious expected actions.

The difference comes when making these variables a plus or a requirement for being sponsored.

The process for being sponsored is also different. The tools used to manage the request/reimbursement process and the “amount of support” too. I will not get into those.
There is a “motivational” difference that do not have much impact but that I have always found interesting. Some organizations support their contributors “as a reward” and some do it “as a duty“.

The first case means that some kind of “thank you” is expected/required, linked to that support, as usual when you receive a prize. This act of gratitude might come in different forms but usually tend to publicly reflect that support. The basic idea behind it is to justify the investment in order to increase the level of sponsorship the organization gets from donors. It is a very popular approach in other industries/areas and there are a good number of FLOSS organizations that follow this model.

The other approach, the “support as duty“, is based on the principle that if you have made a significant contribution, that is, you are part of the community, and since the organization is there to support the community , it is its duty to support you. So the support comes with no recognition as requirement.  No “public thank you” is expected.

Some refer to this as the difference between being sponsored versus being supported.
My view on this last topic

In different countries/cultures, the sense and consequences of “thank you” are different. Also, the reasons that can “invite” you to ask for support might not be fun to talk, or being being questioned about. You might not feel comfortable by being identify as “sponsored“. It also might generate some undesired debate about who is being sponsored or why among people that do not have all the information.

Over the years I have changed my mind. Lately I identify myself more with the second approach, which do not mean I am against the first one. It has a point too.

In any case, what matters is that FLOSS organizations has supporting contributors to attend to the community event as one of their main goals.

A request

If you are not very familiar with how Free Software is developed, all this might sound strange. Investing money in paying trips and accommodation to go to an event to have fun with no or very little deliverables in return?

When thinking about donating to a community project or sponsoring it, ask for this particular topic to the Board of the organization behind it or the coordinators of the travel support program. You will be surprised by how important is this topic for them. They will provide reasons that, I am sure, will satisfy you.

For me, and many others, is one of the main reasons why these organizations deserve to be sponsored. Face to face meetings are essential to build a healthy community or ecosystem and many people have no way to attend if third parties do not sponsor/support them.