This is a conversation that I have quite frequently with folks outside of Developer Relations. What is the difference between Open Source & Enterprise developers? Are they always just one or the other? Why are they different? How does the open source ecosystem work?
Open source software is made by many people and distributed under an OSD-compliant license which grants all the rights to use, study, change, and share the software in modified and unmodified form. Software freedom is essential to enabling community development of open source software. -opensource.org
Essentially, it's the idea that developers are expanding or creating functionality that they are openly sharing with other developers at no cost. In most cases, developers are doing this work for free. In some cases, developers are sponsored by fellow developers, organizations or companies.
There are a variety of projects and code-bases that are open source. They're everywhere. WordPress, being an open source blogging & website platform, makes up over 38.5% of the websites on the internet. Open source is a major part of our software world. Outside of large projects like WordPress, developers are constantly building features, SDKs and code examples to help other developers dive into that functionality themselves.
Developers can be classified as one versus the other, but often times, most developers either use, contribute, or review open source code regularly. It's very common to find a developer who works in Enterprise, but is heavily involved in the open source space either through their work at the company or through side projects or learning new technologies.
In general, those who work in enterprise likely make 1.5 to 2x more than a developer who is working in or on open source code in their role. This makes zero sense to me—we should be paying the developers who are writing reusable open source code more.
Enterprise developers also tend to spend less time in developer communities. This isn't always the case, but they do tend to punch the clock for their day job and enjoy their free time (and extra income) afterwards. Sure, they probably still love to tinker and learn new things, but you see them around a little bit less.
Open source developers are incredibly generous people. They write code and thorough documentation so that someone else can use what they built, and rarely ask for anything in return. With this mindset, if you're asking them to do something for your own purpose, they're likely going to ignore your request. They're selfless and can see through your selfish request. Where enterprise developers are a bit more used to more selfish asks in their day-to-day role. This obviously isn't always the case, but it's fairly common.
Sponsoring open source libraries, SDKs, codebases, developers & communities can be an extremely valuable investment for your company. If you take a look at pretty much every project, there is some form of open source code.
If developers are doing this work for free, yet the rest of the world is profiting, in some cases at a major level, we should be contributing back to this work. I can personally tell you, that GraphQL is used in many high-scale products. Are those giant profitable companies investing in GraphQL themselves? I doubt the answer is always yes.
Developers are all unique, if they weren't this publication wouldn't be successful. Keeping in mind what your developers care about is incredibly important. If you're working with open source developers on the regular, consider showcasing, sponsoring and supporting their work. It will build a great deal of trust with them and will allow you to engage, even more self-purposed, in the future.
Watch for more content around sponsoring open source software and their communities and justifying the ROI with your stakeholders. I have lots more to say on this topic.