6 ms·
Plenty of developers learn a specific platform and are comfortable using that platform, setting it up and know the ins and outs of securing it. Yes, yes of cour
by axefrog 15y ago
Plenty of developers learn a specific platform and are comfortable using that platform, setting it up and know the ins and outs of securing it. Yes, yes of course they should learn the other platform but really if you're trying to get a job done, you want to be sure you know what you're doing. Learning a different platform to a competent level is not really what you want to be doing when you're trying to implement production-ready systems under time and cost constraints.
So when he says "even if you want to run your code under win32 systems what's wrong about installing Linux boxes to run Redis", I can't help but feel he's being a bit narrow-minded. If it were a valid argument, then why port any software to work under win32 at all? Why bother with node.exe? Why bother with Windows implementations of MySQL, MongoDB or PostgreSQL?
In fact, lots of software starts out as Windows software and is ported to Linux. Why not just tell Linux users to get a Windows box if they want to run that software? I would suggest that the author revisit this viewpoint and consider why the majority of products with which he competes have chosen the platform-agnosticism route.
- rbanffy 15y agoIt seems you missed the part he mentions there is already a Windows-compatible fork that's better than Microsoft's patch (equally unsuitable for production use, less changes to the original codebase). So, you can already run Redis on Windows, if you are so inclined. I too don't like using VMs to develop, and that's why I use Linux for my work environment, but, if you want to have a production-grade OS and be able to run Windows software, VMs are the only way.
- antirez 15y agoI 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.
- axefrog 15y agoIt'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.
- deleted 15y ago[deleted]
- shadowmint 15y agoYes 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.
- brass9 15y agoAt 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.
- bad_user 15y agoRedis can be used for development on Windows. Other than that, people that are hosting software like Memcached, Apache, NGinx and PostgreSQL on Windows should be fired. If you're not up to it than you can always find other people to do it for you. For convenience you could also run any Linux-specific software in VirtualBox or VMWare on the same machine. You could also install an X-Server on Windows and open Linux apps in their own window on the Windows desktop. I've done it, works great. And you can always find somebody to help out, you only need to ask. Haven't you heard? Virtualization is the future ;) It is an author's right to devote his time to whatever the fuck he feels like doing. If he feels like there are more important things to work on, rather than Win32 support, then so be it. If you can't stand this situation you can always port it yourself, send a patch, etc, etc... You can also be hard-core, like the Mono people that reimplemented .NET from scratch because Microsoft doesn't think of Linux as a useful target.
- CJefferson 15y ago"If you can't stand this situation you can always port it yourself, send a patch, etc, etc..." Isn't the whole point of this article that Microsoft sent a patch, and it is being rejected, just to avoid supporting win32?
- bad_user 15y agoRead the article - the author is saying that the same functionality provided is already implemented in a simpler and safer way. That's why they are rejecting the patch. Because it doesn't provide anything new while adding complexity. Not because they want to avoid supporting Win32.
- CJefferson 15y agoSurely any attempt to make code run under both POSIX and win32 is going to require adding more code and an abstraction layer?
- bad_user 15y ago
- buff-a 15y agoLearning a different platform to a competent level is not really what you want to be doing when you're trying to implement production-ready systems under time and cost constraints. BINGO. Hence, he isn't. But when he follows your own logic, you call him "narrow minded".
- axefrog 15y agoMy argument is more against the sentiment that could be summed up as "meh, just use Linux". What you say is absolutely fair enough, but should Microsoft (or other contributors) overcome the expressed limitations, then a promoted Windows port makes sense.
- danmaz74 15y agoRedis is a server component you access through http. This means that there is no problem accessing a linux box running redis from a Windows (or whatever) application. So, really, the added value of a Windows port isn't very high, especially now that virtualization technologies are everywhere. On the contrary, porting front end software between platforms makes a lot of sense, but that's a completely different story.
- regularfry 15y agoI have difficulty interpreting the difference between running a native process, and spinning up a VM (local or remote), as a trivial difference. If I have a desktop app which talks to Redis (for whatever reason), what this means is that I can't realistically produce a version which works offline. Depending on the market, that could be huge.
- LeafStorm 15y agoIf it's a desktop app, then you probably don't have serious enough load that you need the mainline version as opposed to the unofficial Win32 version. It's not like he's saying "If you run Redis on Windows I'll sue you," he's just saying, "I don't see enough benefit to it to accept it as part of the official Redis project, but I am 100% okay with other people working on it."
- beagle3 15y ago> If it were a valid argument, then why port any software to work under win32 at all? That is a great philosophical question, and different people will have different answers, all valid; however: > "Installing Linux boxes to run Redis", I can't help but feel he's being a bit narrow-minded. .. > Why not just tell Linux users to get a Windows box if they want to run that software? This is not a symmetric win32<->linux case. If you're a win user, and you need Redis, you can run it today, for free, starting 10 minutes from now (30 if you've never done this before and need to download stuff): download oracle virtualbox; download ubuntu server install, install inside virtualbox inside ubuntu, sudo apt-get install redis-server And really, that's all there is to it; if you are an experienced windows developer with no Linux experience whatsoever, this will take you all of 30 minutes (25 of which just waiting for downloads). It actually performs quite well; not as well as running directly on iron, but probably not more than 10% slower than a native port that does everything right (The current native ports are 100000% slower during syncing to disk) If you're a linux user and you want to run a windows-only server, that costs your $100 or so for a retail win7 license, a few hours of downloading and 20-30 minutes of active setup last time I did that. Want to fire that up on 3 developer machines? That would be $200 more, thank you. Reconfigured your virtual box more than 5 times? You have to talk to Microsoft before you can proceed. So, really, what he offers IS a viable solution for windows developers. Really. Try it before you consider it "narrow minded". You might find the narrow mindedness was not where you expected. > In fact, lots of software starts out as Windows software and is ported to Linux. The few I am aware of are picasa and 7zip, of which I only ever use the latter. Do you have more examples? It's actually significantly harder to port Windows programs to Linux than the other way around, because the Win32 API has about 100 times more functions, and the standard practice (cheerfully supported and encouraged by Microsoft) is to use all of them.
- thinkdevcode 15y ago> So, really, what he offers IS a viable solution for windows developers. Really. Try it before you consider it "narrow minded". You might find the narrow mindedness was not where you expected. I believe that thought is narrow-minded because you are not thinking in terms of enterprise. This would probably work in a startup, or maybe even in a mid-size business. But in an enterprise, going to your manager and asking to fire up a linux VM in a Microsoft shop will probably get you reprimanded (or laughed at). I would love to use linux all day, but we can't do it as there is no freedom to. With a Windows port, I could create a business case for it and get a VM provisioned with Windows Server on it within a short period of time. Honestly, as bad as this sounds, money for small things like Windows licenses is not an issue when it comes to enterprise.