Hacker News new | past | comments | ask | show | jobs | submit login
Choice of search engine on Android nuked by “Anonymous Coward” (2009) (googlesource.com)
265 points by dreamingincode 9 months ago | hide | past | web | favorite | 78 comments

The Linux kernel does not accept anonymous contributions due to legal reasons.


> It is imperative that all code contributed to the kernel be legitimately free software.

> For that reason, code from anonymous (or pseudonymous) contributors will not be accepted.

> All contributors are required to “sign off” on their code, stating that the code can be distributed with the kernel under the GPL.

> Code which has not been licensed as free software by its owner, or which risks creating copyright-related problems for the kernel (such as code which derives from reverse-engineering efforts lacking proper safeguards) cannot be contributed.

Does the same reasoning not apply to Android?

That is because of the desire for the kernel to be able to prove authorship (i.e. that it wasn't "stolen" code that got committed).

This is a Google commit, it's not owned by the author. Clearly Google owns the copyright, it was done at Google's direction and for reasons that are relatively obvoiusly in line with Google's interests. There's no meaningful ambiguity here.

Corporations donate code all the time, even to Linux, and the "true" human author doesn't necessarily correlate with the names on the git commit. This is no different.

Fundamentally this is just a joke. Anyone who put their name on that commit would open themselves up to ridicule, so the project management lampshaded the issue with a faceless commit.

So, yes, the same reasoning applies to Android. And this is perfectly fine. There are things to complain about, but IP hygine doesn't qualify.

Yeah it's definitely not a big issue that this is commited under Anonymous Coward since you know the decision was made by Google to axe this and it would matter very little which engineer specifically removed these lines of code.

Yeah, the requirement for an identifiable entity in order to merge code is ass covering and nothing more. They want to know who the author is in case of copyright infringement. In that case they can say, "If you want to sue someone, sue them. They claimed that they were able to merge this code." There's no legal requirement to do this; it's just a good idea.

You can allow random people to merge code into your repository, but if there is a legal problem, expect people to knock on your door. As you say, in the case of the Android change, it's obvious that the commit is anonymous on purpose.

They will always knock at your door, but you have anon contributors, you can't point any fingers.

Which means you can't pass the responsibility along. Without someone else to point the finger at you will be left holding the bag if the anonymous committer committed stolen, copyrighted code.

For that reason, code from anonymous (or pseudonymous) contributors will not be accepted

Do they require government-issued proof of identity? If not, they can't stop "pseudonymous" contributions at all (and IMHO that is a very good thing.)

I can't find the original mail (blame gmane shutdown), but this rule was created back in the IBM and SCO lawsuit age.

Somebody (linus?) decided if the author name look like real name, he would accept it.

Linux Kernel changes are released under GPLv2, and would therefore not include anonymous commits. Everything else is Apachev2 licensed, and presumably Google can do whatever it wants with its own project and IP.

This is why I love open source (as in source-available, not necessarily free-software). Transparency trumps everything.

Whoever chose to commit anonymously (or gave the order to) knew they were doing something shitty and didn't feel comfortable doing it "in public".

It doesn't prevent things like that from happening but it makes you question if it's the right thing to do. Sometimes that's the best we can hope for.

> Whoever chose to commit anonymously (or gave the order to) knew they were doing something shitty and didn't feel comfortable doing it "in public".

That isn't necessarily true (although it definitely seems possible in this case, especially given the choice of name). The other possible reason is that they knew they were doing something perfectly reasonable but controversial, that other people would dislike, and they didn't want the Internet pitchfork mob coming after them.

It is interesting that major corporate-run-open-source projects like Android have individual names associated by commits. It's a huge change from software engineering in general - the general public doesn't know what I personally do at work, and can't come after me for it - and there's not even a need for it for open-source reasons: since copyright is owned by Google, there's no requirement to identify the individual employee more precisely. Everything could have been committed by nobody@google.com.

If the person behind this commit had the position that they stand behind this commit but they only intend to stand behind it 40 hours a week and then they want to go home, I would sympathize with that.

Deliberately breaking an existing feature that caused zero trouble to any past, present, or hypothetical future user is never, in any circumstances, "perfectly reasonable". It may be largely inconsequential, it may be cynically obvious, it may be not worth fussing about, but not "perfectly reasonable".

> caused zero trouble to any past, present, or hypothetical future

I'm sure this commit was largely motivated by business reasons, but it seems pretty reasonable from a forward-looking technical standpoint as well.

Google search on Android has gone far beyond an endpoint where you give it a string and it gives you a list of URLs; it gives smart autocomplete, you can search by voice (which is smarter than speech recognition + text search), it provides custom result widgets for various situations, etc. As the feature set expands, it becomes less and less reasonable to have a single client that works against an abstraction implemented by many competing backend services, so the idea of a "search engine picker" makes less and less sense. It's saner to just say "this is the Google search client, and other search services can write their own clients". For example, Bing has its own Android app with its own design and features not in Google search. (That's not to say it's fair; Bing needs to be a separate app, whereas Google search is a first-class part of Android.)

> Google search on Android has gone far beyond an endpoint where you give it a string and it gives you a list of URLs;

I can't remember ever asking for anything more than that though. It's what a search engine should do, and no more. I had to switch away from Google to DDG exactly because they stopped doing this (instead of providing links to the actual webpage they now embed AMP pages). Fortunately, iOS allows me to switch search providers.

> caused zero trouble to any past, present, or hypothetical future user

Yes, but I don't think that is true of this feature:

1. It's a feature. Features have inherent maintenance cost. A team can only support so many features, and new features generally come at the cost of other features being well-developed. A significant part of my day job involves killing features that technically work but require so much maintenance overhead that we can't effectively work on new things. This makes some existing users of those features unhappy. We're killing them anyway.

2. The change improved the level of corporate support for Android, thereby improving Android's future headcount and budget, thereby improving the ability for other features to get delivered. Trashing that on principle does harm users. There are plenty of dead and dying mobile OSes with a customizable search engine that aren't helping users in their current state.

> Deliberately breaking an existing feature that caused zero trouble to any past, present, or hypothetical future user is never, in any circumstances, "perfectly reasonable".

It's also not a realistic scenario.

Anyone who bought a Samsung Galaxy S from Verizon got a phone with Bing as the default search engine. Some of the people who bought that phone would've preferred Google.

Because of this feature, there was added additional effort in using the phone due to the need to switch the search engine. And likely some of them didn't even know about the option, and wound up with an experience worse than they would've without it being present.

Adding to this, there is malware that changes this setting.

I think this was a valuable option to have -- but there are no features that cause zero trouble to anyone.

Isn't this pretty much the same thing Microsoft got fined for with Internet Explorer back in the heyday era of PCs?

I guess it's less of an issue when the major competition is not just doing something "pretty much" like Microsoft, but one step further in not allowing another browser at all besides Safari.

The competition is enough to get past that I guess. Or we're just in an age where monopolies aren't really litigated much. Either or both seem plausible to me.

That'd exactly my thought as well. Maybe Google Search is not big enough in terms of market share to trigger an investigation? Or the authorities didn't think of it?

Google learned from Microsoft and is much more politically savvy.

you are complaining exactly about the change Google's anonymous coward added.

if that change wasn't made, you could change the default search in both cases. now thanks to Google greed you are stuck with Samsung choice of bing. suck to be you.

I wouldn't be surprised if part of the motivating factor is the fact the decision was made well above the person who wrote the code, and it wouldn't be fair for the person who wrote the code to take all the flack publicly. And, well, I'm unsurprised that the manager didn't end up with their name on it.

How does “transparency trumps everything” apply here? There’s nothing transparent about this. The anon tasked with committing this change surely had no influence on the decision, so it’s doubtful the OSS nature drove any questions.

The committer did so anonymously for the same reason executioners wear hoods. The executioner is only acting as an agent of the court, or in this case Google, to carry out a controversial act which they may not personally agree with.

Interesting. I only had one Android repo on this computer, but found one commit from "Anonymous Coward" (2012):


Can we find others? :-)

Maybe this practise should be extended, such that several Anonymous Cowards simultaneously commit the change, each being able to live in the belief that it wasn't their commit which effected the change.

For those unfamiliar with this reference to the idea of “diffusion of responsibility” [1], this is fascinating stuff.

[1]: https://en.wikipedia.org/wiki/Execution_by_firing_squad#Blan...

Can someone who has more context around this commit explain what is going on here?

What does this commit do?

Why did this commit get accepted in the commit history tree published at android.googlesource.com?

I think a Google employee was tasked to remove the search engine choice and hardcode google search into Android.

He didn't want his name to be attached as the person who did this (and we can assume it was some sort of protest to the change) so he committed this as "Anonymous Coward".

Also "Anonymous Coward", as others pointed out, was the way Slashdot referenced guest comments.

> was the way Slashdot referenced guest comments

It still is.

There used to be a search engine switcher view, but google needed to make money.

There used to be a search engine switcher view, but google needed there to be only one correct way of searching the web. so somebody just committed this joke from Slashdot where anons are "anonymous cowards" to remove that previously available option to change engine.

>Why did this commit get accepted in the commit history tree published at android.googlesource.com?

As opposed to what? Do you expect them to maintain an alternate tree without the change that doesn't match published binaries?

Google has an alternate tree. It’s used for prerelease and cancelled hardware, among other things. But probably not for this.

An alternative would have been to bury the change in “misc cleanup” commit. Kudos for at least being honest.

I initially thought this was a SlashDot reference [http://wiki.c2.com/?AnonymousCoward], and not intended to suggest that the commit itself is cowardly. But it seems like this is the only change by that user [https://www.google.com/search?q=site%3Ahttps%3A%2F%2Fandroid...], so I guess it was intended to make a statement.

For the young whippersnappers, "anonymous coward" comes from Slashdot, where it was the name for anonymous posters.

I note that people are referring to Slashdot in the past tense. I don't disagree with the implied statement, but do regret its passing.

I just noticed they deleted old accounts, one of the worst mistakes long-running sites can make.

My account is still there. 4 digit user id.

Maybe only accounts which have not logged in years. My account seems fine and i check it a few times per year. Slashdot is fairly active these days(of course its isn't the giant of IT it was) .

In this instance, one might wager that it was somebody's "Alan Smithee" moment.


So, their browser on their operating system has features which only work with their search engine. How does this not violate antitrust laws? Product tying, at the least?

The EU Competition Commission is said to be on the verge of issuing a multi-billion dollar penalty for this behavior.

>Google could face a record penalty this month from European regulators for forcing its search and Web-browsing tools on the makers of Android-equipped smartphones and other devices, potentially resulting in major changes to the world’s most widely deployed mobile operating system.


In short, it does, and Google is currently fighting a $7.4 billion EU fine for these shenanigans:

"In their Statement of Objections, the European Commission accused Google of the breach of EU antitrust rules in three ways:

- by requiring mobile manufacturers to pre-install Google Search and Google Chrome browser and requiring them to set Google Search as default search service on their devices, as a condition to license certain Google proprietary apps;

- by preventing manufacturers from selling smart mobile devices running on competing operating systems based on the Android open source code;

- by giving financial incentives to manufacturers and mobile network operators on condition that they exclusively pre-install Google Search on their devices."

The short, cynical answer is "because no one cares".

This sort of thing isn't like a speeding ticket where there's a cop just sitting by the side of the road looking for someone to give a ticket to.

The infamous Microsoft/IE case happened because someone, Netscape, was unhappy enough about the event (and had the resources...) to make a compelling enough case to convince a court there was anti-competitive behavior that was causing harm. No one has made such a case for this Cowardly commit, so...

the handset vendor (the actual customer of android) can change the search provider to use their own implementation, as evidenced by the many that do exactly that. Additionally, the end user can use any search application they prefer, and many exist.

despite a single commit indicating that the google search engine is required for some feature somewhere in the OS, the reality of the situation is that android is not tied specifically to any search implementation.

You don't have to completely exclude all other options to have an unfair, anti-competitive position. Often it's just a matter of using your position in one market to push out other competitors in another market. Monopoly and anti-competition are not mutually inclusive, but the latter can lead to the former.

Because you can choose a different phone OS, and you can choose a different browser on that OS. Also, both of those things are open source so you can fork them if you want.

How do you think it violates antitrust laws? Do you propose that all companies should be required to make all of their features available on all possible variational usage of their service?

This is no different than when Microsoft got hit by fines and was forced to include the browser chooser. You were still free to install Firefox or Linux, but the issue was that the defaults on new PCs used Microsoft products, and most people use the default options.

Of course it's different.

For 1, what was the market landscape for smartphone websearch in 2009?

For 2, The Microsoft decision was the result of complex litigation relating to the specifics of microsoft's position in the market, defining what the "market" even was, and the nature of newly invented web browsers, and the conclusions reached in that trial were quickly disregarded by the prosecutor/government within a few years. There's no bright-line law here.

Android has 75% market share, it's not like you can avoid it, they have practically a monopoly. As much as people like Apple here, it's nowhere near the same market share as Android.

Also you should put quotes around open-source, AOSP does not run on any real device due to a lot of android parts being private + private drivers. It took me one month to run a custom kernel on my Samsung to get the basic hardware working, it's as far as open source as you can get. Android is a "look but don't touch" kind of open-source.

Back in the day Microsoft actually used the existence of Linux as a legal argument that they could not possibly be a monopoly. The judge didn't buy it.

It was mostly Apple and MacOS which were used as the excuse, not Linux. And Microsoft kept both on life support by supporting software for them (e.g. Internet Explorer pre Safari).

You can run Android such as LineageOS without Opengapps perfectly fine. You can also use microG (with or without LineageOS), though that may be against Google ToS.

Apple does have a significant market share in some advanced economies though. Over 30% in the UK, Japan, Australia & USA.

IANAL, but the product tying interpretation of US antitrust law specifies that making one product or service a mandatory addition to the purchase of a different product or service can be considered an anticompetitive practice.

The "feature" in question in their application was "searching the web". Imagine if they shipped a default e-mail client that only allowed you to use Gmail, and you had to install a separate client to use e-mail with any other e-mail provider. How many people are going to just use Gmail rather than go find some other app and provider? That's an unfair advantage due to product tying.

Microsoft bundled IE into Windows 98 in a way that you could not remove. Microsoft argued that, hey, it's just a standard part of an operating system, and you can get something else, what's the big deal. The government didn't buy it. They settled before the government could reach a final ruling about whether this was anticompetitive. https://en.wikipedia.org/wiki/Tying_(commerce)#Microsoft_pro...

> Imagine if they shipped a default e-mail client that only allowed you to use Gmail, and you had to install a separate client to use e-mail with any other e-mail provider.

That's how Google Android works now. There originally was a generic email app, but Google quickly replaced it with Gmail early on.

The app may be called gmail, but it works just as well with my hotmail account as it does with my gmail account.

The government didn't buy it because Microsoft threatened OEMs that dared preinstall Netscape in the Windows computers they wanted to sell, among other things.

Two major points.

1. Chromebooks don't run Firefox. I'm sure you can get FF running, but it's not part of the Chromebook "agenda." Chromebooks are actively being used like candy in educational contexts, so we can establish shoo-in adoption and widespread acceptance. So... I think the sooner we can accept that we are no longer operating in the kind of world that prosecutes this kind of anticompetitive behavior, the better - if just for the sake of personal closure.

2. A similar situation I've seen this exact account used is https://issuetracker.google.com/issues/36911336#comment30. The whole thread (or at least the first few messages) must be read for context, but this particular comment is also being posted by nobody@, presumably due to political sensitivity. (If you ask me, it was Nick who posted that message, and he needed plausible deniability for some obscure/stupid legal reason.)

I get the impression nobody@ can be used by anybody if they can justify the circumstances. My guess/hunch is that maybe it needs an LGTM from maybe one or two others.

For those who aren't familiar, Gerrit (the code review system used by Android at this point, think GitHub Pull Requests but better/worse) uses "Anonymous Coward" naming for those users it doesn't otherwise have a good name for.

Others point out this usage probably finds its origin in Slashdot culture, which is likely true, but also probably a ternary relationship in this instance.

I would love to know if this commit was directly to master or if it was merged by someone (or something) else...

Was it Slashdot that "invented" the nickname Anoynmous Coward? Or did it exist before?

Unfortunately Trends only goes back to 2004, but... https://trends.google.com/trends/explore?date=all&q=%22anony...

Slashdot's use of it certainly goes back to the previous century though..

They innovated it for sure but before that the more neutral term "Anonymous" was used for a long time (although anonymity is a relative term). The Coward part makes it part of Slashdot's cultural heritage.

What an interesting way to go about making an uncomfortable but important decision. This is Google's platform and they should do with it what they want, it's incredible how much search has changed our interaction with our phone. There isn't a day that goes by where I'm not finding everything I need with a quick google search.

If google doesn't control the searches end to end on android they would have missed out on some good innovations like instant apps and google now. I love that this is one aspect of this totalitarian control they didn't compromise on, cuz it's keeping them in the dominant position with a good flow of data coming in!

I'm not seeing how those two things are related. Google could have still developed Instant Apps/Google Now without restricting users choice of search engine. And if those users missed out on those features because they use duckduckgo or whatever, so be it. At least it was their choice, right?

DennisAleynikov is saying that Google's forcing everyone to use Google Search generates data that Google uses to make DennisAleynikov's search experience better, which he appreciates. Selfish, but honest.

Yes you got the jist of it. Apple is trying to be the Anti-Google in this regard with privacy first defaults but they are guilty of making very agressive decisions to keep control of their phones. Safari is the only browser that can be used on iOS and it's responsible for its market share today! It's viable competition for chrome.

Yeah, the EU and the US both had a big investigation of Google and search on the Android platform, but clearly it's amazing that they made this change. Totally lovable totalitarian control.

Totalitarian control of your platform is tough pill to swallow but modern tech Giants have to keep their internet services visible. Microsoft especially is like a preview of future Google gone bad, having a free/paid OS laden with Ads and restrictive defaults. Cortana is useless since it literally won't accept any other search engine!

I'm curious to see legislation attempt to tackle this, obviously more competition is good! What gives me pause is this relentless trend of killing off small startups and competition through strict defaults like only using Safari on iOS and no other browser. Even chrome on iOS is just Safari with a different navbar

There's a new initiative called 'eelo'[1] which claims that it will be a drop-in ROM replacement for existing Android phones. Apparently it's built using a modified AOSP[2] using their own open-source software components. They are focusing on privacy and security. I'm not convinced they'll ever release anything substantial, but it's good to see another player in the Mobile OS space trying to challenge the status quo.


[1] https://www.eelo.io/mobile-phones/

[2] https://source.android.com/

Initial targets will be LeEco Le2 and Xiaomi Mi5S. They aim to also support this extensive list: https://eelo.io/img/supporteddevices.txt

Reminds me I should check out MicroG again (replaces Google services).

The development seems to be in progress: https://www.indidea.org/gael/blog/leaving-apple-google-a-gen...

I use an alternative search provider on my android (custom rom) Phone and don't feel like I have lost anything other than the ability to stay sane on a stock android device.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact