A common trend among many of the best developers is to see them posting screenshots running OS X. Many of the best developers, some my personal ‘developer heroes’, have made the switch to OS X.
It’s All About the Mentality
I respect and admire programmers like @migueldeicaza, @mitsuhiko, mandrake, @dhh for all they have accomplished. One thing they all have in common, present day, is running OS X. Mandrake cowrote Enlightenment (which is the original really cool window manager for Linux), Miguel started Gnome, and the majority of code both Mitsuhiko (wrote almost every useful Python library ever) and DHH (Ruby on Rails) write run on Linux backends to say the least.
What are they most known for? Problem solving skills mixed with actually producing / releasing.
Linux is Open Source
And this, I believe, is why great developers tend to move towards OS X (yes, there are plenty of exceptions). A critical piece of writing software is focus. When a problem solver uses a Linux desktop, they are immediately confronted with the possibility of being able to modify every part of their system. When a problem solver runs OS X, their options are severely limited, by design.
I think all of us are guilty for hunting down PPAs to get a backported browser, or running ‘./configure && make && make install’ at some point. And when you have programming skills, source code can turn into a detriment to productivity when you start modifying projects outside of what you intended to accomplish. All of a sudden you start hacking a project for a few minutes, and wake up days later in a coding haze with all of that time lost.
Personally I have had experience with this while using old Linux distributions. We have SLES 9 systems and SLES 10 systems here at work, and in the past year I have spent countless hours hacking Sprint 3G wireless drivers, USB over IP, Firefox 3 and countless others to work on these older systems. Why? Not because they are the primary goal, but because I could, which in turn took up time from things I actually “wanted” to do.
Time is Valuable
Watching one of Miguel’s presentations, he mentions that he does not have enough years left to “worry about memory management” and that they leave that to the younger folks. This is the crux of the argument. For programmers, there is far too much opportunity for distraction at every avenue. We don’t know how long we will be here for, but certainly we know that nothing we care about will get done as long as our focus is spread so thin across the spectrum of Linux.
Summary
This is all just food for thought, not a judgement against any form of desktop or usage pattern. For reference, I am still running Ubuntu on my desktop, and being wildly unproductive on the tasks I want to finish.
Related posts:
#1 by foljs on December 17, 2010 - 4:50 pm
Quote
Even Linus Torwalds used an iBook with OS X –he wrote his book in it. And at a time, he used a Powemac G5 as his desktop machine, although that one was running Linux ( http://news.cnet.com/Torvalds-switches-to-Apple/2100-1003_3-5606030.html?tag=nefd.top#ixzz18O5JQMrP ).
Now, the lure of an OS X machine for an OSS hacker, is that besides the system “just running”, with minimal hunting and improvising, they also need/want/like to have several apps not available as Open Source, or with sub par replacements. Stuff from running Photoshop or Omnigraffle to connecting their mobile phones and being able to *see* and *edit* their video captures with a minimum of fuss.
Of course, this only holds true for OSS hackers that are “pragmatic” and just use what they think is best for their needs, not for hardcore “Libre Software” types.
#2 by bob on December 17, 2010 - 4:52 pm
Quote
why would any open source developer choose such a controlled environment as OS X as opposed to Linux or even Windows, where you can choose which hardware suits your needs. instead of having to wait for Apple to tell you what hardware they approve.
#3 by Alex on December 17, 2010 - 4:54 pm
Quote
Well, yeah … that’s why I’m not using OS X.
I mean I do have an OS X workstation, but I only use it for building / testing in XCode.
You mentioned “make && make install”. If going for OS X I think you’re going to have quite the shock.
#4 by Murph on December 17, 2010 - 5:14 pm
Quote
Those high-profile developers you mention also probably aren’t scraping by month to month, either. I use Linux because I’m simply not wealthy enough yet to test whether Mac OS X would cure my lack of discipline.
#5 by Edgar J. Suárez on December 17, 2010 - 5:23 pm
Quote
That’s true. And personally, what I like the most of OS X is that I don’t need to waste a lot of time trying to make hardware to work with my distro. You just turn on the mac and every piece of hardware is working perfectly.
Great article.
#6 by Michael "notriddle" Howell on December 17, 2010 - 5:31 pm
Quote
I think we, as humans, need to learn self-control. Maybe I’m being a bit of an idealist, but if you don’t want to modify your system, in favor of just working on your code, why not just don’t modify your system, in favor of just working on your code?
#7 by Ben Hughes on December 17, 2010 - 5:44 pm
Quote
For me the time is the real kicker here, everything else aside. The best developers have a high opportunity cost of time, and they don’t want to spend that time dicking around with maintaining their system. They want a nice terminal, concise interface, and no bullshit. I personally use a Mac and, aside from Chrome/Firefox, I use one full-screen terminal window with tmux and vim. I need nothing more.
That’s what gets me about the whole “Macs cost more” argument. $400 additionally is a total drop in the bucket in the grand scheme of time spent on a computer (and the variance of productivity directly relating to how much time you spend fighting your machine). If a good developer spends even 30 less minutes a month fighting with the machine, that extra $400 is almost certainly worth it. People have a tendency to focus on immediate cash outlays and ignore long term costs or opportunity cost of time.
#8 by Boboo on December 17, 2010 - 5:58 pm
Quote
I can’t stand OSX I bought a mac, had it for 3 mos. And I was so frustrated with Xcode and the general lack of choice without building all of my favs in X11 … Ehh I guess if your into that bondage computing thing it works
#9 by T_U on December 17, 2010 - 6:05 pm
Quote
Interesting article. Are so many developers in this case ?
Regarding h/w support… I’m pretty sure those great developers are capable of figuring out what piece of hardware they should purchase not to have any compatibility issue. I don’t think the problem lies here.
But indeed OSX is great. (W7 too) Some devs may be fed up by the scattering / tons of possible Linux setups that make it more difficult to package & test their apps & the fact that they may have to debug other pieces of the OS at the same time.
Well, I wish there were fewer distros, fewer environment & people worked more efficiently toward a common goal.
Anyway… Major distros work quite well at the moment, but I frequently stumble accross some silly bugs that take ages to be fixed because there are tons of similar projects and the cannot be all well maintained by the community all the time…
#10 by Mariano Pavone on December 17, 2010 - 6:23 pm
Quote
I think they use OS X for the very same reasons other people do. The “cool” factor. You know Apple now sells “lifestyle”, not software.
#11 by T_U on December 17, 2010 - 6:24 pm
Quote
BTW, does anyone know if Linus switched back to KDE ?
#12 by Mike on December 17, 2010 - 6:28 pm
Quote
An interesting observation. I have to say I am guilty as charged of trying to get some new project working on my machine as the benefits to my productivity once I get that working are “obvioius”, except it takes 10 hours to get it working. Productivity software is a total weakness.
That being said, I find that some of the tools I really want don’t seem to work like I want them to on a Mac. I’ve had several friends who write code on Macs and I’ll show them a quick cli command to do something only to realize that it doesn’t have the same behavior on OSX.
That being said, even on a Mac there is still an internet, IM, and Growl notifications to distract you. I’ve now come to the point with my Ubuntu setup where I have just stopped mucking with the interface altogether. I have the 2 or 3 compiz settings I use and that’s it.
You do bring up a good idea though which is a distraction-free desktop… like a built-in Pomodoro desktop where you pick a couple programs that are associated with a task and that’s all you get while you are working on that task. It shuts off your IM, email notifications, and everything else while the timer is going and then tells you what you missed when you are done.
And now I’ve just created a distraction for myself. ARGH!
#13 by Jonas on December 17, 2010 - 6:40 pm
Quote
I made the switch from ubuntu to osx some years back still has linux on phone, desktop and htpc but im more productive in OSX. Its a great some what hassle free operating system, my reasons against using windows is lack of a relevant terminal and the filesystem.
The OSX software ecosystem enables some efficient tools as textmate and homebrew the former commercial and the later open source. But stay away from xcode if you are not explicitly develop for apple hardware.
Yes the computers are more expensive but I work in IT and gladly payed $3200 for my Macbook Pro + SSD + 3 years extended on site support when / if stuff breaks. The value overweighs the price in productivity every hour I does not spend on fixing whats ‘broken’ in my system I can spend on innovating, and fixing other peoples systems
Pingback: On Why Open Source Developers Run Mac OS X « Steven Harms | Slowdog
#14 by Brews on December 17, 2010 - 6:59 pm
Quote
Hacking open source code on Mac OS is like BDSM. If you’re into that stuff, that’s cool, but it’s just not my thing. All those leather straps… too much chafing.
#15 by Paul on December 17, 2010 - 7:06 pm
Quote
when you’re a developer you will be hacking your environment no matter. I develop on ubuntu because its easier to know that what works on my laptop will work on the server i am deploying to. I have def spent more time convincing OSX to let me do something than I have installing drivers on ubuntu. also, ubuntu 10.10 recognized my wireless card, ssd drive and all peripherals with no need from input from me. Linux has come a long way.
#16 by qhartman on December 17, 2010 - 7:12 pm
Quote
Counter-point: I tried using OSX full-time twice over the laster several years, and both times ended switching back over to Linux after a couple of months. Why? I spent too much time fighting with OSX trying to make it behave the way I wanted it to since the deafult behavior either irritated me or didn’t fit with the rest of my work patterns. Also, I had to choose between using the Linux applications I knew and liked in a sorta-non-native-not-quite-as-seamlessly-as-I’m-used-to manner, or shell out what would amount to several hundred dollars for native apps that were (at least) equivalent quality. All of this resulted in a substantial drop in productivity.
That all said, I’m not a programmer anywhere near the caliber you talk about above, but I do program. Maybe that helps keep the distraction demon at bay.
#17 by blah on December 17, 2010 - 7:22 pm
Quote
I write code on an Ubuntu desktop. Why? Because the code will be deployed on Ubuntu servers.
For everything else? Get a Mac.
Life is too short.
#18 by Carlos on December 17, 2010 - 7:49 pm
Quote
I partly go with your argument. I wanted to use Linux for day to day dev, and I tried, really I did. But in end I got sick of stuff just not working. Sorry, no I just don’t want to invest days in fixing regressions in my laptop’s suspend/resume or working around crappy broadcom drivers or whatever. I have work to get done, so I use a mac.
#19 by Michael "notriddle" Howell on December 17, 2010 - 8:39 pm
Quote
Then don’t buy a computer that gives you that sort of crap. Get a box with an Intel chipset and an Atheros card. Stop expecting Linux to work with every piece of hardware in existence without expecting the same from OSX.
#20 by T_U on December 18, 2010 - 12:39 am
Quote
Yeah, it’s a bit unfair to compare the hardware support of OSX on Apple hardware VS the hardware support of a Linux distro on ANY hardware… If you want to go the Linux way, just choose among hardware that IS supported properly. I always checked BEFORE buying and have perfectly supported hassle-free hardware with any Linux distro…
#21 by Conzar on December 18, 2010 - 12:47 am
Quote
The difference between open source developers and free software developers is that free software developers care about their freedoms and so would never use OSX due to their freedoms being infringed upon by Apple; however, open source developers care about the method of development not necessarily the philosophy behind their methods.
#22 by Daeng Bo on December 18, 2010 - 1:08 am
Quote
OSS developers should use whatever they want. Ubuntu devs should use Ubuntu. Eat your own darn dogfood and you won’t have a QA problem.
#23 by MV on December 18, 2010 - 1:13 am
Quote
>Why Open Source Developers Run Mac OS X
>
Because they are morally incoherent?
– MV
#24 by Joseph Smidt on December 18, 2010 - 2:00 am
Quote
Great points. Yeah, at the end of the day the most productive people often place productivity at a higher level then politics.
That being said, I personally find I am most productive running linux and so that is what I use.
#25 by Carlos on December 18, 2010 - 4:22 am
Quote
The laptop was a high-end HP that supported Linux (in the spec) and if you read my post I said *regressions*, which affect many laptop models and more than a year later are still unfixed. What am I supposed to do, buy a new laptop because Ubuntu broke something?
#26 by Jason on December 18, 2010 - 8:18 am
Quote
I develop Drupal websites on OSX, because it has the best developer tools I have found out of the big 3 operating systems. I was actually given the laptop by a friend who develops Drupal sites, who was given it by his friend who does the same. I guess you could say we are keeping as close to open source as possible using OSX by passing down the laptop
I have tried developing on Windows and Ubuntu as well, but haven’t found such integrated applications that do it ALL. MAMP + Coda + Terminal is about as easy as it gets from a local PHP web development standpoint. I have been able to setup similar environments on Windows and Ubuntu, but they take much more time to configure and are not as productive overall.
#27 by asedsa on December 18, 2010 - 11:38 am
Quote
Type your comment here
This is it in a nutshell.
I think sometimes the Linux community assumes everyone develops GPL software because of freedom arguments, when actually a lot of people use it for purely technical reasons of it giving better code, freedom is simply a nice by-product. It seems to me that the higher you go up the developer chain the more likely it is they will care about the technical arguments of GPL above the freedom arguments. To them using a Mac is not an insult against freedom, its a step towards helping them to improve the quality of code produced.
#28 by Smartboy on December 18, 2010 - 2:20 pm
Quote
You should replace “Linux” in your post with “Ubuntu”, since that is really what you are griping about. Not all Linux distros are created equal, heck I use Arch Linux on my netbook (which runs perfectly by the way and works well for programming as my primary computer), and I’m not searching for programs which I have to find a repository or do the 3 finger salute for. Ubuntu (and Debian-based distros in general), just has a very dated design, apt is aging fast and the protocol itself needs a redesign, which is why it doesn’t run very well. Personally, I avoid Ubuntu now, it’s going downhill fast from where it was just a couple years ago and there are plenty of easy to use and technologically better alternatives around.
#29 by Ambleston Dack on December 18, 2010 - 7:31 pm
Quote
Linux supports more hardware than OSX! It’s easy to get a smooth and cool OS when you also control the hardware it runs on. As much as I dislike Microsoft, both it and Linux do a damn fine job of supporting quite a bit of different hardware, you all should tip your hats to the Linux devs for the support.
Its why console games look much better than PC games, every Nintendo Wii is the same the world over, so its easy to develop for a platform where you know that the hardware is universal on that platform.
So, which do I prefer, Linux or OSX? Linux, I wrestle with OSX too much to get anything done.
#30 by Juanjo on December 18, 2010 - 8:45 pm
Quote
Mac OS X advocacy in planet Ubuntu. Surprising at best.
I don’t know why are others running Mac OS X, and I don’t know if they really need it to be productive. I’m running Linux (Gnome, it’s a stock Fedora 14), and it works for me. I like to stick into defaults so I can focus in other things.
I really don’t get the same summary you wrote at the end of the post. You make it sound like using an open source OS is about compiling and hacking EVERYTHING, and that’s not true. What is even worse, you make it sound like the fact Mac OS X is closed and limited in customization it’s positive because that leads you into productivity.
I had to check twice to be sure I was reading planet Ubuntu.
#31 by Marius Gedminas on December 19, 2010 - 7:09 am
Quote
Have you tried *asking* them why they use OS X?
#32 by KenP on December 19, 2010 - 9:08 am
Quote
Quite a bunch of hypocrites, if you ask me! If they cannot work on Linux (the ones who claim to write it), how can they expect its adoption?
No wonder Linux desktop is making any dent and the corporate monopolies are slowly creating bigger FUD. I am waiting when an Apple ad says: Look even the Open-Source developers themselves use OSX!
Thanks for this article. No amount of “valid reasons” can mask the fact that this is a bunch of hypocrites out there!
Time to eat your own dog food guys or stop pretending to be part of open source. Make up your minds, for god’s sake!!
#33 by Andrius Bentkus on December 19, 2010 - 11:21 pm
Quote
Yeah,
Once I installed Ubuntu I started installing the awesome window manager and adjusting it to the ubuntu-mono-dark theme…
I ended up searching for the freaking gnome menu ubuntu theme Icon so I could make the awesome window manager theme more ubuntuish….
@asedsa
Nice post, Torvalds himself is an open source developer, not a free software developer.
#34 by Dann on December 20, 2010 - 2:53 am
Quote
Nothing stopping developers from creating a Virtual machine of, say, Ubuntu and refreshing it or duplicating it for each piece of software they modify. Most laptops and desktops these days are more than powerful enough to support VM’s.
Ubuntu only takes 256-512MB of ram to run just fine.
Plus with asynchronous disk access, it runs better than if natively when using VirtualBox.
THe point being, no developer “needs” a specific machine to do most of their work. (Unless it’s windows, in which case you’ll need more power to run the latest version of the OS)
Pingback: On Why Limited Choice does not create Freedom | Just Like Java
#35 by jon on February 22, 2011 - 2:00 pm
Quote
funny, check out @mitsuhiko’s post :http://lucumr.pocoo.org/2008/4/3/use-os-x-you-git/
lots of relevent gems there and hes opinion too.
tl;dr : all OS sucks.
and my case is:
laptops are a more delicate subject for obvious reason. apple get lots of things right in this case – boot time, screen and most of all inputs, good keyboard and the trackpad size. I think a mac always was and still is the tool for a (wealthy=high profile) (web)designer/creative, music,writer,graphics etc. there the mac realy shines and pays itself back + hassle free.
I can ramble for hours on whats wrong with each OS’s and hardware manufacture and we all know – YMMV.
Pingback: Ubuntu VS OS X « Steven Harms