Slashdot Mirror


ORM Goes Open Source

grd000 writes "I have been using Olero Software's Object Relational Mapping and Code Generation Tool (ORM) for Microsoft .NET for the last year or so with great success. I'm delighted to say that yesterday, the Olero folks decided to release their $495 tool as open source. I'm not sure what prompted the decision. Sluggish sales? In any event, this is a boon for .NET developers. ORM speeds up development by generating a C# or VB-targeted object based on a given database schema. Inserts, updates and deletes can be performed using simple or complex criteria in just a few lines of source code, and with transactional support."

35 comments

  1. with mono, this will run on Linux right? by xutopia · · Score: 3, Interesting

    right?

    1. Re:with mono, this will run on Linux right? by Skeezix · · Score: 3, Insightful

      It appears to use Windows.Forms which isn't really supported on Mono yet. However, Novell has a team working hard on a new Windows.Forms implementation, so it's just a matter of time...

  2. Surprising by Futurepower(R) · · Score: 1


    It's surprising that they released it as open source. Does anyone have any idea why? Will they continue supporting it? Will the company continue?

    The Olero web site looks professional. I don't see even one word about releasing the code.

    1. Re:Surprising by anomalous+cohort · · Score: 0, Flamebait
      It's surprising that they released it as open source

      When I first read this /. artical, I downloaded ORM and tried it out. It appears to me that the classes are dependent on a single DataSet that contains the entire database. Ha, ha, not very useful.

      I'm surprised that they were able to get anyone to pay them for it.

  3. SourceForge link to news by Futurepower(R) · · Score: 4, Informative


    The only news I can find is on SourceForge: Olero Software is no longer able to continue supporting ORM.NET.

  4. Mono or gnuNet, whatever! by hummassa · · Score: 1

    Did anyone tried this or I will have to do it? :-)

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  5. Will it run with Mono? Looks like yes. by Futurepower(R) · · Score: 2, Informative


    Looks like it will run under Mono, since Mono has the required library, ADO.NET: "ORM.NET takes advantage of one of the key features of Microsoft's ActiveX Data Objects .NET (ADO.NET)--its data sets. In ADO.NET, he said, data sets can be used to hold hierarchical data tables, such as a customer, the customer's orders and fulfilled orders. What ORM.NET does is abstract out the data layer, generate a SQL statement, and commit all changes back to the database with a single call, he said."

  6. Does anyone have any idea why? by Tailhook · · Score: 2, Interesting

    Abject market glut perhaps? Everyone and his brother has some form of ORM solution in various stages of infancy.

    There will be a shakeout at some point. What matters then is market share. They are thinking; "open source gets us lots of market share fast and cheap." Pretty smart of them.

    ORM makes my head hurt. The reason for the proliferation of "solutions" is that the problem is damn hard. Trying to abstract the "relational" model and it's various sundry details into "objects" that have the same fidelity as "normal" objects seems like a fool's errand. I see all this ORM emerging from every conceivable source and think "white elephant." At best the problem is sufficiently difficult that I'm certain most of the "solutions" we've come up with to-date were obsolete the day they were released.

    --
    Maw! Fire up the karma burner!
    1. Re:Does anyone have any idea why? by killjoe · · Score: 1

      I remember the inventor of C# dismissing ORM as an overhyped solution in search of a problem. It seems like the .NET programmers don't really see value in an ORM solution. For example if you look at petstore application that MS wrote in .NET it's all recordset based. In fact all the SQL was generated on the client side IIRC.

      The java people are all gung ho about ORM but the MS people don't seem to value it all that highly.

      --
      evil is as evil does
    2. Re:Does anyone have any idea why? by Anonymous Coward · · Score: 0

      of course not. that's because microsoft has no "real" experience dealing with complex environment where there are multiple data models, data sources and applications to integrate with. The C# team know how to write compilers, but they know very little about real world application development. Writing great compilers is hard work, but the requirements are much more static and applications. Just read some of the interviews with the C# team and you'll see their bias.

  7. looking at the samples by Anonymous Coward · · Score: 0

    I'm not impressed. why is it so many people don't take time to understand existing ORM solutions before writing their own is beyond me. It's not that existing ORM do things a certain way for no reason. It's because of years of experience on large applications that inform the implementation.

  8. what about Hibernate by zaqattack911 · · Score: 3, Interesting
    Anyone know if Hibernate is working on something like this?

    Sorta seems like the same thing to me.

  9. Too bad by The+Bungi · · Score: 0, Troll
    The library is released under the GPL. If it were licensed under something else (even the LGPL) I'd actually consider using it, but I have no intention of releasing the source to my applications just to give it a go.

    Of course it's the author's call to decide which license they want to use, but even in the open source world less and less "pure" libraries are being released under the GPL to promote their use.

    Ah well.

    1. Re:Too bad by Godeke · · Score: 3, Insightful

      As far as I can tell, this isn't a library, but a code generator so being under GPL makes little difference for daily use. Output from GPL software is *not* constrained by the GPL, only changes to the code generator *itself* would have to be given back to the community, not any project that used generated code.

      Or has Microsoft etc all done such a good job of convincing people the GPL is evil that you think that using GCC or the GIMP means my code/image is somehow GPLed by magic?

      --
      Sig under construction since 1998.
    2. Re:Too bad by The+Bungi · · Score: 1
      Output from GPL software is *not* constrained by the GPL, only changes to the code generator *itself* would have to be given back to the community, not any project that used generated code

      True, however it also means that I can't design a better front end for it - I'm stuck with whatever is released along with the library.

      Or has Microsoft etc all done such a good job of convincing people the GPL is evil

      Nope, the GPL is viral only if you let it be. It's your responsibility to make sure that it doesn't behave that way. Regardless of what Microsoft says.

    3. Re:Too bad by RodeoBoy · · Score: 1

      You can design a better front end as long as you share. But of course this complant doesn't have anything to do with your firs point. What is so hard for you to understand about the GPL.

    4. Re:Too bad by truedfx · · Score: 1
      No, it isn't Microsoft that did such a good job of that, it's notices such as
      /* As a special exception, when this file is copied by Bison into a
      Bison output file, you may use that output file without restriction.
      This special exception was added by the Free Software Foundation
      in version 1.24 of Bison. */
      that did it. Obviously, with Bison there's no problem because of that exception, but the problem is that that exception applies only to Bison, not other code generators. Output from GPLed software can be GPLed itself; it depends on how much it copies instead of generates. (I haven't tried to find out if it would actually be a problem with this particular program, though.)
    5. Re:Too bad by The+Bungi · · Score: 1
      You can design a better front end as long as you share.

      Well, doh.

      What is so hard for you to understand about the GPL.

      Nothing. It also applies to code generators if you want it to (after all, it's your code), and you made my point by telling me "I have to share".

      I'm not saying that's bad - I simply won't use it. It's nothing specifically against the GPL. If this thing was released under a truly free license like BSD or LIBPNG then we woudln't be having this conversation, now would we.

    6. Re:Too bad by Godeke · · Score: 2, Informative

      True, however it also means that I can't design a better front end for it - I'm stuck with whatever is released along with the library.

      Huh? You can perfectly well improve the front end as long as you don't distribute it while failing to distribute your changes. That was my reason for pointing out it was a code generator. I can improve the code generator, use the code that it writes and all within the bounds of the GPL.

      The only thing I can't do is improve the code generator itself and then try to distribute the improved version without the source to those improvements.

      I don't see that as being a blockade in any way to useability of this. I can do far *more* than I can with a commercial product (such improve the front end for my personal use).
      --
      Sig under construction since 1998.
    7. Re:Too bad by Mr.+Slippery · · Score: 1
      True, however it also means that I can't design a better front end for it - I'm stuck with whatever is released along with the library.

      Depends. I'm not familiar with the program in question, but in general, if the front end is a separate process or communicates with the back end in such a way that they are separate works, and your creation is not a derivative work, then you can licence as you please.

      Unfortunately, the question of "what is a derivative work" is not an easy one to answer. (Not the FSF's fault - it's a tricky legal point even with books, much less something as relatively new to the legal word as software.)

      Nope, the GPL is viral only if you let it be.

      The GPL is never viral. It does not infect unrelated code. If you want a genetic metaphor, it's more like a dominant gene - it only affects descendants.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
  10. Yeah, it's NHibernate by shodson · · Score: 2, Informative

    just like Ant/NAnt and JUnit/NUnit, there's also a .NET Hibernate called NHibernate.

    http://sourceforge.net/projects/nhibernate

    1. Re:Yeah, it's NHibernate by pebs · · Score: 1

      Has anyone used NHibernate? How does it compare to the original Java version?

      --
      #!/
    2. Re:Yeah, it's NHibernate by aled · · Score: 1

      According to sourceforge the Java versión is "mature " (more than stable) and NHiberte is pre-alpha.

      --

      "I think this line is mostly filler"
  11. Not True - Both GPL and LGPL listed by dhclab49 · · Score: 1

    The site on SourceForge shows it as released under both the GPL and LGPL

    1. Re:Not True - Both GPL and LGPL listed by The+Bungi · · Score: 1

      The headers on the source say GPL only. I can't find a reference to the LGPL.

  12. The Future of ORM.NET by dhclab49 · · Score: 3, Informative

    Here's the text of an email sent out over the weekend to customers of the commercial version, explaining the move:
    ---
    From: Olero Support [mailto:support@olero.com]
    Sent: Sunday, August 29, 2004 11:33 PM
    To: XXX XXXXX
    Subject: The Future of ORM.NET

    The Future of ORM.NET

    Dear ORM.NET Customers and Supporters,

    Olero Software is no longer able to continue supporting ORM.NET. We apologize for the lack of communication over the last couple of months and any inconveniences this may have caused you.

    We still believe in ORM.NET as a valuable tool and, therefore, have decided to make the source code available to everyone via SourceForge.NET. We hope this will allow current customers the ability to continue to use and make improvements to the tool. It will also allow us -time permitting - to make improvements and fix defects.

    Please submit bug reports via the SourceForge site.
    We will still be actively fixing any bugs reported and supporting paid customers
    We will be working to improve the online documentation.
    If you are interested in development/CVS access to the ORM.NET source tree, please put in a request!
    For the latest version and complete source go to: http://sourceforge.net/projects/orm-net/

    Sincerely,
    Olero Software

    1. Re:The Future of ORM.NET by Anonymous Coward · · Score: 0

      [nitpicking]

      SourceForge.NET

      Funny, I didn't think sourceforge had anything (in their name) to do with MS's .NET, I seem to even recall SourceForge being around long before MS.NET

      It's just SourceForge.net .NET is a totally different hell spawn then .net
      [/nitpicking]

      And to think I wrote a nasty email too about the Internet->internet change artical...
      Is "US-English" just becoming case-insensitive officially?

    2. Re:The Future of ORM.NET by Frizzle+Fry · · Score: 1

      I hope that in your nasty letter you referred to the recipient as a "case-insenstive clod".

      --
      I'd rather be lucky than good.
  13. Portable.NET by Burb · · Score: 2, Interesting

    Portable.NET has a Windows forms implementation - I wonder if that would be a better bet? It strikes me as a little unfair that Mono (fine though it is) gets more publicity and kudos than the dotGNU project. Anyone know why that is?

    --

    1. Re:Portable.NET by Skeezix · · Score: 1, Insightful

      I think it's probably due to a couple factors. First of all, Mono is generally a more complete and compatible implementation (Windows.Forms aside) of .NET. Secondly, the project has been more vocal and is being lead by Miguel de Icaza @ Novell. Personally I think it's a bit of a shame that Portable.NET exists. I wish those developers would join the Mono effort and move things along faster. But that's just my opinion.

  14. Maintenance by alex_tibbles · · Score: 3, Insightful

    One-time Object Relational Mapping code generation is only useful if you get the data structure right first time and the requirements don't change. This rarely happens, in my experience. Martin Fowler's (of Refactoring, Analysis Patterns fame) employer offer a consultancy service (I read in one of Fowler's articles) for automatic DB change management, tied in with code changes. The other way to do it is all at runtime and in code, but you need runtime support for class creation etc. (like in CLOS-MOP). This works by having the simplest, most general way of accessing data, but you have to handle all the possibilities at runtime.
    Summary: needs way of keeping generated code in synch with changing DB schema.

    1. Re:Maintenance by alex_tibbles · · Score: 1

      an example of an ORM for Common Lisp that uses the MOP is elephant (open source, 0.1 release alpha, uses Berkeley DB).

    2. Re:Maintenance by dhclab49 · · Score: 1

      ORM.NET supports the ability to change the schema over time. Granted, it generates static code tied to the schema (it doesn't react at runtime to code changes), but that has its own benefits in terms of execution speed, type safety, etc.

      As you maintain your application, you can edit the schema and re-generate the ORM layer.