Is it possible to have software that is licensed as open source (under some OSI scheme), but only for personal/non-profit use, while alternatively charge a fee for enterprise/for-profit use?

This is similar to a dual-license, I believe, but not the same.


3 Answers 3


No, this is not possible.

See clause 6 of the Open Source Definition:

6. No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

The annotated version adds:

Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it.

So the clause explicitly prevents what you want to do. If it’s open source software (as defined by the OSI), for-profit use is allowed.

  • 1
    @mtyson: Dual license just means that you distribute it under two licenses, and the recipient can choose which one to use. If you use two OSI-approved licenses, nothing changes. If you use one OSI-approved and e.g. a custom license, the custom license may forbid the commercial use. But nothing stops a commercial user from choosing the OSI-approved license, of course.
    – unor
    Mar 9, 2017 at 19:23
  • 2
    @mtyson: What is often done in cases like yours (if I understand your intention correctly) is to offer a community edition under a FLOSS license, and an enterprise edition (with more, typically business-oriented features) under a proprietary license. This way commercial users may still use your community edition, but if they want the additional features, you may sell them the enterprise edition, for which they don’t get the freedoms which they would get with the community edition.
    – unor
    Mar 9, 2017 at 19:46
  • 1
    Alternatively it is dual licensed, where the OS license is something like AGPL, but you can also pay for it to be usable with a proprietary license, that doesn't have the same restrictions AGPL has. You can still use it commercially via the AGPL license, but to adhere to it you might need to make your code OS as well
    – SztupY
    Mar 9, 2017 at 21:03
  • 1
    How isn't this possible? Doesn't Qt does this?
    – Geremia
    Mar 10, 2017 at 1:44
  • 1
    @Geremia: Qt seems to be offered under multiple licenses. The version that is licensed under an OSI-approved license can also be used for profit, otherwise it couldn’t possibly use this license. They simply can’t restrict it. -- The other version seems to be licensed under the Qt Commercial License, which is not an open source license. -- So Qt’s way isn’t a solution for OP’s case ("to have software that is licensed as open source […] but only for personal/non-profit use"). What Qt is doing: offering businesses a proprietary version without restricting them from using the open source one.
    – unor
    Mar 10, 2017 at 2:07

For all intents and purposes the answer is yes. Consider Kyle Mitchell's Open Source License Business Perception Report. Find the license with the least amount of pain and the max amount of confusion. Find it? The WTFPL. Add that as your main license then offer a dual-license.

  • What Kyle Mitchell (whose views might be a bit fringe in the Open Source community) points out there is that some licenses are less attractive for corporate users than others. And you are right that a business can use license FUD to funnel users into paying clients. But what these licenses don't do is prevent commercial use, which OP seems to be trying to do.
    – amon
    Feb 17, 2019 at 14:53
  • OP didn't ask for a license preventing commercial use. They asked if it was possible to give software away for free while still making money from businesses. This is a way to meet that objective.
    – vhs
    Feb 18, 2019 at 2:26

I think @unor's answer demonstrates that what you're asking for isn't bona fide "open source" any longer. But it certainly seems like a reasonable thing some programmers might want to say -- i.e., "Hey, if you're making money off my hard work, then I want my fair piece of the pie." So, one way to accomplish that might be to just write your own license terms in a comment block at the top of your code, e.g.,

 * Copyright (c) 2017, Your name here. All rights reserved.
 * Released to the public domain only for use that is both
 * (a) by an individual, and (b) not for profit.

Okay, so that's probably a bit too terse, but you get the idea. And to repeat myself from above, I'm surprised that, judging from the above answer, there's not already a more formal not-so-open-source license embodying your request. Seems completely reasonable to me.

  • The Creative Commons licenses with the "NC" (NonCommercial) component could be used, e.g., CC BY-NC 4.0. These are not recommended for software, but you can use them for software anyway, of course. -- However, it’s not strictly defined what does/doesn’t count as commercial.
    – unor
    Mar 11, 2017 at 7:10
  • I was thinking of calling it "protected source"
    – mtyson
    Mar 11, 2017 at 20:37
  • 1
    "released to the public domain only for such and such use" would not make sense in most jurisdiction I think. And yes, there exist ready-to-use non-commercial licenses, they are just less advertised and less supported. E.g. this community is about free / open-source only.
    – Zimm i48
    Mar 13, 2017 at 12:05
  • You can't release something to the public domain and restrict its use. If you want a non-commercial license, get a lawyer to make sure it says what you want. Feb 15, 2019 at 16:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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