Inside this Article
What on Alan Turing’s* Good Green Earth Is “Open Source,” Anyway?Cue the Scary Organ Music. It’s Time to Talk “Proprietary” Software.A Brief-ish History of Open Source Philosophy and SoftwareA Short-ish List of Massive Open Source Projects That Run the World, and Maybe Your LifeAdvantages and Disadvantages of OSS & Proprietary SoftwareHow OSS Changed the Whole InternetThe Current State of OSS and the InternetOpen Source Server Tech Is EverywhereOpen Source CMS Software Runs Almost All WebsitesAlmost All Front End Code Is Open Source (Sort of)How to Choose the Right OSS for YouThe Tradeoff Between Complexity and User-friendlinessAssess the Ecosystem of the SoftwareThe Future of OSS
What on Alan Turing’s* Good Green Earth Is “Open Source,” Anyway?Some of the definitions of OSS that you’ll find on the internet get super technical. They’ll talk about software licenses like the GNU GPL, MIT, Apache, or some variant of the Creative Commons license. Here’s the simplified version of all those: Don’t steal stuff. For this article, you won’t need to know much more legal information than that. Thank God. Instead of all the technical jargon, let’s focus on the general idea of OSS, and the philosophy behind it: True open source software is just that: open. The source code that makes up the program or app is freely available to the public. Anyone can access OSS code, copy it, or modify it to make their own version of the software. They can even slap their own name on it and sell it if they want to. The only catch is that any changes you make to OSS must be sent back “upstream.” In other words, you have to send your modified code back to the developers of the original software so that they can see it. At that point, they might choose to integrate your changes into the original software, and share the updated version with the community. Thus, everyone benefits from everyone else’s innovations. The whole OSS system is based on these principles:
- You should own your software, and be able to do whatever you want with it, whether you paid for it or got it from a community-maintained project.
- You should be able to know exactly what’s in your software, and exactly what it does on every level. Of course, this requires programming knowledge, but the code should be available to you if you have that knowledge.
- Your software should never, ever spy on you.
- Developers should, whenever possible, share their code so others can improve upon it.
- In theory, if everyone can examine the source code, then vulnerabilities will be found more quickly, so it’s harder to slip viruses or spyware into software.
- Stick it to the man. Don’t trust anyone over 30. (It’s a 1960s reference, look it up.)
Cue the Scary Organ Music. It’s Time to Talk “Proprietary” Software.Whereas open source software is freely available and technically belongs to everyone, proprietary software is the literal opposite of that. It’s owned by one company or person, and you only get to use it if they give you a license. Typically, you have to pay for that license. Sometimes, however, you can get that precious license for free, and this is usually what people mean when they say “freeware.” But in this scenario, you only get to use the software for free. It’s not yours, and you’re not allowed to change it in any way. The original founders of the open source movement believe this is wrong and unethical, even evil. (Hey, I said they were passionate activists.) If you can’t see what the code in your software does, then you don’t necessarily know if it contains spyware (corporate, criminal, or government), some sort of virus, or anything else you might not want. And if the software starts messing with your computer, even by accident due to a bug, you can’t fix it. The most strident leaders of the OSS movement won’t allow any proprietary software onto their machines, not even operating systems like MacOS and Microsoft Windows. In technical terms, an operating system (OS) is the layer of software that servers as a bridge between hardware (your computer’s electronic guts) and apps (Google Chrome, Microsoft Office, etc.). So if you’re not going to use Windows or MacOS, what are the alternatives for operating systems? There are actually hundreds, but not many people know anything about them. The two big ones are called Unix and GNU Linux (most people just say “Linux”). A very large number (if not most) of the servers connected to the internet run one of these two operating systems – or one of their derivatives, which include Ubuntu, Debian, and Red Hat. Incidentally, the Android phone OS is based on Linux, while MacOS is based on Unix. Speaking for myself, I wouldn’t go so far as to call proprietary software unethical or evil. I’m a little torn. On the one hand, if we can have data privacy (something that pretty much all OSS advocates fight for), why can’t there be private programming code? On the other hand, look at Apple, which seems to be on an endless quest to make it harder for people to repair their own devices. It’s the computer equivalent of John Deere, a farm equipment company that tried to legally restrict farmers from stopping in their fields and fixing their tractors. Forcing people to pay for more expensive support and repair options certainly hurts small businesses, and that’s one injustice that OSS rightly set out to correct. Thankfully, more and more states and countries are legally establishing a “right to repair” for their citizens. That’s a positive step, but these days, the main problem comes with the way software is sold. You don’t own it like a tractor or other physical product; it’s just licensed to you. The license might be permanent, but in legal terms, it’s very different from true ownership. You own the right to use the software, but the company or developers own the software itself. This all puts software into a hazy legal area. It seems to be treated both as a product, like a blender, and as a piece of intellectual property, like a trademarked blender design or a song. When everything is going right with your software, the difference between proprietary software and open source software is hard to see (beyond the price tag). When business is booming, and you can’t remember the last time your server crashed, who cares? However, when something goes wrong, that’s when the differences between OSS and proprietary software matter a lot. I’ll have a lot more to say about that below. But first, here’s a look at where OSS came from in the first place.
A Brief-ish History of Open Source Philosophy and SoftwareOnce upon a time, some very smart people built a computer. It wasn’t the first computing device, exactly, but it was a big deal. It took up a massive room in some university. Nowadays, we have pocket calculators that are more powerful than that computer. But back then, that beast of a machine was the pinnacle of technology. Scientists dreamed of the day when a computer might take up only as much room as a Volkswagen. Soon, other universities, corporations, and government agencies started building their own computers, to the point where one organization might have, like… five. In that era, programmers shared their code freely. (And incidentally, those programmers were often women, as programming was seen as secretarial work until we started worshiping developers) After all, there was little to no money to be made by hiding your code from other people. Everyone was just beginning to figure out what this newfangled “computer” thing could do. This tradition carried on for decades, even as the personal computer started to become a thing. Big companies began to see the value in having a computer for each employee, and a few very brave, ordinary people bought computers for their homes. Then one nerdy kid would hog the machine while other people in the family went outside to play, socialize, and generally just live. But enough about me. Through it all, free-ish software (often called shareware) ruled the day. The first people who sold their software for money were not well liked in the computer community, but they were persistent. As the need for more and better computers spread, so did the need for more and better software. Nerds figured out that they could make a decent living selling their software, and so they came around to the idea of proprietary programs. Software was treated as intellectual property, and software companies vehemently defended their ownership of it. Then, around the 1980s, a guy named Richard Stallman got very tired of not being allowed to examine the code behind the software he used. He started the GNU Project, which is basically a whole bunch of people creating open source software. They also created the GNU General Public License, a license agreement that can be used by anyone who wants to make their own open source software. GNU, incidentally, stands for “GNU’s Not Unix,” which is called a “recursive acronym.” There are a ton of recursive acronyms in the open source world. Welcome to Nerdville. In 1991, a man named Linus Torvalds released Linux, which was indirectly based on Unix. He and Stallman then basically teamed up to create the technology that powers the world, more or less. According to hostingtribunal.com:
- In 2018, Linux ran on 100% of the world’s 500 supercomputers.
- In 2018, the number of Linux games available on Steam reached 4,060.
- 5% of the global infotainment operating market in 2017 belonged to Linux.
- 95% of the servers that run the world’s top 1 million domains are powered by Linux.
- In 2018, Android (based on Linux) dominated the mobile OS market with 75.16%.
- 85% of all smartphones run on some version or derivative of Linux.
“To be honest, I’m generally not positive about corporate involvement in the OSS community anymore, because I think the marginal benefits the community gets from them are not worth the amount of problems they create. Usually when they are involved in an OSS project, it’s either to create some ecosystem that benefits their developers or business model, or it’s to starve the resources of smaller OSS projects so they can hold a monopoly over extracting resources from developers.” Kyle Drake – Creator of NeocitiesI suspect, however, that it will be mostly enterprise-level customers who see higher prices eventually. Microsoft makes all of its money from big companies now. Why do you think you almost never hear about Microsoft cracking down on people who pirate Windows anymore? Because squeezing money out of your average home computer user is a losing proposition. As long as you stay within the Microsoft ecosystem, you’re feeding the beast in some fashion, even if you save a few hundred dollars by getting your software on the black market.
“Meh. Companies are always going to need to make money. They will also always do philanthropic and charity based things to appear better to the community. I appreciate everything the larger corporations are doing to support the community, but it doesn’t feel like anything *different* is really happening than the typical support big corps usually give. Tangentially related, medium/large sized corporations can best support the community by treating OSS projects the same as closed ones, read: paying the same amount. OSS should be removed from ‘free’ and be more about open knowledge share. I am giving away my valuable resources so that others can benefit, not to make free software for you… I expect the same respect.” Chris, AKA tankyspanky – Reddit userOne thing’s for sure: Today, open source software is everywhere. It’s on your servers, in your TV, on your phone, running your fridge… really, everywhere. We may never see the once-promised “year of the Linux desktop,” but open source software has already won the world battle in many important ways.
A Short-ish List of Massive Open Source Projects That Run the World, and Maybe Your LifeJust to give you some perspective, here’s a list of high-profile software that is either entirely open source or based on open source code:
|Android – operating system for phones and tablets all over the world|
|Audacity – audio recording and editing software|
|Blender – 3D graphics software|
|Drupal –a popular content management system (CMS)|
|Firefox – a web browser|
|Google Chrome – based on Chromium|
|iOS – operating system on all Apple phones and tablets, based on Unix|
|Joomla – a popular content management system|
|LibreOffice – and office software suite|
|MacOS – operating system on all Apple PCs, based on Unix|
|Magento – a popular ecommerce CMS|
|MediaWiki – the software that runs Wikipedia|
|Microsoft Edge – a web browser; the new beta version is based on Chromium|
|Opera – a web browser, based on Chromium|
|Playstation 4’s Operating System – based on FreeBSD, which is sort of like Unix|
|VLC Media Player|
|Vivaldi – my favorite web browser, based on Chromium|
|WordPress – the content management system that runs a third of the Internet|
Advantages and Disadvantages of OSS & Proprietary SoftwareSo I’ve outlined the philosophical reasons why open source software is a good idea, but philosophy, I am sad to say, does not pay the bills. If it did, every college student in the world would be rich. It’s time to look at OSS from a business perspective. Let’s say you’ve got a server to run, or a website to publish. You’re presented with a few proprietary software options, and a few open source options. Which should you choose? Naturally, it depends on your requirements, along with your existing assets and technologies. I’ll get into those considerations more later. For now, let’s address some of the more basic advantages and disadvantages you’re likely to run into. I’ve already mentioned some of these differences, but here’s how they affect you and your company.
Open Source Software – The Good and the Bad
✔Advantage: You Can Fix and/or Modify the SoftwareWell technically, you have permission to fix the software if something goes wrong, and to change it if it doesn’t meet all of your needs. Whether you can do any of that depends on whether you are a programmer, or have a skilled programmer on your staff. A lot of the biggest contributions to open source software actually come from corporations that need their software to do very specific things. They take an OSS product that does most of what they need, and add bits on to it. Those extra features are then shared with the community, and just like that, you technically have multi-billion-dollar companies making software for free.
✔Advantage: You Own Your DataWith proprietary software, it can be hard to figure out what the software seller does with your data. Sometimes, that data gets sent off to places you don’t want it to go. Sometimes that happens by accident (see also: everyone who’s ever accidentally uploaded sensitive photos to iCloud). But sometimes, it’s the software company deliberating harvesting your data for profit. Worse, lots of proprietary programs save your data in their own special file formats. So let’s say you manage your finances with one specific program, but then the company that makes that program goes out of business. You might not be able to open your files with another program. Manually transferring your data takes forever, and sometimes, even that is nearly impossible. Sure, there’s probably a tech pro who can recover your data, but it’ll cost you. A lot. With OSS, you know exactly where your data is going. Open source programs also usually use file formats that can be opened with other software. So if one program dies off, another can take its place, without you having to manually copy and paste all of your old data to the new system.
✔Advantage (mostly): It’s Often More SecureLet’s be clear: There have been cases when someone slipped a bit of spyware into an open source project, and no one noticed until some very bad things happened. But usually, with larger OSS projects, all code is carefully reviewed by large numbers of people. WordPress, for instance, is constantly updated for security, with the community reporting any vulnerabilities to the main developers. Smaller projects don’t have quite as much community protection, but on the plus side, with small amounts of code, vulnerabilities are easier to spot. Of course, OSS projects only remain secure as long as the developers and larger community stay on top of every line of code. That’s why the larger projects have strict code-reviewing processes, and are careful about who contributes new code to the software.
✔Advantage(ish): There are Potentially Massive EcosystemsNo, this is not an environmental public service announcement. It’s about the expandability and flexibility of software. Let’s take WordPress as our example again. It has all kinds of plugins and themes available to change the way your website looks and works. And I mean thousands of themes and plugins, most of which are offered for free. They’re not all good, mind you. They’re not all updated or compatible with each other, which is the downside of huge software ecosystems. But chances are that if you need to build any kind of website, or add any specific website feature, someone has built a plugin or theme (or both) that can help you out. In addition to all the free ones, there are paid plugins and themes, which come with support, more advanced features, and communities of their own. People have dedicated their lives and careers to making new things for WordPress. The same is true of many other OSS projects. Don’t get me wrong, proprietary software (like Adobe Photoshop and Microsoft Windows) can have a large ecosystem, too. However, OSS generally makes it easier for people to jump in and make new stuff. You’ll never have to pay for a “development toolkit” to make a WordPress theme.
✔Advantage: Dead Software Doesn’t Always Stay DeadWhen a company that makes proprietary software goes out of business, there’s a very good chance you’ll never see that software again. With OSS projects, the end is not necessarily the end. If the main developers of a program leave the project, other developers can bring the program back. This has actually happened so often that you can practically count on it, as long as the software in question has a big fan base.
✔Advantage(ish): OSS is Free… Usually… For NowThis is the big one, for most people. Why pay for something when you can get it for free? Well, there are actually some very good reasons to pay up, and I’ll get to those below. But when you’ve got a limited budget, free stuff is pretty sweet. It’s important to note that there are companies that sell open source software – as in, the software costs money. And then there are companies that make free versions of their software products available alongside premium versions. Often, the premium software comes with support, but combines open source and proprietary code. Finally, there are companies that don’t sell the software itself, but do sell enterprise-level support for anyone using the software. In short, don’t expect everything for free. The OSS community has to eat, too.
✘Disadvantage: OSS Sometimes Doesn’t Have Support… Like, at AllMost giant open source projects have support options everywhere you turn on the web. Some OSS also comes with paid support available. But many smaller, less popular OSS projects are made by people working for free in their spare time. These software products might come with some documentation and a FAQ page, but no way to actually get dedicated support. The developer simply doesn’t have the time. You might be able to find some fellow users on a forum, or in a chat room, who can help you. While this is lovely, it means that your business could depend on the kindness of strangers. No one desires to be on that streetcar. (Most obscure cultural reference in the article – look it up.) In short, if going through some trial and error while learning to use your software isn’t your thing, some OSS might not be for you.
Proprietary Software – The Good and the Bad
✔Advantage: The Developers Might Have a Massive Budget for SecurityIt is certainly not true that more expensive software is always more secure. Many people have made that assumption, and have regretted it dearly. However, the best proprietary software vendors do have a dedicated security team that stays on top of things, constantly sending out updates and watching for threats from all sides. For example, while there are plenty of things to dislike about Windows 10 (such as how much of your data is sent to Microsoft), there is a fair amount to like on the security side of things. Windows was long known as the most vulnerable operating system. Today, as long as you keep it updated and don’t go to super-sketchy websites, you’ll be pretty well protected with just Windows Defender, the built-in antivirus software.
✔Advantage(ish): You Can Find (Some) Security Through ObscurityIf you can find good proprietary software from a relatively unknown vendor, you’ve hit the jackpot. Most security breaches aren’t caused by a single, dedicated hacker finding all of your system’s weak points. They’re more often caused by a team of hackers, who use scripts and a network of bots to attack thousands of computers at once. For this type of cyber attack to do much damage, the hackers have to target the most popular software. This is actually how MacOS stayed relatively virus free for as long as it did. When relatively few people were using Macs, it just wasn’t worth the trouble for hackers to write viruses for the Mac operating system. As Apple’s popularity has increased, so has the amount of malware successfully targeting Macs. So now we know that Apple’s best defense in the past wasn’t better security, but greater obscurity.
✔Advantage: Paid Proprietary Software Usually Has SupportNote that “usually” does not mean always, so you should definitely check on the support options for a program before you buy it. But most proprietary software does have readily available support. If your business depends on your software working, that matters a lot.
✔Advantage: Proprietary Software Vendors Might Sign NDAs to Protect Your SecretsIf you’re currently doing things that your competitors can’t, you probably don’t want to advertise which software is making those things possible. When you negotiate a contract with a proprietary software vendor, you can ask for a non-disclosure agreement (NDA) to be included with your license. There’s no guarantee that the vendor will agree, but many of them will. In theory, you could do the same with an OSS vendor, but by its nature, the OSS community does not love secrets. Remember also that if you make any changes to the software, you are obligated to send those changes back upstream. Your software secret won’t remain secret for long.
✘Disadvantage: If There’s A Problem, You Can’t Fix it YourselfAs I’ve said, the biggest drawback of proprietary software becomes clear when there’s a problem with the program. Even if you know what the problem is, and precisely how to fix it, you’re not allowed to go into the code. That’s hugely frustrating, especially if the support team is unresponsive, or doesn’t understand the problem as well as you do.
✘Disadvantage: There Can Be Weird Licensing IssuesIdeally, all proprietary software licenses would just say, “Here you go. You paid money, so you can use the software.” But there are many software licenses that make you agree to questionable things. Most often, these questionable things include allowing the vendor to collect your personal data and sell it to third parties. There are also license agreements that give the software company the power to revoke your license for any number of reasons. These can include violating the developer’s personal sense of ethics, or using the software for things that are illegal in some specific country (even if they’re not illegal in yours). In one especially weird case, a security firm called F-secure asked London residents to sign over their first-born children in exchange for free wi-fi. Okay, this one was actually pretty funny.
The company inserted the clause just to see if anyone actually read the agreement. I can respect that, and to be clear, no children have been collected. Then there are the problems that arise when one component of the software is covered by one license, and the rest falls under another license. I’m not even going to try to get into that whole mess. It’s legal nightmare for everyone. And to be fair, this scenario has also come up with OSS projects. So I guess with all software, we really should be reading those license agreements. But we just won’t. You know it and I know it, so let’s not kid ourselves.
How OSS Changed the Whole InternetOkay, if you skipped the earlier parts of this article, well… don’t skip this one. This is where you get to learn why the internet and OSS are inseparable.
The Current State of OSS and the InternetIt’s a bit of a war zone out there on the web these days. Some people keep trying to censor the internet, and the open source community (along with many others) keeps trying to fight them. Others make money off the internet in morally dubious ways, and the OSS community fights them, too. Until recently, the US had laws enforcing a concept called Net Neutrality, which basically meant that internet service providers (ISPs) had to treat all data equally. For instance, a cable internet provider wasn’t allowed to slow down traffic from Netflix in order to make its own cable package or streaming service look better. Sadly, those laws are gone now. It was a long fight, though, and OSS people were at the forefront of the struggle. And it’s a battle worth fighting, wherever it might come up next. I can tell you from experience that not having Net Neutrality (Mexico never had it, as far as I know) isn’t great. When not trying to fight back against “the man,” the OSS community can usually be found online making software, and then arguing about the best text editors. A lot of the collaborative development takes place on sites like GitHub, which allow for sharing code and version control (don’t ask – that’s another, even longer article). Communication and coordination takes place on those platforms, in forums, and in Slack chat rooms (or IRC chat rooms, for the old schoolers). Open source is all about choice, so there’s no shortage of tools for collaborating on OSS. While some of the larger projects are well-organized machines, many open source programs are made in a very informal fashion. If someone pops up and says they want to help, they become part of the project immediately. People get the roles they want just by showing up first (and getting along with the project’s original creator). Community management responsibilities fall to the people who stay on the forum or in the chat room the longest. I myself recently volunteered to contribute to two software projects, by proofreading their English documentation. The OSS community members who keep making and remaking the internet as we know it are from all over the world, and from all walks of life. Some are paid by big companies to make free software, and others do it for fun in their spare time.
Open Source Server Tech Is EverywhereWhen talking about web servers, some people (particularly those with corporate budgets to back them up) might talk about Microsoft’s server technology, called IIS (Internet Information Services). But they’re just as likely to start throwing out names like Apache, Nginx, Linux (in general), some variation of BSD, and more. Those are all open source projects Amazon Web Services, currently the world’s largest provider of “cloud servers,” offers several kinds of Linux servers. Almost every other cloud service provider follows suit, including – yep – Microsoft Azure. So almost every webpage you load comes from a Linux or Unix-based server, or at least calls in data from one. Simply put, OSS server technology is the most trusted, and almost always has been.
Open Source CMS Software Runs Almost All WebsitesOne day, someone got really tired of writing three hundred pages for their company website in raw HTML, so they found a way to make page creation easier. And thus came the first content management system (CMS) – software for managing huge amounts of content in a way that doesn’t drive you completely mad. Back in the days of “portal” websites, this was a massive breakthrough. And now, almost every CMS in existence is open source. There’s WordPress running about a third of all websites. But all the other big names are open source, too. You may have heard of Joomla, Drupal, TextPattern, and Movable Type, to name only a few. Why have these options taken off, instead of proprietary software? Mostly because they’re free, to be honest. Paid CMS options have been around since the beginning, but people are always looking for the cheapest ways to build their websites. As to the amazing success of WordPress, it was not the first open source blogging option, but it was the easiest to install and use for a long time. WordPress developers actually bragged of a “five-minute installation” process, although to do it that quickly, you definitely needed to know something about setting up websites and managing databases. Hundreds, if not thousands, of other CMS platforms have basically copied the WordPress installation process. It’s very rare today to actually pay for a CMS, unless you’re getting one custom made. Or unless you go with a service like Wix, which technically is a CMS, but one designed specifically to simplify website creation for those without a lot of content.
How to Choose the Right OSS for YouAt this point, you’ve read more than enough, and you might be thinking, “Well, that’s all great! Now what software do I need? Is it WordPress? He said WordPress a lot.” Sure, WordPress… maybe. At long last, it’s time for me to give you some practical advice. If this is the only thing you wanted to find in this whole article, then… I am so sorry.
Define Your Needs and GoalsWhen choosing any software at all, you need to ask yourself, “What do we need the software to do, specifically? And do get very specific. Software that can “run a server” or “manage a website” is common enough. Software that can manage thousands of real estate listings, show them on your website, and make it easy to assign the listings to individual real estate agents is far less common. No matter what problem you’re looking to solve, you need to divide it up into specific tasks. Then look for software that can perform all, or at least most, of those tasks. Also, it’s nice if the software performs those tasks in a way that doesn’t drive your staff crazy.
Decide on Your BudgetOkay, free is much better than expensive, but free OSS can come with some costs that might be hidden at first. These costs are usually lower than the ones you’ll encounter with proprietary software, but they do exist. For one, if you want professional support, that will generally cost you. Even if you decide to have your in-house IT team maintain the software for you or develop any missing features you need, that costs money, too.
Examine Your Existing AssetsAround the same time as you’re working out your budget, it might be a good idea to look at what you already have. Do you have an IT team? What skills do they have? What programming languages do they know? Do you already have servers, either on site or in the cloud? (ALWAYS remember, by the way, that “the cloud” is just someone else’s computer.) Are your servers compatible with the software you want to run? If the software is a local desktop app, are your existing computers compatible with it? (I know, that seems like a no-brainer… but people often forget to check.)
The Tradeoff Between Complexity and User-friendlinessIn an ideal world, even highly complex software would be super easy to use. In the real world… we all wish. Take a careful look at how many things you need the software to do, and keep in mind that software gets a little bit harder to use with every feature added. This is a problem with many so-called “silver bullet” applications, which promise to solve all of your problems at once. Remember also that every added feature means more time training people in how to use the software, and one more thing that can break down at exactly the wrong time. Every extra feature is more space taken up on your servers or desktop computers. Look for software that does exactly what you need, and nothing more. You might even choose an OSS project that does most of what you need, and have an in-house programmer add the missing features For example, if you need a blog, and only a blog, grab a stripped-down blog CMS. If you need graphics software that can edit a whole bunch of photos quickly, download Darktable (an Adobe Lightroom alternative), not the GIMP. Okay, I’ll explain that one. GIMP stands for GNU Image Manipulation Program. It’s a Photoshop alternative, and the source of countless bad jokes. My point is, don’t be too quick to pick a general tool. Find out if there’s a specialized program that will do the job better, and more easily.
Assess the Ecosystem of the SoftwareBigger and better-known software comes with a third-party ecosystem. The Windows ecosystem, for example, includes every program that can run on Windows, while Photoshop’s includes all of the plugins, brushes, and other resources for the program. There are similar ecosystems for most big OSS projects. This all means that even if a program doesn’t do something you need by default, there may well be a plugin that does the job. And if there isn’t a plugin, maybe you can find a tutorial that teaches you how to make the program do what you need it to do. Or maybe someone else “forked” (made their own version of) the original project, creating a version with the extra features you need. With plugins, you can even turn WordPress into a social networking site. I wouldn’t recommend doing that, but you could. They’re that powerful. Heck, someone actually forked the GIMP project just to give it a different name. Such large, community-driven projects almost always have easy ways to extend or alter them, and savvy users take full advantage of that opportunity. So before you reject a potential OSS solution because it doesn’t have everything you need, check to see if anyone else has already solved your problem.
The Future of OSSSurprising disclaimer: I am not precisely qualified to predict the future. Still, a few things are clear. First: OSS isn’t going anywhere. Windows owns the desktop market for now, but that’s about it. Even software giants have had to face the reality that it’s hard to compete with a free option. Second: Corporations now take an “If you can’t beat ‘em, you have to join ’em” attitude toward OSS. While many in the open source community are understandably wary of companies that used to openly hate OSS now getting involved with it, this trend isn’t going to stop. Their reasons may be selfish rather than idealistic, but these software giants pour money into the OSS community, paying for a lot of development. Third: OSS development, partially as a result of corporate involvement, has gone mainstream. Many big-name software developers contribute to open source projects, or release their own, as a way to show off. Aspiring coders who ultimately want to work in the proprietary realm add their own contributions to OSS projects in order to have something to show in their portfolios.
“[I see] A general move into mostly web based techs and less native apps. Big companies like internet based stuff because you get live user data at scale. Having that data split between multiple platforms is hard to maintain. Frameworks and languages will always continue to grow and evolve, come and go, just like religions do.” Chris AKA tankyspanky, Reddit user.Okay, time to dream big – will all software be free and open source in the future? Okay, time to crush those dreams – not any time soon. There is far too much money to be made selling software. And in some industries like video editing, OSS has a long way to go before it catches up with the best proprietary software. Nevertheless, in the future, it will be rare to find programmers who haven’t worked on open source projects at some point in their careers.
“My strong belief and hope is that we see a radical simplification of the front-end side of web sites in the future. People are pretty unhappy with heavy websites, because they’re slow and behave weirdly. It shouldn’t take 50 megabytes of data to load 20 kilobytes of text, and shouldn’t be popping up notifications, inappropriately accessing for location information, autoplaying videos, and just generally creating a hostile experience for web users. These heavy front-end frameworks like React are a major part of this problem, and I wouldn’t be surprised if we started scaling back to simpler front-end frameworks in the future, and maybe even go back to server side rendering for a lot of things.” Kyle DrakeThose idealistic programmers of the 1980s started a movement that’s going to last a long, long time. You’re already using software spawned from that movement, so it’s time to give it a closer look. And yes, I mean an even closer look than I gave you in this article. Dig into the code and have fun!