Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8143035
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T12:59:13+00:00 2026-06-06T12:59:13+00:00

We have a library created as both .lib and .dll (it’s a big library

  • 0

We have a library created as both .lib and .dll (it’s a big library which is written completely in C++ for the windows platform). The users can use the library in their programs or libraries or in whatever the they want to use it.

But I want to restrict some of the functions to some of the users.
For example lets say,

  • Our library has 3 functions foo() , bar() and hoo().
  • User A pays for the functions foo(), bar() and hoo().
  • User B pays for the functions bar() and hoo().

So, when we are giving B the library files (headers/libs/dlls, etc.),

  1. We can create a copy of our library and delete foo() function and its related stuff and send it to B
  2. OR we can send him the whole library, with some-kind of a way to block him from using foo().

    • 1st way is not good because it’s a huge work and have to be careful about dependencies. Even if we know for sure that bar() and hoo() is not depending on foo(), still it’s a headache to remove things, and give them a customized version of the lib which will also include more testing. And maintenance will be even more problematic. And the SVN will be chaotic too.
    • 2nd way is the best method i guess. But how to do it?

And what if B pays for foo() functions later? Then I would have to let him use it.

I guess that now you understand the problem. The two ways are just my opinions and maybe my conclusions on them could be wrong too. So, I am asking if anyone has any ideas/suggestions on this matter.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T12:59:15+00:00Added an answer on June 6, 2026 at 12:59 pm

    I would just create one version of the .dll including headers and let the user download the import libs for what he has paid for. For everything else, a lawyer is the best tool.

    Someone buys an additional module? Let them download the additional import lib.

    Any kind of protection/lock (whether it’s a simple check for the has_paid boolean, a public key scheme, or a proxy library) that you build in can be circumvented. Some are more trivial to bypass, some are a bit harder.

    By not giving them the necessary import libraries for, say, module foo, you give a gentle hint to the honest customer.

    Will some people still cheat you for your money? Of course they will (if your product is interesting enough), but these people would do that either way. They might as well pirate the complete package from the beginning. They’re the kind of people who wouldn’t pay for your product anyway. That’s where you use a lawyer.

    Will the majority of people cheat you for your money? Unlikely. The people who are willing to pay for your product are unlikely to cheat you for half of the license fee, at least intentionally. It’s a small gain for a large risk. You could rather easily find out that someone is cheating you.
    They’re people who have an identity, and they have something to lose. They would not want to be involved in a lawsuit costing a few hundred thousand (which means losing their assets), nor have the negative publicity involved.
    It might only happen unintentionally, but since you’re not shipping the necessary import libs, that’s not possible.

    You can see your users, in a very simplified manner, as one of three categories:

    • We are a small software company with 5 developers, we’ve been in the business for 3 years and our company has an equity of 50,000. We already paid 500 for the foo license, the bar license would cost us another 500. You know that we’re using your library, since we bought foo. And we know that you know. A lawsuit would cost us approximately 50,000 — oh shit, let’s rather pay an extra 500.
    • We are Microsoft. I’ll get fired if someone finds out that I’m using this library illegitimately. Now what will my supervisor say if I disturb him in his after-lunch sleep, over a budget of another 500? Darn, we might need another two boring meetings to decide. Let’s see, I guess we can book it on this account…
    • I’m a kool cracka d00d. I am so cool, but I’m still going to use your library for a program that my 5 friends in school will use. License? Licenses are for losers. You won’t find out my name anyway.

    The first two have something to lose, the third one doesn’t. The first two will pay you and won’t (intentionally) cheat you. The last one you couldn’t care about less.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have created a django app where users can be looged in with both
I have created a library which reads the app.config file and gets the type
I have created a class library called AddServiceLibrary in which I have a method
I am using the apache library. I have created a class which sends a
I,m using gcc compiler(MinGW) on Windows XP.I created a .dll library libdir.dll than I
If I have two webapps, both of which have the same third party library
I have created a c/c++ program which uses opencv library. I want to convert
I have a library that I created with some business logic that includes writing
I have created a static library following this link . But I am facing
I have created a Class Library (Core Processing Component) using C# in Visual Studio

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.