473,794 Members | 2,738 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 2484
Sky
"Jeff" <je************ @asken.com.au> wrote in message
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ...
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


I assume you have a standard way of installing your applications, or even
installing your library for use in development. (If not, you probably should
have a self-contained installer, if only to reduce support for multiple
users. For example, I use InnoSetup to create a self-contained executable
install package.)

Your installation procedure could set an obscure registry value that is not
used at all in your front-end MDB application. When your front end calls the
library initialization function, the library could check for that obscure
registry value and stop if it is incorrect.

- Steve
Dec 22 '05 #41
"Jeff" <je************ @asken.com.au> wrote in
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au :
"Lyle Fairfield" <ly***********@ aim.com> wrote in message
news:11******** **************@ g14g2000cwa.goo glegroups.com
[]
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.


There's one aspect in which it may be important to file something
official: if you go to small claims court, and win a judgment
against this developer, whether or not you can ever collect on it,
you have at least put into the public record that the individual in
question is dishonest. That may be the best you can do, to damage
the public reputation of the thief.
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.


If you know someone stole from you, you still file a police report,
even if you know that the police can never actually catch and
prosecute the individual.

Of course, I'm not certain that a case like this can actually be
filed in small claims court. It's rather nebulous in terms of the
offense, and small claims court tends to be for pretty cut-and-dried
issues, almost all limited to "someone owes me money and hasn't
paid." Questions of infringement of intellectual property are
factually much more complex. Even though it's quite clear to us that
your rights have been infringed, from a legal standpoint, there
isn't necessarily any clearcut answer as to what damages flow from
that fact.

Talk to a lawyer.

But perhaps your best leverage is simply to make clear to your
client that this is unethical and shouldn't be happening, and that
you expect *them* to do something about it, or they will be seen by
you as condoning the theft. They didn't instigate it, nor would they
have approved it if asked by her (yes?), but they now know about it
and ought to do whatever they can to let her know that they don't
like contractors who behave dishonestly.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
Dec 22 '05 #42
"Sky" <sk*@NOSPAMstan leyassociates.c om> wrote in
news:zSrqf.787$ 2B5.516@trnddc0 1:
I assume you have a standard way of installing your applications,
or even installing your library for use in development. (If not,
you probably should have a self-contained installer, if only to
reduce support for multiple users. For example, I use InnoSetup to
create a self-contained executable install package.)

Your installation procedure could set an obscure registry value
that is not used at all in your front-end MDB application. When
your front end calls the library initialization function, the
library could check for that obscure registry value and stop if it
is incorrect.


Does InnoSetup allow you to require an installation code of some
kind? That is, say it stores an MD5 encryption of some code, and the
user has to type that in to install the library? Otherwise, anyone
who can get his or her hands on the installer could use it.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
Dec 22 '05 #43
Sky
"David W. Fenton" <XX*******@dfen ton.com.invalid > wrote in message
news:Xn******** *************** ***********@127 .0.0.1...
"Sky" <sk*@NOSPAMstan leyassociates.c om> wrote in
news:zSrqf.787$ 2B5.516@trnddc0 1:
I assume you have a standard way of installing your applications,
or even installing your library for use in development. (If not,
you probably should have a self-contained installer, if only to
reduce support for multiple users. For example, I use InnoSetup to
create a self-contained executable install package.)

Your installation procedure could set an obscure registry value
that is not used at all in your front-end MDB application. When
your front end calls the library initialization function, the
library could check for that obscure registry value and stop if it
is incorrect.


Does InnoSetup allow you to require an installation code of some
kind? That is, say it stores an MD5 encryption of some code, and the
user has to type that in to install the library? Otherwise, anyone
who can get his or her hands on the installer could use it.

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


Yes, InnoSetup does have that capability. It also permits customization by
code, or it can call your own application or DLL during setup, so you can do
basically anything if you are willing to code. Actually, most installers can
do that. (I like InnoSetup because it is powerful, simple to use, open
source, and actively maintained.)

As with all installers, you can easily embed a license that the customer
must agree to. This might help to formalize the entire process with the
customer.

But if your customer is passing out your installation package for use by
another developer, well that is a different situation and I was not trying
to address case that specifically.

- Steve
Dec 22 '05 #44
Hmm, yes, I spoted ion a later posting that mdb files are being distributed.
There probably isn't a lot to be done in stopping this happening in that
case, except making the library so specific to the application that it
ceases to be a generic library, rather as you suggest elsewhere in this
thread.
--
Terry Kreft

"David W. Fenton" <XX*******@dfen ton.com.invalid > wrote in message
news:Xn******** *************** **********@127. 0.0.1...
"Terry Kreft" <te*********@mp s.co.uk> wrote in
news:OF******** ************@ka roo.co.uk:
I'm taking it that your distributed apps are compiled to MDEs as
well as your library database


Yes, but he already said that the client has the source code MDB and
that the developer probably took a copy of that to figure out how to
use his library. Using a GUID or any other form of validation simply
won't work, as so soon as you can figure out what *does* work, you
can write something to pass something valid to the MDE.

I don't think there's any technical solution to this problem.

There are only ethical/legal solutions.

The client should fire the other developer if she won't stop
stealing from the client's other developers.

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

Jan 3 '06 #45

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

Similar topics

3
1525
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
7481
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
6057
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
9671
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9518
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,...
1
10161
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7538
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5436
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5560
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4112
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
3720
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2919
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.