« « 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.
Many wish they had good grasp on technology. I'm all over technology but have few people who want solutions. Demand<Supply? Gotta fix that.
@pickcoder I didn't know you were using @Twilio, bud. I'm sure you know I'm all over that. Lemme know if I can help!
@ElkieHolland D3 (http://t.co/cPp1Dt6c) is very cool but not related to D3 (http://t.co/I5ymHD2s) :^D #multivalue
I thought http://t.co/MvapCjWz was a great find for #multivalue until I realized the bot postings were decade old forum scrapes. #fail
Leave a reply
You must be logged in to post a comment.