6

When downloading software I often see open source alternatives. Many of these look quite similar but never quite the same. I continue to buy the paid version. Recently, I started to wonder if the open source versions may be better.

My question:

  • What benefits are there to using open source products?
  • Are there any downsides to using open source products?
3

Benefits

Benefits of open source are numerous. The most often quoted are:

  • Giving something to the community
  • More eyes on code (easier to spot bugs)
  • Free development (people submit patches for your bugs)

There are also some less recognised:

  • It's fun. This is never quoted because we're serious developers and we don't have fun.
  • it's a learning experience. Also rare because we obviously know everything.

Disadvantages

Yes, they do exist. Look at OpenSSL: Heartbleed, Poodle, Freak... If your open source software is popular, then the attackers can see the bugs in your code too and exploit them. And a lot of people use it, so a lot of people to defraud.

It also takes up time: unless you have a dedicated team of maintainers and helpers, you need to manually review patches and pull requests, and check that your license is being followed. That can take up a lot of time.

  • 3
    This answer is about "writing" Open source code, but the question is about "using" open source code. I am not sure why it is accepted. – rolfl Jun 26 '15 at 20:28
  • @rolfl because the asker found it useful. As it happens, the same things apply for writing and using, so this does indeed answer the question. – ArtOfCode Jun 26 '15 at 20:31
  • 2
    @ArtOfCode How is using an open source alternative "giving something to the community"? – svick Jun 27 '15 at 0:36
6

Sure they are!

  1. You don't have to worry about the product getting discontinued (in most of the cases). If the project is popular, somebody's going to continue developing it no matter what.
  2. You will always get an upgrade.
  3. The upgrade will not cost you anything.
  4. You can suggest new features and even work on them.
  5. You don't have to worry about vendor lockins.
  6. You can get the software for free.
  7. You don't have to worry about junkware being shipped with it.
  8. The main developers are usually easier to reach if you need to do so.
  9. The community is usually there to help you out to make the transition.

Disadvantages:

  1. The community is usually spread out to various products and they will often suggest you to switch to some other open source project to resolve your issues.
  2. Different open source softwares don't usually work well with each other (as an example, there's no Adobe-like all in one pack).
  3. The support is kind of hard to get until know where to look for it.
  4. You're expected to give back to the community in some way.
  5. Open source projects are usually not as popular as proprietary solutions so it's a bit trickier to find tips and tricks.
  6. The documentation for the product can get outdated pretty quickly since new features are being introduced all of the time.

My suggestion is: Instead of paying $200 for a proprietary software, try using open source software and donating $100 to the developers. It will benefit you, its developers and probably everyone else using the product.

  • 4. Open source doesn't necessarily imply open development. If you want to add your own features, you might be forced to create a fork. 7. Not necessarily true, see the recent news about junkware bundled with GIMP downloaded from SourceForge. Or the AskToolbar that's "offered" to those installing Java. – svick Jun 27 '15 at 0:42
  • @svick Every rule has its exceptions of course. But in general, I think that these apply to the most of the open source projects. P.S. It's not GIMP's fault. They're no longer using SourceForge. It's SourceForge's fault. I read all about it and GIMP is not the only open source project that used to use SourceForge that has this problem. – r3bl Jun 27 '15 at 1:36
  • A good answer, just some minor remarks on the pros: 1) "If the project is popular" - unfortunately, that can be a pretty big if. Also applies to 2). 5) At least not about intentional, systematic ones. 9) Again, as in point 1), if there is a sufficient community. And then, I don't see it as a relative advantage, as commercial developers have quite an incentive to help you transition to their software, as well. – O. R. Mapper May 23 '17 at 7:39
2

Look at this from a business's point of view, rather than a software developer.

Say I run a small business, perhaps a lawyer's office. No one in the company writes software. But my company needs a lot of software to make money. IT costs are a major issue for smaller companies, consider the basic infrastructure

  • A PC of some kind for every employer, and the operating system for it
  • An office suite (word processor, spreadsheet, and probably presentation software)
  • File servers and some collaboration software.
  • Other productivity software (time keeping, for example)
  • Accounting and payroll systems
  • Regular upgrades for all the software

Not that long ago, a new business had only one realistic option. The OS came with the computer, and everything else followed. But today there are widely used open source alternatives for everything in the list above. Even more interestingly, if it's a Linux based solution, you can often get away with lower spec'd (i.e. cheaper) PC's.

So going with Linux, Open/Libre Office, and other open source packages will save my company a lot of money each year. Possibly enough to hire another employee to help generate revenue. That's more jobs and more businesses feeding the economy. That may mean more clients and more revenue.

The biggest downside, of course, is the lack of a one-stop-support organization ... and anyone who's ever listened to the hold-jockeys at a certain company for hours can talk to you about just how well that works out.

The other is simply the difficulty for a non-savvy user to know which software to use, or even what exists.

But these actually open up scope for a new business: consultants who, for a fee, help set up the office for new businesses. They identify the right software, and set it up. They might even provide the ongoing support.

On a much smaller scale, my entire household is moving away from Windows to Macs as the old laptops die. I used to have multiple licenses of Office etc. Today, the only software I regularly buy is Turbotax once a year and every few years I update Quicken.

Apple doesn't even charge for major OS upgrades any more. And a Mac is close enough to Linux for me to be able to do full OS development on it with all my favorite libraries and tools.

My development desktop at work runs Ubuntu and there isn't a single piece of paid-for software on it. My employer has hundreds of these.

2

Another benefit that's not been mentioned so far is covered in this ServerFault question and my answer thereto - you don't have to worry about licensing audits. This may seem trivial, but if you read some of the other answers you'll start to see how time-consuming that can be, especially in an enterprise of any size - often a full-time person is required just to track all the intricacies of what is licensed and where, to prevent completely-accidental but potentially-expensive violations.

If you, as I do, eschew all proprietary software, dealing with audits and license renewal takes about 30 seconds a year.

1

The benefits for users include:

  • avoid vendor lock-in: You have to stay with one vendor, because all your data is in his format. With open-source it is always possible to decode the data-format from inspecting the code and deduct the format. Also it's always possible to fork the software to create alternatives.
  • better survivability of the project: If a proprietary program generates no longer money for the company they often stop developing it. The developers of open source projects may also lose interest, but as the code is available and it is allowed to change it, someone with interest might be picking it up.
  • bugfixing capability: Does a simple small bug drives you crazy with a software you otherwise love? Open Source allows you to find and smash this bug.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.