It can be easy to forget that not far from Fargo’s bustling downtown, out in the open farmlands on the southern edge of Fargo, Microsoft has its third largest campus.
Built up in the wake of Great Plains Software’s acquisition, the software giant quietly exists, where over 1,800 employees work on platforms like Dynamics and Azure.
A seven person team at the Fargo office is working on a project unique from all the others. They are the Developer Division Fargo Team, or the devdiv Fargo team for short. Dan Leeaphon is a a leader in the group, a man with a vision that software can change the world and a proficiency in French learned during his years in Montreal.
The project, launched in 2014, is Microsoft’s first open-source software development tool called .NET Core. They’re currently bringing it to Linux, OSX, and Windows platforms.
In simplified terms, .NET Core is a large class library that allows developers to select and use code from a variety of platforms, in a variety of coding languages. It is, in essence, a massive toolbox for building software, where the tools are pre-packaged pieces of written code.
And as of 2014, Microsoft opened it up to the open-source community. Licensed under the MIT open source license, the code now provides developers with a fully supported, open source, cross platform .NET stack for creating server and cloud applications.
Leeaphon explains it like this.
“Every [computer] program that runs, the people that write it use a language. We sit just on top of the language. We provide libraries, and facilities that make it easier to build stuff,” he said. “That’s what’s variously called as frameworks.”
The original .NET framework is actually 15 years old, Leeaphon said. But over time, the need for a cross-platform library became apparent.
“What we did is, with the .NET framework – which is great for Windows – is we said, let’s rethink it. Really rethink it,” he said. “Some of the things in old .NET foundation were centered around what you could do with Windows. It doesn’t make sense any more in Linux or OSX. We need to build those libraries out.”
Going open-source a year ago was a big deal for Microsoft, Leeaphon said.
“You gotta realize with old Microsoft, everything was internal and closed off. You released stuff, and that’s the only thing that people could see,” he said. “With open source, our code is out there for people to see and contribute to. A teammate of mine even said thirty to forty percent of performance gains were from contributions outside of Microsoft.”
These people come from around the world. A guy from Czech Republic engaged in a lengthy argument over how a certain piece of code presented numbers. Leeaphon’s teammate worked with someone from Google to develop another part of the framework. Anyone in the world can comment, do pull requests or respond to bugs in the system.
“There’s a lot of people, and a great deal of expertise. We leverage that for .NET core,” Leeaphon said. “And, you may ask, why would they be interested in helping out .NET? Because it’s a platform that’s supposed to make life easier.”
That’s just it. These people from around the world are all contributing, not for money or attention, but for the greater good of building better software.
Leeaphon draws on innovation in the car industry to demonstrate how this could change the world.
“In the old days you had to go to the front of the car, stick the crank in there, start it, and that’s how it started. You have to switch the ignition on, and make sure the gas is just right,” he described. “Modern cars have an abstraction so that you just have to turn a key without even thinking, and it starts the starter motor, it does all of that. You don’t have to be the expert. You can just turn the ignition drive.”
“That makes it easier for everybody to drive cars,” he went on. “Hopefully with a framework, it makes it easier for everybody to build things. To get to what you want faster.”
I’m not a developer. You may not be either. Why does this matter? Imagine a world where you don’t need to be a developer to create software. Where, using the toolbox of .NET Core, you could take an idea and use the pre-written selections of code to create your own mobile apps, services, and software.
If coding is the language of the future, which many, including Leeaphon, believe it already is – then .NET Core is at the forefront. Coming at you right from the farmlands of Fargo.
Photos by Marisa Jackels