This question has been asked before: should Opera, the Internet client from Norway that you’ve probably used on the Nintendo Wii’s Internet channel, go open source like its closest cross-platform competitor, Mozilla Firefox?
It’s become a common complain with Firefox junkies, that Opera isn’t a viable option for web browsing because of the proprietary ownership of its company (Opera Software ASA).
However, IMO, Opera has an advantage in its proprietary approach to software, in that its developers can construct and deconstruct their own layout and scripting engines from behind closed doors without having to make sure that it works well with a slew of development APIs. To date, Opera has used at least 3 different layout engines, including the current Presto engine.
Meanwhile, Mozilla possesses a long history with third-party developers. Until recently, Firefox was simply the icing on top of the “Mozilla platform”, a stack that included the following sub-browser features:
- Gecko
- Necko
- Necko provides an extensible API for several layers of networking from transport to presentation layers.
- XUL
- XUL is the basis of user interface. It is an application of XML that defines various user interfaces elements, mostly widgets, control elements, template, etc. It is similar in many ways to HTML.
- XBL
- XBL allows one to define his/her own widget for use in XUL.
- XPCOM
- XPCOM is an object interface that allows interfacing between any programming language for which a binding has been developed
- XPConnect
- XPInstall
- XPInstall is a technology for installing small packages like extensions and themes into Mozilla applications in form of installation archives known as XPI.
- Web services
This allowed for third-party developers to plug into the processes which made applications like Firefox and Thunderbird work and look like they do.
This also resulted in “feature creep” and “code bloat”, two controversial terms which no developer wants to hear or talk about. Besides becoming a poster boy for the emergent FOSS ideology, Firefox – in fact, almost all applications which have been built upon the Mozilla platform – also became quite infamous for the attitude of its developers to the growing anger over the application’s regular consumption of memory.
However, no matter how angry the users have become with Firefox’s outstanding issues, the Mozilla developers have consistently expressed their desire for incremental improvement, rather than total abandonment of such oldened processes like Gecko and XPCOM, due to the reliance of third-party developers upon these technologies.
This leaves the Opera browser with a technical advantage over Mozilla. There is much less of an audience of third-party developers who depend upon the underlying platform of the browser, which is only licensed to software companies such as Adobe for usage in their Dreamweaver product.
What about the future of either browser?
I think that Opera Software is, at present, planning to phase the browser further into the background as their widgets platform, which is mostly based on web-standard technologies like CSS, SVG and eventually Theora, becomes bigger and more prominent.
However, the Mozilla corporation, with its recent moves (such as ditching Thunderbird, leading to accusations that Mozilla Corp. has become the “Firefox Corporation”), may also head in a similar direction as well. Mozilla has expressed an interest in the advancement of web services and web applications which will make use of Firefox-specific, rather than Mozilla-specific technologies; it sounds similar to the widget
Does this mean that Opera and Firefox are on their way to competing as browser-based application platforms?
So when should Opera go open source?
In my opinion, Opera should only go open source once their business and development initiative is no longer focused exclusively upon the browser, but rather on the applications which depend upon the browser and the technologies which stand upon it, rather than its runtime, for function purposes.
When that time comes, they will no longer be focused upon incremental improvement of the already-established underlying runtime technologies which allow for the widgets to function, and would need help from outside.
Furthermore, open-sourcing the browser and its technologies will allow for other browsers and widget platforms to stand upon the shoulder of a formidable giant, one which is designed for designers rather than developers. This will lead to greater adoption of these standards in consumer markets. Open-sourcing Opera, in the long run, will benefit the WWW more than it may benefit Opera.
However, that is a long ways off from right now, when Opera and Safari are far in front of the other, larger browser vendors and their technologies.
Firefox, as long as it rides on the coattails of the Mozilla platform rather than realize its own, will remain in lockstep with the platform’s failures and shortcomings.