Dropping support for Windows and Mac

Hey folks,

We have decided to drop Windows and Mac support from Dgraph’s official releases. It was a hard decision that we did not want to make over the years, but both of these platforms require engineering efforts to maintain while only being used by 1.6% of our user base. We did the calculations based on our anonymous telemetry. Windows constitutes 1% usage, and Mac constitutes about 0.6% usage.

This change would also allow us to use advanced Linux techniques like punching file holes for better value log garbage collection and so on.

While this is not perfect for Windows or Mac users, they can still run Dgraph on Docker, where it works perfectly fine. Or, use Dgraph Cloud offering which comes equipped with the enterprise features.

Thanks!

6 Likes

For what it’s worth, I agree 100% with this hard decision.

It ensures that users only have a “1st-class platform” experience on Dgraph, and avoids frustrating potential adopters who try our software for the first time on Windows / MacOS. Instead, these users are redirected to platforms where they will have the best experience. It reminds me of Apple’s decision to halt their brief “3rd-party Apple Compatible” program in the 90s.

:+1:

1 Like

How does this affect ARM64?

The whole issue with Mac is that they have a M1 processor, which is ARM64. But more importantly, AWS uses their custom ARM64 processors - Graviton, and I know of a number of people who are using that.

When Docker starts working on M1, Dgraph on Docker on M1 would work too.

People don’t get onto Graviton to use Docker (any C6g EC2 instances are Graviton instances). Right now Dgraph can’t run on those

If we decide Dgraph Cloud would benefit significantly from those processors, we could consider supporting Dgraph on AWS Graviton then. Plus, typical way to install and run Dgraph is via k8s anyway, so Docker (or some virtualization) is a given.

1 Like

We will need to create arm64 Linux builds and arm64 docker images.

1 Like

@mrjn

Dropping support for Windows & Mac so fast is a bad decision. We build our application the last 10 months because dgraph supports Windows. See the other threads for good arguments why it could still be worth the effort (e.g. the standalone application, where you cannot have docker).

Furthermore, because go supports Windows and cross compiling you are really missing sth out here. The Windows & Mac Community could get bigger over time (see posts from @maaft and me last months)

Supporting Windows with a low priority would be way better than completly dropping it. So the community can make PRs for occuring bug fixes etc. . With linux only features this is way harder / not possible at all.

3 Likes

How did you collect any meaningful metrics for windows when the executable is not working since (at least) 20.11?

And what about the offline-first app use-case?
Something like SQLite (e.g. GraphQLite would be perfect for this and I could see this to be a driving factor to choose dgraph in the first place.

Can we expect some grace period? We rely on dgraph functioning on windows and spent the last 11 months working on this. We need some time to come up with a different solution.

3 Likes

The decision is to not officially support it – that is, we won’t be spending our own engineering efforts maintaining them or testing them. But, we’d be happy to receive PRs or provide guidance to make Dgraph work on Windows.

That seems orthogonal.

The existing versions of Dgraph would continue to run as they do on these platforms. So, if Dgraph is working well for you on Windows, it shouldn’t immediately impact you anyway.

But, recommendation would be to use Docker on Windows.

1 Like

I see… The time to de-prioritize Windows and Mac has come. Not surprised that much since v20.11 releases have been quite buggy on Windows (and the one I encountered are even obvious on first two attempts; that bug has been fixed).

Meanwhile, I’m currently on the journey of migrating my main OS from Windows to Linux. Sadly, I’ve already left Dgraph a while ago. The product’s main selling point for me was how portable it is to use on Windows (with just a bunch of binary files), and now migrating to Linux defeats the whole point. Before that, I was also disappointed by the whole v20.11 thing and the team’s somehow reluctant support in bug fixing the Windows build, which made me decided to stop using Dgraph at the moment.

That said, I don’t have any grudge to anyone behind this project. I could tell despite this unfortunate decision, the team is still passionate on improving this project. There are some unique lessons I could take from learning and using Dgraph as well, so I’m glad spending my time and having fun with it.

I hear you. I myself have strong Windows background (starting with Win2k3 + AD) and moved to Linux. From a personal perspective, on top of existing challenges, I noticed that some of the underlying upstream libraries that Dgraph needs have had problems or were not available on Windows. We are always open to community contributions and collaboration to make Windows a better experience.

2 Likes

Will Windows and Mac support for BadgerDB be dropped as well?

We are not actively ensuring that Badger works on windows and mac. Correct me if I’m wrong @ibrahim

That is correct. We don’t test badger in windows/mac. It is only Linux right now.