Hacker News new | ask | show | jobs
by wmf 5841 days ago
Porting software to a completely different culture isn't cheap and there's little incentive for volunteer open source projects to do it. If enough software that you want isn't available on Windows, it's probably cheaper for you to learn Unix.
2 comments

There's plenty of people that want to volunteer porting projects to Windows, there are other hurdles such as Microsoft refusing to ship a C99 compiler, and getting the Windows port accepted into the main repo for the project.
Huh? Everyone builds with mingw. We shipped pure win32 desktop and service apps that were compiled with mingw.

The difficulties in porting to Windows are slightly more technical than just the availability of a free C compiler with C99 support, and project management politics.

The problem is that MingW is a completely alien environment for the vast majority of C developers on Windows, and Visual Studio is a completely alien environment for POSIX projects.

That way you can't use the majority of Windows C developers, many of whom would love to contribute to open source projects, and who has the knowledge of the technical difficulties of porting to Windows.

Where did I say I didn't know Unix? The problem is that for some deployed solutions adding in Linux boxes simply because they host one piece of software isn't optimal, so "native" solutions are chosen instead. We aren't talking about a product that is tightly coupled with the OS (or at least it shouldn't be).
It should be, actually, if it's going to be fast. Memcached is fast because it optimizes interaction with the I/O layers -- you can't stay portable if you do that.

EDIT: Actually, you can use libevent for some subset of these cases and get speed+portability, but I'm pretty sure memcached predates libevent by quite a bit so they're not. So there's your answer.

The first commit to memcached on github is http://github.com/memcached/memcached/tree/32f382b605b4565bd..., which uses libevent. libevent has been around for a while...
Memcached predates github by quite a bit, actually. It was originally made as a caching layer for livejournal, and IIRC was made in the early half of the 00s. (Having a hard time finding an exact date, though.)
If you want to know the exact date, look at the link you're suggesting is wrong.
You mean the one where an existing project with several years of history has its development tree imported into github as its first commit?

I remember the memcached project being announced, and I'm pretty sure it predated github by five years or more.

memcached actually uses libevent.

Edit: oops, JoachimSchipper beat me to it