一位兄弟对OpenERP的抱怨
-
A client of mine wants me to use OpenERP (a Python-based open source system) for a major project. I've already done a much smaller project using OpenERP and, frankly, my experiences with it have been rather negative.
Here's what I've noticed:
* Its marketing is a scam. The only videos and screencasts you'll see is of people clicking together a functional demo with a GUI. When you actually ask on the official forums about that, people will gladly admit that you can't get any shit done by dicking around in the GUI, so you're gonna have to actually write Python code, which is a good thing, but see the next bullet point.
* The documentation for doing stuff in Python is lacking and practically non-existent when it comes to things like interface-defining XML. (Although you can buy support services and its biggest developers have set up their own OpenERP customization companies.)
* The default reporting engine's scripting language is so ridiculously badly designed, it made me laugh when I first saw it. Then I cried.
* OpenERP's internals are full of spaghetti magic. So much stuff happens dynamically at runtime that it was written either by a guy with an IQ of 300 or by a 14 year old nerd trying to impress an imaginary girlfriend with obscure programming tricks.
* When you change the structure of a database table using OpenERP's ORM, as you're supposed to, roughly 25% of the time the automatic migration fails and you better pray you have a backup. Most of the time it fails, it does this in very subtle ways that you're probably not going to notice until you deploy it in production and someone points it out to you. By which point it's your fault.
* Dealing with even 20k interrelated objects in the database will fuck you up. There are certain standard many-to-many and one-to-many relationship views that the client GUI will just not render in a sensible amount of time. And you can't put a limit on how many objects it will query for or try to render. (I will be dealing with close to 20M objects in this project. I'm fucked.)
* The advertised web interface is a half-finished piece of crap. It breaks on simple things.
* Apparently there are several hundred existing server-side modules you're supposed to be able to use for your business. Stuff like client management and invoicing and whatnot. Except the crazy way you're supposed to inject your modifications into them is liable to break as these modules are in active development. A more sensible way would be to copy-paste existing module code into your own modules and sometimes it's even better to write from scratch.
Of course, what the client sees in all this is:
* The video claims that you can do the development using a GUI in just 20 minutes! Problem?
* There are several hundred existing modules you can use! All you probably have to do is click a few of them together for us and we have what we need!
* It's Open Source, so you can build pretty much anything we want!
* An equivalent enterprise solution would cost us thousands of $, but this is free and even better!
Yeah, much of this post hyperbolic, but it sums up my frustrations with OpenERP pretty well. So I was wondering -- is it just me or has anyone else been raped by OpenERP as well?
Not all of OpenERP is downright bad. There are some rare bits in it that give me joy. But, my god, it's pretty much the worst piece of software I've seen written in Python compounded by the fact that it's got great marketing, which sets up unrealistic expectations, and in the end it would make more sense to build a web-based system from scratch using Django or whatever.