3 ms·
> Have you talked about not duplicating all efforts? In this case the duplicated effort is desirable. You're implementing an engine to meet a spec. Duplicating
by davnicwil 11y ago
> Have you talked about not duplicating all efforts?
In this case the duplicated effort is desirable. You're implementing an engine to meet a spec. Duplicating the effort gives you:
Competition - if there's only one implementation, what are your drivers, metrics and priorities for improving performance, spec compliance, and correctness? In practice, you're going to be deciding these things arbitrarily, by committee, on behalf of the market. If on the other hand you have two(+) competing engines, all these decisions are driven much more by the market, which is far likelier to generate better results for the market.
Redundancy - If the same spec is implemented semi-independently by two different teams, then different implementations of the same features will be tried, and tested in the wild, until winners emerge for different use cases. This is incredibly powerful for innovation and optimisation, and the fact that both engines are open source only multiplies this power.
Definitely by literally merging the two engines into one codebase, you'll lose these advantages almost completely, and even putting the two teams and the two projects under one organisational roof whilst still trying to keep them 'separate' would put the advantages of them being truly independent at serious risk, whilst probably not having much upside that isn't already provided by having the two codebases be open source.
Two independent teams duplicating their efforts is a very, very good thing, and even better now that ChakraCore is open source.