Redesigning the Linux video system from the ground up

No readers like this yet.
User experience vs. design

Being a good open source citizen—that's where it starts. For Jon Cruz, navigating various technical opportunities over the years eventually led him there. Jon recently started working in the Open Source Group at Samsung where he works on the Wayland project as well as IoTivity, an infrastructure for the Internet of Things.

Cruz's open source journey began when he started contributing to the Inkscape community. His connections with Inkscape contributors eventually led him to his current role at Samsung. I think it's important to note that this is a common story for many people who get involved with open source. The first step is to find the right project and start contributing—you never know what career opportunities could stem from that first step.

We got a chance to catch up with Cruz prior to his talk at the Southern California Linux Expo (SCALE13x), where he'll focus on the Wayland project, what it is, and—perhaps more importantly—what it isn't. In this interview, Jon also gives us a non-technical explanation of Wayland and tells us what it is he wishes was more open.

Interview banner

How did you get involved in open source?

I had been working at multimedia startups in the early days and started using more and more free software of different types. I'd been using the POV-Ray raytracer for a while and started contributing in its community well before it was even technically "open source."

Then I moved to a different small company where I was the Windows guy, doing multimedia in a Smalltalk shop. GIMP became my go-to tool, even though we had licenses for Adobe Photoshop and I'd even coded different Photoshop extensions at my prior company. I started using Linux at home since I couldn't afford a Sun workstation. For work, we ended up shipping a small office appliance on Linux and Java, even before Sun officially supported Linux.

And finally, a few years later, I was in the position where the large company we were at was shutting down, and I decided to focus on contributing to some open source projects in my off hours so that I'd have something to show potential employers. At the same time, the core developers of a previous graphics project forked and created Inkscape. The timing was perfect for me to start contributing there heavily, and I've been involved there ever since.

What kind of work to you do in the Samsung Open Source Group?

Well, I just started there this past fall, so I'm still trying to get up to speed on everything. The main point of the group is to participate in the upstream areas of open source projects that Samsung might have some interest in. I've been working primarily on the Wayland display system, but recently I also started helping out with IoTivity, which is infrastructure for the Internet of Things.

The code I'm working on day-to-day is all in public repositories, and we try to be good community members of whichever projects we are working on—submitting patches, doing code reviews, participating in mailing lists and on IRC—all that good open source workflow is what we do. So basically, the Open Source Group at Samsung (OSG) just supports me in being a good citizen and contributor in the open source world.

How would you describe what Wayland does to a non-technical person?

Wayland is basically a set of protocols and standards for how to use different technologies to get all the pretty pixels you'd like to see up on your screen. It has been refined to be able to give the performance needed for modern computing, gaming, etc., and yet abstracted enough so that different projects such as KDE or GNOME can implement it and programs written to use Wayland will just work on whichever desktop they're run on. It also can scale down to smaller arenas like phones and in-vehicle entertainment systems.

How did you get involved in being a contributor to Wayland?

I'd been tracking its development over the years as a person responsible for link advanced input, color management, and other display aspects for Inkscape. Over the years I'd been collaborating with many of the individuals involved in Wayland from my side of things as an application developer.

So when I was looking for a new position, my friend Bryce, who I knew from working together on Inkscape, mentioned that Samsung Open Source Group had a need in that area and that I should look into it. It turned out to be a good fit for my experience and skills, and is a fun technology that I could hop across the fence and start working on from the implementation side instead of just from the application side.

Why is Wayland replacing the X Window System (X)?

Basically the X protocol in general has been around since 1984, and the current protocol version (X11) since 1987. It's held up due to extensions and good work on the part of the teams implementing X servers, but has accumulated so much cruft over the years that it gets in the way more than it helps.

Wayland was started by core X people, and essentially strips out all the ancient unused stuff and focuses on what modern systems need to get graphics going on the Linux desktop (and elsewhere, of course). Instead of needing expensive custom hardware to do 2D work, modern computers have amazing low-cost 3D video cards that can do most of the work, and Wayland mainly just needs to coordinate input and composite results of the 3D hardware's output.

What will you be talking about at SCALE 13x?

My talk at SCALE 13x will be on Where's Wayland, trying to give a good overview of what the project is, where it stands in far as maturity and adoption, and what users and developers might need to know about it. Aside from what Wayland is, the talk will also cover what Wayland isn't, as sometimes knowing what not to do can be just as important.

Some of the questions I hope to answer include: "When can I use it on a Linux desktop?" (hint: with Fedora 21, some people have been using it already without even realizing it), "Do I have to know about it to get it to work?," and "If I code on open source projects, what might I need to know?"

What do you wish were more open?

Two main areas: education and medical technology.

For the latter, people like my friend Karen Sandler have been raising awareness of the closed nature of medical devices and why that is a problem. For the former, due to lock-in with textbooks all the way down to even things like collaborative blackboards, today's students are getting blocked and being seen more as profit centers than as investments in our future.

Speaker Interview

This article is part of the Speaker Interview Series for SCALE13X. The Southern California Linux Expo brings together Linux and open source users, developers, companies, and enthusiasts.

Jason Hibbets is a Community Director at Red Hat with the Digital Communities team. He works with the Enable Architect, Enable Sysadmin, Enterprisers Project, and community publications.


Will Wayland play well with legacy X11 apps?

Legacy X11 apps should run fine side-by-side with Wayland clients. XWayland as a compatibility layer would handle that

"XWayland support has been merged in the master X.Org branch on April 4th, 2014, and is first released with xserver 1.16."

Wikimedia commons has a nice diagram showing how things can work

In reply to by PeterH (not verified)

That's the wrong question to ask.

The right one will be: will Wayland completely replace all features of X11 that we love and use -- independently running window managers with their own functionality, network-transparent graphics over low-latency network, easy combination of GUI windows from tasks running on multiple hosts on the same display -- with absolutely nothing, and will its authors tell us to "Maybe you should use VNC to access remote desktops? It has better latency over slow links, so it must be better!"

And the answer is YES.

Because the whole thing is designed by graphics drivers developers, not experts in OS subsystem or protocol design.

I hope, it will never get adopted beyond tablets and games -- at least until there will be a massive redesign that will return to X11-like architecture actually useless parts of X removed, and massive improvement of protocol (that needs improvement, not breaking and removing everything because someone isn't competent in protocol design).

In reply to by PeterH (not verified)

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.