But I think another potential barrier is that plugins can’t be registered or licensed. By this I mean that once a plugin is installed it’s there and can be used. The MonkeyBread plugins make you enter a registration code in the end users REALbasic code. The Einhugur plugins come in two versions, the demo version and the full version with the full version being unlocked by a registration system.
The registration codes seem like a good idea but as anyone who spends 10 minutes on the internet can attest, registration codes can easily be found and passed along. If you’re in a work group situation the version controlled source code has the registration code in it!
The Einhugur plugins are in a similar predicament. Once you unlock the full version, you can copy them to multiple machines without any hindrance.
I have no idea how it’s done in the Windows world, but I know that the control suites that I use for Visual Basic are registered to one machine and on machine only. I can install the demo on another machine but every time I compile an application I get a message box saying that it’s a “demo” or that the controls are “unlicensed”. I’m assuming that this is somehow built-in to Visual Basic because I’ve had instances where the compiled app was built on a demo license and run on a machine that was fully valid and the demo/unlicensed warning message box appears (I dare you to explain that to a tester some day after they’ve filed a bug report on it).
Anyway, my point is that it seems like there should be some sort of mechanism to enforce a plugin license per machine if the developer wanted it that way. Generally most software (note I have not reviewed the Einhugur or MBS licenses for validity of this statement) give you a per machine license with some leeway as to how many machines it’ll allow licensing on. Since control suites in Visual Basic can run into the thousands of dollars per year, it seems like this is a huge missing element in REALbasic and hence a potential barrier to entry for anyone wanting to create plugins.
Imagine if you create a new REALbasic plugin, you could charge hundreds of dollars for it and you could guarantee two to three times more licenses than you can get right now? You’d do it right?
So the question, dear readers, is how does Microsoft do it with Visual Basic (and .NET as well) so that the executable knows that it was built with a properly licensed dll or ocx? And why can’t that same technology be applied to REALbasic? And could this technology be extended to allow encrypted RB classes and modules to be licensed as well?