This question is aimed to summarize advantages and disadvantages of using fflib-common-apex for developing managed packages for AppExchange. Overall fflib-common-apex and mocks are helpful and speed up development. But what are the pitfalls? One I can think about is dependency of my code on these libs. Another one is licensing - what if one day FinacialForce decide to make it paid.

I don't intend to make this question too broad or opinion-based - just gather common pros and cons.


The library is licensed by the BSD 3-Clause "New" or "Revised" License. While this hasn't been tried in court, having such a license would make it very difficult for FinancialForce to force you to either pay up or stop using that particular version. There shouldn't be any issue using any source code under this license for any practical reason.

As far as dependencies go, once you have copied the source code, you own that particular copy of the source code. The dependencies are your own, and you can manage those however you'd like. For example, the BSD license allows you to modify the software in any way you see fit, so you can choose to fix problems, remove unused code, add more features, etc.

The only restriction you need to be sure to follow is to mention that parts of your product contain BSD licensed code in the documentation for your product. In this case, it would likely be sufficient to have something similar to the following in your documentation:

Open Source Libraries

The following libraries are used by this application.

By doing so, you're providing a link to the source code and its licensing terms, which should satisfy the clause. You might want to ask a more specific question on properly crediting OSS on Open Source.

| improve this answer | |
  • Thank you! One more thing that could fall into the pros/cons discussion: how do apps that utilize fflib generally undergo the security review? Are there any common issues linked to the lib marked by the scanner? – Eduard Jun 19 '19 at 21:41
  • @Eduard I haven't tried scanning it, so I'm not sure if it does even pass review or not, but I'd imagine that most problems are trivially solved. – sfdcfox Jun 19 '19 at 23:32

Your Answer

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

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