Collaboration is an important thing in the free and open source software world. Individual contributors (often employed by or involved with competing companies or organizations) working together for the benefit of all.
It’s a core principle. Without collaboration, none of the free software world works.
And it’s not just essential from the practical point of view—of people working together to get concrete things accomplished. It’s also become a bit of a marketing buzz word. And something happened two weeks ago that I found rather annoying.
Wait. Before I go any further, I should make something clear.
I am a huge fan of the collaborative efforts of many companies in the Linux and greater open source world. Even competitors such as SUSE and Red Hat come together on a regular basis to work hand in hand to find ways to benefit their own companies, while at the same time helping their rival and the broader community. And they do so happily. Heck, I’ve even seen SUSE and Red Hat employees give presentations together at Linux conferences.
This isn’t a SUSE and Red Hat only thing. Companies and organizations far and wide do the exact same thing. It’s beautiful. And I think companies (and small organizations alike) should talk about it. Do a good job of collaborating with a competitor to benefit everyone in the Linux world? Shout it from the rooftops. Be proud. It’s something worth being proud about.
I should also add that despite being on the openSUSE board, I have been a very vocal advocate and supporter of Canonical and Ubuntu over the years. (Yes, we’re about to talk about Canonical.) I’ve even written articles proclaiming the near-perfection of past versions of Ubuntu. Sure, some of my articles have been critical of Canonical, but for the most part, I’ve been a proponent of their work for the last decade (with a little good-natured ribbing mixed in).
Bear all of that in mind before reading this and dismissing what I’m about to say as the words of someone who is biased against Ubuntu or the company behind it.
Which brings me back to that thing that happened two weeks ago.
Canonical issued a press release entitled, “Universal ‘snap’ packages launch on multiple Linux distros.”
Snaps, for those not familiar, is basically a container for a Linux application where the dependencies are contained within it. It makes distributing a piece of software a bit simpler by ensuring you have the right versions of various dependencies ready to go. Straight forward. There are a few other projects out there doing very similar things. It’s not a new idea.
I’m not going to criticize the technical design of Snappy. I’ve read of some noteworthy security issues, but honestly, that’s not what I’m too worried about at the moment. Overall, the design of Snaps seems fairly reasonable to me (at least at first glance).
Not actual collaboration
What I am concerned with, specifically, is the contents of that press release. Here’s a quote:
“Developers from multiple Linux distributions and companies today announced collaboration on the ‘snap’ universal Linux package format.”
Then, farther down it says:
“Snaps now work natively on Arch, Debian, Fedora, Kubuntu, Lubuntu, Ubuntu GNOME, Ubuntu Kylin, Ubuntu MATE, Ubuntu Unity, and Xubuntu. They are currently being validated on CentOS, Elementary, Gentoo, Mint, OpenSUSE, OpenWrt and RHEL and are easy to enable on other Linux distributions.”
The implication is that Canonical is directly collaborating with just about every major distribution on the planet. Which… that’s great! More collaboration is wonderful! Shout it from the rooftops, Canonical!
There’s only one problem: They’re actually not. They implied it. But that doesn’t appear to be what’s happening.
Here’s a quote from the blog of a Fedora contributor:
“The sum total of communication between Canonical and Fedora before the release of this press release was that they mailed us asking about the process of packaging Snappy for Fedora, and we told them about the main packaging process and COPR. They certainly did not in any way inform Fedora that they were going to send out a press release strongly implying that Fedora, along with every other distro in the world, was now a happy traveler on the Snappy bandwagon.”
Did Canonical state that they were collaborating with Fedora? No. They simply wrote the press release in such a way where it seemed like they were saying that. I missed most of the virtual press conference, but the way this news release was phrased and positioned led to headlines like the following:
“Canonical informed us that they've been working for some time with developers from various major GNU/Linux distributions to make the Snap package format universal for all OSes.”
That article, contains this additional tidbit:
“Shortly after today's announcement, other major GNU/Linux distributions will adopt the Snap package as a universal binary format for their users. Among these, we can mention openSUSE, Linux Mint, Red Hat Enterprise Linux, CentOS, and elementary OS.”
Now, let’s talk about this for a bit. Is openSUSE “shortly” going to be adopting Canonical’s Snap package format? This is where my involvement in the openSUSE Board comes in handy. I can tell you, flat out, the answer is no.
Not long before Canonical issued this press release, I was contacted by someone from Canonical (I’m leaving his name out because he’s a cool guy, and I don’t think he did anything wrong) who had questions about what it would take to get Snappy working on openSUSE. I know this person also talked with someone else within the openSUSE project on the same topic.
To my knowledge, that is the sum total of the work that was done on this.
So, is Canonical collaborating with the openSUSE project on Snappy? No. Has the project been mentioned to one or two openSUSE community members ever so briefly? Yes. But that does not make for actual collaboration. And it certainly doesn’t mean openSUSE will be adopting it.
Why imply collaboration when none exists?
Now, here’s the interesting thing (at least to me): Why did Canonical make a point of implying their collaboration with other free software projects—even where collaboration didn’t exist?
This implies significant perceived value on the part of Canonical in having a narrative out there in the world that “Canonical collaborates with all of the major Linux distributions.” And they wouldn’t be wrong. It seems a large portion of the negative sentiment around Canonical and Ubuntu over the last few years stems from the perception of them not playing nicely with others.
Warranted or not, there is a perception that Canonical suffers from a staggering case of Not Invented Here syndrome. What better way to combat that perception than with a story that Canonical collaborates on a huge, awesome scale—with nearly every large Linux distribution out there? It’s a good way to change the public perception in their favor. Makes total sense to me.
But that brings up an additional question. Why imply collaboration without actual collaboration? Clearly Canonical had at least some interaction with some projects. Why not focus on those projects? Why muddy up the story by suggesting collaboration with projects that would, almost surely, publicly correct the record?
Instead of a win for Canonical—showing them collaborating with a few key projects—we have, in the minds of their critics, yet another example of Canonical creating their own solution (where similar solutions already exist) and not working with others on it.
(And, if collaboration was such a critical thing for this project, why require that all contributors sign a Contributor License Agreement before getting involved? CLAs tend to be viewed by many in the open source world as a bit of a barrier to involvement.)
Clearly Canonical is trying to improve the perception of them working with other projects. But it feels like they don’t really know how to do that in a way that their target audience can get behind. It’s as if they know they have a perception problem, but they don’t understand the people whose perception they want to change.
It’s sort of like when a gray-haired politician tries to win the favor of young people by busting some dope rhymes. It just makes them look completely out of touch.