Purism and Purism Community,
First off, before venturing down this discussion, I would like to say meaningful thank you to Purism and the Librem 5 backers for pursuing a truly open phone. This is a major step forward for privacy and bringing the Linux kernel (in a more mainline form) to mobile computing. Small disclaimer before I share my thoughts: This post will not serve as a place for a rant/flamewar between desktop environments. Nor is it a place to complain about (insert topic). The sole purpose of my post is discuss the initial software direction Purism is taking with the Librem 5 and an alternative viewpoint. The goal is getting Librem 5 ready for end-users.
As one tiny backer of the Librem 5 amidst hundreds, I was eagerly waiting news of the initial software development of the Librem 5. Partnerships with Gnome and the KDE Plasma team where both very positive and a good start. On January 31st, 2018 Purism announced in the article “GNOME and KDE in PureOS: diversity across devices” the early plans for development efforts/dollars. Both KDE and Gnome would receive open support from Purism for “early documentation, hardware designs, and kernel development progress” in addition Purism would be “investing in hardware design, development kits” for the two community’s development teams. Again, a continued good start for all the parties involved. However, since a device could only have one default environment and development dollars need to be spent somewhere, a direction had to be determined. Purism’s decision was “Since Purism uses GNOME as the default desktop environment within PureOS on our laptops, we figured we are going to invest some direct development efforts in GNOME/GTK+ for mobile to stay consistent across our default platforms.” Both desktops will be “supported” but the bulk of development funds will be placed towards the Gnome desktop due to the current absence of a “large community around an upstream-first GNOME/GTK+ for mobile.”
Ok, now that the stage has been set, this is where I share my thoughts. Foremost, I am not a developer, I am a Librem 5 backer, privacy advocate, small business owner, and a Linux user with Gnome at work and KDE at home. Take what I have to say from that perspective. My argument is that I believe the bulk of development dollars should be spent on bringing Plasma Mobile based PureOS to the Librem 5 and Gnome should be supported “as a second desktop environment is directly aligned with our [Purism] beliefs.” Simply taking the inverse of the recently announced plan. To avoid repeating the obvious, I will avoid using the discussion points the Purism article introduced in the paragraph entitled “Why not just use KDE/Plasma and call it a day?” My thoughts are targeted towards both long-term and short term.
Short-term (physical limitation): One Purism’s greatest challenges comes from the unseen opponent of time. As of the writing of this post, we are roughly one year away from the projected launch. Both Gnome and KDE mobile project are in their infancy and require significant work to reach a launch-worthy state (basic features on a reliable/stable system). Despite this Purism stated one is more advanced, “KDE is very far along with their “Plasma” mobile desktop environment, while GNOME is farther behind currently.” If one looks at other projects in mobile space (Sailfish, Android, iOS, Blackberry, PalmOS), the volume of development hours/dollars to reach early product launch already eclipses Purism current timeline. In short, Purism needs to start from the most advanced base to even reach its target of launching a mobile device with a functioning operating system.
Short-term/Long-Term (technical limitation): If the software industry is to be used as a benchmark, the QT toolkit is currently targeted towards mobile interfaces. GTK, while not opposed to mobile from an ideological standpoint, has not developed their current codebase to be overtly accepting of mobile interfaces (my source experience is listening to audio from developers of the Mate and Budgie desktops who use GTK and gnome shell). Arguably, touch as an interface is better developed with GTK, but touch does not imply a mobile phone. Gnome is looking at changing the direction of GTK4 and Gnome shell (please see gnome mailing lists). Focusing on stability, deprecating APIs that are not apart of Gnome’s vision for the future, and hoping to make the shell more modular. While a more modular shell might allow for easier mobile development, the commitment to mobile is visibly uncertain from upstream. Purism may be faced with maintaining code outside of upstream which is a burden for both Purism and the budding open mobile community. My thought is to spend development dollars on the group which displays a long-run commitment to mobile. Plasma in this case. Outside of toolkit performance on mobile, there are other technical details to consider. (Reinsert, I’m not a developer warning). To my knowledge, Plasma is closer on decoupling X server from its compositor Kwin, Plasma desktop has achieve a significantly lower hardware usage footprint that Gnome shell, and Kwin is less hardcoded that Mutter.
Short-term/Long-Term (sales and brand): Firstly. I understand the value of brand. Purism, as a company, desires its to be brand clear and uniform for its current and future customers. This brand separates it from others and adds value. For this reason, I understand Purism wanting to investing GTK/Gnome, it is very ideological. Now, permit me to poke holes in my own statement. GTK/Gnome out of the gate is not pragmatic. Brand is important, but it is a double-edged sword. Rolling with a less uncertain and less mature technology for the sake of image can backfire and harm the product as well as other products associated with the brand. iOS when it launched did not look like Mac OS X. Android did not try to replicate the look and feel of either Mac or Windows. Both of these successful interfaces chose instead what was available at the time and worked on it. Uniformity came second. The Librem 13/15 should not drive the UI of the Librem 5. The Librem 5 needs to stand on its own and work well out of the box. A functioning device will push your brand better than any color-coordinated UI ever will. Additionally, you could face the situation where many Librem 5 buyers will not be purchasing a Librem laptop as well. This reduces the effectiveness of your initial development dollars. A new product for a small company must focus on itself first and cohesiveness second. Make sure the device works well and do what it promised (privacy on a functioning phone); sales will come naturally and your brand is safeguarded. As a sidenote: when backing the Librem 5 I looked at convergence as not the Librem 5 looking like a Librem 15 when plugged into a monitor, but rather the Librem 5 sharing itself, its apps, and retooling its UI perfectly in a desktop format (I know nothing of your other product’s UIs, per say).
Closing thoughts. There are so many more thoughts and technical details to dive into, but this post needs to draw to a close for a discussion to start. If anything was unclear, here are my short, simple takeaways. I believe it would be better for Purism and the Librem 5 project if Purism invested the first-round development dollars into fixing Plasma Moible bugs/features (KIO, missing QML apps, stability, Kwin Wayland, etc…). Keep the door open to Gnome developers and provide support just like you planned in your news article. Have the first generation Librem 5 as functional as possible with Plasma and then pull an Apple down the road and retheme. If inclined, move to Gnome at that time. This give Gnome upstream a chance to prove there commitment to mobile (phone). The Librem 5 needs to stand on its own. Convergence is not about the Librem 5 and the Librem 13/15, yet! Initial convergence is about the Librem 5 and itself. Be as pragmatic as possible with the Librem 5 by doubling down on the “highest quality computers without compromising users’ rights to privacy, security, and freedom.” As enticing as the ideal of a unified GTK experience is, development time and current codebases are the real driving factors. I whole-heatedly want the folks at Purism to be successful. The world needs the Librem 5. Pick any technological news horror story of the day to prove the need for it. I feel that pushing Plasma mobile’s development might be wiser, but I’m just one backer. Please remember this post is meant only for the purpose of open and friendly discussion. End of the day, all of us here want a solid Librem 5 launch!
Now the ever so open phrase: Thoughts anyone?
Edit: Spelling, too much text