I've created an app (not a library) and published it. It is used by dozens companies for free.

The code was published under Apache 2.0. I had wrong expectations about publishing, I thought that companies would be interested in participating in the software development, but actually all my issue tracker is about support. So, I'm not interested in this activity anymore and want to sell the app. At least, it might give a chance to desired features to be developed.

Is it possible to sell the app licensed under Apache 2.0? Also, I don't know what the subject of the deal is, because the code is open. What rights can I sell?

  • Have you accepted any contributions, or is the code as-distributed still all your own work?
    – MadHatter
    Nov 5, 2019 at 19:32
  • There was a single pull request, that was merged but totally reworked right after that.
    – zbg
    Nov 6, 2019 at 6:24
  • Read the most cited paper on the simple economics of open source Nov 6, 2019 at 13:38

1 Answer 1


You have written an app and distributed it under the Apache 2 licence. You have accepted a single contribution, but the code has been entirely refactored. You say you want to sell the codebase, not least because

it might give a chance to desired features to be developed.

The good news is that anyone who wants to develop your code already has just about all the rights they need, under the existing licence. If you were to sell your residual rights in the codebase, it would add very little to what the buyer could do. Anyone can make a free or proprietary app from the code as is. The only things they can't do right now are those forbidden by Apache 2, which include redistribution without clear copyright notices and a copy of the licence, or the inclusion of technologies on which they hold patent rights if they are not prepared to relicense those rights to end users.

About the only thing you have left to sell is the actual copyright in the existing code, and as we have said, that adds very little to what any third party can do, so these rights are not very significant.

The bad news is that you are likely not the sole rightsholder in the existing code. I accept the contributed code was refactored out, but there is a strong argument that your work remains a derivative of the contributors', in copyright terms (search for Ship of Theseus here and elsewhere). The contributor might well be happy to permit the sale, but consent would be required in such a case.

In short, you don't have much left to sell, it's going to be complex to sell it, and you probably don't need to bother anyway given your stated aims.

Though you didn't ask, given that companies actually use this code, and they keep logging support calls, a better way to monetise the project might be to introduce support packages. You can be clear that as long as there are open support calls from package holders, those bugs and feature requests will get priority; only once they are all dealt with will you address issues from non-package-holders, and then only if you have nothing you'd rather do. You can make exceptions for security bugs, things you personally want to work on, and the like, if you wish; but companies need to pay for their support. You will soon find out how much your commercial users really want the bugs fixed!

  • Thank you for such a detailed answer.
    – zbg
    Nov 7, 2019 at 5:29
  • @zbg thank you for those kind words!
    – MadHatter
    Nov 7, 2019 at 6:11

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.