Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Ecosia as Default Search Provider in Chrome #1

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

JacobValdemar
Copy link

@JacobValdemar JacobValdemar commented Aug 12, 2023

What

This PR changes the Chrome policy in chrome_install.sh to configure Ecosia as the Default Search Provider. The Default Search Provider is the search engine that is used when you enter non-URL text in the address bar.

Why

Right now, if a citizen for example searches "iPhone" on an OS2borgerPC, advertisement revenue goes directly into Google's pockets. Neither you, I, nor the municipalities benefit from this. Ecosia — the search engine that plants trees — use 80% of its profits to support tree-planting projects, and on average it only takes 45 searches to plant a tree. Imagine how many trees our citizens can plant each and every day by searching the web with Ecosia on OS2borgerPCs. This small PR can make a huge impact! Ecosia does not sell personal data to advertisers and has full financial transparency.

Remember, to solve the climate crisis, we cannot stay satisfied with status quo — we need climate action on all fronts — everything, everywhere, all at once.1

I have discussed this initiative with product coordinator Thomas Gjerulff who has added it to the agenda for the coordination group meeting on Monday, 14 August 2023. Please await the outcome of that meeting before acting on this PR.

How

By adding some policies in the chrome_install.sh, I have configured Chrome to use Ecosia as the default search provider. You can read about the policies in the Chrome Enterprise policy list.

I considered another approach where the Ecosia extension is installed, which automatically configures Ecosia as the default search provider. When I experimented with that solution, I made the following observations:

  • The Ecosia extension additionally changes the New Tab page. That can be good or bad depending on the users' preferences.
  • Because of the way the browser is currently configured, the Ecosia extension seems to open a "welcome-to-Ecosia-page" in a new tab every time the browser is opened after being closed.
  • All extensions increase the risk of a Supply Chain Cyberattack - unless it is possible to pin the version of the extension. Maybe it is possible to pin the version, I don't know. I haven't looked into that.

To me it seems more simple and transparent to just configure Ecosia as the Default Search Provider directly in the policy. That is what I choose to do.

Testing

I have tested the chrome_install.sh script on a machine running Ubuntu 22.10. It correctly configured Ecosia as the Default Search Provider in Chrome.

To test the changes on an OS2borgerPC, do the following:

  1. Close Chrome
  2. Run chrome_install.sh
  3. Open Chrome
  4. Insert non-URL text in the address bar in Chrome (i.e. "iPhone") and press enter
  5. Verify that the search result is provided by Ecosia (URL begins with https://www.ecosia.org or https://ecosia.org)

Footnotes

  1. https://press.un.org/en/2023/sgsm21730.doc.htm

@mf-fx mf-fx self-requested a review August 17, 2023 15:04
@mf-fx
Copy link
Member

mf-fx commented Aug 21, 2023

Thanks for making the PR, along with documentation!
Good points! We'll look into it, and consider the default search engine. Until now it hasn't been set explicitly, as you can see.

I think if we DO change the default we should probably have a script ready to change it, in case someone explicitly requests changing it back, or want another option entirely.
In other words we can build in a default into chrome_install and then have another dedicated script that just changes the default search engine and nothing else, taking a string input for which search engine to choose.
Maybe default search engine should be a separate policy file for this reason, to make updating it a bit simpler programatically.

And perhaps that script should set the default search engine for both Chrome and Firefox, as Firefox is the default browser.
Then our script firefox_global_policies.sh could also default to this new search engine.

@JacobValdemar
Copy link
Author

JacobValdemar commented Aug 22, 2023

Thanks for the input @mf-fx! I am very excited to hear that you too can see why this change is so important!

I have searched the web, and I don't think it is possible to have multiple policy files for Chrome and Firefox. Do you know if it is possible?

Based on your input, I would then suggest that we build-in Ecosia as the Default Search Provider into chrome_install.sh (already done) and firefox_global_policies.sh (to be done).

Additionally, we create scripts for Chrome and Firefox, respectively, that removes the Ecosia search provider from the policies, implicitly re-enabling Google. I think we can use jq for this. These scripts would have to be run after chrome_install.sh and firefox_global_policies.sh in case someone explicitly requests changing it back.

So, if you agree, I'll add Ecosia as the Default Search Engine to firefox (though firefox_global_policies.sh), and create two scripts that allows reverting the Search Engine back to Ecosia (hopefully they wont be necessary).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants