Board index » delphi » Yet another MIDAS licensing question

Yet another MIDAS licensing question


2004-02-13 08:09:52 AM
delphi82
I've got (hopefully) a quick MIDAS licensing question. I posted it in
the .datasnap group yesterday, and Craig Stuntz replied that he thought
it *may* be ok, but wasn't 100% sure. He did say that "..the Delphi 7 license
has been clarified to explicitly allow this use, even when CDS format
is used". I am reposting here in the hopes that John K or Anders O may
happen by, and be able to clarify (saves bugging them via e-mail).
I am developing an application, using Delphi 5 Enterprise (upgrading to
D7 is not an option, BTW), which allows a user to enter data which I am
intending to store in .cds file by using the TClientDataset component.
At any time the user can export a subset of this data to a text file,
which will be read by another Delphi 5 executable on another computer.
This exporting/importing logic will be my own, and the export file will
probably be transferred via floppy disk (it will definitely not use
MIDAS functionality for the data transfer).
This is what D5's License.txt has to say :
'This version of the software may include redistributable
files identified as "ClientDataset Redistributables" for
creating multi-tier application programs. Installation and
use of the ClientDataset Redistributables for supporting
data sharing among two or more computers requires purchase
of a MIDAS Deployment License, available separately from
Inprise; please refer to the on-line documentation,
including DEPLOY.TXT, for contact information. "Data
sharing" refers to any use of the ClientDataset
Redistributables for supporting the transmission by any
means of data from one computer to another for use by
ClientDataset Redistributables installed on another
computer.'
I *am* sharing data between two Delphi programs, but I am *not* using
MIDAS technology at both ends, nor is MIDAS used for the data
transmission. The TClientDataset is simply used as an in-memory table,
and to persist the data to/from the hard-drive on one PC. The actual
data transferred will be in a .txt file which I will generate manually
by iterating through the records in the TClientDataset.
I think I should be ok to do this without incurring any MIDAS/Datasnap
licensing costs, as the actual transmission of data between the two PCs
doesn't use the ClientDataset redistributables.
Does my interpretation of the D5 MIDAS license sound correct? And if
this isn't the best place to ask, where should I go to seek
clarification?
 
 

Re:Yet another MIDAS licensing question

David Clegg writes:
Quote
Does my interpretation of the D5 MIDAS license sound correct? And
if this isn't the best place to ask, where should I go to seek
clarification?
I know this isn't what you want to hear. But:
1) Didn't you purchase an upgrade to D7? If so, you've got a
consolidated license, and the Delphi 7 license should give you free reign.
2) Use kbmMemTable for your in-memory / persisted to disk table,
and avoid the licensing boondoggle all together. kbmMemTable is
free, fast, and a joy to use. I know it is YAC (yet another
component), but I have never regretted dumping TClientDataSet, it
builds right into the .exe, nothing extra to deploy, and you're not
using any functionality from TClientDataSet anyway.
-Brion
 

Re:Yet another MIDAS licensing question

"David Clegg" <XXXX@XXXXX.COM>writes
Quote
the export file will probably be transferred via floppy disk
Do they still make those things? :o) I couldn't resist. Actually, I was
putting together a presentation for my boss last month, and as a joke I
handed him a 5.25" floppy. He didn't seem to think it was that funny.
Per your question, the license does not specify what technology you might
use to move a CDS between PCs it only says that if you use ClientDataset
redistributables on the two ends then you are required to have a license.
The basis of the Midas/Datasnap license requirement is moving the data
between 2 machines that are both using the ClientDataset redistributables.
If you have a clientdataset on two machines move a CDS between the two
machines, even by foot or string and two paper cups, a license is required
(which you can get just by upgrading to Delphi 7 or Delphi 8 - isn't that easy! <g>).
However, it appears that you are using the clientdataset as a local store,
which does not require an additional deployment license. This is because
your datasharing is done completely independent of the clientdataset on the
2nd PC and of the CDS format. I *think* I understood that you are exporting
the data out of the CDS into your own .txt format and transfering it in the
txt format that is your own to the 2nd PC. So as I read your explanation you
shouldn't require a license.
However part 2 - *if* you are re-importing the data that is in your
transferred txt file on the 2nd PC back into a CDS then back into a
ClientDataset then you've gone into a grey area that would, I believe,
require a Midas/Datasnap license - at least in the spirit of the D5 license
anyway.
I'm not a lawyer, but that is both how I understand the license, and what
our intent was. Fortunately to simplify things we eliminated the requirement
for an additional deployment license altogether starting with Delphi 7 which
makes the Delphi 7 or Delphi 8 upgrade a no brainer if you're using Midas at all.
Hope that made sense for you and was more help than hinderance.
Best,
Michael
Quote
This is what D5's License.txt has to say :

'This version of the software may include redistributable
files identified as "ClientDataset Redistributables" for
creating multi-tier application programs. Installation and
use of the ClientDataset Redistributables for supporting
data sharing among two or more computers requires purchase
of a MIDAS Deployment License, available separately from
Inprise; please refer to the on-line documentation,
including DEPLOY.TXT, for contact information. "Data
sharing" refers to any use of the ClientDataset
Redistributables for supporting the transmission by any
means of data from one computer to another for use by
ClientDataset Redistributables installed on another
computer.'

I *am* sharing data between two Delphi programs, but I am *not* using
MIDAS technology at both ends, nor is MIDAS used for the data
transmission. The TClientDataset is simply used as an in-memory table,
and to persist the data to/from the hard-drive on one PC. The actual
data transferred will be in a .txt file which I will generate manually
by iterating through the records in the TClientDataset.

I think I should be ok to do this without incurring any MIDAS/Datasnap
licensing costs, as the actual transmission of data between the two PCs
doesn't use the ClientDataset redistributables.

Does my interpretation of the D5 MIDAS license sound correct? And if
this isn't the best place to ask, where should I go to seek
clarification?
 

Re:Yet another MIDAS licensing question

Michael Swindell (Borland) writes:
Quote
Do they still make those things?
My old boss used to call it SneakerNet :-)
Quote
I think I
understood that you are exporting the data out of the CDS into your
own .txt format and transfering it in the txt format that is your own
to the 2nd PC.
Correct.
Quote
However part 2 - if you are re-importing the data that is in your
transferred txt file on the 2nd PC back into a CDS then back into a
ClientDataset then you've gone into a grey area that would, I believe,
require a Midas/Datasnap license - at least in the spirit of the D5
license anyway.
I wouldn't be doing that. The text file would be read by the other app,
and directly update a database table. No CDS or MIDAS interaction
involved whatsoever.
However, as I understand it, this would mean that the local .cds file
could *not* be viewed on another PC, as this would break the license.
This isn't a requirement at present, but y'all know how demanding
customers can be :-)
Quote
Fortunately to simplify things we eliminated the
requirement for an additional deployment license altogether starting
with Delphi 7
<sigh>
I'd *love* to upgrade to Delphi 7 (the improved Datasnap license alone
justifies the upgrade for me), but this is not the direction our
company is taking for future development. Being the only Delphi guy
here too, I have no-one else to help me in my quest to convince my
Manager of "All things Righteous and Just" :-(
Thanks for the input anyway, Michael. ISTM that it may be safer to
investigate other techniques to achieve what I want. I initially was
thinking of using a CDS primarily so I could provide some fancy
in-memory filtering and sorting of data. I am sure there are many other
ways to skin this particular cat (no offence meant to cat lovers, BTW)
 

Re:Yet another MIDAS licensing question

David Clegg writes:
Quote
>2) Use kbmMemTable for your in-memory / persisted to disk table,
>and avoid the licensing boondoggle all together. kbmMemTable is
>free, fast, and a joy to use.
>I know it is YAC (yet another component)


That was the main reason I was going to go the TClientDataset route,
but in the end I guess it doesn't really matter. As my manager is
blisfully ignorant of Delphi, there is no company policy stating I
*can't* do this (and I have done it sparingly in the past). I think I'll
go check it out now...
Just grab kbmMemTable and leave the stupid licensing stuff behind.
kbmMemTable has been great for me. Very fast, more flexible than
TclientDataset. There is no downside I have found.
 

Re:Yet another MIDAS licensing question

Quote
The text file would be read by the other app,
and directly update a database table. No CDS or MIDAS interaction
involved whatsoever.
Then you should be fine.
Quote
However, as I understand it, this would mean that the local .cds file
could *not* be viewed on another PC, as this would break the license.
This isn't a requirement at present, but y'all know how demanding
customers can be :-)
Correct. Once you push the D5 CDS to another PC and look at the data with a
clientdataset, then you need a redist license or D7/D8.
Quote
it may be safer to
investigate other techniques to achieve what I want. I initially was
thinking of using a CDS primarily so I could provide some fancy
in-memory filtering and sorting of data.
You should be fine with your current requirement, but if you want to view
the CDS on another PC you will need a redist license then. Until then you're
fine using the CDS for local filtering and sorting.
Cheers,
Michael
 

Re:Yet another MIDAS licensing question

Michael Swindell (Borland) writes:
Quote
You should be fine with your current requirement, but if you want to
view the CDS on another PC you will need a redist license then.
Thanks Michael. You actually gave me a great idea...
"Sorry Boss, I would love to implement that feature, but our current D5
license doesn't allow it. Simply get me a Delphi 7 upgrade and I will do it."
:-)
 

Re:Yet another MIDAS licensing question

Quote
I'm not a lawyer, but that is both how I understand the license, and what
our intent was. Fortunately to simplify things we eliminated the
requirement
for an additional deployment license altogether starting with Delphi 7
which
makes the Delphi 7 or Delphi 8 upgrade a no brainer if you're using Midas at all.
So if you had D5 and purchased Delphi 8 (for .net only, without D7) and compiled
your app still with D5 using datasnap, just having Delphi 8 would change the terms
of your licence?
I can see if you had Delphi 7 (for Win32) how it might do this, but the Delphi 8 case
sounds a bit like saying ok, you bought C# builder which doesnt have
datasnap anyway, now your licence for datasnap automagically changed . . .
Lauchlan M
 

Re:Yet another MIDAS licensing question

Jos?González D'Amico writes:
Quote

Sorry,but did I understand well?
With kbmMemTable you can do *everything* you do with Clientdataset?
That's also true for the freeware version?
In the way it is being used in this instance, yes. ClientDataset, however,
is one component in a set of interacting components and can do a lot more in
other situations.
--
Wayne Niddery - Logic Fundamentals, Inc. (www.logicfundamentals.com)
RADBooks: www.logicfundamentals.com/RADBooks.html
"It is error alone which needs the support of government. Truth can
stand by itself." - Thomas Jefferson
 

Re:Yet another MIDAS licensing question

Lauchlan M writes:
Quote
I can see if you had Delphi 7 (for Win32) how it might do this, but the D8
case sounds a bit like saying ok, you bought C# builder which doesnt
have datasnap anyway, now your licence for datasnap automagically
changed . . .
I would think he means buying the Delphi 8 upgrade with Delphi 7 included.
 

Re:Yet another MIDAS licensing question

Wayne Niddery [TeamB] writes:
Quote
In the way it is being used in this instance, yes. ClientDataset,
however, is one component in a set of interacting components and can
do a lot more in other situations.
Thanks, Wayne.
That means kbmMemTable does not have a TDataSetProvider, that is right?
--
Jos?
 

Re:Yet another MIDAS licensing question

Quote
With kbmMemTable you can do *everything* you do with Clientdataset?
That's also true for the freeware version?
My understanding is that both versions do the same things but the pro
version is faster.
Lauchlan M
 

Re:Yet another MIDAS licensing question

Brion L. Webster writes:
Quote
kbmMemTable, by itself, isn't intended to work with DataSnap /
Midas. it is a pretty amazing in-memory table, with options to
persist the data to a disk file in a number of formats. To be
honest, I don't know what TDataSetProvider does. From the help, it
Thanks for your answer.
I do understand this component is not plugable in DataSnap. I asked if
kbmMemTable has an associated TDataSetProvider-like component because
I'm looking for a DataSnap equivalent component suite.
I'm sure now that kbmMemTable is not a DataSnap replacement.
--
Jos?
 

Re:Yet another MIDAS licensing question

Lauchlan M writes:
Quote
My understanding is that both versions do the same things but the pro
version is faster.
Thanks, Lauchlan
--
Jos?
 

Re:Yet another MIDAS licensing question

"Jos?González D'Amico" writes:
Quote

Brion L. Webster writes:

>kbmMemTable, by itself, isn't intended to work with DataSnap /
>Midas. it is a pretty amazing in-memory table, with options to
>persist the data to a disk file in a number of formats. To be
>honest, I don't know what TDataSetProvider does. From the help, it

Thanks for your answer.
I do understand this component is not plugable in DataSnap. I asked if
kbmMemTable has an associated TDataSetProvider-like component because
I'm looking for a DataSnap equivalent component suite.
I'm sure now that kbmMemTable is not a DataSnap replacement.
kbmMemTable has functions like LoadFromDataset so while not the same as CDS, in
many cases you can accomplish the same things in both, just in different
manners. There is also a remoting version available to get remote servers
working too, but this is not available in a freeware version. If you want to
know more I suggest you ask in the thirdparty-tools.general group as I have seen
Kim answer questions there.
Quote

--
Jos?
--
Jeff Overcash (TeamB)
(Please do not email me directly unless asked. Thank You)
If there is somebody up there could they throw me down a line. Just a
little helping hand just a little understanding. Just some answers to the
questions that surround me now. If there's somebody up there could
they throw me down a line. (Fish)