When you hear the term “open source software,” what comes to mind? Do you think of free software full of bugs that doesn’t get updated as often as it should? Do you picture open source programmers launching experimental software from the basement? If so, you’ll be pleasantly surprised to learn that today’s open source programmers take pride in their projects and have kicked that poor reputation to the curb.
Welcome to open source software 2.0, where developers are highly skilled professionals who take pride in their open source projects. In fact, many of today’s talented software developers have made a career out of building and maintaining open source software projects.
If you’ve been avoiding using open source software, you’re missing out on some major benefits. However, before explaining the benefits, let’s get into what defines open source software.
What is open source software?
Open source software is generally free and is distributed with complete access to the source code. Open source software is distributed with a license that allows users to modify the code and redistribute the modified software. In essence, open source software represents freedom not found with proprietary software.
When the open source software movement began, the goal was to provide four specific freedoms:
Freedom 0: “The freedom to run the program, for any purpose.”
Freedom 1: “The freedom to study how the program works, and adapt it to your needs.”
Freedom 2: The freedom to redistribute copies so you can help your neighbor.”
Freedom 3: “The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.”
What are the benefits of using open source software?
Using open source software comes with numerous benefits, but the largest benefit is saving money. Since most open source software is free, businesses don’t need to pay for multiple licenses when entire teams need to use the software. Even buying one license can be expensive depending on the application.
Most businesses use a variety of software to run daily operations including:
- POS software
- Website software (including plugins, extensions, and customizations)
- Accounting software
- Time tracking software
- Team management software
Paying a team of developers to create software from scratch can cost tens of thousands, if not hundreds of thousands of dollars. Buying multiple licenses for multiple software programs for your entire team can also cost tens of thousands of dollars – a cost that will reoccur on a yearly basis thanks to the software subscription model.
On the flip side, using open source software can save nearly all costs associated with using or developing proprietary software. You might have to pay for modifications and customizations, but that will cost less than designing a new project from scratch.
Most businesses don’t need expensive, proprietary software
Building proprietary software from scratch has its place. However, most businesses can get by using free, open source software. When your enterprise uses open source software, you can expect the following benefits:
- Open source software is generally free. Some developers charge a licensing fee for open source software, but the principles of freedom to use, modify, and distribute still apply. When a fee exists, it’s usually small.
- Fast security fixes. Open source software is designed to generate frequent improvements from users, which includes bug and security fixes. Problems will be caught early and fixed fast. This gives open source software a cybersecurity boost.
- Full customization options. Unlike proprietary software, you can make all your desired changes to open source software. If you don’t like a specific feature, you can eliminate that feature or change the way it works. You can add features, modify features, and redesign the way it functions.
- Extended backwards compatibility. You’ll find that open source software developers create programs that work with older hardware and are compatible with older browsers and operating systems. There will come a point at which some outdated hardware or software will be truly incompatible, but it won’t happen as quickly with open source software.
- Less chance for malicious back doors. Since open source software code is publicly available, if there are any back doors, malware, or spyware, someone will point it out quickly.
- Frequent updates and patches. As fixes for bugs and security issues are crowdsourced, developers will incorporate these fixes into the core files and issue frequent updates and patches. These frequent releases will also include corrections to typos, graphics, and other minor inconveniences.
- Strong support. The best open source software will have a strong online community of developers and users you can go to for support around the clock. Good software tends to generate a fan base that enjoys spending time voluntarily helping others install, troubleshoot, and use the software.
- No subscriptions. Free, open source software won’t require you to maintain a subscription to use the software. This is good news for those whose wallets are being drained by the subscription model.
- Access to desktop software. While some open source software is hosted in the cloud, most projects are downloadable and run on local machines. If it’s open source, the only way to get access to the code is by downloading the software. If any open source software is hosted in the cloud, the cloud version exists in addition to the downloadable version.
- Less cost for businesses to maintain their own software. For businesses that build software, creating proprietary software requires maintaining a dedicated team of developers to perform all updates, bug fixes, security patches, and feature additions. Maintaining a development team is costly for enterprises and can make new releases slow and incomplete.
When enterprises build and release their projects as open source they save money and get free ideas for improvements and enhancements. For example, new features and fixes are essentially crowdsourced and repackaged into the next official release of core files.
- Cheaper to customize. Enterprises that require specific custom features can hire a development team to customize open source software to their specifications. For example, if an enterprise downloads a task management suite that doesn’t include a time clock, they can hire a developer to add a time clock feature. These additions always cost less than hiring a development team to create custom software from scratch.
- Entire teams can use the software. Provided the software is free and open source, you don’t have to worry about getting a license for multiple individual users. Choosing free and open source software for everything possible can save enterprises tens of thousands of dollars each year.
Open source software is mostly, but not always free
Although the term ‘open source’ was originally coined to cover free software, not all of today’s open source projects are free. Some open source projects require a paid license. However, the fees for open source software tend to be much smaller than proprietary software.
Either way – paid or free – the quality, security, and reliability of today’s open source software is strong.
Who uses open source software?
Individuals, small businesses, large corporations, enterprises, governments, and non-profit organizations all use open source software to run their daily operations.
The world runs on open source software
If you’re not familiar with open source software, you’ll be surprised to learn just how many popular software programs are open source. In fact, you probably use open source software on a regular basis. Open source software can be used to perform every kind of task from image and sound editing to word processing and PDF file creation.
Here’s a list of ten popular open source software projects that many individuals, businesses, and entrepreneurs rely on every day:
1. WordPress (website platform)
Carrying a well-earned reputation as the world’s most popular blogging software, WordPress has always been an open source project. That’s why so many software developers have been able to develop plugins and themes for the WordPress core. Some developers have even successfully turned WordPress into an engine for lead generation by modifying the core files to support publishing sales pages and squeeze pages.
At face value, WordPress seems like it’s just for bloggers. However, being open source, anyone with PHP skills and time can transform WordPress into a content-generating machine specific to your needs. WordPress pages and posts don’t have to look like a blog or even be identifiable as a WordPress site.
If you’re thinking about using WordPress to power your website, you don’t have to derive design inspiration from existing themes on the market. You could sketch a theme and have a WordPress developer create a theme that looks exactly like your sketch. A professional graphic designer can create a custom theme with virtually endless design possibilities. The cost to get custom WordPress has also become more reasonable over time.
2. Mozilla Firefox (internet browser)
Where would the world be without Mozilla Firefox? Firefox accounts for about a quarter of all web browser usage and has a vast array of third-party plugins available. It’s the preferred browser among many business professionals.
Firefox is aesthetically pleasing compared to the old Internet Explorer, which could account for part of its popularity. It’s also lightweight, provided users don’t install too many plugins. However, the greatest feature offered by Firefox is a high level of customization opportunities.
There are also some hidden features most people don’t know about. For instance, users can set a master password for accessing stored passwords and Firefox has a built-in screen capture tool. For tech geeks, there are even options to change configurations. Pretty cool for an open source project, right?
3. Gimp (graphics program)
Gimp is a valid open source rival to Photoshop. There are many die-hard Gimp fans out in the world who can create amazing graphic art equal to what some people can make in Photoshop.
While Photoshop has advanced features, it’s proprietary, cloud-based, and now requires a subscription to use. Gimp, on the other hand, is free and open source. The ability to use layers is the main reason Gimp is the preferred open source graphics program. Other free graphics programs don’t utilize layers, which defeats the purpose of having a graphics program in the first place.
Countless organizations use Gimp instead of paying to license Photoshop and their employees churn out stunning graphics. It’s not the program that makes high-quality images – it’s the graphic artist.
In addition to being used by thousands of highly skilled graphic artists, Gimp’s license allows people to add new features to the program, provided they turn those features over to the community. The original developers want to review all additions to vet them for public release. This is a common requirement for open source software and is the reason many open source projects rapidly improve.
4. Magento 2 (website platform)
Large corporations including Nike, Samsung, 3M, Ford, and Lenovo all use Magento for ecommerce. The current version of Magento is actually called Magento 2, which is an entirely new platform. However, it’s made by the same developers and brings incredible new features to the Magento brand.
Big corporations use Magento because it provides everything required to run and manage an ecommerce store without the exorbitant cost of designing ecommerce software from scratch. For example, Magento makes it easy to manage product pages including images, descriptions, and prices. There’s a built-in inventory management system and a system for customers to sign up for an account that keeps track of their purchases, preferences, and will save items in their shopping cart.
Magento also provides an internal email system for answering customer service inquiries, support for popular payment methods and external payment modules, and integrates with Google Analytics for the best data reports on the planet.
Since Magento is open source, organizations that need extended features hire professional ecommerce development teams to customize the platform.
While Magento is open source, it was originally designed on the open source framework called Zend. See how one strong open source project leads to another? The internet wouldn’t exist as we know it today without open source projects.
5. Apache OpenOffice (word and data processing)
Back in the day, a license for Microsoft Office wasn’t that expensive. Today, you can still by a single license, but Microsoft really pushes the Office 365 cloud subscription. Most people don’t actually need all the bells and whistles that come with the subscription, so they use Apache OpenOffice.
OpenOffice truly rivals Microsoft Office and provides programs for word processing, spreadsheets, presentations, and databases. OpenOffice offers the same features as MS Office and the interface has a similar look and feel.
As of 2016, OpenOffice was downloaded more than 200 million times. Tens of thousands of businesses use this free and open source office suite to run their daily operations.
There are developers who create third-party extensions for OpenOffice to add functionality to the program and when good features are added, Apache integrates these features into the core files and it becomes part of the next release.
Since OpeOffice isn’t hosted in the cloud, it’s not used for collaboration. However, teams that require cloud collaboration and still want to use free software use Google Docs.
6. VLC Media Player (media player)
VLC is the ultimate media player and outperforms just about every proprietary media player around. VLC will play nearly all filetypes, including several ancient filetypes that shouldn’t be created by anyone with access to modern software.
VLC doesn’t require downloading additional codecs to play additional filetypes and you can stream media from the internet. You can also record live videos and make screen casts with VLC.
When you want to download a YouTube video, if you have VLC you don’t have to take a chance using a sketchy download site. You can download YouTube videos with VLC rather quickly and easily by using the built-in streaming feature and viewing the source code for the stream. The streaming feature makes VLC a great alternative to iTunes.
7. Linux (operating system)
Linux OS is the ultimate open source software. After all, Linux launched the open source software revolution. Modeled after Unix, Linux provides a functional alternative to Microsoft and Apple operating systems.
Some of the most popular Linux distributions include:
- Red Hat
- Elementary OS
- Arch Linux
These Linux releases are suitable for most people, including beginners. However, there are many niche versions of Linux built with specific features that appeal to specific groups of people. For example, CAINE Linux is built for users with an interest in crime scene investigation and Linux From Scratch is designed for people who want to build their own customized version of Linux.
GNewSense is built for hardcore freedom fans. This version of Linux has had all proprietary software removed and any remaining software that doesn’t adhere to the principles of freedom have been renamed. GNewSense is so hardcore, it uses a browser called Debian’s IceWeasel and has removed all links to non-free repositories.
The cool thing about Linux is that many software developers now make a version of their software for Linux along with Windows and OSX.
Many important computers run on Linux OS
Linux – the world’s favorite free open source operating system runs the world’s top supercomputers. Linux is also the inspiration for the Android smartphone operating system.
Furthering the case for Linux, the U.S. Air Traffic Control systems are powered by Linux. That means all the airplanes that fly over the U.S. are monitored by computers running Linux.
Gas pumps are another interesting machine you’ll find running Linux.
Linux is also the chosen operating system for running standard web hosting servers as well as cloud servers.
8. Handbrake (video transcoder)
Handbrake is an incredibly powerful open source video transcoder. In addition to ripping DVDs, Handbrake allows you to create videos with different presets for specific devices. While this feature is useful, the ability to convert batches of videos to other filetypes is far more useful.
When you need to create subtitles, Handbrake makes it easy to create either hard subtitles or subtitles that can be turned on and off. You can also compress video files to reduce their size and reduce the noise in any given video.
9. PDF Creator (pdf file creator and document converter)
PDF Creator is an open source, free alternative to Adobe Acrobat. When you need to create PDF files, PDF creator can do everything you need. This program also offers important features like:
- Encrypting PDF files with AES protection
- Image compression and resizing
- Merge multiple documents together in one final PDF
- Convert documents to PDF files or various image file types
Enterprises with large teams that need to convert documents and create PDF files save thousands of dollars by using PDF Creator.
10. Pidgin (instant messaging)
Pidgin is a free, open source instant messaging tool for Linux and Windows that combines multiple chat platforms into one. For instance, using Pidgin gives you access to chat with users across chat networks including Jabber, Gadu-Gadu, Sametime, Zephyr, IRC, and GroupWise among others.
When you use Pidgin, you don’t need to open multiple chat programs and manage multiple windows. Everything is condensed into one main window.
Apple/OSX users can get a similar program called Adium.
Using open source software supports programmers worldwide
There’s another way open source software keeps the world running. Each project creates job opportunities and income for programmers across the world.
While open source software has a reputation for being free, that doesn’t mean developers can’t make a profit. Many open source software developers do generate a profit. The amount of money a project or developer generates will vary, but it’s not unheard of for an open source software project to earn more money than a proprietary software project.
Many open source projects generate donations, but that’s not usually a significant source of profit. Profitable projects generate money from additional opportunities created by the project. For example, WordPress is open source and free, but thousands of independent developers earn a living building themes and plugins.
Developers also earn income by setting up and customizing open source software for their clients. Even when software is free, it still needs to be installed and set up correctly and many business owners just don’t have the time or skills. For tech-savvy people, installing software is a fairly easy feat, but the general population requires installation services.
Where did open source software come from?
The term “open source” describes software that gets distributed along with access to its source code. This term was created to rebrand the type of software formerly known as “freeware” or “shareware.” However, the switch from freeware and shareware to open source (and the movement that followed) didn’t happen overnight.
In a time when most software was proprietary and required a licensing fee, the Netscape Communicator Internet Suite was released for free. This was unheard of at the time. This move by Netscape Communications Corporation was influenced by a 1997 collection of essays titled The Cathedral and the Bazaar, written by Eric S. Raymond.
Raymond wrote the essays for programmers and technical managers after observing the way Linux developers ran their projects. The essays compared the “cathedral” model of the commercial software world to the “bazaar” model used by Linux developers. Essentially, Linux developers were able to discover and fix bugs faster by having open source code and the entire operation ran smoother and faster.
In his first essay, Raymond expresses his surprise at how well the Linux development model works, “The fact that this bazaar style seemed to work, and work well, came as a distinct shock. As I learned my way around, I worked hard not just at individual projects, but also at trying to understand why the Linux world not only didn’t fly apart in confusion but seemed to go from strength to strength at a speed barely imaginable to cathedral-builders.”
Soon, Raymond had the opportunity to test the “bazaar” model by managing a new open source project called fetchmail. He writes, “By mid-1996 I thought I was beginning to understand. Chance handed me a perfect way to test my theory, in the form of an open-source project that I could consciously try to run in the bazaar style. So I did—and it was a significant success.”
Raymond isn’t the only developer to find out how much better the open source model works for software development. Although it seems counterintuitive at first, it’s actually far more efficient than traditional models.
Netscape drove open source software forward
Once Netscape released their internet suite for free, industry experts began to recognize the commercial benefits of sharing source code and started looking for ways to incorporate the benefits of free software into the commercial software industry. Of course, they wanted to accomplish this without calling it “free software.” In essence, they sought to rebrand the free software movement in a way that was marketable.
The idea to rebrand free software as open source arose during an Open Source Initiative strategy session. The strategy session, held on February 3, 1998, was a response to Netscape’s plans to release the source code for its Navigator browser.
The new term “open source” was recommended by a participant and was quickly embraced by the rest of participants. The new term was the perfect way to disconnect from the detrimental connotations of free software. It worked. “Open source software” does sound better than “freeware” and “shareware.”
By February 1998, Netscape, along with other software industry professionals, began using the term open source on a regular basis. In March 1998, Netscape released the source code for Navigator and received a flood of fixes and feature enhancements from around the world.
4 Ways open source software has changed the world
1. Open source software made websites easy to build
There was a time when the only people who could build a website were trained developers. Anyone who wanted a website had to pay thousands of dollars. Today, anyone can build a website online for free. This innovation was spearheaded by the release of WordPress as a blogging platform.
Essentially, WordPress granted everyone the ability to publish a website without any technical knowledge or skills. Since then, other online DIY website development platforms have become popular. Although the online DIY website builders aren’t open source, it all became with an open source platform.
2. Open source software has inspired developers worldwide
Developers are always thinking in terms of what’s possible. Nothing inspires software developers more than seeing other developers use features in new ways. With open source software, developers have been able to get more ideas for their own projects and inspect the code to see how those inspiring features were accomplished.
There is no doubt that each big open source project release becomes the inspiration for smaller projects designed to improve on or concentrate critical features into one package.
3. The cloud runs on open source software
Cloud servers run on open source software. In addition to running Linux as the operating system, cloud servers generally run Apache and use either Sentora or a similar open source control panel software package.
4. Open source software spawned an open revolution
Thanks to the brilliance of open source software, we can now find many other open source projects in the world. For example, there are open education projects, open source governance , open agriculture initiatives, and more.
Are there any downsides to using open source software?
Like anything, there are downsides to using open source software, however, it’s not as bad as you might think. Naturally, if you’re dealing with unmaintained open source software that doesn’t get patched or updated, you’re going to have problems. Provided you’re working with professionally developed and supported software, the risks are the same as if you were using proprietary software. Namely, security vulnerabilities.
The main security vulnerability when using any type of software is not updating or patching the software as updates and patches are released. Updates and patches aren’t the same. Updates are fairly easy to install, but patches often require the help of an IT professional.
Unfortunately, organizations skip patch installation when they don’t have the knowledge or IT expert to help, or when they aren’t aware that a patch has been released. To prevent being exploited by hackers, it’s critical to get on the email list for every piece of software you use. If you don’t see an update for a while, visit the developer’s website and look for the latest release to make sure you’re up-to-date. Oversights can cost you millions of dollars and your reputation.
Here’s a list of the top 4 disadvantages to using open source software:
1. Hackers take advantage of software oversights
The main downside to using open source software is the fact that hackers take advantage of oversights. An oversight in this regard would be a user failing to update to the latest release, ignoring a critical patch, or using insecure admin credentials. These oversights create vulnerabilities, but aren’t restricted to open source software. Any software left unpatched and not updated is vulnerable.
Open source software can’t be blamed for user error
You may have heard that Equifax blamed the open source server framework Apache Struts for the data breach that exposed 143 million records in 2017. It’s true that there was a open source security vulnerability in the Struts framework, but there’s a good reason that was not likely the cause. It’s easy to blame open source software for a security breach, but there is no evidence that Apache Struts is to blame.
ZDNet.com analyzed the situation in-depth and concluded that officials from Equifax merely assumed the security breach was caused by Apache Struts after hearing about a security flaw in the framework. The problem with Equifax’s assumption is that the flaw was discovered after the breach.
According to ZDNet’s research, the zero-day exploit against Equifax occurred before the framework’s flaw was revealed, which means it’s highly unlikely the breach was caused by that particular security hole. However, it could have been caused by another security vulnerability that was patched in March. If that’s the case, then the Equifax IT team dropped the ball on patch management, which means the breach was avoidable and caused by user oversight.
2. Employees may not like using off-brand software
People like big brands when it comes to clothing, food, retail products, and yes – even software. Many employees will want to use Photoshop over Gimp and MS Office over OpenOffice. When you use open source software, be prepared to handle some complaints from new hires who are accustomed to using branded applications.
Creating a Bring Your Own Device (BYDO) policy is one way you can accommodate employees who insist on using popular, proprietary software. There are risks involved in allowing employees to use their own device at work. However, keep it in the back of your mind as an option if you can’t get your new hires on board.
Another way you can mitigate the potential rejection of open source software is by giving employees time to learn the software you expect them to use. You can’t expect someone to transition from Photoshop to Gimp in a day.
3. No guaranteed support
Some open source projects don’t have strong support. Sometimes there’s a community, but it’s been inactive for a while. The level of support available depends on the developers and their commitment to the project.
You might find amazing software only to discover it hasn’t been updated in over a year and there’s no community support.
The reason a project lacks support can be anything from a failed project to developers who lost interest. Many projects are abandoned when developers disagree on where to take a project.
One of the most prominent reasons an open source project lacks support is when the project was never intended to be a main focus. For example, when the software giant Oracle began marketing its proprietary office suite called StarOffice, the company wanted to brand the suite with the OpenOffice name.
When Oracle got what it needed from using the name, the OpenOffice project was donated to Apache. OpenOffice was never a strong community-driven project under Oracle, and it’s still lacking under Apache.
4. Lack of funding
Sometimes open source projects lack the funding required to keep them going. Most good projects start out with a decent number of volunteers, but that number dwindles over time when those developers are forced to prioritize paid projects to pay the bills.
Open source projects depend on donations and even the best projects often lack enough donations to survive.
How to choose open source software for your enterprise
No matter what type of software you need, chances are, you can find an open source version. The key is to choose the right project, as not all are going to be equal.
Here’s how to choose the right open source software project.
1. Don’t build any part of your business around a specific application
Avoid building any part of your business around a specific software application. That application might be fully supported right now, but in a few years it could fall to the wayside.
When choosing your open source software, make sure you could use another application to get the job done if needed. Don’t put all your eggs in one basket such that your entire organization depends on a specific application to function.
2. Review the history of releases, patches, and security issues
How often do the developers release new versions and patches? When was the last time a new feature was added? How frequently are security holes discovered?
You want open source software that gets updated regularly with patches being released quickly after every security flaw is discovered.
3. Download packages only from developers and trusted sources
When you have a choice, download your open source software packages directly from the developer’s website. Otherwise, download your applications from a reliable software distribution website. Avoid downloading packages from random websites you find online. Sometimes hackers make websites with fake software downloads in order to install malware or ransomware on other people’s computers.
Downloading software packages from the developer ensures that you’re getting the latest release, which should include all the previous patches and added features.
4. Don’t use unsupported software
Avoid using any software that isn’t supported unless it’s simple software and your IT team can handle any required patches.
With simple software, you may not need to worry about hackers exploiting vulnerabilities, but you will have to worry about deprecated forms of code. For example, many PHP features have been deprecated and don’t work anymore. This is a regular occurrence.
If your software uses deprecated code, it’s only a matter of time before it will stop working and you’ll be on the hunt for a new application.
Open source software will change your business for the better
If you’re tired of spending thousands of dollars on software licenses, consider trying open source software. You don’t have to switch all your software over. There are some proprietary software applications that you may not be able to replace with open source. However, all the miscellaneous software you’re using to run your business can probably be found as a free, open source project.
Need open source software customizations? Partner with Dev.co
Are you interested in using open source software, but don’t know where to begin? Dev.co can help you every step of the way. If you don’t know what open source software to use, we’ll help you find the right projects and we’ll customize the features to meet your needs.
Contact us today – we’d love to discuss your project and see how we can help.
- Memory Usage: Detecting and Preventing Heap Fragmentation in Rust Applications - August 23, 2023
- Next.js: Unveiling its Advantages and Disadvantages - August 15, 2023
- Component Development in Astro: Embracing a File-Free Approach - August 11, 2023