AlexCeleste / BlitzMax-Extensions

Aspects and Interfaces and Lambdas, oh my!
Other
1 stars 3 forks source link

Q: Patented? #1

Open GWRon opened 9 years ago

GWRon commented 9 years ago

Hi,

just a small question after reading your post at blitzmax.com (where you linked the wikipedia-article):

https://en.wikipedia.org/wiki/Aspect-oriented_programming

Criticism Firstly, aspect-oriented programming is patented, and thus not freely implementable.

Did you think about that statement?

AlexCeleste commented 9 years ago

Yeah I gave it a good two minutes' thought or so, and came to the following conclusions:

1) There are dozens of other AOP implementations out there beyond just AspectJ. It even has direct competitors.

2) I have the feeling that the patent holders don't care about commercial non-threats;

3) Patents don't have to be enforced, and this is almost certainly a defensive patent the owners bought as part of a wider arsenal to be used if another big company sues them for some reason, much like Google's attempts to patent AI (it's owned by Xerox, inventors of half the modern desktop);

4) I live in the EU, and that's a) a US patent and b) a software patent, which is generally considered unenforceable anyway here.

I should probably put some warning on the library, but I don't think it's something to worry about in practice. Lots of programming techniques in common use are actually patented in the US.

GWRon commented 9 years ago

I know about software patents. The problem arises, as eg. GitHub is not located here in Europe too - so they might get some trouble enforcing them to close down the projects. Also such issues should be stated somewhere, so that eg. American people are informed and take care of whether to use or not to use your (awesome) implementation.

Think if you note down the warning somewhere, nobody will be hurt but some might benefit from it (if someone is using it ...). Might be a handy addition for Bruceys BMX-NG (disregarding the patent issues).

AlexCeleste commented 9 years ago

I have added a warning to the Aspect readme about this.

Because AspectJ - Xerox's implementation - is available under the EPL, it actually explicitly offers a free patent licence to users and developers. I'm not sure the licence itself can be applied to Aspect.bmx, since it's not an actual derivative work, but am taking this as further evidence that the patent is defensive and not intended for use against casual competition like this.

I'll make some more inquiries, but I don't think there's much more to find. There are dozens of AOP implementations. Not even IBM seems to be worried about the patent issue (in their case probably because they have prior art, but w/e).