« « Software Protection for MV applications – Part 1 | CodeSmith, .netTiers, code generation, etc » »
Continuing from yesterday’s blog on this topic, here I’ll present my solution to the problem of software protection – and ask if anyone else is interested in using this solution…
Over the years I’ve created several products for the MV market. Almost all of these are developer tools, created with the intention that developers would write code using the tools and then deploy the code to end-user systems. In some cases the end-user component is not licensed because it’s the developer that is the target audience. Free run-time deployment can be very attractive. In other cases it’s exactly the opposite, like with NebulaXLite, where we give free licenses to all developers but we do have a small license fee for end-user systems. Like other tool developers I needed to write software protection code with the following goals:
As I was developing NebulaXLite I was simultaneously developing the licensing code. In fact for the last ten months (until just a couple days ago, darnit) there wasn’t any real issue with NebulaXLite itself – all of the issues reported had to do with the licensing mechanism. In short I get requests to support NebulaXLite on a new DBMS and/or OS platform, and while NebulaXLite itself works anywhere (it’s just MV BASIC), the licensing mechanism needs to support the platform. So the first couple attempts to support a new platform take a few hours or days but afterward we can announce that the product is supported for yet another platform. At this point all of the above goals have been achieved and the licensing mechanism is quite mature and stable.
That’s good for me but what about anyone else? Well, the licensing mechanism does work for all products so it will work for non-Nebula products as well. So I’d like to offer this as a new Nebula R&D product. Here’s how it works:
Before making this a new Nebula-branded offering however, I’m wondering how many tool and application developers are even interested in protecting their software using this sort of mechanism.
Another approach to this might be for Nebula R&D to provide components that activate end-user software, and for us to manage the licensing. For example, your end-user might have a permanent license for NebulaXLite, but do you want them to have a permanent license for your software as well? For a small maintenance fee we can provide a product-specific key for your software, so the end-user will get all of their licenses from one source. Of course we would make sure that end-users only get the licenses you authorize. For some developers that’s ideal and for others it puts too much control into someone else’s hands. This is why we’d offer the licensing software itself as a product, so that you can licensing your own code. (And no, because this is product-specific someone with the licensing mechanism would not be able to unlock someone else’s product.)
I’m really not sure yet what people think of this so comments are welcome. It could be that this would have been a great offering 15 years ago when new apps were still being developed for MV, but these days there isn’t the same sort of new development going on, and most products may already have their licensing models in place. But I have to believe that there are still some developers out there who are concerned about their software "walking away" and people who don’t look forward to finding out that they have hundreds of happy but unlicensed users in some third-world countries.
So if you want to comment briefly, do so here. If you’d like to discuss this extensively, please post to our forum or email.
Awesome! Gotta get me one tomorrow! http://t.co/xbpGrGNF INTRODUCING THE WORLD'S FIRST HOME MINI-NUCLEAR GENERATOR from @TigerDirect
Improve your OO coding with refactoring. Just take an hour or so to click through these tips: http://t.co/AghAGEbT
Fascinating blog/discussion on (C#) Enumeration classes to replace Enums, and related pros/cons: http://t.co/O2F5vh3M
@dwolt on snupnow: 1) create effective About page: what is it? 2) (advice given to me) get paying clients first, investors follow.
Leave a reply
You must be logged in to post a comment.