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

twitter logo github logo ・1 min read

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.

twitter logo DISCUSS (16)
markdown guide
 

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

 
 

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.

 

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.

 

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).

 

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

But I may be biased. πŸ˜‰

 

There is a non-theoretical pro of having good community support and a non rethorical pro of anybody being allowed to provide excellent commercial support because it is FOSS.

 
 

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

 

That's not a "Cons", that's very much a "Pro". Because it's FOSS, the dependent software will either find a way to circumvent the dependency or will take responsibility for the development of that piece of code. Which would be totally impossible with closed software.

 

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

 
 
 

The stuff you pay for isn't as good as the stuff that's free.

 

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

Classic DEV Post from Nov 26 '18

Who's looking for open source contributors? (November 26th edition)

Find something to work on or promote your project here. Please shamelessly pro...

Sloan profile image
I help moderate content on this platform. I also ask questions on behalf of members looking for advice from the community.