I am putting together some code that will use the Steinbergs VST3 specification and it has occurred to me that it would make a nice open source project. Most that exist are a bit old and are based on VST2 and have dependencies on Steinbergs SDK - which is not open source. Steinberg are not onerous in their requirements by the way - but they do control IP as perhaps they should.
What I would like to know is whether a binary compatible interface to a propriety spec is proprietary. VST3 in particular but am interested in general.
More explicitly: If I write some code using none of the Steinberg SDK other than function names and parameters is it legal to then publish this as an open source project.
As a more general example: If Fred Nurk Corp defines an interface standard
class IFredNurkInterface
{
public:
virtual result GetSystemInfo(Parameter x)=0;
virtual result SetSystemInfo(Parameter x)=0;
}
and then I write a concrete implementation of the standard without even deriving from IFredNurkInterface
class MyReinventTheWheelClass
{
public:
virtual result GetSystemInfo(Parameter x){
//get something based on x
return something
};
virtual result SetSystemInfo(Parameter x){
//do something with x
return something
};
}
Would I be able to publish MyReinventTheWheelClass as lets say a MIT compatible project? - assuming of course I am complying with all the branding requirements and not misrepresenting myself or my affiliation with Fred Nurk Corp etc