The EntityFramework Reverse POCO Generator is a Visual Studio extension / T4 template which derives from the PetaPoco template. The PetaPoco project is licensed as Apache 2.0; and the derived work is labelled as being distributed under Apache 2.0 as well.

However, the author has added a clause to the top of the LICENSE file, stating:

This software shall not be automated, placed inside, or wrapped by, other software. Not shall it be sold or used outside of Visual Studio.

This came to my attention after the author responded to a StackOverflow question regarding using the tool outside of Visual Studio. His response included:

By the way, just to be clear: I don't want this project to be automated outside of Visual Studio, or to be included in another product of any kind. This is stipulated in the license.

Confusing matters more the same product is distributed under a non-modified APL 2.0 via VisualStudioGallery.com, where it's license simply cites it as an Apache 2.0 project.

Can a developer arbitrarily modify/restrict an established license?

  • 2
    If you modify the licence, it is misleading to continue using the same name. With regard to using the software outside Visual Studio, this reminds me of the question “Open-source” licenses that explicitly prohibit military applications. How would this be enforced?
    – Tsundoku
    Commented Nov 1, 2016 at 19:29
  • Yes, and the author of that question eventually called his new license "A Modified MIT License." Commented Nov 1, 2016 at 19:32
  • 1
    Not only the author modified the original Apache License (PetaPoco T4 templates) but also recently he completely modified the license of that template transforming it into a commercial product. And now all users of that "opensource template" are now stuck.
    – drizin
    Commented Jul 1, 2020 at 2:49

4 Answers 4


Licenses are themselves protected by copyright law. Unless you have permission to do so, you have no right to take an existing license and create a new license by modifying it. So you better check what the copyright holder of the Apache 2 license says about it.

Now if I took a copy of a Harry Potter book and made some changes, no reader would be harmed by reading it. If I take a license and make some changes, someone using the changed license could get them into major trouble. I don't know about Apache, but GPL is very strict not allowing you to create derivative licenses whatsoever.


Yes / No. Does the terms of the APL license that's distributed with the software simply contradict the previous limitations? If so any form of usage becomes pretty arguable.

But I suggest you to focus on the reason why he's pretending to be using APL 2.0. Is he getting money/services/support from the Apache Software Foundation in exchange for applying this licensing scheme? If so, you might want to report the situation to them. They might not like it.

Is the author maybe redistributing/mantaining chunks of software he did not write? If so the legitimate copyright holders might want to have some not-very-nice words with him. They should be tracked down and informed.

This software author might just be ignorant on how copyright and licenses are supposed to work. (i.e. rights and duties should be clearly and unambiguosly stated, you're not supposed to just copy/paste magic text formulae and add random mumbo jumbo on top of that, just to contradict it)

Unfortunately, when the author doesn't understand the law, the current rules tend to favor his rights over those of third parties. So he's allowed more or less to be as much dumb as he likes, and if the matter ever hits a tribunal, the judgment will be pretty much a random spin of the wheel of fortune, unrelated to reality, and tied to the retorical skills of the lawyers implied.


Yes. But if they do modify it, it's no longer considered an Apache 2 license, or whatever the original license was.


Any license obtained, be it free or commercial, provides you with certain rights.

So it can be argued that those rights are maintained even if the author of the license, changes the licensing terms.

Unless, the original license you obtained contains a clause which states that any modification to the license by the author, supersedes all prior license agreements and the changes are in effect immediately, your original license continues to be in effect.

So then, based on the above; should the exact same software be available under different 2 licenses, you can then choose the license you wish to use.

One caveat is that you must make use of the license that the software is made available with. You cannot mix and match software versions and licenses.

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