There are some technical reasons and some political / licensing ones.
From a technical standpoint, Open Babel is at a bit of a dead-end. There are some long-needed code rewrites that need to happen that will break API and ABI. Furthermore, we learned that OB is not really ideal for interactive editing of molecules. The atom typing, hybridization, etc. are constantly changing in Avogadro. Some of the strange crashes seem to be due to the constant resetting and re-perception of these properties.
So it’s easier from some technical standpoints to base Avogadro v2 with a somewhat different data model and call Open Babel as a process. As you know 90+% of the usage is via the “babel” command and these code paths are highly tested and debugged.
(That’s not to say there aren’t disadvantages. The geometry optimization and force field work is harder in Avogadro v2.)
There were some licensing issues. Marcus Hanwell at Kitware and other developers were willing (and funded via some grants) to do a large amount of Avogadro v2 development, including an all new rendering engine. Kitware develops BSD-licensed code, and thus cannot derive from Open Babel.
Hope that helps,
On Oct 21, 2014, at 7:45 AM, Conrad Hübler firstname.lastname@example.org wrote:
Dear avogadro developers,
I have a question regarding the implementation of openbabel in avogadro and
avogadro2: Why does (as far as I have seen it) avogadro use the openbabel libs
and avogadro2 the binaries instead? Are there any advantages not using the
Thanks and best regards
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
Avogadro-devel mailing list