If I try to monetize free software, what could possibly prevent someone from forking that software and creating a proprietary version? [duplicate]

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/213942

  •  30-09-2020
  •  | 
  •  

Question

I've only recently begun to learn about the tensions between free and proprietary software, and I've been very confused by the way that free software can make money.

I understand that free software is "free as in speech, not as in beer," but if I release an open source program and then try to monetize it, what could possibly prevent someone from forking that software and creating a proprietary version?

Is the only thing that stops them the investment of other members of the open source community in improving the software?

It seems like every improvement free software makes is transparent so a proprietary copycat can make sure they are always up to date with the latest features in the free version, and then add their own features on top of that independently. I'm confused about how free software can survive in serious competition with proprietary software.

Was it helpful?

Solution

There are two answers here, because there are two principal ways to look at this.

First, sometimes free software thrives in competition with proprietary software because it wasn't designed to make money in the first place. That's not the only thing that motivates people, after all.

But if you're looking for a way to monetize free software, you're absolutely right in saying that anyone could fork it and use it to compete with you. What you have to do, then, is what other successful services which run on open-sourced platforms have done: build value beyond the software itself.

Reddit is open source, for example. If I wanted to, I could download it and host a Reddit instance of my own. But you know as well as I do that that wouldn't do me much good, because I'd still be missing the thing that truly makes Reddit valuable: the large community of users.

The key to making money off of something with little to no inherent monetary value--such as software that anyone can obtain for free--is by providing a related service that does have a high value, such as connecting people together and making it easier for them to communicate with each other.

OTHER TIPS

The open source business model is not much about selling lots of copies to many individual customers. This model would not be sustainable, because each of your customers could compete with you and underbid you. But there are other business models which allow you to make money from open source software:

  1. Support and consulting fees: Your software may be free, but who is the best person in the world to help people use it? The people who made it, of course. Being one or the main developer of an open source software makes you most qualified for this job, and allows you to charge a lot for an hour of your time.
  2. Collaboration for strategic reasons: Some companies support the development of open source software because they are using it themself and want the best software possible. Or they are creating other products which benefit indirectly from a certain open source project. Take a look at the top twenty contributors of the Linux kernel, for example. You see some Linux distributors in there, but also companies like IBM or Intel who sell hardware running Linux or companies like Oracle who sell software running on Linux.
  3. Customized software: While the one-size-fits-all model works well in consumer-software, many companies have very specific requirements for the software they are using. Taking an open source software and modifying it to fulfill these exotic requirements is a viable business. The company could resell the modified software, but there wouldn't be anyone to sell it to, because their requirements are too unique. You need a web shop which can interface with your industrial welding robots? I don't know one which can, but I could hack Magento to do it.
  4. Multilicensing: Many corporations (like Oracle, for example) offer the same software under both an open-source share-alike license and a proprietary license. In some cases the proprietary version has additional features the free version lacks (this might look like a glorified demo version, but there can be good reasons to do so, for example when the proprietary version uses 3rd party technology which is not open source). In other cases, both versions are functionally identical, but the proprietary license comes with an agreement to create derivate versions which are also proprietary allowing the buyer to sell his derivate to multiple customers.
  1. Nothing prevents anybody from forking your software and becoming a competitor.
  2. If you use a copyleft-type license, their fork cannot ever become non-free software (if that's what you mean by proprietary). Things are different with permissive open source license, like BSD-style licenses.
  3. If there are other Free alternatives, the only way to monetize on your software is to provide added value: service, community, reputation, etc.

It can be done, and successfully. But be prepared to invest more effort in service and communication than pure software development.

The GNU General Public License was created explicitly to prevent proprietary forks - it allows you to distribute derived works (forks or add-ons) only if you agree to put them under the same license.

The GPL grants the recipients of a computer program the rights of the Free Software Definition and uses copyleft to ensure the freedoms are preserved whenever the work is distributed, even when the work is changed or added to. The GPL is a copyleft license, which means that derived works can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD licenses are the standard examples...

Licensed under: CC-BY-SA with attribution
scroll top