Just another day at the office...The #active channel on irc.freenode.net is a place where people from a wide variety of projects that use various common bits of technology hang out. In Plasma Active we do a lot of work with Qt, QML and Mer, for instance; so we have people there from the Mer project as well as various QML focused projects.
Yesterday was therefore "just another day at the office" for us as a conversation between a Jolla (Sailfish) developer and a Canonical (Ubuntu Phone) developer about QML component API started up in the Plasma Active irc channel. Not only was everyone "Ok" with this, but consensus was that it was pretty awesome that we have a space for people to come together like this. People even said that to each other rather than let it remain silently unsaid. Contrast that with the attitude we sometimes see in development communities that discourage such "off-topic" communication between "competitors".
Well, one thing led to another and Zoltán posted an email to the Qt Components mailing list summing up the conversation and proposing we bring our APIs into better alignment. We hope to address issues of API drift between the various component sets out there. This is a pain point others have identified, such as in this recent blog post by Johan Thelin. There is much work to be done before we can even think of calling this a success, but it's the right sort of start.
And not the only fish frying...There are also discussions underway regarding other aspects of the bigger puzzle such as common package formats and delivery strategies. We are poised, should we keep our heads straight and our feet moving, to evolve that holiest of grails in the mobile space: an open and vendor neutral application development strategy built around the commonality of QtQuick and Linux. This is our Rome, which will not be built in a day, but which can become something significant in the world if we keep our heads and follow through.
Waxing even more philosophicalI like to think that this is one result of Plasma team being focused on pragmatic goals rather than bordering-on-the-religious turf protectionism. We want to Get Stuff Done(tm), are often looking at problems in advance of others (our use of QML being a prime example) and are very interested in looking at solutions others have come up with before us (e.g. our adoption of the Maliit input system was made possible due to this).
We take the broad viewpoint that we have open technology in common with others, and the way to make the most of each of our investments is to collaborate and coordinate. This helps favor more congenial competition as we identify and expand our commonalities. It should also, in the case of QML component APIs, make a far more friendly and interesting story for developers: how much more exciting will it be to write an application that you know will work on Plasma Active, Sailfish, Ubuntu Phone ... because the components, while perhaps implemented differently behind the scenes on each platform, share some level of API consistency.
This has two effects: the audience for developers is much bigger and instead of competing for developer attention between us relative small fry, we can compete for developer attention together. That means greater opportunities for participation which will translate into more tools and toys for us as users. By finding what is already best for us as platform developers, we will make something better for us as users. That's an "us" that includes you!
I am exceptionally happy to be a part of a project and a community that can see the forest for the trees here: the cooperation for the competition. This is one of the primary value points I see in KDE as a whole, and one reason I recommend supporting KDE to others: over the years, KDE has matured into a community focused more on creating value for the user rather than protecting largely imaginary borders or, worse, creating new ones.
In economic terms we have evolved into a community of free markets and open trade (with all the competition and cooperation opportunities that comes with that) in contrast to isolationist communities which exhibit protectionism, borderline xenophobia and the propensity to create new schisms rather than bridge old ones.
Recently David E. Narváez reminded us all that "at the end of the day the time we dedicate to [KDE] directly affects the life of many others", and I simply could not agree more.
And what of Vivaldi and Make Play Live?
Progress on the Vivaldi tablet hardware suffered a major setback in the middle last year, but we've manged to put it back on the rails. I'm very happy with the progress of things and we will be sharing with the world what we've come up with once we're finished crossing all the T's and dotting the I's. I have been devoting a large amount of my time and effort into making precisely that happen along with a number of others. We are not alone in making this come to fruition and I will be sure to give credit where due when we launch the new hardware.
The end result will be significant, not only because of the final product itself, but because this effort is being undertaken in the spirit of leading cooperation among a pool of friendly competitors. We are focused on creating open, exciting and useful technology for the world, not just a business for ourselves. We believe that those who resonate with that viewpoint will support these efforts by adding their time, energy and finances to help it go further, faster. Some will do so because they need the results it brings (e.g. vertical integrators needing broad freedom to shape their own products), others simply because they think that this is what our world needs.
Regardless of motivation, it is significantly rewarding to be a part of something that brings people together so we can all go further. It is the sort of world I wish to find myself in, the sort of world that ought to be available to us all. :)