ACM S.L. has invested in Research and Development, with the sole purpose of providing a toolbox and software libraries to leverage a significative improvement in terms of development speed and software quality.
All these projects share a common license: GPL

The reason is obvious: all our projects have a finer or greater dependency on free software, and thanks to the freedoms preserved by such licenses we've been able to build instead of reinventing the wheel.

Having said this, we don't want to express an exaggerated gratitude: in some sense, is the minimum people should expect. Sadly, that's not the case, mainly because business models upon which commercial software depends

Error: Failed to load processor FootNote
No macro or processor named 'FootNote' found

follow approaches based on exclusiveness and user rights restriction. Leaving ethics aside, such approaches are far from trying to focus on improving software quality, reliability or performance.

In contrast to what some say to expand free software, we think there's no need to convince to promote it. If we think of software as a progress indicator (with commercial possibilities), licensing it as free software only has positive consequences, as long as it gets affected by the human's natural tendency to improve. If it becomes just a way to maximize economic profit obtained by exploitation

Error: Failed to load processor FootNote
No macro or processor named 'FootNote' found

, then, to slow down such tendency towards oneself benefit, we need to apply corrective measures (making it up sufficiently

Error: Failed to load processor FootNote
No macro or processor named 'FootNote' found

), so that we keep control on what progress is and when I want it to happen.

People building ACM identify ourselves more with Boltzman than with Edison, with Feynman than with Wolfram.
Once the motivations are explained, the outcomes are:

QueryJ
It's a code generation tool. In particular, it generates a persistence layer implementation from an already-deployed relational model. In ACM we weren't satisfied with the effort JDBC-based manual implementations require, as well as their average reliability and performance: the time they consume adding almost no value, and the severity of the problems they can produce (connection or cursor leaks, to name a few). Most software projects nowadays use a relational model as persistence layer, so this situation need to be corrected, furthermore if the project is moving to a MDA methodology, or whose model is the outcome of the analysis and design phase less easy or cheap to change. It's convenient to stress that QueryJ includes an implementation of such layer, but by no means it cannot be adapted to the one of your choice. However, such implementation is reliable, and it's based on DAO and VO design patterns. Given the exaggerated variety of available persistence frameworks

Error: Failed to load processor FootNote
No macro or processor named 'FootNote' found

, we assume our objective is not to compete with them, but provide our users a way to generate the persistence layer they want (using the framework they choose), so that they get a higher order of magnitud in terms of speed, reliability and flexibility in relation to changes in the model.

AntDep
Maven plugin to allow Ant-based projects to define its dependencies using Maven. Support for Maven2 is ongoing.

Error: Failed to load processor FootNote
No macro or processor named 'FootNote' found