
Why you should support Mac OS X and Linux - nickb
http://blog.wolfire.com/2008/12/why-you-should-support-mac-os-x-and-linux/
======
cperciva
This would be great, except that it's impossible to "support Linux". You can
support Debian, or Gentoo, or CentOS, or Slackware, or one of the many other
linux distributions; but the fact that your code works on one distribution
doesn't necessarily mean that it will work on another.

I'm dealing with this with tarsnap right now -- I know the code works on
FreeBSD, NetBSD, OpenBSD, OS X, and OpenSolaris; but for Linux all I can say
is that it works on Debian, Ubuntu, CentOS, Slackware, Gentoo, and RedHat.
Does it work on SUSE, Mandriva, Xandros, MontaVista, or Linspire? I don't
know. (But if anyone here runs any of those, I'd be happy to hear from you.)

Yes, I could install N different distributions of linux and test them all; but
testing on N different distributions is much more work than testing on 1, and
many people simply won't have the time.

~~~
makecheck
In my experience, Linux platform compatibility boils down to a few things:

\- architecture (usually i686 or x86_64)

\- availability of the right library versions in /usr/lib (however, you can
combat this by "shipping" the versions you need with your app)

\- (rarely) kernel version

\- (even more rarely) glibc version

In other words, most of the time, if it's an Intel binary, it seems to work
pretty well.

If a particular Linux distribution seems necessary, it usually just means that
one of the above features of that distribution is important.

~~~
gaius
It's getting to the point now that you might as well distribute your app in
the form of a VM image.

~~~
olefoo
I'm curious as to why that isn't more common, although you get a similar
compatibility issue with your choice of vmware, xen or virtualbox; and there
is some overhead; but yes, it sounds like a good idea to me.

<http://www.rpath.org/> does something like that for server side software, and
I know vmware supports that model.

------
wheels
In much shorter form: _Don't ignore the preferences of trend-setters and early
adopters._

~~~
cperciva
Well put. This is one of the reasons why Tarsnap supports BSD, linux, and OS
X, but not Windows -- people who run Windows are generally not trend-setters
or early adopters... nor are people likely to take the advice of Windows users
where security is concerned.

~~~
barrkel
Watch your hubris and bigotry.

Windows is a far larger market, so early adopters and trend setters aren't as
loud as they might be in an empty room, but that doesn't mean there are less
of them. Instead, they tend to be visible only in niches of the PC market,
rather than simply the Mac niche or FOSS niche.

Also, I recommend that you moderate your intake of propaganda re Windows
security too. Windows is the big target, and has by far the largest number of
suckers (i.e. unsophisticated users). That doesn't make it inherently
insecure, or savvy users of it incompetent.

~~~
nailer
'Also, I recommend that you moderate your intake of propaganda re Windows
security too. Windows is the big target, and has by far the largest number of
suckers (i.e. unsophisticated users). That doesn't make it inherently
insecure, or savvy users of it incompetent.'

Windows Vista was the first Windows consumer OS to ship with a firewall
enabled, and that by default used limited privilege accounts that prompted to
elevate privileges when needed.

When did Linux and OS X have those features?

Vista was the first Windows OS to ship without inbuilt, unfixable windows-
smashing vulnerabilities. Did Linux or OS X ever have an equivalent unfixable
vulnerability baked into the display server?

How long has the idea of all software being digitally signed been in the
Windows world?

How long has the idea of 'it's compromised, game over, reinstall and re-apply
non-executable data if you think that's not compromised too' been around in
the Windows world? Or do people still use 'anti-virus' software as a line of
defense, when it's already too late?

Which current consumer version of Windows has mandatory access control ala
SELinux or AppArmor?

Which version of Windows has chroots? Process jails?

How large is the 'Windows Hyper V appliance' based on Server Core 2008
compared to VMware ESX3i?

Which OS requires users close all their application, stop executing their
kernel, and restart everything for simple, non-kernel updates?

With your answers to the above in mind, do you think you should perhaps limit
your own intake of propaganda regarding Windows security?

------
jimbokun
This is the model that brought fame and fortune to Bungie.

"The team focused on the Macintosh platform, not Windows-based personal
computers, because the Mac market was more open and Jones had been raised on
the platform."

<http://en.wikipedia.org/wiki/Bungie#Founding>

They had a clear and open field making quality games exclusively for the Mac
platform, and this brought them a devoted following and a steady flow of
profits. They later branched out into Windows, and of course Microsoft bought
them out so they would focus predominantly on the XBox.

So, while ignoring Windows indefinitely may not be a great strategy, ignoring
it at first can be.

------
albertni
This was nice, pretty much straight to the point. At Dropbox we've noticed
disproportionately more Mac/Linux users (relative to the "worldwide norm" or
whatever that means, which is pretty standard). More importantly, we've
definitely noticed disproportionately more vocal Mac/Linux users. We started
as Mac and Windows but "investing" in a Linux (ok, Ubuntu/Nautilus to be
specific, but it tends to work in most distributions and can work without
Nautilus) client has certainly been worthwhile.

------
shiranaihito
I would have been perfectly content with "Because Microsoft is evil".

~~~
jmtame
It's interesting how they used to be the anti-IBM company too. Die a hero or
live long enough to see yourself become a villain.

~~~
Herring
And now IBM is one of the biggest linux supporters. If MS ever loses its
walled garden, you'll see it preaching standards & open protocols loud as
anyone else.

