Clint Patterson's Blog

rss

Read the thoughts and musings of a cultured redneck here


Microsoft, Open Source, & Why It's a Great Time to Be a .NET Developer
Microsoft, Open Source, & Why It's a Great Time to Be a .NET Developer

Microsoft Loves Open SourceAs an open source enthusiast and a .NET developer I’ve been watching the transformation of Microsoft happen and it has been great to watch. You see I’m an avid user of DotNetNuke and if you know anything about DNN’s history you know that DNN was one of the earliest, if not the earliest, open source project in the .NET Ecosystem. From 2003 on DNN has been a pioneer in the .NET open source world.

A lot has happened and several trends have come and gone in the Microsoft world since 2003. As an open source project built on Microsoft technology the notion of being open source wasn’t always a popular conversation topic. Being open source wasn’t “cool” and sometimes negative perceptions about open source solutions were visible.

Boy have times changed!

Microsoft is Serious About Open Source… and It’s Not Just Lip Service
One of my college football coaches always said “Your words don’t mean anything, but your actions mean everything.” Actions are a really good sign of what someone really believes. Microsoft’s strategic shift to embracing and focusing on open source over the past few years has been such a refreshing transition to see, feel, and experience for me and my fellow DNN’ers because of the actions we are seeing.

If we look at the recent and strategic moves Microsoft has made it’s easy to see that Microsoft is indeed serious about open source. If you aren’t convinced that Microsoft is serious about open source or if you are not keeping up, let’s look at some of the actions Microsoft has taken related to open source. And these are just the ones I have observed… I’m sure there is even more evidence out there.

  • Open Sourcing of .NET Core - One of the recent Microsoft technologies in the web world is .NET Core. .NET Core is a cross-platform, open source, re-implementation of the .NET Framework and it offers some great features. Releasing .NET Core as open source was a major sign that Microsoft is serious about open source.
  • .NET Foundation Providing Resources For OSS Projects - The .NET Foundation is not technically owned by Microsoft, but it is led by very well recognized names in the Microsoft ecosystem. The .NET Foundation fosters and facilitates open source by providing resources to projects within the foundation. You can find a full list of the resources on the .NET Foundation website and you can see how we in the DNN Community benefit from these resources in my recent blog “5 Reasons We’re Glad to Be Part of the .NET Foundation”.
  • Buying GitHub - In buying GitHub not only did Microsoft make a strategic purchase, but it reiterated the commitment to open source as GitHub is the world’s most popular place for open source.
  • Strategic Position of .NET Open/Source Booth at Build & MS Ignite - I helped out with the .NET Open Source booth in the Expo area at Microsoft’s Build conference and at the recent MS Ignite conference. With all the amazing new technologies and top notch vendors one may think the open source booth would be somewhere stuck in a back corner. Quite the contrary, the .NET Open Source booth was dead in the middle of the action at both events. At MS Ignite, if you came to the expo there’s a high percentage chance you saw the open source booth. This strategic positioning and messaging from Microsoft to developers and IT Pros was simple - Open Source is important to us.
  • Open Sourcing Patent / Joining ION - In another bold move Microsoft open-sourced it’s patent portfolio. OIN (Open Invention Network) is an open source patent consortium and Microsoft just brought 60,000 patents to it. This move is a big one and protects open source projects from patent lawsuits. Here again the messaging is clear, we are serious about open source.

Why It’s a Great Time to Be a .NET Developer
There has never been a better time to be a .NET Developer. Literally everything you need to get started building is online and free to use and even better it’s likely open source. Anybody, anywhere can download code, look at it, enhance it, modify it, and submit it back to the projects if desired. If you can dream it, you can build it and you may build an online team of users and contributors to assist you in the process. Microsoft is literally making it easy to build open source projects via the technologies and resources they are providing. They are removing roadblocks for developers and being 100% transparent.

Consider the following capabilities anybody, anywhere has...

  • Want to collaborate on a project - Create a GitHub account and get going
  • Find a bug - Make a pull request
  • Need help - Connect with the developers working on the project or in the open source community
  • Got a Popular OSS project - Join the .NET Foundation
  • Worried about transparency - Everything is developed in the open

In Conclusion
I referenced one of my college football coaches earlier, but he wasn’t the only one to to impart wisdom during my athletic days. My high school coaches had more one-liners than anyone could remember. One line that stuck with me was “If you do the little things, the big things will take care of themselves.” Microsoft is not only doing the big things, but they are also doing the little things that continue to reinforce their seriousness about open source.

We are watching a culture and paradigm shift occur in real-time and it’s awesome. By going “all in” on open source Microsoft is not only winning the hearts of developers, but they are making it easy for developers to get started with their technologies! I think the strategic decision to embrace open source will have a big impact for Microsoft in the long term.


Why Businesses Should Contribute to Open Source Software
Why Businesses Should Contribute to Open Source Software

The huge MS Build banner at Microsoft Build 2018

Last week I attended Microsoft’s Build Conference in Seattle. I was helping at the .NET Open Source booth which promoted the .NET Foundation and all things open source. The conference was very nice, and the energy level was high. I had conversations with a wide variety of people during the conference and it is obvious that Microsoft’s strategy of embracing open source is welcomed by developers.

I Want My Developers to Contribute to OSS… but

During one of my discussions a gentleman told me that his organization uses open source software (OSS) and he wants to allow his developers to contribute to OSS, but he needed to be able to justify it to his corporate leadership. His organization is a large, global organization so he needed solid and clear reasoning for why contributing to OSS is something his company should support.

He asked me if I knew of any blogs or resources that could provide insight into this topic. I thought about it and while I’m sure there is info somewhere, I wasn’t aware of any specific blogs or content about this subject. I am obviously biased about this topic, but let’s consider some reasons why a business should support OSS… especially if their organization is using OSS-based products.

Before we list out reasons we should first define what “support” means. When business people hear the term “support” they generally think about money, cost, or financial implications. Though, in the open source world it’s not necessarily about money as support can come in many different forms. Of course, the obvious need for any OSS project is code contribution, but there are more ways to contribute than one may initially think. As examples outside of the code, organizations could allow their developers to assist in marketing and promotions of sub-projects, conferences, user groups, GitHub repos, project documentation etc. Developers could also volunteer in any area of the OSS project as well as exchange knowledge online via forums, blogs, StackOverflow, and others. Organizations could also open up their offices for user group meetings, donate swag & door prizes, or sponsor the food at meetings. Any step taken to help move the the OSS project forward is a form of support.

MSFT Loves OSS on a TV at Microsoft Build 2018

Why Should Businesses Support Open Source Projects?

Now that we know that support can come in forms outside of financial contributions let’s get back to the subject. If you are faced with the need to justify supporting open source software to your business leadership here are some thoughts and ideas to consider:

  • New Features: If a business need arises within your organization that doesn’t currently exist within the software, having the capability and knowledge of how to make contributions to add those features is a great way to give back to open source projects and communities. In the DNN ecosystem we recently saw this happen with the contribution of PolyDeploy by Cantarus. They needed the software to do something that it wasn’t so they built it out and contributed it back as open source to the DNN Community. As a business you can shape the future roadmaps and feature sets of OSS projects by having your employees involved.

  • Locate Talented Developers: Attending and speaking at conferences and meetups is a great way to connect with developers of all levels. Connecting with talent in these locations is a great way to find potential new hires for your organization. Perhaps one could tell their company’s HR department that supporting OSS is a form of recruiting. After all, do you know who some of the top OSS user group meeting sponsors are… recruiting agencies!

  • Brand Promotion: Being actively involved with open source projects helps promote your organization as one that supports OSS which enhances brand reputation and increases the reach and awareness of your organization among developers.

  • Snowball Effect: Actively maintaining and contributing to OSS projects helps show activity around project(s), creates energy and momentum, encourages others to get involved, and extends the longevity of the solution by helping shape perceptions of interest levels of the project.

  • Take and Give: If your organization is using OSS then you are already standing on the shoulders and contributions of others. Every time I use DNN I am well aware that I am achieving things through the software that I could never have done alone. Along with helping extend the project’s lifetime, giving back to the community who has freely provided functionality that your organization uses is the “feel good” right thing to do. You freely take and use the software, why not give back with the same frequency?

  • Opportunity Cost: Let’s consider the opposite perspective for a moment. What would it ultimately cost your organization if you don’t give back to an OSS project that you are using? That is, if you’re running on OSS software and the project loses momentum, developers abandon the project, and then it stagnates… what would the cost be to your organization for having to switch solutions or maintain it on your own moving forward? These costs come in man hours, sometimes they come in paid license costs, and time spent learning/training your developers on new solutions. Would the “cost” of contributing along the way and continuing to make the solution better be less than the cost of the solution not continuing to exist?

  • Free Cross-Training & Knowledge Exchange: Once your developers get involved in OSS projects and communities they will inevitably meet other devs who are well-trained in the solution. These seasoned devs are great developers to learn from. Your company will likely become better simply by exposing your team to other developers in the OSS projects space. I learn new things every week and month at user groups, in forums, Slack channels, conferences, etc.

  • Increase Efficiency: How long does it take your developers to solve issues within open source software? If your developers are active in OSS projects and communities their networks will be filled with subject matter experts who can assist in resolving issues. This easy-access network of experts essentially allows developers to leverage the knowledge and experience of an ecosystem, which is very powerful. Instead of Googling and searching for answers developers now can tap the minds and experience of people very close to the information they seek. And who doesn’t like efficiency in the business world?

  • Developer Mentors: In my experience it’s easier to find mentors around OSS projects. Generally speaking developers involved with OSS projects are some of the most giving and generous people you will meet… it’s just the nature of the open source environment. When senior developers see motivated and passionate younger developers entering their communities they enjoy connecting to ensure new members are onboarded correctly and aware of all available resources. Would an organization benefit from their employees learning from more senior developers and finding mentors who can help them do their jobs better?

  • Creative Outlets for Developers: Sometimes developers who have been around a while get mentally drained or tired of working on the same projects. These individuals are great examples of how allowing developers to work on OSS projects can serve as a creative outlet and break up the monotony of constantly working within the same “box”. Have a developer who likes to feel challenged and learn new things… let them contribute to an OSS project and you’ll likely keep them around longer.

In Sum

In this blog I’ve summarized my thoughts around why it’s important for organizations to give back, be active in, and support OSS projects and communities. As one considers justifying OSS participation to the business side of an organization much of the conversation will center around educating the business-side on how OSS ecosystems function. Communicating the potential positive benefits will be what’s needed to help bring on a change in perspective or cultural shift within the organization.

In my mind there are only positives to gain from contributing to OSS projects. Your developers will learn more, be empowered, meet new developers of all ages and skillsets, and your organization will be more efficient, and will likely be viewed as a great organization to work for.

If you don’t want to jump in head first then just try this one small thing to get your feet wet - if your developers have “down time” then simply encourage them focus their energies and time to assisting with the OSS project in any area they choose and watch what happens to your company in the months ahead. Be sure to pay attention to job satisfaction levels, quality of incoming new hires, general passion for work, and the perception of your organization among developers in your space.

After all, have you noticed that OSS projects that thrive are the ones with active community support? Who doesn’t want the project they use to not thrive? From my perspective the benefits of contributing to open source software far outweigh the drawbacks of not contributing.


Clint Patterson

DNN Platform Hosted by