I know that the alpha version of Haiku can run BeOS applications, but the final goal of this os will run its own applications… A good idea to mantain the compatibility with older BeOS apps can be a second, dedicated app_server, the first (and main) dedicated to Haiku, and the second can be loaded whenever a BeOS application is launched, like the MacOS X method with Carbon & Cocoa frameworks, respectively for MacOS <= 9 and MacOS X applications
Yes I think this is a very good idea, and possibly one that has already been discussed amongst the devs. R2 will break compatibility, but I think a BeOS appserver should be maintained so that BeOS and even older Haiku programs can still run while Haiku shoots off into where no man has gone before. Given Haiku’s architecture I think this is probably very possible.
At the same time though we do not want to be in an X server or Windows situation where things are held back for the sake of legacy compatibility. It would be good if it works out that this legacy stuff is a nice clean self contained package somewhat separate from the rest of the system.
This is an interesting idea, but the nature of the the BeOS server designs allows for some flexibility that allows for supporting BeOS apps with the Haiku app_server alone.
Basically applications should only make use of the API from libbe.so and other libraries. Within libbe.so is the communication with the app_server. To maintain BeOS compatibility all we need is to have a BeOS compatible libbe.so.
If things change so much in Haiku it might become a little burdensome to maintain some of the older app_server functions used by a BeOS-compatible libbe.so, but that isn’t likely to happen for a while. Obviously we like the BeOS design so we probably won’t go too crazy changing things
As Haiku moves forward I think you will find we have a pragmatic approach to BeOS compatibility. The fact that there is an 8 year spread from when BeOS was more popular and when Haiku is gaining popularity is somewhat of an advantage since compatibility is not as important.