Friday, November 30

Please do not port software to Windows!

I found a small plea on the net for not porting GNU software to Windows. At first sight, the arguments sounded convincing, but I find them to be mainly colour-blind arguments.

They sounded to me close to believer-fervour (and that should, I believe, always be closely examined, lest it degrades to fanaticism).

The writer says (among other things):
Many people using Windows don't care about their freedom. They do care about quality software and for that reason try to replace all the user space software from Microsoft with better free alternatives. This is the sole reason for the existance of cygwin.
which is a gross generalization. The "sole reason" for the existence of cygwin is more than one (so to speak). Among these reasons, is providing a compatibility layer.

It is the same purpose that is provided by the wine on *NIX, by the way.

Is cygwin more powerful than Windows' default software?
Arguably, it is.
Still, the reason I had it installed at my old job, was because I needed to run some shell scripts that needed it. For a Windows shell, I now use Windows PS (easier to install, though not as powerful or complete in features, as cygwin, but it's enough).

More of the arguments, made me remember the how-to that I commented on, a few days ago: instead of having an open mind, they start from "Windows is evil, how do we get about replacing it?"

Do I think windows is evil?
Not in purpose.

Are they trying to make (more) money?
Yes.

Does that make them evil?
Not as such, no.

Does it make them unethical?
Sometimes (OK, most of the time), but still, not "evil", not "bend on sabotage/destruction" which "evil" would mean.

The writer of the plea is ignoring completely Microsoft's purpose here: they don't care for "making software", but for "making money". Once you keep this in mind, they're just another corporation.

Does that make them unfit for any purpose?
No.

It is (arguably) easier for a company to get up a Windows network, than a *NIX one (if for no other reasons, then for the number of Windows administrators available in the workforce, compared to *NIX administrators).

It is also easier for a commercial development team to use a suite of products that integrate together than five or ten separate ones.

When, as a team leader, you know you have to deliver in six months, you'd rather go for the software package with the smaller learning curve, not for "yes, but after we learn vi, we'll write code really fast" (especially if the month spent customizing vi and fighting the vi learning curve, is a month the team could be writing software in).

That said, I use Kubuntu Linux at home. It is fit for my purpose at home (playing with it's settings, adding lots of things and trying them out, browsing and a bit of development), and it's free (yes, freedom in software matters, both in price and in choice).

I feel having more of the world switching to free operating systems would generally be a good idea (if for no other reasons, then for encouraging competition), but using partial arguments and trying to limit choice ("please don't port my software to windows" so windows users might be forced to switch) is the same kind of play that Microsoft does, but on a smaller scale:

It is limiting freedom, all over again.

No comments: