Interest for an Oracle OCI mapping ? 
Author Message
 Interest for an Oracle OCI mapping ?

This message was originally sent through Usenet but does not appear
to have ever made it outside. So here is a resent through
dylan-info. Apologies if you happen to see it twice.

 Hi,

 !!!! IMPORTANT !!!!

 Please remember that despite my Oracle affiliation this post does
 _not_ engage Oracle in any way and my Dylan efforts are purely done
 on my spare-time, are not approved (or frowned upon) by Oracle.

 !!!! IMPORTANT !!!!

 In the previous months I played quite a bit with Harlequin Dylan
and in one of my _personnal_ projects I wanted to access
the Oracle 8 server.

 In order to do this, I mapped parts of the Oracle Call Interface (OCI)
using the C-FFI. This gave me a low-level way to execute my SQL
statements.

 Since then I started to provide a higher level mapping (but still
much lower than what JDBC provides).

 I would like to know if anybody is interested by such a library.
If so, I need to clean my code a bit and provide a beginning of a start
of a draft of something looking like a documentation. I also
need to decide under which licence I could provide this code
(GPL / BSD like or Artistic licence ?)

 Understand also that at this point only some parts of OCI are mapped.

 I look forward for any feedback,

 Eric

--

New Technologies Consultant                        Tel:   01.47.62.83.19
Oracle France                                      Fax:   01.47.62.28.49



Mon, 10 Sep 2001 03:00:00 GMT  
 Interest for an Oracle OCI mapping ?


    Date: Thu, 25 Mar 1999 16:25:25 +0100

     Since then I started to provide a higher level mapping (but still
    much lower than what JDBC provides).

     I would like to know if anybody is interested by such a library.
    If so, I need to clean my code a bit and provide a beginning of a start
    of a draft of something looking like a documentation. I also
    need to decide under which licence I could provide this code
    (GPL / BSD like or Artistic licence ?)

     Understand also that at this point only some parts of OCI are mapped.

Is this SQL-ODBC library insufficient in that you want direct access
to Oracle?  Or do you just want a binding will work on Gwydion, too?



Mon, 10 Sep 2001 03:00:00 GMT  
 Interest for an Oracle OCI mapping ?

Quote:

>  I would like to know if anybody is interested by such a library.  If so,
> I need to clean my code a bit and provide a beginning of a start of a
> draft of something looking like a documentation. I also need to decide
> under which licence I could provide this code (GPL / BSD like or Artistic
> licence ?)

The most useful licenses (by my standards, at least) meet four criteria.
They:

 1) Provide liability protection for the author and contributors.
 2) Comply with the Open Source Definition.
 3) Allow use of libraries in proprietary programs.
 4) Allow use of libraries in GPL'd programs.

What does this mean?

 1) Nobody wants to sued for giving code away. So it's best to protect
    both the original author and any contributors.
 2) Several of the more popular Linux distributions have policies against
    shipping software which isn't open source. Debian has put this policy
    in writing, and RedHat seems to adhere to it on an unofficial
    basis. For example, every single program on the main RedHat 5.2 CD was
    open source. In general, distribution channels are good.
 3) Lots of Dylan users want to write shrink-wrapped or in-house software.
    If you want them to use your software, don't use the GPL.
 4) Lots of Dylan users want to write GPL'd applications. (In the case of
    Gwydion Dylan, this group accounts for more than half of our users.)
    It's possible to let these people use your library without putting your
    library under the GPL itself.

Actually, it's pretty easy to satisfy all of these requirements at once.
The current Gwydion volunteers, for example, use an MIT/X11 license, which
does the job quite nicely.

Here are your best choices, in no particular order:

  MIT/X11 License:

    This is a better-worded version of the BSD license. It contains only
    two restrictions: nobody can sue the author of the software, and nobody
    can use the author's name to advertise custom versions of the software
    without written permission. You can see a copy at:

    http://www.xfree86.org/3.3.3.1/COPYRIGHT1.html

    Please use this instead of the BSD license whenever possible. There's a
    disasterous problem with the wording of the BSD license that causes no
    end of trouble for CD-ROM distributors.

    Code under the MIT/X11 license can be used by anybody for anything.

  Artistic License:

    This is similar to the MIT/X11 license, but contains a few random
    restrictions on derivative works. If you use it, make sure to leave in
    the sections talking about the GPL. They're needed to allow the use of
    Artistic-licened code in GPL'd programs. A good example of how to do
    this is Perl.

  LGPL:

    This is the "Library GPL" (or "Lesser GPL", as Stallman has taken to
    calling it). It allows people to use your library in any program, but
    requires them to share their improvements to the library.

    Unfortunately, the LGPL may cause problems in certain situations. In
    particular, the LGPL works best with languages that don't have fragile
    base class problems (such as C). In languages like C++ and Dylan, it's
    best to waive certain clauses of the LGPL. Contact me or

  Dual licenses:

    Some programs are available under two licenses. (Netscape's JavaScript
    is a good example.) One of these licenses contains various special
    restrictions and the other license is the GPL itself. The most popular
    combinations are NPL/GPL and MPL/GPL. The Artistic License has
    something like this built in.

    For dual-licensed programs, the author normally requests that all
    third-party enhancements be made available under both licenses. I've
    never, ever seen somebody refuse this request. People have been using
    this approach for over ten years without any problems.

  Custom licenses:

    These are hard to write unless you have a good lawyer available. Even
    then, they're risky--it's too easy to overlook something. Unless you're
    releasing a very large library or program to the public, don't use a
    custom license.

    If you do write a custom license, you need to include certain
    boilerplate if you want your library to be usable in GPL'd programs.
    This boilerplate can take several forms. I'm currently speaking with an
    expert about this, so contact me if you need more information.

  Public domain:

    No license at all! In this case, you release your code to the public
    without any copyrights and a note saying that you put in into the
    "public domain". ANTLR takes this approach, as you may have noticed.

    Once code is in the public domain, anybody can do anything with it.
    According to my legal advice, though, nobody knows whether you can put
    binding legal disclaimers on public domain code. If you don't want to
    wait for a court ruling on the topic, use the MIT/X11 license instead.

  GPL:

    Richard Stallman always asks me to mention this, so I will. The GPL is
    just like the LGPL (described above), but a GPL'd library can't be used
    in a non-GPL'd program. If this is what you want to achieve, go look at
    <http://www.fsf.org/>. I never use the GPL for libraries myself, but
    you might agree with Richard Stallman and disagree with me. If so, I
    promise not to cry. ;-) Note that option does *not* satisfy requirement
    (3) above.

For small stuff, the MIT/X11 license is easiest. For bigger stuff, you may
want to look at the other licenses.

*whew* Does that answer your questions? If not, you can have the rest of my
notes on the subject. :-)

Cheers,
Eric



Mon, 10 Sep 2001 03:00:00 GMT  
 Interest for an Oracle OCI mapping ?

Quote:


>     [snip]
> Is this SQL-ODBC library insufficient in that you want direct access
> to Oracle?  Or do you just want a binding will work on Gwydion, too?

 Well, both :->

 I must admit I did not even try to use the Harlequin SQL-ODBC
library. I needed Oracle access for a (stupid) personal project,
which involves rewriting a C program I created for one of our
customers.

 I wrote most of the ~30K lines of C code of this project
and was always thinking "How easy it would be in Dylan!" or "If
only we could use Dylan, then...". So I decided to actually
rewrite the whole thing in Dylan and compare the results. We had
to use the OCI access from C and wanted to get the same access
from Dylan. Using OCI is actually a better idea _for me_ [*].

 Now my understanding is that Gwydion is not yet able to use FFI
code written to the Harlequin C-FFI. However if I ever get to
finish this project (unlikely as I would prefer to work on projects
useful for the Dylan community), I would like to test my program
on serious hardware (i.e. not on NT machines) and being able to port
to Gwydion was also a goal.

 Eric

Note:
[*] ODBC is generally not considered the best way to access
an Oracle DB, especially from a performance standpoint. I do not
care at all about portability (here) and attacking the OCI layer
directly avoids the ODBC->OCI conversion layer that is provided
by the ODBC drivers.

--

New Technologies Consultant                        Tel:   01.47.62.83.19
Oracle France                                      Fax:   01.47.62.28.49



Tue, 11 Sep 2001 03:00:00 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. Code Size (was: Re: Interest for an Oracle OCI mapping ?)

2. Success in buying just the OCI from Oracle?

3. Oracle OCI-Class?

4. a trivial Oracle OCI-8 question

5. Oracle Call Interface (OCI) for Ada95

6. Oracle 8 OCI

7. OCI library for Oracle 8.1.5 linking with Tcl

8. Linking Oracle 8.1.5 OCI Libraries to Tcl

9. Oratcl, Oracle Version 8 OCI, and external procedures

10. Oracle OCI in VB

11. OE with Oracle OCI 7.3.2 on IBM AIX

12. Oracle Objects - Interesting Question

 

 
Powered by phpBB® Forum Software