Hacker News new | past | comments | ask | show | jobs | submit login
[flagged] Google forked Swift (github.com)
118 points by eonil on Nov 15, 2017 | hide | past | web | favorite | 73 comments

Hi! I’m one of the engineers on this. We’ve got some work we’re collaborating on - all of which is going upstream - and we wanted a shared place to stage it while we prepare PRs. I’ll be pushing a statement to our fork tomorrow.

(I’m personally working on Bazel rules and contributions to lib/Syntax. If you find that exciting, please get in touch! :)

Thank God. Otherwise this seemed like a very Microsoft/Java strategy.

I also worried having two different languages -- Google Swift and Apple Swift.

Maybe you should have tried to find out what this is about before posting it with a completely made up title?

It's not a "made up title", Google did in fact fork Swift on GitHub. That doesn't mean anything in an of itself, thousands of people/organizations have also done so, but it's mildly interesting since it's Google, and because it was posted here, we now know why.

Don't see a problem.

The problem is that "fork" means two different things at this point. Compare "FFmpeg developers fork FFmpeg" in the sense of "...and create libav" and in the sense of "...so they can submit pull requests." One is extremely newsworthy, one is extremely not. If you're posting something to HN, it's a reasonable assumption that readers will think you're posting a newsworthy thing as opposed to not.

How do you know the intention of a fork without their own explanation? It was unknown at the point of posting, and posting title is still technically valid.

This posting let you know their intention. Isn't it newsworthy?

"Google employees are contributing to another project" is not newsworthy, no. Neither is them creating a github fork unless you have evidence that they do not intend to use the fork for the main reason people create GitHub forks: contributing.

Made-up title? Github says "google/swift forked from apple/swift". Is that wrong?

Yes, just like putting 'President nukes turkey' would be silly thing to put in a newspaper if the president warmed up some turkey in a microwave.

I see your point. Thank you for your opinion, and I don't agree. Please see https://news.ycombinator.com/item?id=15701539 for why.

No, that doesn't make sense. You didn't think they merely made a github clone - as you yourself said above, you thought Google was going to make their own version of the language. You posted suggesting that they are. But it wasn't true. People working at Google had to correct you. Other users flagged your post into oblivion. Those thing wouldn't have happened if the title wasn't wildly inaccurate. You should have tried to find out if it was, instead of posting an inaccurate thing on HN.

Well, I'm gonna make some excuses and questions.

- I was worried about Google's intention, but I didn't claim one.

- I chose the word "fork" because it was what actually happen. I tried to be dry as much as possible to deliver just a fact. Making people confused was not my intention. Anyway, I'm sorry for that confusion.

- I didn't think the word "fork" is abusive or bad wording at the point of posting. I simply forgot the other meaning of "fork" at the point of posting. Now I remembered how it's different.

- Now I agree that the word "fork" could make you (and many other people) confused. I'm sorry.

- If the wording "fork" made you confused, I think you also need to blame Github for why they didn't use the word "clone" on their website.

- I blame Github because this is major reason of why I forgot the other meaning of "fork" nowadays.

- You are telling me to find out before posting this to here, but how? At the point of posting, there was literally no one was discussing on this. No one around me could explain Google's intention. I googled, and there was no result. If you know a good place to ask, please let me know. I'd love it.

- Google engineers came and explained their intention. IMO, this posting ended up in the best way it could.

or Webkit/Blink.

But good that they explained. Forking is a common strategy on Github, if one has no write access, to submit a pull request.

Or like a very Google/Java strategy

Why fork it then? Why just not use the existing process?

Because forking IS the process on GitHub. People and teams with no write access to the main repo can fork it and submit a pull request.

In my experience.

In general, corps only fork a repo when they want end users to use their repo.

In the case of development by corp's developers, they just generally fork it themselves and submit PRs from their accounts.

so I can see the confusion.

I do not think this is the process. You should raise proposal to swift community and if it gets accepted you start working on it.

Not other way around. You create fork and try to push and if they does not agree with you. You will say ok we are having our own fork.

From the heading I misunderstood google has forked the swift. I was little bit hurt, google always do same thing like they took WebKit and forked it and made it own version of browser instead of contributing back to webkit.

Facebook people also contribute to Swift but Facebook has no fork in their repository instead the person who contributes have in their own repo.

I have read somewhere steve jobs was very unhappy with this event and that is the reason they make their technologies close.

Swift is hard work of lot of people and Swift community, I really love the openness it brings in Apple. These types of incidents make them to rethink their decision and let developers like us to not involve in their choices.

Chris Lattner has done wonderful job to make community like this and if google misuse and made their own language out of hard work of swift community I do not think it is good for any of us.

I read google have not forked so I take my comment back as I cannot delete it.

Thanks HN

Ish thats the point of open source. Its not misusing a project to fork it and build something new off of it. WebKit itself was originally a fork.

This is being used as a staging place for putting patches so they can be turned into pull requests, nothing more. Sorry to bust any conspiracy theories.

(You can see this happens on >100 of the swift forks :P)

parent's HN bio:

> I run all the production and cloud programming language teams at Google, and am also an open source lawyer.

Those words are pretty literal, actually. Which means I don't own Swift at Google, i just know what they are doing because i approved it another capacity :)




Thanks for response. Just curious - seems you saw this and replied in about 20 minutes of the post. Impressive speed. I know about google alerts etc and hacker news is popular, but curious how exactly you found this post so quickly? Someone saw it and pinged you or some automatic way?

People have a tendency to ping me either about languages or open source stuff, especially when it seems a bit off the rails.

So basically either legal problems or go generics. It's a fun life.

Thanks for the reply - having a good network definitely helps in these situations. Thanks for the openness and honesty

This still leaves open speculation for why Google developers are working on Swift.

Because Google devs write iOS apps, presumably in Swift, and want to contribute to the development of the language they use?

Seems like the simplest explanation to me.

I guess that's true, so i'll be explicit about that too: These Google developers are working on Swift because they are part of a team that supports internal-facing IOS tooling.

(there really is nothing down this rabbit hole, FWIW)

Oh, that's way less exciting than what I was thinking. Thank you Mr. Bee for that bubble burst.

One thing to realize, if you don't already, is that we have come to accept that everyone notices everything we do on github at this point (and further, we assume that people look to see what googlers are doing outside the google org as well, and that pretty much everything placed on github will leak, and ...)

If we were trying to keep something major under wraps, this would be an exceptionally bad way of achieving that.

The public docs we have even show that we discourage private github repos for various reasons. Our general internal answer would be "don't stage it on github at all unless you are willing to see it leak"

... because they also write ios apps?

Google corporate policy, to the best of my knowledge (I do not and have never worked for Google but I asked lots of questions when evaluating an offer), is that it's significantly easier to let Google retain copyright on your open source work, and if it's on GitHub you have to host your repo at github.com/google if Google retains copyright.

("Forks" with no code changes ending up at the top of HN, as if they signaled a major shift in corpprate strategy, are an excellent example of why I think this is a bad policy. For all we know some Google employee PR'd a typo fix they noticed one weekend and has since deleted the branch.)

Google's policies are actually mostly open too, so you don't have to guess :) (they are linked from the open source page).

They are now a bit out of date, a few things have been simplified/relaxed (generally, the goal is as little process as possible).

Then again, people also like to super-duper parse the words in the docs, which are not really written to be parsed that way.

Anyone else think it’s dumb that you have to fork a repository just to submit a pull request? Why doesn’t GitHub let you do it in one command like ‘git push origin master:refs/pull/new’?

> This branch is 48 commits behind apple:master.

Meh, looks more like a mirror.

May even have been accidental. Do you know how they decide what lands under Github's google/ umbrella?

Perhaps this is the start of moving Android Apps to Swift.

Which, per rumor was considered last year:

"About the time Swift was going open source, representatives for three major brands — Google, Facebook and Uber — were at a meeting in London discussing the new language. Sources tell The Next Web that Google is considering making Swift a “first class” language for Android"


If I were Google I would just invest into the native, LLVM-backed Kotlin thing. I guess the advantage of Swift would be using 1 lang for 2 platforms but at the end of the day the APIs are different enough that idk if it would matter.

As mentioned above, this fork is for staging patches written by some folks that are part of an internal-facing IOS tooling team.

Nothing more. They aren't related to or even located organizationally anywhere near Android.

That would be great news. Unification of mobile programming language.

That would be great for developers like you and me -- after all, our skills are most valuable when they are portable. How much more can we get done if we don't have to support multiple platforms?

However, the interests of vendors are diametrically opposed to our interests as developers -- it is all about vendor lockin, and making it as hard as possible for us to support competing platforms.

I understand the theory, but in practice this means if you want to implement a competing platform... you just need to write a Swift target!

Much easier for developers to go check out your platform.

More unification would likely also mean better abstraction layers across platforms, meaning that competing platforms could rely on those abstraction layers.

Think about how nice it is that most devices out there are running at least a flavor of Unix. You have a base-level expectation of how things can be integrated. There are of course differences, but generally if you write your stuff in a certain way you can use it almost everywhere!

And for those who don't want to work on Unix, all you need is a compatability layer to bring over some useful tools. Just get that C compiler up and running and you get a lot of stuff too!

The reason this is different from other forms of platform lock-in is that ultimately things like programming languages don't cover the full stack, so there are "obvious" places where you can swap either your language, the stuff underneath, or the stuff above it.

React is good enough for most of the mobile projects out there.

Hint: its none of the ones you use.

React Native hasn't lost its PATENTS file yet, so no other large company would bank heavily on it.

yeah but we're not talking large companies

maybe 'was'? kotlin is the official google's recommendation for android now... (and kotlin can have multiple 'backends' -- e.g. build-to-java / native / web / etc)

Kotlin could just be a stopgap, though. It’s still a JVM language so it’s an easier migration, and from what little I’ve seen it doesn’t add very much other than syntactic sugar for null checks.

I doubt Kotlin is a stop-gap measure, and it does a lot more than just give syntactic sugar for null checks. As the comment above you mentioned it's not only JVM, it has a JS backend and a fully native one which is developing very rapidly. Kotlin and Swift have a very significant overlap in language features, and with how strong the Kotlin community is, I don't see it going anywhere anytime soon. In fact, I would sooner see multiplatform development embracing Kotlin over Swift, given how well it's progressing. Kotlin native hasn't even reached 1.0 yet, and they already made a very convincing showcase of how it can be used to develop server backend + frontend + android + iOS with significant code reuse, and not having to constantly switch language contexts: https://github.com/JetBrains/kotlinconf-app

Can we change the title to “google forked the swift GitHub repo” or somesuch? The current one is rather misleading!

Can we change the title to "google prepares a nothingburger"?


Swift at Google has enough folks working on it that we need a staging ground/integration point, and we decided it should be public.

I don't know much about Swift. Has anyone written in it something they can demo? Can it write gui and web apps? What's the biggest problem it solves and how do you like the language?

There are some 1500 people in the Google organization, so presumably just one of them pressed fork and selected the org accidentally. GitHubs UI makes this super easy.

Great news. Now if they can just make it an option on Android and Chrome and someone builds a front end and a back end framework we’re home free.

If Chris Lattner (Swift Creator) is behind this. I am more than ok, else I do not think this is the process. You should raise proposal to swift community and if it gets accepted you start working on it. Not other way around. You create fork and try to push and if they does not agree with you. You will say ok we are having our own fork. reply

Should change the title to "Google has a fork of Swift"

Does it feel differently? "fork" as a noun and a verb?

No offense, just a question. Because I'm not a native English speaker.

May I know why it's flagged? @Dan or some other person

Google has not in fact, forked Swift. So there's no news here, just FUD.

Maybe for work on their own iOS products? Strange.

Can they make a MR to fix the terrible syntax?

how is this news ... hey look software was forked on github today!

What does this mean in terms of their adoption / integration of the language?

I only remember reading a small tidbit about this last year:


"Google is said to be considering Swift as a ‘first class’ language for Android"

"About the time Swift was going open source, representatives for three major brands — Google, Facebook and Uber — were at a meeting in London discussing the new language. Sources tell The Next Web that Google is considering making Swift a “first class” language for Android"

They integrated Kotlin with the very recent 3.0 version of Android Studio.

Why is this flagged?

I guess that title is little controversial. For people unfamiliar with GitHub process it may sound like Google prepares their own version of Swift (which is not a case as explained in the top comment).

What the fork!

oh ho ho ho ho

I will really kill google if he messes with my favourite language :(.

Sorry for this language but I do not want it to be at google home.

You guys do not respect others.

Registration is open for Startup School 2019. Classes start July 22nd.

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