It would be nice indeed (but obviously, I am biased :) )
That said I can definitely understand the need to let anyone contribute and recompile the IDE, even if one don't have a BriskVM license.
However, the BriskVM module links lazily with the BriskVM dynamic library, so if the DLL (or .so or .dylib) is not there, the application still runs (but an exception is raised when trying to call a BriskVM function).
So basically, you can check when starting if BriskVM is there, and if not you don't use it and everything else is fine. If it's there, you can use it.
I use this scheme myself in my Script Editor, with the following function to test if BriskVM is available:
So, this means that not only anyone can recompile the editor even without a BriskVM license (only the devloper integrating BriskVM would need one), but the editor can be made to also run without the DLL (associated functions can be disabled).
So people not interested in using scripts need not be concerned about it.
Technically, in commercial projects I might (not even sure about that) question if it's fair to have someone (the BriskVM licensee) generate an invoker (the little code snippet that glues BriskVM with the host, and is automatically generated) and other *totally unrelated* people compile that (here, other IDE users that recompile it), but I'll certainly not say anything against that concerning a community, open source project.
My 0.02$.
EDIT: the other issue right now is that my license say that you can't redistribute the BriskVM module, but that's actually stupid. I'll remove that restriction (altough if I do a static version of the library in the future, the corresponding "static" module will obviously not be redistributable)
That said I can definitely understand the need to let anyone contribute and recompile the IDE, even if one don't have a BriskVM license.
However, the BriskVM module links lazily with the BriskVM dynamic library, so if the DLL (or .so or .dylib) is not there, the application still runs (but an exception is raised when trying to call a BriskVM function).
So basically, you can check when starting if BriskVM is there, and if not you don't use it and everything else is fine. If it's there, you can use it.
I use this scheme myself in my Script Editor, with the following function to test if BriskVM is available:
Function TestBriskVMPresence() Try BVM_GetVersion() Catch error:Object Notify error.ToString() End Try End FunctionAnd for a version that just returns True or False depending on the presence of BriskVM:
Function TestBriskVMPresence() Try BVM_GetVersion() Catch error:Object Return False End Try Return True End Function
So, this means that not only anyone can recompile the editor even without a BriskVM license (only the devloper integrating BriskVM would need one), but the editor can be made to also run without the DLL (associated functions can be disabled).
So people not interested in using scripts need not be concerned about it.
Technically, in commercial projects I might (not even sure about that) question if it's fair to have someone (the BriskVM licensee) generate an invoker (the little code snippet that glues BriskVM with the host, and is automatically generated) and other *totally unrelated* people compile that (here, other IDE users that recompile it), but I'll certainly not say anything against that concerning a community, open source project.
My 0.02$.
EDIT: the other issue right now is that my license say that you can't redistribute the BriskVM module, but that's actually stupid. I'll remove that restriction (altough if I do a static version of the library in the future, the corresponding "static" module will obviously not be redistributable)