I've been using both OSX and Ubuntu development hosts daily for the past few months (Ubuntu laptop at office, then working from home on personal Macbook running OSX), I'm convinced that Ubuntu is still the far superior development environment, and that it can still win the hearts and minds of modern web stack developers.
As a former Canonical employee and Ubuntu distro developer, I spent the majority of my time in Ubuntu far differently than as an actual, typical web-stack, devops developer. Out here, on the "other side", we use a huge multitude of tools; not just the ones that are exclusive to the Ubuntu toolbox.
I do believe there is a mild disconnect between Ubuntu distro developers and devops developers, and that it causes just enough friction that the devops world keeps reinventing technology that should be solved in the Ubuntu platform itself.
Efforts like juju, ubuntu snappy, etc. are all great, and additionally I think it would be great if Ubuntu distro devs occasionally tried some non-native toolsets that are hugely popular in the web/devops world.
For the competition is not juju vs puppet/chef but Ubuntu vs OSX. And right now, glancing around my co-working space, OSX is by far the dominant leader. But it doesn't have to be this way.
My friends on the server side of the house are well-versed in this polytool world. But on the client side, unless things have changed dramatically in the past few months, not so much. And for understandable reason: they're busy building a phone and there's simply not enough occasion (and bandwidth) in one's daily work to play with what web/devops developers are using.
So here is one small exercise that might help Ubuntu distro devs on the client side gain some empathy for the developers and experience with the toolset used "out here":
- provide a vagrant base box that is set up for Ubuntu packaging work. This would replace schroot/pbuilder in an Ubuntu developer's workflow.
- make this box work with the vagrant LXC provider, instead of using virtualbox
- to dogfood, use this setup daily for your own packaging work
- vagrant is hugely popular among dev teams to ensure the entire team is on a common dev environment, with everyone working on their own laptops.
- LXC is a genuine competitive advantage Linux has over OSX; it requires far fewer hardware resources than virtualbox.
- vagrant LXC does seem to be supported, but it gets far less love than the vbox provider
I have far more thoughts on this topic, and would be happy to continue posting about them if people are interested.