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? "

27 of 255 comments (clear)

  1. Makes sense by heironymouscoward · · Score: 4, Interesting

    I was discussing a similar problem with some musicians the other day: how to pay for creative work?

    Our solution was sponsoring, in one way or another: support from wealthier individuals or firms, getting advertising and honorable mentions in return.

    The basis was the way traditional musicians are paid in Africa, which is by singing the praises of whoever gives them money. Since such musicians (like griots) are also respected on who is who in the community, their voices are sometimes worth a lot.

    In software, why not something along the lines of "such and such paid for this feature", an eternal mention of one's contribution to the project. It worked for Bach and Mozart, why not for OSS today?

    --
    Ceci n'est pas une signature
    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:Makes sense by fuzzybunny · · Score: 3, Interesting


      This has existed for centuries in the arts and sciences--it's called having a patron.

      Emperors, kings and generally rich old farts loved having court musicians, artists, and poets. It's an intriguing idea, especially if you could couple it with tax breaks for the donor.

      Frankly, if I had a few million to spare, I'd love to support unemployed hackers to write FuzzyBunnyWare, with a great big ugly grinning picture of yours truly on the startup splash screen.

      --
      Cole's Law: Thinly sliced cabbage
    4. Re:Makes sense by BabyDave · · Score: 5, Funny
      In software, why not something along the lines of "such and such paid for this feature", an eternal mention of one's contribution to the project.

      Me: File->Save
      Clippy: Interested in savings? [Bank name]'s savings accounts have the highest interest rates around.
      Me: Go away! Tools->Options
      Clippy: For all your tools and hardware needs, why not visit [Hardware store]
      Me: Bugger off! How do I turn this off? Help->Contents
      Clippy: Do you need help using your computer? Have you considered taking a computer training course? Why not try ...
      Me: Aargh! (puts foot through screen)
      Clippy: Do you have comprehensive medical insurance?

    5. 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.

  2. Me too... by swordboy · · Score: 4, Funny

    I'm taking a similar approach to employment independence. For only a few dollars a month, you could help me sit on the couch every day.

    --

    Life is the leading cause of death in America.
  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. The claim is QT 4 of 2003 (and other claims) by Anonymous Coward · · Score: 5, Interesting

    The claim was made this 'port' would have aviablity in Qt 4 of 2003.

    No sign of that happening.

    Some other data for the slashdot readers.

    Other 'claims' from the http://www.compiere.org/technology/independence.ht ml page:

    "but you can get an invoice"

    and

    "As a proof of concept, ComPiere plans to provide a porting kit for one database to be selected yet."

    Now I "donated" over $100 on this last year for a PostgreSQL port.

    1) I have not gotten a invoice.
    2) Phone calls to Mr. Janke have not been returned to answer the question 'what is the status of the port'
    3) Now what I "donated money" for - a PostgreSQL port - may not be done, and instead a MySQL port may be done instead?

    As you can guess, I'm "Happy" about the progress thus far.

    On the mailing list some people have talked about a PostgreSQL fork of his code and Mr. Janke had made mention of some PostgreSQL work done 2 years ago, but to my knowledge, none of that code is 'out there' for the public to see.

    At present, the development environment is Jbuilder...perhaps a seperate slashdotting can happen and convice them to move to Eclipse?

  5. Why should we contribute to this? by @madeus · · Score: 3, Interesting

    Nuts to this! Seriously! Why should we contribute to this?

    It makes sense for them to do this port. They should have made it work on at least either Postgres/MySQL in the first place. It's their own fault, they have clearly dug their own hole and now they want us to give them money to buy a ladder to help them out of it.

    If the program was coded well, it wouldn't be more than a few days work (they should just need to change a very small number of functions, the ones that act as an abstraction layer to the DB). If they haven't, that's their problem and they have a lot more than just backend portability to worry about.

    In even reasonably complex projects I always use an abstraction layer so I have the option to change the DB at will. In fact, you might say I use two layers - one layer for the DB, and another layer in the form of the functions I call to get data (which call the DB layer), and I usually have a set of 'core' functions which are not called directly from any user facing elements but only from libraries which do the actual data retrieval.

    I'd also add it acts as an excellent way of reducing the number of bugs - by forcing the use of abstracted interfaces I find the enforced simplicity of the interfaces cuts down on the bug rate (by breaking down the code in to easily maintainable and re-useable chunks with easy to test input and output).

    So in this case I say:

    Lack of abstraction == no cookie for you! Bad developer!

  6. ERP/CRM?? by batura · · Score: 4, Informative

    I didn't know what this was, so from their webpage:

    What are ERP Software Solutions? ERP stands for Enterprise Resource Planning and is the software to support your entire business processes. ERP Software Solutions typically consists of modules such as Marketing and Sales, Field Service, Production, Inventory Control, Procurement, Distribution, Human Resources, Finance and Accounting.

    What are CRM Software Solutions? CRM stands for Customer Relationship Management and is the software to support your business process to find, get and retain customers. CRM Software Solutions typically consist of modules such as Sales Force Automation, Call Management, Self Service.

  7. Re:License by antis0c · · Score: 4, Informative

    PostgreSQL is more feature rich than MySQL. Whether or not it's more "advanced" depends on what you are using it for.

    And no, I know MySQL has transactions through InnoDB, however MySQL doesn't have stored procedures, which also means no triggers. PostgreSQL not only has procedures but it has inheritance, overloading, and support for pl/PHP, pl/Perl, pl/Python and a host of other languages you can write stored procedures in.

    Theres a bunch of differences between MySQL and PostgreSQL, neither of which make either one better overall. It's a matter of the application of each which determines if one is better.

    --

    ..There's a-dooin's a-transpirin'
  8. Why open source in this field? by Psychic+Burrito · · Score: 3, Interesting

    I think ERP + CRM applications are only interesting for large companies that have a lot of money - can anybody tell me why it's better for the community that these companies do not have to spend so much money?

    Heck, the E in ERP stands for Enterprise, doesn't it? And "ressource planning" bascially stands for "how to spend your money the best way" - if these enterprises have so much money, why shouldn't they spend a bit on software? Please enlighten me, thanks.

  9. Re:Why do you need donations by Anonymous Coward · · Score: 3, Informative

    Mr. Janke wrote this code originally as a Java based Oracle project back in the 1990's in Germany, and somehow he got to keep the code license. So it is very 'tied to Oracle'. And it wasn't built to be 'portable'.

    The 'issue' is some form of 'stored procedures', but I've not the background in Oracle to do the work to de-Oracle it, or to know enuf to know what I'm looking at. :-(

  10. 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

  11. Old news by ebuck · · Score: 5, Interesting

    Compiere has been hounded for a postgresql database port for a long time now.

    They have had a committee to oversee it, they have had numerous people (of varying skill) offer to contribute, and they have had a stunning lack of progress.

    Their opinion has not changed much, which is, "If you have the Enterprise needing such software, Oracle is nothing more than a drop in the bucket" Eventually, they complained that it would be a finiancial burden to make the port happen. That's when someone indicated a "donation" web page should be set up (as a compromise).

    I see the donation webpage as nothing more than an attempt to keep the port from never happening, by addressing the one point of money (raised when it became obovious that many wanted the feature, but few would donate time or money)

  12. 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 ...

  13. Kinda scary by bwaynef · · Score: 3, Interesting

    I thought that the push behind open source was that the features that were technically best, and would be of the most benefit to the users were the ones that were added. That may not always be the case if the model of "fund-raising" is adopted, so that the wealthiest are able to control the feature-list of OSS. If you'll adopt a reasonably paranoid outlook then the implications should be obvious. Personally, this is a bit unsettling

    1. Re:Kinda scary by Just+Some+Guy · · Score: 3, Interesting
      I thought that the push behind open source was that the features that were technically best, and would be of the most benefit to the users were the ones that were added.

      You thought wrong. New features are the ones that meet a need - either of the programmer who implements them, or of those paying the implementer. It is often the case that development is driven by technical merit, but that's certainly not the only motivation.

      --
      Dewey, what part of this looks like authorities should be involved?
  14. Re:License by bzzzt · · Score: 4, Informative

    Really? Have you tried setting up postgresql? The version in RH9 was just as easy to set up as mysql, so if that's a PITA, you're not going to believe what you need to do to get oracle to work ;)

  15. ERP Applications aren't that simple by cybrthng · · Score: 4, Interesting

    I don't know if you have EVER use an enterprise applicaiton before. Even if it IS just select/inserts/deletes for basic GL/AP/AR applications you are talking about people, systems and components requiring gigs to terrabytes of data and hundreds if not THOUSANDS of concurrent users.

    MySQL can't handle flash back transactions, doesn't support load balancing, hot site, and paralell or clustered transactions. I need all of these to support an enterprise environment!

    Sure compiere may be small, but it needs a powerfull database. It needs the features of an enterprise database oh which there isn't an open source solution to. I wouldn't dare want to recover a mysql or postgress 1.2 terrabyte erp system.

    Oracle RDBMS is an amazing product. Overly capable and getting easier to use as the releases pile on. You pay for the mindset that you have a multi billion dollar company supporting you.

    That brings me to the question of why use Compiere at all on anything but oracle and is there a demand for an ERP system that doesn't use a commercially supported system as NO vendor in there right mind would want to support a product they didn't develop or that didn't have its own superb support channels to begin with.

    oh well. You have to remember that big business is alot different than hosting a small website or cddb database on your average linux pc :)

    1. Re:ERP Applications aren't that simple by joshv · · Score: 3, Informative

      I don't know if you have EVER use an enterprise applicaiton before.

      No, you don't know. I have. I've worked quite extensively on an ERP application called PeopleSoft. It locates all of it's business logic in the middle tier. The SQL it produces is very database agnostic and will run with minor modification on most database platforms.

      Even if it IS just select/inserts/deletes for basic GL/AP/AR applications you are talking about people, systems and components requiring gigs to terrabytes of data and hundreds if not THOUSANDS of concurrent users.

      Yes, and basic SQL is more than sufficient to support this.

      MySQL can't handle flash back transactions, doesn't support load balancing, hot site, and paralell or clustered transactions. I need all of these to support an enterprise environment!

      Who said anything about MySQL, I believe the article was about Postgres. Regardless, or production AP/GL application supports hundreds of concurrent users without any of these features (at least not in the database layer) - so you clearly don't need them to support an enterprise environment.

      oh well. You have to remember that big business is alot different than hosting a small website or cddb database on your average linux pc :)

      Thanks for the lesson. I'll have to leave now because I have a production PeopleSoft issue to troubleshoot on our 10 CPU database server.

  16. 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
  17. Re:License by Tim+C · · Score: 4, Funny

    you're not going to believe what you need to do to get oracle to work ;)

    Bah, that's easy - I just email our DBA and ask her to do it :-)

  18. Re:sap db? by chill · · Score: 3, Informative

    1. Because it hasn't gotten anywhere near the airtime of MySQL/Postgres.

    2. Because it is going away -- being merged into MySQL AB's product line as MaxDB.

    http://www.sapdb.org/7.4/sapdb_mysql.htm

    --
    Learning HOW to think is more important than learning WHAT to think.
  19. great, just like npr and pbs by bigpat · · Score: 3, Funny

    "Perhaps in the future we may even see these pledge requests linked within the GUI itself"

    Great... just like public radio or television...

    'We will bring you to your gui in just a moment, but first... please contribute to our effort... it is you the user that contributes the most to our efforts and if you think that this program is of value to you and you want to see it continuously improved... The next one hundred callers ...err emailers will receive a log beach towel with their pledge of one hundred dollars... Okay now we bring you to your user interface.'

    repeat every 3 months.