473,804 Members | 3,037 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How to stop library mde being reused

Hi

I have a library mde that is used with some customer databases and I found
out that another developer discovered it while doing some maintenance work
on an old database for the same customer and has copied it to use with her
databases. Naturally, I was not impressed and that story continues. It was
not the customers fault.

I assume she took a copy of the original code from the customers database
and is working out how to use the library mde from that. For this customer
the database is supplied with all source code and not compiled into an mde.

There are also a few other situations where I suspect the mde may be getting
reused without my permission.

Basically, the mde contains a whole bunch of functions I have developed over
the years and am using it more and more in systems developed for clients and
had not really worried about it being knocked off, so to speak, until now.

After this little incident I have given this some thought.

I want to allow some customers to reuse the library with databases they put
together, but stop this rip off happening again.

I have considered a few options, but am not really that happy with any at
this stage.

Any suggestions on a reasonably simple method of stopping, or at least
limiting, this from happening again would be appreciated.

Jeff

Dec 20 '05
44 2486

"Jeff" <je************ @asken.com.au> schreef in bericht news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ...
Mmm...that may actually work is some situations. It would be a bit of a pain
but I could create a unique version of the library to suit a clients
workgroup. In that way they can create and work on databases as long as they
remain within that workgroup.

Thanks


Just curious...
I wonder what might be wrong with my suggestion of checking the ldb-file?
Would this not work in your situation? Or am I just missing the obvious here??
It is very unlikely that another developer uses the *very same name* for an app, or ??
Also: My customers are *not* renaming the application.mdb ; this would indeed be a problem though...

But this method (checking the existance of the ldb-file that Access 'always' creates) is very easy IMO.
I guess it is hard to be detected, and it is *not* to be detected by checking the code in the delivered mdb.

I was thinking of implementing this myself with a codelib.mde I delivered recently.
Just curious about any other drawbacks of protecting the code this way.

Arno R
Dec 21 '05 #31
I thought of having a system that creates a code from a few database
specific items, such as database filename, start-up form name, things that
are not computer specific. Then having the client tell me these so I could
generate a code to give them to include in their front-end as a constant.
The library would know how to decode this and check that the database had
those properties.

This would mean that each new database they created with the library meant
they would have to get a code from me, but only have to do it once. Not too
bad, and would mean that to steal the library and use it elsewhere would
mean having a front-end with all the same properties. If the filename was
specific this would at least seem a bit strange to clients. Especially if
the front-end was called 'ABCCompany.mdb ' and the client was 'XYZCompany'.
Having the same start-up form in each would not be so strange though. So my
dilemma was coming up with enough database properties that really mattered.

Other than that I thought this may be a good solution. And I don't think it
unacceptable to have the client request a code for each new database
application the develop.

Jeff

"paii, Ron" <pa**@packairin c.com> wrote in message
news:3c******** *************** *******@athenet .net...
Create a list of all your applications in the library, then have an
initialization function check the database properties of your front end.
It
would be hard for a 3rd party to know what your library is looking for. If
they figured it out they would have to duplicate your application name.

"Jeff" <je************ @asken.com.au> wrote in message
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ...
Hi

I have a library mde that is used with some customer databases and I
found
out that another developer discovered it while doing some maintenance
work
on an old database for the same customer and has copied it to use with
her
databases. Naturally, I was not impressed and that story continues. It
was
not the customers fault.

I assume she took a copy of the original code from the customers database
and is working out how to use the library mde from that. For this
customer
the database is supplied with all source code and not compiled into an

mde.

There are also a few other situations where I suspect the mde may be

getting
reused without my permission.

Basically, the mde contains a whole bunch of functions I have developed

over
the years and am using it more and more in systems developed for clients

and
had not really worried about it being knocked off, so to speak, until
now.

After this little incident I have given this some thought.

I want to allow some customers to reuse the library with databases they

put
together, but stop this rip off happening again.

I have considered a few options, but am not really that happy with any at
this stage.

Any suggestions on a reasonably simple method of stopping, or at least
limiting, this from happening again would be appreciated.

Jeff



Dec 21 '05 #32
Arno

Check my response to Rom Paii. I had considered a method similar to this. In
my version I had a code included in the front-end as a constant that was
things that are database specific encoded in some way. It thought of using
the database filename, maybe start-up form name etc. The client would supply
me with these and I would encode it. They would then include that in their
front-end and the library would know how to decode it and check the file
properties.

The client would not know how it was encoded, neither would the person
ripping it off. They would have to use the same filename etc with all the
databases they created. If I insisted that the filename was specific to the
company, such as 'ABCComnpany.md b' then reusing that for other clients would
surely make the client suspicious and ask questions.

Not foolproof, but maybe a good deterrent.

Jeff

"Arno R" <ar***********@ tiscali.nl> wrote in message
news:43******** *************** @text.nova.plan et.nl...

"Jeff" <je************ @asken.com.au> schreef in bericht
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ...
Mmm...that may actually work is some situations. It would be a bit of a
pain
but I could create a unique version of the library to suit a clients
workgroup. In that way they can create and work on databases as long as
they
remain within that workgroup.

Thanks


Just curious...
I wonder what might be wrong with my suggestion of checking the ldb-file?
Would this not work in your situation? Or am I just missing the obvious
here??
It is very unlikely that another developer uses the *very same name* for an
app, or ??
Also: My customers are *not* renaming the application.mdb ; this would indeed
be a problem though...

But this method (checking the existance of the ldb-file that Access 'always'
creates) is very easy IMO.
I guess it is hard to be detected, and it is *not* to be detected by
checking the code in the delivered mdb.

I was thinking of implementing this myself with a codelib.mde I delivered
recently.
Just curious about any other drawbacks of protecting the code this way.

Arno R
Dec 21 '05 #33
On Thu, 22 Dec 2005 08:42:21 +1000, "Jeff"
<je************ @asken.com.au> wrote:

In the USA we have a "small claims" process that covers cases up to
US$5000 and can be handled without an attorney. Perhaps your country
has a similar process?

-Tom.

Its just that legal action is so expensive, and I would doubt it was worth
it.

Talking to the client is reasonable, and I have done this, but have not
expressed a view that it is their responsibility. Don't think that would go
down well with one in particular.

Jeff

"David W. Fenton" <XX*******@dfen ton.com.invalid > wrote in message
news:Xn******* *************** ************@12 7.0.0.1...
"Jeff" <je************ @asken.com.au> wrote in
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au :
That may work if they only had an MDE front-end. But a lot of
clients have the uncompiled MDB file for the front-end. That would
of course have the code to so this and therefore easily
duplicated.

That is the main problem. With a MDB front-end anything I add to
it is open to the world.


Well, the horse is also already out of the barn. It would work only
if she got hold of the new version of the library with these outside
dependencies.

You have to talk to her and ask her to do the right thing.

Failing that, talk to the client that employees both of you and ask
them to pressure her to do the right thing.

Failing that, see a lawyer and threaten her with legal action.

Failing that, take legal action. She can't possibly win, though she
may have nothing whatsoever to collect in damages.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/


Dec 22 '05 #34
On Thu, 22 Dec 2005 09:32:46 +1000, "Jeff"
<je************ @asken.com.au> wrote:

I wasn't sure how far you wanted to take this, but yes, that's a good
solution which I have used several times.
You can use this same solution to provide a demo mode that expires
after n days, unless the user calls you and gets a code to either make
it legal, or extend the demo for another 30 days.

-Tom.

I thought of having a system that creates a code from a few database
specific items, such as database filename, start-up form name, things that
are not computer specific. Then having the client tell me these so I could
generate a code to give them to include in their front-end as a constant.
The library would know how to decode this and check that the database had
those properties.

This would mean that each new database they created with the library meant
they would have to get a code from me, but only have to do it once. Not too
bad, and would mean that to steal the library and use it elsewhere would
mean having a front-end with all the same properties. If the filename was
specific this would at least seem a bit strange to clients. Especially if
the front-end was called 'ABCCompany.mdb ' and the client was 'XYZCompany'.
Having the same start-up form in each would not be so strange though. So my
dilemma was coming up with enough database properties that really mattered.

Other than that I thought this may be a good solution. And I don't think it
unacceptable to have the client request a code for each new database
application the develop.

Jeff

"paii, Ron" <pa**@packairin c.com> wrote in message
news:3c******* *************** ********@athene t.net...
Create a list of all your applications in the library, then have an
initialization function check the database properties of your front end.
It
would be hard for a 3rd party to know what your library is looking for. If
they figured it out they would have to duplicate your application name.

"Jeff" <je************ @asken.com.au> wrote in message
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ...
Hi

I have a library mde that is used with some customer databases and I
found
out that another developer discovered it while doing some maintenance
work
on an old database for the same customer and has copied it to use with
her
databases. Naturally, I was not impressed and that story continues. It
was
not the customers fault.

I assume she took a copy of the original code from the customers database
and is working out how to use the library mde from that. For this
customer
the database is supplied with all source code and not compiled into an

mde.

There are also a few other situations where I suspect the mde may be

getting
reused without my permission.

Basically, the mde contains a whole bunch of functions I have developed

over
the years and am using it more and more in systems developed for clients

and
had not really worried about it being knocked off, so to speak, until
now.

After this little incident I have given this some thought.

I want to allow some customers to reuse the library with databases they

put
together, but stop this rip off happening again.

I have considered a few options, but am not really that happy with any at
this stage.

Any suggestions on a reasonably simple method of stopping, or at least
limiting, this from happening again would be appreciated.

Jeff




Dec 22 '05 #35
"Jeff" <je************ @asken.com.au> wrote in
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au :
Its just that legal action is so expensive, and I would doubt it
was worth it.


The threat of legal action may be sufficient, precisely because, as
you say "legal action is so expensive."

But you do have to be willing to follow through on it.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
Dec 22 '05 #36
"Jeff" <je************ @asken.com.au> wrote in
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au :
Mmm...that may actually work is some situations. It would be a bit
of a pain but I could create a unique version of the library to
suit a clients workgroup. In that way they can create and work on
databases as long as they remain within that workgroup.


Anyone smart enough to steal the library is probably going to be
smart enough to steal the workgroup file.

Or spend the $150 it costs to break workgroup security.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
Dec 22 '05 #37
Is this kind of thing really worthwhile?

I find almost all people to be at least honest, and mostly helpful.

I have no code that I would not gladly share with anyone who politely
asked for it.

In all my life I can think of only two occasions when something has
been stolen from me. Neither was significant so far as my general
wealth was concerned.

I enjoy my work. I can think of only one time when it disappointed me,
and that, only slightly. I steered a new contract to a partner whom I
thought was a friend because I had too much other work at the time. Our
understanding, I thought, was that in a month or two, some of the work
would come back to me. None came. But I had other work and life went
on.

Perhaps I'm naive? Perhaps evil is waiting round the corner to destroy
me.

Let's think about the $5000 and small claims court. Would the process
require time and attention? Would it result in anguish and lost sleep?
Might one not do $5000 work with the equivalent time and attention, and
perhaps less anguish and more sleep?

Perhaps, someone is saying, "He doesn't understand." He/she is right.

Dec 22 '05 #38
I agree basically. Legal action is hardly worth it. And most people I have
met are honest.

Its a bit like why we put locks on our doors. Will they really stop those
professionals? No. But they will deter the opportunist, and that I believe
is mainly what I am trying to do here.

Jeff

"Lyle Fairfield" <ly***********@ aim.com> wrote in message
news:11******** **************@ g14g2000cwa.goo glegroups.com.. .
Is this kind of thing really worthwhile?

I find almost all people to be at least honest, and mostly helpful.

I have no code that I would not gladly share with anyone who politely
asked for it.

In all my life I can think of only two occasions when something has
been stolen from me. Neither was significant so far as my general
wealth was concerned.

I enjoy my work. I can think of only one time when it disappointed me,
and that, only slightly. I steered a new contract to a partner whom I
thought was a friend because I had too much other work at the time. Our
understanding, I thought, was that in a month or two, some of the work
would come back to me. None came. But I had other work and life went
on.

Perhaps I'm naive? Perhaps evil is waiting round the corner to destroy
me.

Let's think about the $5000 and small claims court. Would the process
require time and attention? Would it result in anguish and lost sleep?
Might one not do $5000 work with the equivalent time and attention, and
perhaps less anguish and more sleep?

Perhaps, someone is saying, "He doesn't understand." He/she is right.

Dec 22 '05 #39
I just wonder how the client will take having to get a code. Given that this
is fairly common to software today I suppose they will take it in their
stride.

Jeff

"Tom van Stiphout" <no************ *@cox.net> wrote in message
news:na******** *************** *********@4ax.c om...
On Thu, 22 Dec 2005 09:32:46 +1000, "Jeff"
<je************ @asken.com.au> wrote:

I wasn't sure how far you wanted to take this, but yes, that's a good
solution which I have used several times.
You can use this same solution to provide a demo mode that expires
after n days, unless the user calls you and gets a code to either make
it legal, or extend the demo for another 30 days.

-Tom.

Dec 22 '05 #40

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
1527
by: MattB | last post by:
I'm moving some code from my asp.net application into a vb.net library so it can be reused easily elsewhere. I have a vb class in my asp.net application and I just took a copy of that file and made it a new class in a new VS.net class library. Now when I look at my new class in my new library, several of the imports statements are being flagged by intellisense as invalid (that work fine in the asp.net app). It looks to be any system.web...
14
7483
by: electrician | last post by:
While running a program that exceeds the array limits it issues an alert. I want to then stop the program after filling in the output boxes with blanks. How do you stop the program? I have worked on this for days and tried searching the net, but have found nothing.
21
6059
by: petermichaux | last post by:
Hi, I've been asking questions about library design over the last week and would like to get feedback on my overall idea for a JavaScript GUI library. I need a nice GUI library so there is a good chance I will write this as I need new widgets. I haven't found anything like this and I'm surprised/disapointed this doesn't already exist. My library prototype works nicely. I think parts of these ideas are not commonly used for JavaScript...
0
9579
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10571
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10075
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9143
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6851
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5651
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4295
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3815
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2990
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.