6 ms·
I would never use MS SQL Server unless it is open source. Otherwise you get into vendor lock-in. Microsoft is cunning - they want to tie Linux-based businesses
by niutech 11y ago
I would never use MS SQL Server unless it is open source. Otherwise you get into vendor lock-in. Microsoft is cunning - they want to tie Linux-based businesses to their (expensive) products for good. But fortunately there is a viable open source alternative - PostgreSQL. http://www.pg-versus-ms.com http://www.pg-versus-ms.com
- philjackson 11y agoOut of curiosity, how does OSS prevent vendor lock-in? Are you talking more in terms of support?
- cies 11y agoAnyone can support the OSS product to utmost level by studying the source code (and possibly fixing/modifying it). > Are you talking more in terms of support? Support is not tied to the product's license (which is common for proprietary software).
- drdaeman 11y agoThe sad truth is that "anyone can" is frequently still "nobody did, so you're on your own". This well applies to even the most popular pieces of FLOSS. That's still significantly better than "noone but a single vendor can and you're at their mercy", but just being FLOSS doesn't mean it can't suffer from product lock-in, just that with the hurdle being complexity and not copyright.
- EdHominem 11y agoThere's always friction, yes, but rarely a lock or you'd simply go into the code and remove it. Natural complexity, when the domain is simply complex to model, can't be gotten rid of regardless of the product.
- drdaeman 11y agoAh, the lock is not something that check the license and tells "oh no you're not allowed". It's a combination of not having something, and complexity to add it. Sometimes, that's because you need something tricky. Sometimes, that's because the project lacks any documentation, is written in a pretty low-level (verbose) language that obscures the high-level picture, and it's hard to figure out how it works. Sometimes, that's because FLOSS != KISS, and there is a lot of FLOSS software that has its own unique proprietary protocols and data formats, and does things in a manner that's completely incompatible and non-interoperable with any other system. I have no clue about MySQL or PostgreSQL internals (actually, I heard a word they're good in this regard), but is the case for various FLOSS projects - I've dug into some and cursed their developers. If you overcame that and made a patch, but it's not accepted by the upstream - there are maintenance costs. How long would you be able to maintain your own fork of a large software project, keeping up with the upstream? I've tried with a few small ones (say, at a small ISP company, I just needed some custom pppd patches for in-house billing logic), and found it to be not a pleasant experience. I believe it's not just because I'm a lazy ass - I saw tons of forks on GitHub that were slowly rotting away, maintained for some time but eventually forsaken by their authors and far behind their upstreams.
- EdHominem 11y agoThat's what a lock is - something intentional. Everything else is natural complexity. Nobody made their code complex because they felt like it. > If you overcame that and made a patch, but it's not accepted by the upstream As for how well the FLOSS projects are managed, how's your luck at debugging let alone getting a patch accepted in MS-SQL, for instance? > I saw tons of forks on GitHub that were slowly rotting away I saw people with food, who weren't eating it because they were full, and I decided that food was stupid. Right? > How long would you be able to maintain your own fork of a large software project, keeping up with the upstream? Far longer than a binary patch... You know, to block a certain cipher suite or something in a closed-source product.
- drdaeman 11y ago> how's your luck at debugging let alone getting a patch accepted in MS-SQL, for instance? Duh, none or nearly none, of course. I'm not saying that proprietary binary blobs are better. There are exceptions, but generally they're significantly worse in this regard. I'm only saying that just because software is FLOSS doesn't mean one can successfully hack on it and adapt it to their needs, or easily migrate to other FLOSS solutions. Sometimes, they'll be stuck for a while - I think that's also can be considered as a lock-in. > Nobody made their code complex because they felt like it. Maybe. But there's a term "over-engineering" too. It's not that someone decides to make things unnecessarily complex, but sometimes they really do.
- niutech 11y agoIt's very simple. With FLOSS you are not tied to one software distributor and you can freely modify and distribute the software by yourself. It is not about support, it is about freedom to run, copy, distribute, study, change and improve the software.
- heroprotagonist 11y agoHow are the clustering options coming along with PostgreSQL? The last time I looked into there weren't any multi-master solutions out of the box, but there were a bunch of separate implementations that mostly seemed to be half-baked. https://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling https://wiki.postgresql.org/wiki/Replication,_Clustering,_an... It's my understanding that the Postgres team has decided to change their historical stance of considering clustering solutions outside the scope of the core project, but I'm unclear exactly how far that has come. The variety of different 3rd party implementations in various states of maturity make this a bit tedious to sort through. That said, I always pick PG for my personal projects. I just have a hard time getting sign-off on it from my corporate overlords for anything at work.
- mtreis86 11y agohttp://www.postgresql.org/docs/9.4/static/different-replication-solutions.html http://www.postgresql.org/docs/9.4/static/different-replicat... Async Multimaster is in the list of replication solutions. I have not personally implemented it myself. Edit, As I am reading this more closely it may be listing third party implementations and is not 'out of box'
- breakingcups 11y agoNot that url again. It's RIDICULOUSLY biased and comes up every time SQL Server comes up on HN.