Base solution for your next web application
Open Closed

AspNetZeroLicenseChecker #4276


User avatar
0
rafalpiotrowski created

Can you explain what to do with the License Checker?

FATAL 2017-12-04 12:49:12,015 [3    ] oCore.Licensing.AspNetZeroLicenseChecker - Failed to validate project name. Should not rename a project downloaded from aspnetzero.com. You can contact to [email protected] if you are using a licensed product.
StartIndex cannot be less than zero.
Parameter name: startIndex
System.ArgumentOutOfRangeException: StartIndex cannot be less than zero.
Parameter name: startIndex
   at System.String.Substring(Int32 startIndex, Int32 length)
   at Abp.AspNetZeroCore.Licensing.AspNetZeroLicenseChecker.INCPSWyI6EpS0p68KV(Object , Int32 , Int32 )
   at Abp.AspNetZeroCore.Licensing.AspNetZeroLicenseChecker.GetHashedProjectName()
   at Abp.AspNetZeroCore.Licensing.AspNetZeroLicenseChecker.IsProjectNameValid()
   at Abp.AspNetZeroCore.Licensing.AspNetZeroLicenseChecker.<CheckInternal>d__9.MoveNext()

14 Answer(s)
  • User Avatar
    0
    ismcagdas created
    Support Team

    Hi @rafalpiotrowski,

    Please download a new project using your existing project name and use the license code in the newly generated project.

  • User Avatar
    0
    strix20 created

    Why was this added without explanation? Moreover, it's clear the license check depends on an external server resource.

    You claim your framework is ours to use in perpetuity once we purchase the product, but this is clearly not the case, if the license checker is dependent on an external resource.

    What happens if Volosoft goes out of business? Everyone who purchased ABP Zero loses years of development work?

    I'm shocked this was added without input from the community.

  • User Avatar
    0
    strix20 created

    I would add that I understand the desire to protect your business by attempting to prevent people from using a single license for multiple products.

    However, we have a business to run. We can't have our application depending on external servers that we have no control over.

  • User Avatar
    0
    hikalkan created
    Support Team

    Hi @strix20,

    Thank you for your comments. Nothing to worry on your side. We carefully thought on it. Let me explain;

    • License check ONLY works on debug. It does not work on production. It even does not work if you run with Ctrl+F5 in Visual Studio. This is like that since we have developer and product count restrictions, you can deploy to any number of servers.
    • License check runs on a dedicated thread. Thus, it does not slows you down on debug.
    • License check ignores any exception (except invalid license) and it's fault tolerant. If Volosoft server goes down, you can continue to develop and run your application.
    • License check only works for your license period of time. If you have a Regular License for 1 year, license check will not work after your license period end date.

    So, there is no risk on your point. I hope that explanation will be sufficient :)

    Thank you.

  • User Avatar
    0
    antonis created

    So after the license expires we cannot work on the project?

  • User Avatar
    0
    strix20 created

    <cite>antonis: </cite> So after the license expires we cannot work on the project?

    At first I was quite reassured and ready to walk back my comments. It sounds like they thought about this a lot, and implemented a good solution.

    But if this is the case and we can no longer develop our application after the license expires, I will have to have a serious talk with the team about abandoning the framework..

  • User Avatar
    0
    strix20 created

    This seems to directly contradict the FAQ?

    "After your license perid ends, you can continue developing your application and use ASP.NET Zero forever. Also, you can always update ASP.NET Boilerplate and module-zero nuget packages, since they are open source projects and will always be open source. You can continue to access all documentation since it's public. But you will not get ASP.NET Zero upgrades anymore, can not access to Github repository. Also, your premium forum membership ends. You can surely use community section of the forum as always. "

  • User Avatar
    0
    bbakermmc created

    My guess is there is some translation issues. How I read it was, after your license expires it no longer performs the license check and it just says "I'm Allowed". It probably calls the server with the key, says oh you're license has expired ignore the check. (Note: I could be wrong).

    For all I know the key we have is some hash that before it calls out to the external server is decoded and returns a expiration date and then doesn't call the license server if its expired.

    I think the guys should provide the full details on what is expected and how the system works with some examples.

    They also provided a couple of ways for you to bypass the check, don't run in debug mode. (I wonder if remote debug would trigger the check). Block the site its trying to check against to force it to never work. Don't make copies of the code youre not licensed for.

    If they had a non licensed checked subscription for xxx $ would you purchase it? IE Licensed Checked 1 Project 1000, Non Licensen Checked Unlimited 15000. I can only see non license checked as unlimited since they wouldnt have control at that time.

  • User Avatar
    0
    godrunner created

    @hikalkan, to clarify, do you mean:

    The license check is only enforced during the duration of a valid subscription to ASP.NET Zero.

    If so, that might help to clear things up a bit.

  • User Avatar
    0
    strix20 created

    <cite>BBakerMMC: </cite> My guess is there is some translation issues. How I read it was, after your license expires it no longer performs the license check and it just says "I'm Allowed". It probably calls the server with the key, says oh you're license has expired ignore the check. (Note: I could be wrong).

    For all I know the key we have is some hash that before it calls out to the external server is decoded and returns a expiration date and then doesn't call the license server if its expired.

    I think the guys should provide the full details on what is expected and how the system works with some examples.

    They also provided a couple of ways for you to bypass the check, don't run in debug mode. (I wonder if remote debug would trigger the check). Block the site its trying to check against to force it to never work. Don't make copies of the code youre not licensed for.

    If they had a non licensed checked subscription for xxx $ would you purchase it? IE Licensed Checked 1 Project 1000, Non Licensen Checked Unlimited 15000. I can only see non license checked as unlimited since they wouldnt have control at that time.

    I dug into their licensing code a bit, but it's difficult to follow since they've used Dotfuscator or a similar tool to obfuscate the implementation details. I followed it enough to discover it makes use of external Http calls, and raised the concern there.

    The idea of a license check doesn't bother me. I completely understand and support their need to protect their product. It's a fantastic product, and I can see how developers might be inclined to take advantage of that (although I doubt most companies would, at least not in the US, since the $150,000 fine for using unlicensed software is extremely discouraging, especially for a license that only costs a few thousand.)

    My concern is ensuring that, should my license expire, or Volosoft go out of business, I can continue to develop my product unimpeded. My product is being developed with an expected lifespan of 10 years, and a projected 10 year development cost of well over 2 million USD. One of the reasons we chose the Zero Framework is because of its exceptional value. The cost of it doubled (and with good reason) with the release of 5.0, but it was unannounced, along with the implementation of the license check.

    I only plan on extending the license during early development, mostly to receive bug fixes and minor feature improvements. By the time we go to production, the code base will differ significantly to the point that it's unlikely that we will get tremendous value out of new versions, and merging them will likely be far more expensive in terms of development costs than the value will provide.

  • User Avatar
    0
    ismcagdas created
    Support Team

    Hi All,

    • License check only works for your license period of time. If you have a Regular License for 1 year, license check will not work after your license period end date.

    As I can see, this item is not correct/clear, sorry for that.

    @BBakerMMC is right, license is checked only for your license period. After your license expires, you can still continue to develop your project and there will be no license checks anymore.

  • User Avatar
    0
    godrunner created

    Excellent. Glad we got that settled! If you read some other comments here, you can see how valuable it would be for you guys if you came up with a way for your customers to find ongoing value over time in a cleaner way to upgrade projects. I don't know if there is a good solution for that but something to keep in mind!!

  • User Avatar
    0
    ismcagdas created
    Support Team

    Thanks @godrunner,

    For now this is the best way I think, <a class="postlink" href="https://github.com/aspnetzero/aspnet-zero/issues/96#issuecomment-268093697">https://github.com/aspnetzero/aspnet-ze ... -268093697</a>. For next versions, we are thinking on easy upgrade function.

  • User Avatar
    0
    alper created
    Support Team

    hi,

    for all the asp.net zero clients who paid legally shouldn't worry. this precaution is just for the guys who downloaded the solution from some warez websites. we want to protect our clients who paid a serious money for this software craft. thus license mechanism is designed in very detailed that not to stop you from developing or running your project live. License is being validated if only you are debugging, so published projects will pass over the check. You can run or develop your project for lifetime. Even Volosoft Company closes the license server (will never happen), license validation will not warn or stop your development.

    happy coding ;)