Read this article in Pусский, 日本語.
From some perspectives, releasing Vivaldi browser’s source code under a unified open-source license might seem to be a no-brainer.
After all, we provide Vivaldi for free and make money from searches and partner deals. So why not give people access to the source code, so they can potentially help develop Vivaldi?
We understand this point of view. Indeed, many of us at Vivaldi are proponents of open-source and use open-source software. So, this is a question that comes up internally on a regular basis.
However, as is often the case, the picture grows more complicated when you get down to the details.
More open-source than you think?
Given the ongoing debate over Vivaldi and open-source, let’s take a look at how the Vivaldi browser is built.
Vivaldi is built in roughly three layers:
- Chromium, the foundation for our browser.
- A lot of backend C++ code to support unique features like Ad blocker and Notes.
- Our UI for desktop (HTML+CSS+JS) and Android (implemented in Java and mostly derived from the BSD-licensed Java UI included in Chromium)
As Chromium itself has an open-source license, all the changes we make to it, to support our UI layer and features, are published. We also publish all our C++ feature backend code, as if it were part of the Chromium changes.
You can find a copy of Vivaldi browser’s open-source code here on vivaldi.com. The changes are published under an open-source BSD license. For details, see the README and LICENSE files within the package.
Vivaldi also contains third-party code. You will find the licenses in the source package and in the installed browser, by navigating to vivaldi://credits.
Note that, of the three layers above, only the UI layer is closed-source. Roughly 92% of the browser’s code is open source coming from Chromium, 3% is open source coming from us, which leaves only 5% for our UI closed-source code.
What makes Vivaldi “Vivaldi”?
If Vivaldi browser is so close to being released under a unified open-source license, why haven’t we taken that leap?
It comes down to protecting the heart and soul of our browser. For it’s Vivaldi’s UI that truly makes the browser unique. In terms of code, it is our most valuable asset.
We don’t publish it under an open-source license and only release obfuscated versions of it. The latter is there to improve performance, but also to serve as a first line of defense. Otherwise other parties could take the code and build an equivalent browser (essentially a fork) more easily.
But why fear forks in the first place?
We get it. From an open-source perspective, forks are pretty much the point. You fork someone else’s work, make something new and cool out of it, you get credit for your addition, the project you forked from gets the credit for being that project, and maybe they’ll take in your addition and everyone is happy.
But, the way we see it, Vivaldi is more than just its code. It is our brand, with associated trademarks we have to protect. This means any fork needs to be branded as a different product.
And this new product then would become an immediate competitor without putting any significant technical work to reach that status.
Now, when it comes to large projects that have been around for ages or are household names, people might not even notice the fork. But with Vivaldi’s relatively smaller footprint, we could be easier to overshadow, making our brand more vulnerable. And not just in terms of revenue – our ethical identity also comes into play.
A new project based on our code might implement features that are fundamentally in opposition to our ethics (e.g., damaging to privacy, human rights or to the environment). Even though we would not be associated with the project in any way, it can deeply affect how people see Vivaldi (and how we see ourselves), damaging a reputation we have taken pains to earn.
Keeping Vivaldi’s UI layer closed-source and obfuscated allows us to set these worries aside, so we can focus on the job at hand. It may not be a perfect solution, but as a business, we have to make decisions that minimize uncertainty, if only for our self respect as employees – and employee-owners.
Open-source processes are costly
There is also a more pragmatic reason for Vivaldi browser not embracing a unified open-source license. A big temptation for us to go open-source would be to get contributions from many of the brilliant people out there who support us. But even that is not a clear win, given the size of our team. Open-source processes require people reviewing submitted patches and communicating with committers.
All this takes time, and, given our limited resources, we aren’t sure how the benefits would outweigh the investment of time. For now, we feel it’s more productive to keep our focus on building the most customizable browser.
What about security benefits?
Even though most of the security-relevant code for Vivaldi browser is in Chromium, there is also some security-relevant code in the UI. If you think that specific security-relevant parts of the UI should be open-sourced to make Vivaldi more trustworthy, let us know, and we’ll consider putting it out as part of our code bundles, so you can check it for yourselves.
What happens if Vivaldi dies?
This is a totally valid concern. Quite a few of us at Vivaldi retain some frustration at how the Presto-based Opera browser was dropped when Opera Software decided to switch to a Chromium-based implementation. I personally spent a lot of time working on Presto-based Opera, improving and fixing it. I feel that, if it had been open-source, it might still be living today. And all that work wouldn’t have gone to waste.
So, wouldn’t this alone be a good enough reason to open-source Vivaldi? Yes, and pretty much everyone working on Vivaldi agrees with this at the moment. On the other hand, Vivaldi is growing, and we are optimistic about our future. So, while this is something we want to address, it’s not a pressing issue right now.
Point of no return
Now we get to the most important point, one of the keys to the whole conundrum.
Open is open. You can’t test drive open-source and then close everything back off if it turns out that open-source isn’t working out. Code released under an open-source license remains open in perpetuity. The only workaround would be to make the released code obsolete, which requires a significant amount of time. So, from a business perspective, it’s a case of “If in doubt, don’t.” As great as open-source licenses can be, this is an unfortunate – and unavoidable – aspect of them.
Mod Vivaldi in the meantime
If you are less interested in the minutiae of the open-source debate than just being able to edit the code to customize Vivaldi browser to your taste (and have the skills), you can do just that with our desktop version.
You can make sense of the obfuscated code and mod it for personal use by editing the minified javascript code directly. This is easier to do in Vivaldi than in other browsers, which all require a full compilation step to apply a change.
Even though our license doesn’t strictly allow this, we welcome it and we encourage users to share these code modifications on our forums.
Will Vivaldi browser ever be open-source?
While there are clear arguments for and against, we are satisfied with what we currently offer – software that is free and largely open-source, with only a limited amount of closed, but moddable code.
Current plans are to stick with this approach for as long as we feel that it is worthwhile to protect both the look and feel of Vivaldi and the identity of our brand. But with advocates for each position working side by side, the discussion is far from over.
Let us know what you think, in the comments below. 👇