DEV Community

Explain The Pros & Cons of OSS Like I'm Five

Sloan the DEV Moderator on August 11, 2019

This is an anonymous post sent in by a member who does not want their name disclosed. Please be thoughtful with your responses, as these are usually tough posts to write. Email sloan@dev.to if you'd like to leave an anonymous comment.

Collapse
 
stereobooster profile image
stereobooster • Edited

This is an awesome question. The answer depends on which point of view to take.

Developer

If you work at your job on the open-source

  • it means that your contributions will be visible better than any CV would be able to tell.
  • It means that you don't have to leave your beloved project behind when you switch jobs
  • it means it won't die if the company decides to discontinue to work on it

Open-source is great because you can use it for free (most of the time)

  • which means you don't need management approval to use it at work
  • which means that you can learn it online for free (compared to proprietary software and PaaS)

You can read source code and learn from the author - see real-life code, not educational examples.

Company

Open-source is great because it is free (most of the time). Sometimes it may cost to pay developers to support solution based on open-source, but I would say in general it is economically good anyway.

Open-source can be a safe bet because when you use propriety soft, you depend on other company

  • which can stop supporting product
  • can be slow on delivering new features, bugfixes
  • can be forced to stop working with you because of law (for example, US sanctions)

With open-source on the other hand, you are safe, because if you really depend on some soft you can fork it and use it.

You can sell open-source as PaaS, which will give you immediate profit almost without any effort. This is what AWS doing for hosted MySQL, Redis, PostgreSQL, etc.

If a company produces open-source it is more attractive for developers, because they will have a chance to work with open-source.

Open-sourcing something may give you free testers and sometimes free labor. Some companies use open-source as a hiring process, instead of the home task they ask to contribute to their open-source projects.

Humanity

Open-source has a great impact on economics. Open-source and free software enabled a lot of growth, a lot of IT business exist because there exists an open-source solution, they wouldn't be able to sustain without it. For example, Linux and nginx which serving 80% of whole internet traffic. Git is the part of Github success. Etc.

Open-source enables scientific research. No need to pay for soft makes research cheaper.

Companies have no need to produce the same propriety product, no need to waste time and resource. Instead, they can work one product - big corporations contribute to Linux and other big open-source. Imagine that instead, each company would support its own crappy OS.

Maintainers

The most interesting bit. Often maintainers get nothing for their work (unless this is their day job).

There are very famous open-source maintainers, for example, Linus Torvalds, Yukihiro Matsumoto, etc., which get a lot of fame praise (probably a bit more money, because of status), but most of the open-source maintainers get nothing. No fame. No money.

There is a strange idea that open-source will make you famous or respectable. It can happen, but only if you make a very popular project.

There is a long-standing problem of how to make open-source sustainable, for example, we should make special licenses which will force big companies donate-back.

Or maybe we can pay open-source maintainers from tax money, and add tax for tech companies (the same way as we pay for roads - if you have a car, you should pay road tax).

There is this donate button on the Github, but I don't think of it as a solution. If you are a social person, you can get money with it, but otherwise...

PS

I have so many ideas on the subject, maybe miss something

Collapse
 
areahints profile image
Areahints

Pros. Global fame
Cons. Global slave

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

The many upsides are well covered by other answers. However, businesses often do not open source their software for the following worries.

Please don't take this as a defense or being in favor of closed source. I'm simply the messenger.

Giving away competitive advantage

If your software does something remarkably different from your competitors, and you open source it, it will be easier for your competitor to copy the feature. Then there is one less reason to go with your product over a competitor. This is the same reason the Coke formula stays locked in a vault.

Loss of IP value

When your software is closed, the source and rights are assets that could be sold or licensed to another company. But if that company can get a copy of the same code and usage rights for free, it is much less valuable.

Loss of control

When you open source software, it is essentially no longer yours... especially if it becomes popular. It becomes harder to make changes as the number of stakeholders increases to internet scale. For example, Guido van Rossum stepping down.

Budgetary concerns

A lot of us readily ask for a lot of things in open source repos, and far fewer of us are willing or able to help. Having a constant influx of issues to triage and prioritize takes labor. Also, popular community requests may not be needed by your company. So open sourcing can add extra overhead cost to the budget.

AGPL as a corporate tactic
AGPL is often used by corps to prevent loss of competitive advantage and IP value while still enjoying the benefits of being open source. They release an open-source, community edition under AGPL. Since the AGPL has significant restrictions on usage, the license can be used as a big stick to prevent competitors from using the code to take competitive advantage. It also blocks the software from being used in commercial products. (By default, it cannot even be used by other open source products except GPLv3-licensed.) However, the corp still retains ownership rights which means they can choose to release the same code (or derivative) under a different license. So the corp also sells the software under a commercial license. Paying customers are therefore not entangled with the AGPL restrictions -- they can integrate it into proprietary products or make proprietary modifications to source without sharing.

Disclaimer: I am not a lawyer, just a keen observer.


Personally, I think that OSS is one of the great wonders of our field. I am simply exposing the worries that businesses have about open sourcing their software. It's why Microsoft doesn't open source Office; Apple doesn't open source Logic Pro; Google and Facebook don't open source their ad tech; etc. They might open source infrastructural bits and pieces, but not the core ones that make money or are vital to the business (e.g. Google's search ranking code).

Collapse
 
dploeger profile image
Dennis Ploeger

There's a theoretical con of not having commercial support. However, in production most commercial support solutions suck, too.

But I may be biased. 😉

Collapse
 
jasonbrown1965 profile image
Jason Brown

Pros: Open source software is an opportunity to work with people who share your good idea, freely, without interference. Also, to learn about more 'open' styles of development and management; essential 21st century skills.
Cons: OSS contributors are, essentially, 'freelancers' who rarely get paid, and all too often work alone.

Collapse
 
omrisama profile image
Omri Gabay • Edited

Cons is that it's a sticky situation when noone feels like maintaining your package anymore even though half the globe depends on it through some weird dependency chain

Collapse
 
dploeger profile image
Dennis Ploeger

Honestly, I had that more with commercial software than with OSS.

Collapse
 
bootcode profile image
Robin Palotai

"Your depend on it, you fix it."

Collapse
 
dploeger profile image
Dennis Ploeger

That is correct! 😉

Collapse
 
bureado profile image
José Miguel Parrella

It's not a con, but you need to invest significantly to benefit from open source. I'm not talking just "giving back" or "chopping wood and carrying water", but any significant usage of open source in an organizational setting requires investing in tools, policies, processes and potentially culture. You can't shortchange your open source investments - you're shortchanging the commons, and yourself.

Collapse
 
omrisama profile image
Omri Gabay

Building stuff for other people to build upon

Collapse
 
omrisama profile image
Omri Gabay

Also gives you resume clout

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

I wonder if Sloan is a reference to Star Trek character Agent Sloan who works for Section 31.

Collapse
 
ghostclonelol2000 profile image
<}:-{~ .A.K.a. DOOM

In theory open source system is 100% open source, can be added to or deleted entirely by anyone.

Also brexit..