[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GDL2 totally foobar
From: |
David Ayers |
Subject: |
Re: GDL2 totally foobar |
Date: |
Sat, 17 Dec 2005 11:26:56 +0100 |
User-agent: |
Mozilla Thunderbird 1.0.2 (X11/20051002) |
Jürgen Lorenz Simon schrieb:
> I'm here to vent some extreme frustration with the state of the GDL2
> library. When I started to work on the project involving GDL2, I've
> been asking around whether the library was in a usable state. This
> was confirmed to me and since it uses the same data model files as
> the WebObjects part of the project, I was happy to give it a try.
>
> Soon I found myself up in the elbows of heaps of code that didn't
> work. After hours and hours wasted on bugs other people produced, I
> got a working copy together.
I maintain that in all my postings I have noted that GDL2 is used in
production code but that it is not ready for a "user" release. It is
very unfortunate that I do not have the time to work continuously on
GDL2. I do fix issues I notice in my production use and attempt to fix
bug reports as far as time permits.
It is also undisputed that GDL2 has hidden bugs and many unimplemented
and untested features. Pretty much anyone (including me) currently
working on GDL2 is investing time on fixing bugs "other people"
produced. Note that I am /not/ the primary author of GDL2 but I /am/
grateful for the work that the primary author(s) put into GDL2 to get
/something/ working that mostly worked for me and I was able to adapt to
make it usable in a production scenario. This is why I'm trying to
"give back" by as a current "maintainer" when I can, but I admit that I
have not been able to work on GDL2 as much I would like.
> Just recently I updated the GNUstep stuff. And guess what: the whole
> GDL2 based stuff broke down again. Now things like the most essential
> key-value-coding are FUCKED. This means I set a NON NIL value to some
> EOGenericRecord and it barfs up about getting a nil value. I get
> weirdest, uninformative and pointless exceptions from NSFaultHandler
> and heaps of other problems.
NSFaultHandler? Interesting, so I assume you are using Cocoa. Note
that key-value-coding semantics have been a moving target within Cocoa
and GNUstep, yet GDL2 targets the semantics of WebObjects 4.5's
implementation. Now we already hack deep into the runtime structures
(read method dispatch tables) to "enforce" our implementation of the
WO45 KVC methods on the GNU runtime for GNUstep's -base. We have little
control over what -base or Foundation do internally.
I was once asked to make KVC work for Cocoa for one project and with ssh
access to the machine of the person that asked for it (when I had more
time on my hands than I do now). I was able to make it work for him.
Note that it was one particular version of OS X and I couldn't tell you
which one, and frankly I'm currently not motivated to look. Yet it
doesn't surprise me in the least that GDL2 KVC (esp. EOGenericRecord's
implementation (which overrides NSObject's) as I haven't touched that
much) currently doesn't work on Cocoa.
You will need to find someone with your version of Cocoa, knowledge of
Apple's runtime and an understanding of WO45's KVC to implement a
workaround which I would gladly review to have it integrated into GDL2.
> Do you TEST the stuff at al prior to releasing it?I don't get the
> impression you're taking this serious enough for me to use, I have a
> PROJECT based on this code and I'm very aggravated with it.
I believe the last release was in April 2004 and I only released because
some asked me to for an article he was publishing. Please note the
contained NEWS file:
Initial 'alpha' release
========================================
* This is the first alpha release package of GDL2. First and
foremost this is the result of a tremendous effort of
Mirko Viviani <mirko.viviani@e-cremona.it> to create a database
library aiming a compatibility with Enterprise Objects Frameworks
from Apple Inc. It is still missing major components and many of
the existing classes are not fully implemented. Yet the package
does provide a basis for production level code. As major
features are completed, they should be mentioned by release in
this file.
Well, we have added a some features and fixed quite a few bugs without
mentioning them here but that's another matter.
About the testing... yes I have been working on dev-apps/test/Testsuite/
and especially the gdl2 tests. I try to include test cases for any bug
I fix and I run the tests prior to any commit. Right now some tests are
failing do to sequence issues (fixing those generically might cause some
chicken-egg issues but I'll get to it eventually).
> This experience has turned me against GNUstepand the use of open
> source libraries in general and caused great harm to my esteem of
> your work. Sorry, strictly amateur grade stuff.
>
> DO NOT USE.
That is your prerogative. But I think you should reconsider you
expectations. Yes we have tracked down one bug together in GDL2 in
January of this year. I have not seen a bug report about any other
issues you have had.
What you call "open source" is based on a community effort of people who
write code that fits, people reporting bugs properly, contributing
documentation and lots of other factors. Different "open source", well
I'd rather say Free Software projects have a different community base to
support it. I hope you are not really drawing conclusions from any one
of these (sub)projects and applying them to all other projects with
similar licensing schemes.
People have told me that GDL2 lacks this community because it is not
released more often. I don't release more often because I aim to avoid
experiences like you have described. I know that a strict user of GDL2
will run into issues and releasing a version implies to me that it is
ready for strict users.
What we would need is people who understand EOF of WO45 and who can
contribute code that works. What we need for your particular case is a
maintainer for Cocoa. Maybe we should remove current Cocoa support from
GDL2 all together as it is not being maintained.
As I've been unsuccessful in avoiding these frustrating experiences,
maybe I should take this opportunity as an excuse to release GDL2 more
often to see if we can gain more active maintainers that way, at the
expense of frustrating more users like you... I really don't know.
Cheers,
David