10-15-2013, 05:00 PM
I don't like that idea.
- There could be 3rd party developers that would start writing support for kernels but only for selling them. This could create a situation that people start thinking the "interesting modules" are only the commercial ones. By not creating such in interface we can avoid that.
- An interface would force the development to always have that interface in mind when doing changes to the core. We don't want to lose that flexibility to do changes whenever we want and as hard as we want. It's also some kind of responsibility if someone depends on your interface to not change it or inform developers of such interfaces about changes.
- Interfaces are easily exploitable. I remember a commercial software that had of their known-how built into such modules afterwards when they starting adding such a thing. Then they released that stuff and thought everything is cool. But then someone realized that by having such an interface, all it needs is to write 1:1 the same interface to re-use those modules from the commercial software. By doing this, they had a perfect way to workaround all keyfiles etc that safed the original software. They then added an encryption solution around the modules etc, what an effort....
I'm sure there's even more arguments against it...
- There could be 3rd party developers that would start writing support for kernels but only for selling them. This could create a situation that people start thinking the "interesting modules" are only the commercial ones. By not creating such in interface we can avoid that.
- An interface would force the development to always have that interface in mind when doing changes to the core. We don't want to lose that flexibility to do changes whenever we want and as hard as we want. It's also some kind of responsibility if someone depends on your interface to not change it or inform developers of such interfaces about changes.
- Interfaces are easily exploitable. I remember a commercial software that had of their known-how built into such modules afterwards when they starting adding such a thing. Then they released that stuff and thought everything is cool. But then someone realized that by having such an interface, all it needs is to write 1:1 the same interface to re-use those modules from the commercial software. By doing this, they had a perfect way to workaround all keyfiles etc that safed the original software. They then added an encryption solution around the modules etc, what an effort....
I'm sure there's even more arguments against it...