I know @matterhorn103 asked about XTB support. Now that there’s a tblite package with both Python and C interfaces (and an LGPL license) it’s a bit easier to consider GFN1 / GFN2 calculators in Avogadro (e.g., as an optional compile).
It would still take a bit of work to add in vibrational spectra, orbitals, etc. using the method, but it’s worth considering beyond v2.0 release.
For speed, it would be great to have GFN-FF – and there’s some progress on that side too. Philipp Pracht has a stand-alone implementation, but it’ll take a bit before there’s a C interface. He’s interested in an Avogadro integration though.
In particular having GFN-FF available as a native option within the force field framework, for the fast/live optimization within Avogadro, would be amazing!
Re licensing: I like the permissive license for the Avogadro codebase, but have you considered releasing the compiled binaries under the GPL so that you can bundle things with it more easily? (Dual licensing it, I guess that’d be.)
Edit: though that wouldn’t solve all issues since Open Babel is GPLv2 and tblite is LGPLv3…
I’m not 100% sure how much help I would be with doing something like that, but if you’d like to send me some of the challenges you’re facing on that front I can try to take a stab at it and maybe accelerate things. (That being the UFF native implementation)
I’ll see what I can do. I have a few other tasks over the next few days, but this will motivate me to get some pieces together to put a branch up as a pull request you can see.
I had the mental block of “oh, I have to implement all the gradients” but energies are a good first step. (It won’t take long to implement the gradients afterwards. It’s just always good to break things into small pieces.)
Another thing to think about for UFF is how to handle the dummy atoms for things like ferrocene. Right now, the Open Babel implementation won’t take those into account. Ideally, a Ziegler-Natta type catalyst would optimize the ligand angles. That’s not actually in any UFF implementation, but users would clearly expect Avogadro to “do the right thing.”