Information about FOF and F0F

Details Published: 12 June 2014

Executive summary: Since March 2014 the framework we use to build our software is placed in the directory libraries/f0f (f-zero-f) inside your site and it appears as "F0F (NEW) DO NOT REMOVE" in the Extensions Manager. This entry is legitimate and you must not remove it, otherwise you are risking locking yourself out of your site.

As you may know, our extension building framework FOF (Framework On Framework) has been included in Joomla! 3.2 and later as the official Joomla! Rapid Application Development framework, also known as "Joomla! RAD Layer". This has been a great honour but also a great burden.

For starters, Joomla! development and release cycle has undergone some changes. Due to these changes and other internal reasons we could not be notified well in advance of a new Joomla! release, leading to old versions of the FOF version being distributed with Joomla! itself. Bugs causing high priority issues in our and our partners' software could not be dealt with in a reasonable amount of time. New features in the framework required to implement new functionality in our and our partners' software also could not be delivered in a timely fashion.

On top of that, internal Joomla! politics had put us in a position where we had to constantly defend ourselves against a small subset of core developers who had always been pursuing a different agenda regarding Joomla! extensions development. At one point we were accused that we only allowed Joomla! to distribute FOF for the money. In fact we have received exactly zero Euros and zero cents for three years of hard development. The only expense to OSM was a coding sprint organised in Pistoia, Italy in June 2013 where seven developers worked for 10-12 hours a day without receiving payment. The burden to OSM's budget was less than 2000 Euros. Each one of us could actually make more money by staying home and going about their own business as normal instead of contributing to Joomla! through the code sprint event. The fact remains that the aforementioned attack was made on the official Joomla! forum by a Joomla! co-founder who's currently leading the Joomla! Framework effort, without a public apology by this person or any Joomla! leader.

The combination of the above took us to an impossible situation: we were being attacked for providing our work free of charge to Joomla! while Joomla! was making it extremely difficult for us to make a living. The only solution was to continue development of FOF outside of Joomla! and infrequently commit new versions back to it. Since we needed both the old version of FOF included in Joomla! and the new one we distribute with our component to co-exist we renamed the library directory and class prefixes from FOF (F-oh-F) to F0F (F-zero-F).

This is the reason why you now see two entries for FOF in your Extensions Manager. One is called FOF (F-oh-F) and it's the old version shipped with Joomla! itself and it's required for core Joomla! features such as post-installation messages and two factor authentication to work. The other one if F0F (F-zero-F) and it's the new version required by our and our partners' extensions to work. You must keep both of them installed on your site. Removing either one will cause problems to your site.