Let’s look for a minute at the big picture here. What is Microsoft trying to do?
Their problem is that, in the last decade, software development has moved to other platforms. Building apps for iOS and Android and Mac as well as, of course, the server (which is usually linux), has become commonplace. Sure, people still build Windows apps, but not so enthusiastically anymore, and they lost the server war - a modern web app runs on Linux. More importantly, that development no longer happens on Windows. Dell even has a ‘Developer Edition’ of their laptops which ships Ubuntu. linux is just a better development platform than Windows.
So that is their problem. Their solution is obvious: try to become the best development platform again (they used to be, in the 90’s). Then people will use their platform and build more apps for it while doing so.
So, you make your development environment awesome. And my developer-colleagues tell me that MS Visual Studio is indeed very, very good. The fact that it has become available for Linux is, of course, a huge sign of the goal and strategy here: be the best and be everywhere. Same with their other tools.
Github in this picture
Github is a part of this strategy: the most popular developer platform! Improve it, integrate it deeper in your tools (like Visual Studio) and make it easier to use WITH your platform. That’s why you can now work in Visual Studio with git(hub) and with one click build your apps on Azure for multiple platforms, including Linux.
A sidenote: Sourceforge
Note that the Sourceforge comparison is silly. Even before it got bought Github had a totally different monetization strategy - they never tried to earn money on being an end-user software distribution platform like Sourceforge. And if users typically don’t download software from your platform you can’t include shit in there either… Github now has plenty of cash and will focus on being the best platform, because that is what Microsoft needs. Not a little bit of desperate, short-term cash - money they have plenty. Anyway, that discussion is a sideshow.
What it means for developers
This means two things.
- Where it makes sense for them, MS will certainly open source stuff. As long as it furthers their goals they will make tools and libraries open. Not their cash cows (eg OFFICE), but I can even imagine they rebase Windows on a Linux kernel or something like that someday.
- They will not try to monetize developers. They never really did and it makes no sense for them: they want you to build apps for their platform and maybe make some money on distribution (through their app store…) or the platform you run (part of) your app on (Azure) etc.
In short, that’s good. It is a good platform for developers, it will be awesome and very open, because they want us to use it. Not doing that means you miss out on the good stuff they do - and as Nextcloud, we have to be pragmatic if we want to achieve our goals. That means using the best tools.
What this means for open source
A few thoughts on the big picture for open source here
- First, we should relax a LITTLE at least. We won. Microsoft, in the end, is just another company - they’ve done nasty stuff (but hey, like others haven’t, Oracle anyone?) but they will do what is good for them. At the moment, that aligns with our goals. As a matter of fact, the stuff we tried to do in the early 2000’s has worked.
- At the same time, we should NOT relax. The war has changed, the grounds on which we fight have shifted. Desktop is no longer very relevant (note 1) while we won the server. But things have moved to ‘the cloud’ and that’s where Open Source fails to actually help much: companies like Facebook and Google build everything on FOSS and what do we get? Privacy violations everywhere… Frank gave a great talk about this recently.
My point here is: hammering on Microsoft is a useless waste of time, no offense. They are no longer the enemy, their strategy for the cloud is the enemy - and they share that strategy with pretty much everyone else in the industry. Using github or not is not relevant for this and just distracts from the real issue imho.
Instead, we should build decentralized alternatives that are better for users. Sure, sure, perhaps it is nice if our infra is also decentralized etcetera (and Gitlab does nicely in that regard) but the developer tools at that level aren’t the problem. It is the end user software and solutions. And if you watch or read both Franks’ talks, the problem is in two areas. Government rules and regulations (that’s why we appreciate the Digital Sovereignty discussion in Europe) and the quality of the developer platform we offer. We have to make sure we ALSO offer a great platform that is easy to develop for and with. That is why we introduced our developer platform!
Anyway, Jos out, I wrote too much already
note 1 I’d still like to win the desktop, but I blame the infighting of Linux desktop developers for me having given up hope. See Frank’s talk on the subject - I helped him prepare that talk, but I must admit I would have been less positive and constructive. He’s too nice.