How to fork Chromium codebase
Properly organized codebase saves a lot of time for developers and allows to merge upstream code quickly.
With our years of expertise offering customized Chromium solutions
you are in good hands.
Forking & Maintaning

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web. It means that you can download its code to create your own browser. Forking Chromium is a significant undertaking that requires a good understanding of software development, version control, and the Chromium codebase.
While the prospect is undeniably exciting, it's essential to recognize the challenges that lie ahead. We've witnessed numerous startup ventures dive into this endeavor, only to encounter unexpected hurdles that ultimately led to their demise.
Our goal is to equip you with the knowledge and strategies necessary to navigate the complexities of forking Chromium successfully, ensuring that your venture not only survives but thrives in the competitive landscape of web browsers. So, before you dive in headfirst, let's explore the crucial considerations that can safeguard your journey towards browser innovation and longevity.
Get the Code: Checkout, Build, & Run Chromium

There are many different approaches to organizing the Сhromium codebase:
- Brave browser uses a system of patching and file substitution on the fly.
- Vivaldi relies on inline changes within the project.
- Arc browser implemented its UI completely from scratch and plugged it into the web engine.
Each of them has its own advantages and disadvantages, choosing the wrong path results in high costs for the company and loss of time. Based on our many years of experience, we will help you choose the best method of working with the repository that meets your plans, help you along the way to work with the code and save you from mistakes.
If you feel empowered and want to try it yourself follow the official instructions of the project to install the necessary dependencies, check out the source code with Git, and compile. A few hours later, you will have a browser that looks like Chrome with all the Google-specific bits removed. Now you can start making changes to the code to fit the browser to your liking.
Branding

The first step is to change the name of the browser so that it appears on the user's system not as "Chromium" but as something cool like "Safe Browser". This doesn't sound difficult at first glance, but you will encounter significant difficulties in accomplishing this task. The browser name is hard-coded in many places in millions of lines of Chromium source code. We will help you organize your patches so that instead of modifying a lot of files, you do it in a small number of places.
Features missing in Chromium

Chromium misses several key components available in Chrome that are necessary for a full-fledged browser:
- DRM technology for sites such as Netflix use to make sure that users cannot pirate their content.
- Synching of bookmarks and passwords between computers.
- Automatic updates. You can build offline installers, but your users will not automatically receive new versions.
Don't worry, we can help you solve these problems on your side, raise servers and customize the infrastructure, or give you the opportunity to use our reliable servers to solve your tasks.

Synching of history, bookmarks and passwords between computers.

One of the most important features of popular browsers is the ability to synchronize user data between desktop and mobile devices.
Launching the browser on another device, users want their passwords, bookmarks and other data to be synchronized and they don't have to re-enter them.

There are 2 ways to achieve this:
- Rent a google cloud server, the available browser code already contains everything necessary to work with google servers
You only need to buy an access key in google cloud and connect it to your browser. Instructions https://www.chromium.org/developers/how-tos/api-keys/

- Install your own server for data synchronization. The synchronization protocol is quite complex and it will take considerable time to figure it out.
We have already spent this time and studied the protocol. We have ready solutions and patches for deploying separate servers for data synchronization on customer's infrastructure. All data will be encrypted with strong keys and stored on your own servers. This will protect your users from leaks and the sale of their data, which will increase trust in your product

Keep your fork up-to-date. Merge upstream changes regularly.

The most difficult task on the way. Poorly organized change implementation is what sometimes causes Chromium forks to fail.
At this stage all the problems of a project are revealed. With updates pouring in daily, staying on top of Chromium improvements isn't just recommended—it's essential, especially when it comes to security enhancements.
But here's the catch: as you customize your Chromium fork, clashes are bound to occur when integrating upstream changes. Every mistake made before is worth a lot of time for the team at this stage.

If you already have a project and it takes more than 1-2 weeks to merge upstream changes, this is an indicator of a poorly organized architecture.

The general rule is to minimize your changes inside Сhromium code. The project provides many opportunities to extend its functionality, such as extensions, browser components, blink modules and others. However you cannot avoid changes in the project to make your components get the power. For many years we have gained enough experience to solve any tasks of extending functionality, changing UI and other complex integrations without affecting the process of upstream merge. With our years of expertise we help you to keep your fork up-to-date with upstream without sacrificing time.

Hardware

Compiling Chromium for multiple platforms demands substantial computational resources and robust hardware infrastructure. To ensure efficiency and accuracy, establishing a comprehensive Continuous Integration (CI) system is imperative. This investment optimizes the build process, automates testing procedures, and ultimately conserves valuable engineering time. Partnering with us allows you to streamline your Chromium development efforts, leveraging our expertise to implement a tailored CI infrastructure that accelerates your project's progress while maintaining the highest standards of quality and reliability.
Summary

Navigating the complexities of forking Chromium entails addressing pivotal challenges, notably minimizing conflicts with future upstream versions. While the prospect of crafting a bespoke browser from Chromium is undeniably fulfilling, it necessitates confronting substantial technical hurdles and associated expenses. Thus, devising solutions that harmonize with your envisioned use cases while remaining technically and financially viable will serve as the linchpin for your project's success.
If you found this discourse insightful and wish to delve further into Chromium-related discussions, do not hesitate to reach out. We are eager to provide assistance and guidance tailored to your needs.