1

I have released many open source software under Apache 2.0, now I'm providing a SaaS using that software.

Basically, I need to prevent people just taking my software and just rebrand it to provide it in SaaS, being in direct competition with my own SaaS.

AFAIK Apache 2.0 makes that possible, even the rebranding (changing my software name, logos, "powered by xxx" messages, etc. even rebranding the documentation), without making any contribution to the open source project.

How to prevent that? Does the Apache 2.0 consider this situation? Can my software be better "covered" by a different license?

2
  • 1
    Thats why open source exists. People can modify your software as they please and then use it for their purposes. Even if this includes rebranding and selling. As open source developer you don't have the keys to the kingdom. Thats good for the people bit not necessary for you
    – BlueWizard
    Jan 8, 2017 at 21:06
  • 1
    Bain Capital endorses this message twitter.com/timani_zw/status/1174749287026085889/photo/1
    – Nemo
    Sep 20, 2019 at 6:14

3 Answers 3

5

You could add a license term similar to the term from the Affero GPL v3 mentioned here:

if you run the program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the program that it's running

You could also consider to put your programs fully under Affero GPL v3, or offer dual licensing.

If a competitor will follow your license terms is a completely different question, especially when he is located in a country with a different jurisdiction than yours. If you want to prevent yourself against such folks, you need to keep your source code in private.

4
  • I'll take a look at that license. Just one question: I don't think I can add a term to the Apache 2.0 license, should that be in the license notice? I've read that the notice is like a complement of the standard license. But I'm not sure if there I can put more restrictions than the ones in the license. Dec 30, 2016 at 18:03
  • "I don't think I can add a term to the Apache 2.0 license" - why not? You can always write a license text for your software saying "this program published under Apache 2.0 license, with the following additional restrictions: ...". I agree to @StephenC in that if you need a license which holds in court, you should ask a lawyer specialised in copyright law to work out the exact wording. However, even that will give you a 100% guarantee not ending up with a self contradictory text ;-)
    – Doc Brown
    Dec 31, 2016 at 8:59
  • You cannot however add an additional restriction and continue to call it the Apache 2.0 license. Dec 31, 2016 at 19:30
  • @whatisname: That is obvious, if the Op wants different license terms than Apache 2.0, it becomes a different license.
    – Doc Brown
    Dec 31, 2016 at 20:48
6

Your only route is to abandon any desires of "open source" with your software.

There are no "mainstream" or common suitable open source licenses as freedom to use for any purpose, which includes competing against you, is considered a cornerstone requirement of free and open source software.

And of course if you use any libraries you'll have to check if a proprietary license is even an option.

I think this is also good reading: https://www.gnu.org/philosophy/open-source-misses-the-point.en.html

3
  • My real concern is not competition, but losing credit from rebranding. I understand I can put license notices on my project and each file, but when the software is provided to end users as a service, I mean they don't have access to the source, they can't see those notices. I'm sure there should be a solution for this, while keeping the source open. If not, please let me know. Dec 30, 2016 at 4:17
  • Losing credit due to rebranding is competition. It is just a different form; i.e. competition for credit / kudos / brownie points / whatever.
    – Stephen C
    Jan 1, 2017 at 3:04
  • Competition depends on how the product is used, rebranding doesn't imply competition per-se. Are two different things. Jan 4, 2017 at 3:24
1

First of all, IANAL. If you need advice that you can rely on as being legally sound, then you should get it from a lawyer who specializes in international Copyright and IP law.

I can think of three possible approaches:

  • Don't publish your source code at all. AFAIK, no open source licenses require you to do that.

  • Publish your modifications to the upstream Apache 2.0 code-base using a restrictive license. It doesn't need to be open source.

  • Publish under the Affero GPL v3 license. The problems with Affero GPL are:


Finally, someone suggested that you add clauses taken from Affero to a standard Apache license.

DON'T DO THAT!

You are liable to end up with a license that is self contradictory ... when interpreted according to sound legal principles. If that happens:

  • Sensible people will treat your codebase as legally risky, and avoid using it entirely.
  • Unscrupulous people may ignore your added conditions and "try their luck" in court.

Neither of these is a good outcome for you.

If you want to create your own custom license terms, you should get a lawyer to do it for you.

2
  • Can you expand what you understand about "viral" properties of GPL? Thanks! I agree that is risky to add clauses to an existing license, I prefer to find one that suits my needs, and if there isn't, try other alternatives. Dec 31, 2016 at 17:56
  • @PabloPazos - en.wikipedia.org/wiki/…
    – Stephen C
    Jan 1, 2017 at 2:23

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