Table Of Contents
- Open Source vs. Closed Source
- Open Source Licenses
- 5 Benefits of Open Source Software for Developers and Users
- A Little More About How Developers Utilize Open Source Software
- Final Thoughts
“Open source” is a term that’s typically used with software, and it means that the code is accessible to the public and that anybody can inspect, modify, enhance, improve and share it. Source code isn’t commonly seen by us computer users; instead, it’s what developers work with to control how software functions. The fact that WordPress is open source is beneficial to us all, though, developer or layman.
The concept of open source goes beyond code. It also defines the values shared by developers: a collaborative, transparent approach to projects. For some, open source is about community, sharing and standing behind initiatives you believe in.
For others, it’s lucrative. Depending on the licensing (more on that later), developers may charge for the software they’ve altered and released. Or, they may charge for services and support – the software remains free, but they can make money by helping people install and use it.
In this article, I use the terms “developer” and “programmer” interchangeably because I’m referring to their coding expertise. I realize there’s a difference in job responsibilities, but those differences aren’t critical to this article.
Open Source vs. Closed Source
Source code that isn’t open source is closed source, also referred to as “proprietary.” That means that somebody owns the source code – an individual, a team of developers, a company – and that only they have control over it. They’re the only ones who can inspect, change or copy the source code.
To use closed source software, you have to agree to its licensing permissions. If you do something outside those permissions, you’re in trouble. While open source software also has licensing terms, they’re much more flexible – “Hey, free reign, you do you,” or something like that in more legit terms.
Also, the owner’s servers host closed source software. They’re in control, so you can’t build it out. When it comes to open source software, you can install it on any servers you choose. That’s why you have to search for a host when you want to build a WordPress.org site. You can extend and modify a WordPress website how you like.
The Case for Closed Source Software
Right now, proprietary software sounds a bit like Big Brother, but that’s a simplistic view of it. There are plenty of times when proprietary software comes in handy. For example, if you want software that performs X and you don’t care about tweaking how it does that, you’ll probably opt for proprietary software. No control also means no responsibility, and depending upon what you’re using the software for, that can be a wonderful thing.
Take Slack, for example. Slack is closed source. If you need a chat tool to bring your team together, and you want to get it set up and then never worry about it, you’ll choose Slack. You pay, you use, you’re done.
If you’re sending highly sensitive information back and forth, though, you may want a self-hosted tool. It’ll give you more responsibility to care for it, but also more control. You’ll then look for an open source chat tool instead of Slack.
Open Source Licenses
Open source licenses, sometimes referred to as “copyleft” licenses (instead of “copyright,” get it?), may state that anyone who modifies and releases the software must also release their version of the source code. The original source code and the new source code have to both be open source. You may not be able to charge a licensing fee for your version of the software, either.
The WordPress.org License
WordPress.org operates under a GNU public license: GPLv2 or later. That license states a lot of things, one being that derivative works must also carry the GPL license. Some people feel that this means they can do whatever their little heart desires with WordPress plugins and themes. They can demand or steal plugins and themes because of the freebie licensing. That’s misreading the terms, though.
The “free” part doesn’t mean free cost. The “free” isn’t the monetary definition, it’s about freedom. There are no restrictions on the code itself, but the software doesn’t have to be no-cost.
Let’s illustrate “free.”
Public places are free to the public, right? You can go into them regardless of who you are – you don’t have to be an employee to see them. Some will take you behind the scenes. Restaurants may let you walk into the kitchen. They may even give you their recipes.
But you have to be a customer. You still have to pay – but once you pay, you have lots of access. Open source software is the restaurant that lets you inside, then into the kitchen, then to chat with the chef, then gives you a recipe card so you can make that meal back home. But you don’t get those things without at least ordering a soda.
There’s also open source software that doesn’t require you to pay a thing. That’s their choice, though. There’s nothing that says they have to give you their version of the software for free.
What the license does say is that once you have access to the software, whether you pay for it or it’s given away for free, you will have access to the source code, too, and you can make any changes to it that you want.
Split Licenses (and a Note About Invalid Licenses)
Some developers will have a split license for their software. That means that they’ve made changes to the software and want to release their version. Part of the software remains under the GPL license, but part doesn’t (like the CSS or media, for example). This is legal, but some frown upon it ethically.
If you come across a WordPress plugin or theme that isn’t GPL-licensed at all, you can’t ignore the current license because you know the license is invalid. You still have to abide by the current license until WordPress enforces the correct licensing.
5 Benefits of Open Source Software for Developers and Users
There are a number of benefits of open source software for both developers and users:
1. Control Over the Software
Having control over the source code and the software means developers can tweak it to perform how they want. Even non-programmers can benefit from this. They can use the software however they want, and they’re only limited by their abilities, not licensing. For example, you can turn your website into a membership site or marketplace; add third-party integrations; and invite as many users as you’d like to contribute to or manage your site.
Without access to the source code, you could end up stuck with a website that doesn’t look or function how you want. You may not have control over the layout, colors or fonts. If you don’t like an aspect of your website, there’s not much you can do about it – you’ll have to live with it or find another theme that makes you happier. If you want to add a feature, you’ll have to hope an approved plugin is available.
2. Frequent Updates
The collaborative nature of open source software means that it’s frequently updated by the community. Developers can use the latest trends and techniques to update the software, and users benefit from these upgrades. With more tweaks to the code comes more options and functionality when building a website.
3. Improved Coding Skills
Beginner developers can improve their skills via open source software. The fact that it’s accessible by the public makes it easy to study and play with it. Coding can be shared with other developers who will then critique and comment on it. This is also a good way to uncover mistakes in your code.
There’s a huge amount of give-and-take here. Developers of any skill level can benefit from helping others. Explaining entry-level concepts can be a useful refresher, and you never know when a new developer is going to hit on something creative.
4. Long-Term Stability
If you use open source software for an extended period of time, you don’t have to worry that it’ll become unusable if the original authors quit working on it. Now, this isn’t true for everyone. Non-developers can’t do much if other developers stop working on and releasing updates to the software they’re using. It’s still better than being stuck with stale proprietary software that nobody can do anything about, though.
5. Better Security
This one’s a bit of a hot topic, but some feel that open source software is more secure than closed source software. More people viewing the source code means more opportunities to spot errors or omissions. And since anyone can work on open source software, you don’t need permission to make the necessary fixes.
A Little More About How Developers Utilize Open Source Software
When developers are able to access source code, they can improve it or fix it by adding useful features or fixing bugs. The developer may:
- Work with the original authors of the software in order to further develop and improve it
- Make the software more useful for themselves for their own use
- Make the software more useful to other users who will pay for the upgraded software or support
Depending upon how and how well a developer utilizes open source software, it can also be beneficial for their career. Open source software allows developers to show off their talent. Long-term, that can mean a well-rounded, impressive portfolio; healthy competition with other developers; and acclaim from the tech world.
Viewable source code means that experts will know what makes the software work and the changes that improved or fixed it. People won’t just see what you did, but how you did it and why your way is oh-so-brilliant.
It’s kind of like beating a world record vs. setting a world record. Setting a world record is awesome – you were the first and only. You paved the way. Beating a world record, though? Doubly awesome. Someone already did it, so you were challenged to do it better – and you figured it out.
No matter how you’re going to use it, the open source nature of WordPress.org is beneficial for developers and non-developers alike because of the freedom it allows. Freedom to make changes to the code, freedom to hire a developer to make changes to the code for you and freedom to host it wherever you like. Open source software doesn’t automatically make you capable of working with it, but it does put control in your hands, however you decide to use it.
Want to start connecting with other developers? Check out our article Git and Github: A Beginner’s Guide for Complete Newbies.
Featured Image via Visual Generation / Shutterstock.com