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"
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.
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
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.
"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"
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.)
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.
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)
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 :)
> Which means I don't own Swift at Google, i just know what they are doing because i approved it another capacity :)
Are you sure you didn't mean ";)" there?
> I run all the production and cloud programming language teams at Google, and am also an open source lawyer.
Smiley-face to you as well, friend. You get paid well into six figures to do this, while I just try to figure out how you're screwing me on evenings and weekends. I don't pretend to understand the technicalities of what you're typing, but I suspect that I will lose.
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)
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"
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?
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! :)
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.
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.
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.
- 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.
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.
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’?
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?
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
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).
77 comments
[ 3.1 ms ] story [ 144 ms ] threadWhich, 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"
https://thenextweb.com/dd/2016/04/07/google-facebook-uber-sw...
Hint: its none of the ones you use.
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.
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.
Nothing more. They aren't related to or even located organizationally anywhere near Android.
https://thenextweb.com/dd/2016/04/07/google-facebook-uber-sw...
"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"
Meh, looks more like a mirror.
May even have been accidental. Do you know how they decide what lands under Github's google/ umbrella?
("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.)
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.
(You can see this happens on >100 of the swift forks :P)
> I run all the production and cloud programming language teams at Google, and am also an open source lawyer.
Are you sure you didn't mean ";)" there?
> I run all the production and cloud programming language teams at Google, and am also an open source lawyer.
Smiley-face to you as well, friend. You get paid well into six figures to do this, while I just try to figure out how you're screwing me on evenings and weekends. I don't pretend to understand the technicalities of what you're typing, but I suspect that I will lose.
Seems like the simplest explanation to me.
(there really is nothing down this rabbit hole, FWIW)
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"
So basically either legal problems or go generics. It's a fun life.
(I’m personally working on Bazel rules and contributions to lib/Syntax. If you find that exciting, please get in touch! :)
Don't see a problem.
This posting let you know their intention. Isn't it newsworthy?
- 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.
But good that they explained. Forking is a common strategy on Github, if one has no write access, to submit a pull request.
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.
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.
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
No offense, just a question. Because I'm not a native English speaker.
Sorry for this language but I do not want it to be at google home.
You guys do not respect others.
Swift at Google has enough folks working on it that we need a staging ground/integration point, and we decided it should be public.