I would like to hear some input from the Dev team.
For me more crucially, why is communication using xmlrpc and not xmlrpcs by default? The nature of openerp is that it houses businesses core data, it should by nature think of security first. Users passwords are also not checked for complexity, users can happily use passwords123 in openerp, for business use, that's bad.
The real reason is historical. We never thought "ok, it's a good idea to not encrypt password by default".
We implemented the plain password XML-RPC auth as it was the fastest implementation back in 2005, when our priority was to deliver our direct implementation customers asap. (and we didn't had extra budget at that time to implement several auth methods).
Since then, we have added encryption as a module "auth_crypt" as well as other authentification mechanisms; ldap, openid, oauth, etc. Every authentification mechanism is implemented by a specific module. We supplied them as optionnal modules so that everyone can choose the one he needs. We did not installed base_crypt by default as it's implementation was not compatible with ldap. (I do not know if it's still the case)
I guess we did not changed the default mode because: 1/ there is always something more important to do (the todo was trapped in the daily flow of things to do), 2/ it would have broken compatibilities for existing customers. 3/ base_crypt was not compatible with auth_ldap (but I think this should be fixed now)
Since the point 2 is not a problem anymore as we have a good migration service now, we should change the default the encrypted password in the next version.
Can anyone propose a merge proposal on the trunk branch to change the default?
The OpenERP developers have justified the use of plain-text passwords as a password-recovery measure:
"As for the reason for cleartext passwords: once you switch to encrypted passwords you can't recover user passwords anymore. So enabling it is a choice, because there's no going back. We don't currently plan to make passwords encrypted by default."
(from OpenERP bug #738721)