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

6 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;
  2. 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.
  3. 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.

  4. '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.

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

  6. 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?