Slashdot Mirror


To Support, or Not Support Oracle?

knuckles79 wonders: "The suggestion to drop Oracle support has divided the OpenACS community. OpenACS is a toolkit for building community websites. It was derived from Ars Digita's ACS code base which originally supported Oracle. When Ars Digita went bust after the tech crash, the ACS code was released as open source, and a community of developers continued to maintain and extend the code base. Up until now, OpenACS has supported both PostgreSQL and Oracle. However, the only active development within the project supports PostgreSQL. Now, those with an interest in Oracle support are threatening to divide the community, as they want the community to continue to support Oracle, even though they themselves aren't actively contributing financial or development support for their favoured database. They have essentially been given a 'free ride' all this time. Should OpenACS continue to support Oracle, or drop it in favour of a full open source stack?"

14 of 64 comments (clear)

  1. Drop it by SeanTobin · · Score: 4, Insightful

    That's the beauty of the evolution of open source software. Unneeded features that slow development can be dropped just as easily (if not easier) as new features can be added. If there is a strong enough demand for that particular feature, the users can maintain their own fork or pay someone to do it for them. No one should expect a free ride, let alone make demands on the developers.

    One thing the users of the feature might consider is contacting Oracle. Let them know that the reason they are using their database is because of application X, and application X will soon no longer support Oracle. If this happens, they will no longer be able to continue to use Oracle. See if Oracle can devote some man-hours to contributing patches for their database.

    If not, remember that you get what you pay for. You are shelling out $$$ for Oracle, but not spending any on your app. Consider an appropriately-sized "donation" to a project developer to keep the feature that keeps you in business.

    --
    Karma: SELECT `karma` FROM `users` WHERE `userid`=138474;
    1. Re:Drop it by Decado · · Score: 3, Insightful

      That's the beauty of the evolution of open source software.

      And also the horrer of open source software. 2006 and people are still developing code without a database abstraction layer. That is so ridiculous as to boggle belief in this day and age. Ok, we all know the developers are working for free but if they cant simply abstract the database code (and lets face it, we are talking Postgres and Oracle here, it isn't exactly a minefield of interoperability issues to do that) they probably wouldn't be able to get paid for the work anyway.

      --

      Slashdot: Proof that a million monkeys at a million typewriters can create a masterpiece

    2. Re:Drop it by Decado · · Score: 2, Informative

      Do you know how expensive it is to abstract away differences in database syntax (especially when large companies like Oracle make significant ca$h intentionally making their syntax different/nonstandard)? If you think it's so easy, perhaps you should write it yourself for OpenACS instead of bitching about why it's not there...

      Both Oracle and PostgreSQL put a lot of effort into standards compliance. Contrary to your unfounded claim Oracle has better standards compliance than pretty much any other database out there and has always been the benchmark against which other databases are judged, I will be very surprised if you can point to any reputable source that claims Oracle deliberately violates SQL standards.

      In fact Oracles implementation of the SQL-92 standard is better than PostgreSQLs, better is probably the wrong word, more feature complete would be more accurate since both databases are highly compliant where they implement the standard. They do differ somewhat in the various implementation defined parts, but that is mostly to do with data definition and not the normal query/update syntax where both oracle and postgresql behave very closely.

      --

      Slashdot: Proof that a million monkeys at a million typewriters can create a masterpiece

    3. Re:Drop it by Doctor+Memory · · Score: 2, Informative
      2006 and people are still developing code without a database abstraction layer.

      My impression was that ACS was built using mostly stored procedures. Kind of hard to abstract away your execution environment...
      --
      Just junk food for thought...
    4. Re:Drop it by marcosdumay · · Score: 2, Interesting

      We have standard SQL for years now. The only problem is that nobody seems interested on fully implementing it, and Oracle seems to want very hard to break it.

      Of course, if you want to do anything that standard SQL can't do, you can't have plataform independence also.

  2. Let the Market decide by CelestialWizard · · Score: 2, Insightful

    The beauty of the OSS system is that if there is a wan, need or requirement, then it will ultimately be filled.

    If people want to use OpenACS with Oracle then people will support it. Conversly, if there is no reason for it, it will be dropped and die.

    The Free Market at work is a thing of beauty.

  3. Re:gah who gives a shit? by CelestialWizard · · Score: 3, Insightful

    This issue isn't necessarily that the application "requires the strength of Oracle".

    There will be many places where a particular organisation has invested time, money and resources to their Oracle installation for other requirements. If they already have Oracle and Oracle resources why not take advantage of that support in an application rather than learning PostgreSQL, MySQL or some other RDBMS and committing more, possibly stretched or unavailable, resources to another system.

  4. Oracle support isn't much different from Pgsql by Matt+Perry · · Score: 5, Informative

    In my experience it's not much harder to support Oracle if you are already supporting Postgres provided that you are using at least Oracle 9 and your apps is well designed to support multiple databases. At work I do some development on a Java-based CMS that has backend support for both Oracle and Postgres. All of the queries are in XML files that the developers call query catalogs. In the code we call queries by name, such as listUsers, and them populate the parameters before executing. Pardon me if this some standard Java technique. I'm still relatively new to Java and haven't seen this before.

    Anyway, we have two query catalogs: "sql92" and "oracle". What's nice about the way the system is set up is that we put new SQL queries into the sql92 catalog unless we need to use something Oracle specific (very rare). In that rare case we write the sql92 query and then write an identically named query in the Oracle catalog with the Oracle syntax. When the system is configured to talk to Oracle, it looks into the oracle query catalog first and if it doesn't find the named query there it looks for it in the sql92 catalog. The result is that we can support both databases with minimal duplication. 99% of the queries are in the sql92 catalog. We've found that whenever you want to use an Oracle-ism then applying some thought will usually reveal another way to handle the problem that works in both databases. Example: using case statements instead of Oracle's decode.

    Schemas are a different story. The datatypes and details are different enough that we have to keep two copies of the files to create the schema and the schema updates. However, these files aren't changed that much. Also, if you are familiar with Oracle's PL/SQL then Postgres's PL/pgSQL isn't much different.

    Because of the way things are abstracted in our app it appears that it would be easy to add support for other databases as needed. It's sure been a breeze to support both Oracle and Postgres.

    --
    Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
  5. Huh? by countach · · Score: 4, Insightful

    How can a group of users who contribute nothing "divide the community"? They can go off by themselves, and nothing will happen.

  6. 'taking advantage of' by topham · · Score: 4, Insightful


    Why is it people think that others are taking advantage (in a negative way) when someone uses Open Source, but doesn't have the skills to provide code back?

    Ok, I admit that if the audience is big enough, and monetary donations are relevent that code is not the only way to contribute.

    At the end of the day isn't it the idea that people are using it that matters?

    As for supporting Oracle there are long-term advantages to supporting multiple databases; focusing on a single database allows for taking advantage of it's features, but at the expense of future compatibility with other databases, possibly tying the new versions to too many proprietary features making it diffiicult to support alternatives.

    Isn't that the argument generally used when supporting multiple browsers. Supporting multiple browsers, and working towards standards has long term benefits.

  7. Target audience? by jasonla · · Score: 5, Insightful

    Why is this being asked on Slashdot? If OpenACS is "a toolkit for building community websites," then the community at OpenACS's website should answer this. The link to the OpenACS forums shows there is already a large discussion happening people who actually use the system.

  8. Re:gah who gives a shit? by CelestialWizard · · Score: 2, Insightful

    You misunderstood my point.

    If you already have a large investment in Oracle and associated resources (trained staff, infrastructure, support contracts) for an application requiring Oracle (for whatever reason) then it is more cost effective to utilise those resources than to retrain and allocate more infrastructure.

    Adding another database to an Oracle database run by trained techs on Oracle specialised infrastructure is a lot cheaper than running another database system on that server (NO!) or dedicating another box to it. In addition, you then need to train your tech staff to understand and support that system as well.

  9. Keeps you honest by cerberusss · · Score: 4, Insightful
    I would keep supporting it, since it keeps your code 'honest'. No dirty shortcuts just because it happens to work on PostgreSQL but instead a nice clean layer that keeps the queries out of the code. However, the submitter seems to have his opinion already:
    They have essentially been given a 'free ride' all this time
    I mean, isn't the whole open source thing about everyone getting a free ride?
    --
    8 of 13 people found this answer helpful. Did you?
  10. Ask the grand Oracle... by C_Kode · · Score: 2, Insightful

    Now, those with an interest in Oracle support are threatening to divide the community, as they want the community to continue to support Oracle, even though they themselves aren't actively contributing financial or development support for their favoured database.

    Well, if they fork someone from their camp will be contributing both financial support and development. I really don't know much about OpenACS. Looking at the "Sites that run OpenACS" I really didn't see any sites that (in my professional opinion) require what Oracle offers over other databases, though that doesn't mean someone would want to use it.

    Put it in the hands of those who want to keep Oracle support to in-fact keep that support. If they don't, then pull it out and let them fork. Or Ask Oracle to support it!