Давно было интересно: зачем Опере писать собственный интерпретатор JavaScript, когда есть открытые альтернативы?
SpiderMonkey, допустим, может быть проблемой из-за LGPL, но
v8 — это BSD лицензия, для проприетарного ПО годится. Поинтересовался мнением людей. Говорят, самая вероятная причина — не хотят зависеть от стороннего разработчика. При этом Opera уже использует сторонний Aspell, хотя он, конечно, не является жизненно важной функцией.
Решил выяснить официальное мнение.
JL ответил, что, с технической точки зрения, интеграция такого объёма чужого кода — большая работа. Поддержка всех операционных систем, на которых работает Opera, требует определённого проектирования и повышает требования к коду, и очень вероятно, что разработчики основного движка отказались бы принимать странные модификации в больших количествах, что привело бы к перманентному форку. Что возможно, но затраты сопоставимы с разработкой своего движка. Звучит разумно, хотя я и не знаю, на скольких платформах используется Carakan — кажется, мобильная Opera получает с сервера, грубо говоря, скриншоты с отмеченными ссылками, и скрипты там не работают?