Our project, written in Java, is now trying to eliminate unnessceary external dependencies introduced during prototype development. We feel it easy when killing simple static utility methods, later we got a problem. Our project make heavy use of LazyInitializer from apache common-lang3 to implement Singleton Pattern. (link) It seems that we can elimate the dependency of commons-lang3 only by lifting that class away, or we may need to create 40+ static inner private holder class to implement singleton pattern.


What we should do to make lifting from an open source library licensed under Apache License 2.0 legal? (too bad if I can't do it at all)

Something else

In addition to Apache license 2.0, what about other major open source license such as MIT, GPL, LGPL, BSD, etc (OSI has a full list of them)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.