LGPL requires you to contribute changes that you make to the Open Source Code back to the community.
With AOP, the prime developers of the OS would never know whether the code (functionality) is changed or remain same.
Programmers can simply open the original source code of any open source and juz write an aspect that weaves through the original code. AOP gives this kind flexibility to the programmers to change / enhance behavior at run time. Added code in the aspect cannot be considered as change in the original source code.
Is this big drawback (is this a drawback ?) going to impact on Open Source Community ?
Any views on this ?
From a conceptual software usage point of view, I don't see a great deal of difference between delegating to a library (statically or at runtime), or using functionality from the library in the form of aspects.
What is the difference in a licencing context between the use of delegation and decoration as apposed to changing behaviour with aspects?
(perhaps only that your changes may go a little deeper).
I think LGPL will still apply happily to aop. imho the benefits of getting changes included into an upstream release outweigh the benefits of keeping changes proprietary in the vast majority of cases anyway.