[Asterisk-Dev] RE: Asterisk license (fwd)

Ben Lear benlear at benlear.com
Wed Oct 1 16:56:01 MST 2003


Hey All,

In the past I have used unixODBC(LGPL license)(http://www.unixodbc.org/)
with great success. It seems to me that using ODBC provides a very strong
argument. It supports seamlessly mySQL, Oracle and Postgres support and a
truckload of other databases(even plain text files if you are so inclined
:|). The ODBC wrapper code I developed has been compiled natively and tested
both on Linux(UnixODBC) and MS-Windows(MS-ODBC) using a variety of different
databases(mySQL, MS-SQL, ORACLE). IMHO, the standardization and flexability
provided by an ODBC solution would far outway the Performance hit(which I
personally consider to be a non issue in the Asterisk case anyway). Further,
please correct me if I am wrong, but wouldn't having database support
through ODBC simplify/insulate Asterisk from licensing issues by only having
to deal with ONE set of license requirements instead of those of each
individual database system, which may(and recently have) change causing
headaches. Case in point; If ODBC was used instead of mySQL native libraries
in the most recent example no-one would have even cared and all the time
spent dealing with these license issues could have been devoted to improving
other areas of Asterisk.

Let the flaming begin :D

Ben.

PS: I would consider donating my ODBC wrapper code/time to the "Lets get
this database crap sorted once and for all cause" if enuff interest is
shown.
 

>
>-----Original Message-----
>From: asterisk-dev-admin at lists.digium.com 
>[mailto:asterisk-dev-admin at lists.digium.com] On Behalf Of 
>Steven Critchfield
>Sent: Thursday, 2 October 2003 6:36 AM
>To: asterisk-dev at lists.digium.com
>
>On Wed, 2003-10-01 at 15:09, Chris Albertson wrote:
>> >  .... Of course a database
>> > abstraction layer would be nice, so CDR logging could occur to any 
>> > kind of database (oracle, yum!) but these things take a 
>little time.
>> 
>> You don't really need an abstraction layer if you write the database 
>> routines using "embedded SQL" as embeded SQL is an ANSI 
>standard that 
>> is the same between Ocacle, PostgreSQL and others.  
>Switching between 
>> DBMSes would then be a configure option that results in 
>changes to the 
>> Makefile.
>> Also notice that by using embeded SQL there is no PostgreSQL, Ocacle 
>> or Sybase library code in the Asterisk codebase
>
>While the code may be clean at the text level, but at any 
>usable state it would contain headers and data structures from 
>the database being used, not to mention being linked to that 
>database client libraries.
>This is not an option. 
>
>You run into a similar problem with abstraction layers too. 
>You either take a penalty hit for going to ODBC and have the 
>problem of finding one that supports the commercial license of 
>Digium, or you link to the client libraries yourself and again 
>deal with license issues. Luckily postgres is BSD licensed and 
>therefore fine for including in asterisk.
>You may even find some other databases that are similarly 
>licensed and want to use them.  
>--
>Steven Critchfield  <critch at basesys.com>
>
>_______________________________________________
>Asterisk-Dev mailing list
>Asterisk-Dev at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-dev
>




More information about the asterisk-dev mailing list