Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think that multi platform code makes sense for many kind of software, mainly for client software (an email client, a browser, and torrent client), but Redis is useful in deployments, where the developer has control about what to run when deploying software, and Linux has the interesting feature of being free and open source.

But you said, there are other instances of win32 ports of system software like MySQL, MongoDB and so forth. I guess that they are interested in providing more value to their product allowing a larger diffusion, I'm not enough into marketing to value such a thing, in my opinion people running Apache or MongoDB under win32 for deployment are doing it wrong, and I don't want to help.

But again, I just don't want to personally help an effort that is useless in my opinion, but I'm not either against such an effort. Redis is open source, enough people interested in making it working under win32? Perfect, as I said I'm open to help and recognize their efforts in the main project site, I just don't want to be involved. Life is too short to spend it developing something you don't trust.



We use Redis quite a bit in one of our products, Kiln. Because Kiln is mainly a Mercurial hosting platform, we offer it as a hosted product on our servers or, for companies who would prefer to have tighter control of where their source code goes, as an installed product on our customer's servers. As Kiln is written in .Net, we require that users installing it use Windows. Asking our customers to also set up a separate %nix box (or VM), just to run Redis, is too much.

In the first versions of Kiln, we had to ship a Python clone of Redis we called MiniRedis (it only implemented the subset of commands we used) because of the lack of Windows support. We're now shipping the Cygwin build of Redis to run on Windows, which is less than ideal.

I sincerely hope you'll reconsider your position. I believe it is, at best, myopic to think that %nix is the only place people will want to host Redis, or that it has in any way "won" as the only hosting platform.


I'm not bashing Fog Creek, you guys make cool products.

When you decided to write an application in .NET, meant to be run on Windows, why did you also decide to use an in-memory datastore that doesn't run on Windows? That seems like a really bad design decision for that product.


Let me commend you on your solution; unlike the many complainers on this thread.

That's how it should be - you've made a choice of development platform, you get to live with the trade-offs, one of them, for the time being, being "no good native redis".


It's a shame you feel that way. I understand there is technical limitation due to the blocking nature of one of the subcomponents, but if Microsoft (or some other organization) solved that issue, it sounds like you'd continue mixing open source politics with your product development decisions which I would argue isn't conducive to more widespread adoption of the software or the health the software's ecosystem.

It does of course make sense as I assume you're developing this because you want to, and not as part of a company's bottom line, which means really you can do whatever you like. No sense developing something if you're not enjoying the process. If however you ever take this to a level where you have a financial incentive in furthering the software's adoption, I'd urge you to do whatever it takes to get an official Windows port in there, which would mean looking at any aspects of the implementation that cause issues on that platform, and doing what you can do to overcome them.


Yes indeed, astonishingly, people do thing for reasons other than money.

However, even if this was a commercial project, this would still be the correct decision. Innovating new features, polishing and making Redis even better is exactly what @antirez should be doing.

Make an awesome product. Not a half-assed one that runs on every device / os / mobile under the sun. I've seen more than one project dissolve in mediocrity under the pressure of trying to do that.


At times, antirez does appear to be a bit bone-headed. In the early days of redis (pre-1.0 I think) I (among several others) had sent him patches to incorporate unix domain socket support into redis server/client. Not to mention, the patches were summarily rejected by Salvatore. Google "unix socket redis" and you'll find numerous patches developed by several authors for redis 1.x - none of them made it into the official release.

Curiously, I noticed unix sockets had been officially added in version 2.2.0.


Antirez, with this reasoning perhaps it makes sense for the official Redis project to support an official redis-cli (the command line client) for Windows.

I agree that installing Redis on Windows is kind of "doing it wrong", but the ability to easily access a Redis server with redis-cli even on Windows seems to be pretty important to the continued increase in user base.

Thoughts?

EDIT: I understand there is a redis-cli for Window at https://github.com/dmajkic/redis/downloads , but a separate download that users must know about and keep up to date separately is a barrier to entry, IMHO.


So probably all we need to do is to better link at the win32 ports from the download page... no need to make stuff official and merged into the main project IMHO.


It would be worthwhile investigating how the SQLite project approach this issue. I see a lot of parallels between the two projects.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: