[personal profile] mjg59
I was at the OpenStack Summit this week. The overwhelming majority of OpenStack deployments are Linux-based, yet the most popular laptop vendor (by a long way) at the conference was Apple. People are writing code with the intention of deploying it on Linux, but they're doing so under an entirely different OS.

But what's really interesting is the tools they're using to do so. When I looked over people's shoulders, I saw terminals and a web browser. They're not using Macs because their development tools require them, they're using Macs because of what else they get - an aesthetically pleasing OS, iTunes and what's easily the best trackpad hardware/driver combination on the market. These are people who work on the same laptop that they use at home. They'll use it when they're commuting, either for playing videos or for getting a head start so they can leave early. They use an Apple because they don't want to use different hardware for work and pleasure.

The developers I was surrounded by aren't the same developers you'd find at a technical conference 10 years ago. They grew up in an era that's become increasingly focused on user experience, and the idea of migrating to Linux because it's more tweakable is no longer appealing. People who spend their working day making use of free software (and in many cases even contributing or maintaining free software) won't run a free software OS because doing so would require them to compromise on things that they care about. Linux would give them the same terminals and web browser, but Linux's poorer multitouch handling is enough on its own to disrupt their workflow. Moving to Linux would slow them down.

But even if we fixed all those things, why would somebody migrate? The best we'd be offering is a comparable experience with the added freedom to modify more of their software. We can probably assume that this isn't a hugely compelling advantage, because otherwise it'd probably be enough to overcome some of the functional disparity. Perhaps we need to be looking at this differently.

When we've been talking about developer experience we've tended to talk about the experience of people who are writing software targeted at our desktops, not people who are incidentally using Linux to do their development. These people don't need better API documentation. They don't need a nicer IDE. They need a desktop environment that gives them access to the services that they use on a daily basis. Right now if someone opens an issue against one of their bugs, they'll get an email. They'll have to click through that in order to get to a webpage that lets them indicate that they've accepted the bug. If they know that the bug's already fixed in another branch, they'll probably need to switch to github in order to find the commit that contains the bug number that fixed it, switch back to their issue tracker and then paste that in and mark it as a duplicate. It's tedious. It's annoying. It's distracting.

If the desktop had built-in awareness of the issue tracker then they could be presented with relevant information and options without having to click through two separate applications. If git commits were locally indexed, the developer could find the relevant commit without having to move back to a web browser or open a new terminal to find the local checkout. A simple task that currently involves multiple context switches could be made significantly faster.

That's a simple example. The problem goes deeper. The use of web services for managing various parts of the development process removes the need for companies to maintain their own infrastructure, but in the process it tends to force developers to bounce between multiple websites that have different UIs and no straightforward means of sharing information. Time is lost to this. It makes developers unhappy.

A combination of improved desktop polish and spending effort on optimising developer workflows would stand a real chance of luring these developers away from OS X with the promise that they'd spend less time fighting web browsers, leaving them more time to get on with development. It would also help differentiate Linux from proprietary alternatives - Apple and Microsoft may spend significant amounts of effort on improving developer tooling, but they're mostly doing so for developers who are targeting their platforms. A desktop environment that made it easier to perform generic development would be a unique selling point.

I spoke to various people about this during the Summit, and it was heartening to hear that there are people who are already thinking about this and hoping to improve things. I'm looking forward to that, but I also hope that there'll be wider interest in figuring out how we can make things easier for developers without compromising other users. It seems like an interesting challenge.

Ideals no more

Date: 2014-05-21 10:25 am (UTC)
From: (Anonymous)
It saddens me to see the discussion of Linux vs. MacOS X on the desktop put so much of a focus on aesthetics and convenience while they almost seem to disregard ideals and values of freedom as something obsolete.

This is not about mjg's post in any particular way. I have those same discussions among friends and colleagues, many of whom switch from Linux on the desktop/notebook to MacOSX and are full of praise for their new tool.

Don't get me wrong - I am annoyed by the regressions of the Linux desktops (be it GNOME or KDE) and the amount of work one needs to put into a setup in order to get it to work properly. Only to find that stuff breaks and further regresses after the next apt-get dist-upgrade.

This is highly frustrating, no doubt.

But really -- are we ready to put aside the fundamental questions of freedom, self-determination, access to source code, a community of peers, values which are still highly regarded in e.g. the Linux kernel, OpenStack and other more plumbing or server-side oriented projects, on the desktop, "just" for convenience?

What is it about our current time that makes aesthetics and convenience so much more important in driving our decisions than other values, compared to 10 years ago? Maybe everyone is just growing old of the inconveniences after putting up with them for so long?

I have no idea, but I feel that something important is getting lost with hardly any awareness of that loss.

Re: Ideals no more

Date: 2014-05-21 11:33 am (UTC)
From: (Anonymous)
Regarding your "ideals" and "freedom" issues I would recommend to read this well written article:

Biography of a Cypherpunk, and How Cryptography Affects Your Life (http://igurublog.wordpress.com/2014/02/17/biography-of-a-cypherpunk-and-how-cryptography-affects-your-life/)

Re: Ideals no more

Date: 2014-05-21 01:24 pm (UTC)
From: (Anonymous)
Dont believe the ideals and values are gone.they are stronger than ever. The Problem is that you cant discuss ideals with people happily buying Apple stuff. Obviously they habe a different understanding of freedom and ideals.

Re: Ideals no more

Date: 2014-05-21 10:18 pm (UTC)
From: (Anonymous)
For years, RMS and other early GNU contributors wrote free software tools using proprietary software tools on proprietary kernels. Even today, free software developers will use proprietary software - closed GPU drivers, Coverity - if it doesn't affect the license of their project.

Matthew's observation, which is basically correct in my experience, is that the shift to personal portable computing has created a similar situation for everything other than software development. Even if I care about free software, everything else I need to do with a computer - which is basically everything - becomes x% more difficult. Writing, composing, A/V editing, etc. - there's no contest. If you want to make free culture, proprietary tools will help do it orders of magnitude more effectively. Similarly for my leisure time, reading books, watching films, playing games.

Even many free software software tools are deal with on Mac OS X than GNU/Linux desktops. e.g. I have Automator tools that call out to Emacs to get various Emacs-specific edit operations in every text field in OS X. There is no GNU/Linux equivalent, except the much more time-consuming prospect of either inventing an Automator equivalent and praying it actually gets into all the toolkits before the next CADT flash, or rewriting everything I do in Elisp - which OK, but then I can't do any of the other things I need or want to do.

The only thing that got us over this hump before was the combination of a few people's excellence as programmers and their complete unreasonableness. Today's software is immeasurably more complex; GNU squanders resources on mismanaged projects like IceCat (the browser for your privacy, with dozens of known security holes!); and a poor economic climate means long-term unreasonableness is more physically dangerous than ever. I don't see a good way through.

Re: Ideals no more

Date: 2014-06-15 08:05 pm (UTC)
From: (Anonymous)
> while they almost seem to disregard ideals and values of freedom as something obsolete.

Perhaps it is because some of them have never really cared about ideals and freedom. Now they are abandoning the bandwagon they had jumped on some time before, because `it ain't hip anymore'. Let them off for now. These ain't ours.

Profile

Matthew Garrett

About Matthew

Power management, mobile and firmware developer on Linux. Security developer at Aurora. Ex-biologist. [personal profile] mjg59 on Twitter. Content here should not be interpreted as the opinion of my employer. Also on Mastodon.

Page Summary

Expand Cut Tags

No cut tags