Slashdot Mirror


Compiere on Postgres/MySQL

Tim Griffin writes " Compiere (arguably the most comprehensive open source ERP/CRM solution) has recently taken an interesting approach to harnessing community support for adding database independence to their product (currently it requires Oracle). They are taking pledged donations to help get the ball rolling on the project Certainly there are many feature requests in OSS I'd gladly pledge towards. Is this feature pledging a sustainability model for opensource developers/companies? Other examples, such as Blender3d which raised 100,000 EUR in 7 weeks, point in that direction. Perhaps in the future we may even see these pledge requests linked within the GUI itself? "

16 of 255 comments (clear)

  1. Re:Makes sense by iantri · · Score: 5, Insightful
    How long until advertisements right in the software?

    Voila. Adware.

  2. Re:Makes sense by Ececheira · · Score: 3, Insightful
    Our solution was sponsoring, in one way or another: support from wealthier individuals or firms, getting advertising and honorable mentions in return.

    The way that you describe is exactly how the fine arts world works. For orchestra concerts, ballets, operas, museum exhibitions and the like, ticket sales *never* cover all of the costs. It's up to wealthy donors to subsidize the work and in return their name goes into a program and sometimes they get buildings named for them.

  3. Re:Pledge Requests in the GUI by base3 · · Score: 3, Insightful

    In an open source product, the diffs would be out in minutes to remove this crap, thankfully. With closed source, it takes a few days for the crack to appear :).

    --
    One CPU cycle wasted on digital restrictions management is ONE TOO MANY.
  4. Re:Why should we contribute to this? by Anonymous Coward · · Score: 1, Insightful

    The lack of abstraction part is not the issue.

    The code has been designed around nested transactions. These are supported by bd2 and oracle but not by postgresql.

  5. Re:Makes sense by Ianoo · · Score: 2, Insightful

    You've just got to look at the backlash when it was reported Mandrake had an adware installer and screensaver to see that this is unlikely to work in open source software communities. Personally I won't even install software with adverts or software that shows adverts if you don't buy it (Opera). I think it's the most annoying business model possible.

  6. Re:Why do you need donations by stienman · · Score: 4, Insightful

    Porting the table structure is not the same as, oh, porting the actual program so that it reads and writes to PostgreSQL.

    What exactly do you mean by giving us a database configuration file, and then saying you've ported compiere to postgresql? Where are the modified java files?

    -Adam

  7. Re:Maybe not by duffbeer703 · · Score: 2, Insightful

    The marketing tactics of PBS, the Sierra Club, etc and the tax-deductibility of contributions have ripped the souls out of american charity.

    The Sierra Club was once an actual club, with meetings where members actually met and discussed whatever they discussed. Now it's just a place to send a check.

    Today, charity is an industry with a large percentage of contributions supported a well-paid bureaucracy skimming off the top.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  8. Open source? by joshv · · Score: 3, Insightful

    But it requires Oracle. Huh. An Open source product that requires the purchase of a proprietary software product. Kinda defeats the purpose. No?

    Personally though I don't understand why application developers use a database for anything other than storage. If all you are doing is simple inserts, selects, updates and deletes it should be very easy, if not trivial to make the application database independent.

    Stored procs, triggers, etc, are evil as they spread your application logic all over the place and there are no standards for how they are implemented by different vendors. It's hard enough to find a relatively standard subset of SQL semantics.

    -josh

    1. Re:Open source? by krumms · · Score: 4, Insightful

      Stored procs etc. are fantastic if you know what platform you're building for (and that target platform has been set in stone).

      I'm building an in-house piece of software in this manner, and stored procs alone saved me LOTS of work - particularly with respect to security checking. All the necessary checking is done automatically when the user logs into the database. Furthermore, users can be assigned roles within the system automatically as a knock-on effect.

      I thought about trying to go database independant for a while, but the sheer amount of time saved for an application with a 95% chance of always running on a particular platform with a particular RDBMS compared to doing it all in the code ... well, it's a no brainer.

      However neat it is, cross-platform isn't always The Way.

      But I completely agree with you with respect to open source projects and db independance. That said, this project hasn't always been open source right? Perhaps that's half an answer as to why they built it the way they did ...

    2. Re:Open source? by Stone316 · · Score: 2, Insightful
      If all your doing is simple DML then your not using a database to its full potential. I've been a DBA for 7 years now, a few of those years spent in development shops. Lets take Oracle for example, there are tons of features in there to help performance, managability, etc and alot of them are unique to Oracle.

      Database independance is all fine and dandy but its a trade off. Your trading for time to market. ie, if your application is complex then your going to end up writing features that are probably available in the database. Thus, your time to market will be longer. I'm not talking about simple applications here.

      At one location, even tho all of our customers would have been using Oracle as the backend, management decided to write a few features that were already available in Oracle. You don't want to know how much they expected this to cost or how long it would take.

      Another thing to keep in mind is market share.. Why develop for a database that has less than 10% market share? If you take Oracle, SqlServer and DB2 you have over 90% of the market covered. (Alot of DMS's comprise of the remaining 10%.) Personally, if I was a developer, i'd worry about getting my app to work with those databases first. I wouldn't be too concerned with a database that has a 1% market share, opensource or not.

      --
      "Thanks to the remote control I have the attention span of a gerbil."
  9. Re:Why do you need donations by GooberToo · · Score: 2, Insightful

    If I recall, for the port to actually function, it needed additional transaction support.

    Also, IIRC, the data model had long since been ported by the developers to PostgreSQL, however, the effort came to a halt when they decided they needed additional feature support from PostgreSQL or significant code changes in their Java client.

    So, unless you have more than just DDL, I don't think you have much to offer here.

  10. Re:Makes sense by kevinvee · · Score: 3, Insightful

    A single patron can start to cause a lot of problems, as we've already seen with all the musicians, artists, and poets that you mentioned. Their (the donors) ideas are the only ones that get seen through, since they control the purse strings. (FuzzyBunnyWare anyone?)

    This was one of the contributing factors to all of the revolutions seen in the 1770s, the death of classicism (with patronage) and the birth of romanticism (with paid-for instead of pledged-for services such as concerts).

    This 'pledged-by-the-masses' idea, however, is a brilliant model for oss, assuming it works as well as necessary.

  11. Re:Why open source in this field? by Samus · · Score: 2, Insightful

    Thats easy really. Its all about the small to medium sized businesses. How many small businesses have you ever come across that could really use some good groupware software or other things but can't afford them? I saw several while I was contracting. If these companies can save a few dollars and get the tools to help them compete on a larger level its a good thing. See the economy is really driven by small businesses. When lots of small companies are doing well there are more jobs. Boeing, Ford, GM et all create very few jobs compared to the number of small businesses that open up everyday. In this world of increasing technology these tools help lower the bar for entry into a market. They can also create a niche for a small business to help other small businesses implement and use these tools.

    --
    In Republican America phones tap you.
  12. A couple problems by danharan · · Score: 2, Insightful
    Rather than just port to PostgreSQL, they want to do
    Real time parsing Oracle DDL and DML statements and converting them to the target database.

    So, you'll have a performance hit for using anything else but Oracle?

    They also note that they got stuck porting to PostgreSQL because it lacked embedded transactions. How about offering them $20,000 for adding that feature? They already have most of the work done!

    Some will whine that this approach does not support MySQL (as evidenced by the comments by donors). Having had experience with using both Oracle and MySQL for enterprise applications written in Java, I can say that the performance and productivity hit is fairly high (like reading /.)

    You can't for example write a "DELETE from products where product_id in (Select product_id from ... )" query in the last stable release of MySQL. As a result, you are forced to write many, many more lines of code, and make a lot more calls to the db. (I'm not dumping on MySQL - I still use it - it's fast, but it's not "Enterprise" material yet).
    --
    Information: "I want to be anthropomorphized"
  13. PostgreSQL is also better for accounting... by einhverfr · · Score: 3, Insightful

    WHile MySQL has other strengths (most notably MySQL is strong where you do not WANT full ACID support, while PostgreSQL is strong where you do).

    Triggers are very important for any business-critical database, as is the requirement that a database raise an exception when it cannot insert EXACTLY what you tell it to into the database.

    For example, if you insert a number into MySQL that is too large for its data type, MySQL will truncate it (NOT good for accounting), while PostgreSQL will terminate the transaction and happily raise an exception! THis behavior is NOT ACID complient.

    MySQL has some other strengths-- it provides a set of generic non-ACID compliant tools (such as HEAP tables) that enterprise databases cannot afford to offer.

    --

    LedgerSMB: Open source Accounting/ERP
  14. if you read the article by jbellis · · Score: 2, Insightful

    it says any target db will require stored functions ("but not triggers or procedures"). that kinda lets mysql out.

    incidently they say that their first porting effort failed b/c "Compiere is using embedded transactions" which postgresql doesn't support. I think he means nested transactions which indeed no open source database supports yet... at least not postgresql or firebird or mysql. :(