
Didn't see this coming: The Goldman Sachs Github Account - haberdasher
https://github.com/goldmansachs
======
lordmatty
I can understand the reaction on this community to the news, and I'm sure that
there are elements of PR and recruitment strategy here, but I happen to know
that the primary driver is pretty sound; job satisfaction for top employees.

Goldmans has its share of top programmers and, like any company, is keen to
retain them. One of these people made contributing to Open Source a major goal
for last year.

Well done to him, and well done to GS for supporting him. The company
(rightly) gets a ton of bad press, but that doesn't mean it can't do good
things as well.

Disclaimer: I'm an ex GS employee, but have nothing to gain.

~~~
gaius
When I interviewed at GS last year, I was explicitly told that I would not be
able to go on working on open source (they had checked out both my blog and my
Github). This despite none of the technologies in my main project being in use
in the group I was interviewing with...

~~~
lordmatty
I guess it probably depends on the position/team. I wouldn't expect GS to open
source anything they consider a competitive advantage, but then I don't see
Google open sourcing their search algos either :-)

~~~
corin_
There's a difference between "you can't open source some/all of our code" and
"you can't work on unrelated open source projects in your free time".

~~~
lordmatty
I agree. I can't say I like standard practise of employers owning everything
their employees do whether in or out of work, or requiring that you stop
anything they don't own.

However, this is hardly something that is limited to Goldmans or financial
services. I'm pretty sure that Apple require you not to work on side projects,
for example.

We had a discussion regarding this at my company - Future Workshops - last
week, and decided that what people work on in their own time is their own
business, with the caveats that a) people don't work in conflict with any
clients, b) the IP is clearly separate, and c) it doesn't affect their day job
in a negative way.

~~~
gambler
Let's not call this a "standard" practice. In my experience, most companies do
no make claims to your off-the-hours projects. And that is how it should be.
Unless you're doing some cutting edge AI research or something of that sort,
this kind of legal claim is just paranoid stupidity. Even if you do cutting
edge AI research, it shouldn't entitle your employer to own a phpBB patch
you've done in your free time.

------
chrisaycock
From their FAQ:

    
    
      Why is Goldman Sachs open-sourcing GS Collections?
    

\- We believe that GS Collections offers a significant advantage over existing
solutions. We hope others will benefit from it.

\- We believe in the power of the technical community to help improve GS
Collections.

\- Technology is a huge part of what we do at Goldman Sachs. GS Collections
exemplifies our commitment to technology.

\- We use open source software in many of our operations. We have benefited
from the work of others and we'd like to give something back.

    
    
      Does Goldman Sachs use GS Collections?
    

\- Yes, we use GS Collections in many of our internal applications.

~~~
chrishenn
“We believe in the power of the technical community to help improve GS
Collections.”

They aren't accepting code contributions right now, so that doesn't make much
sense.

~~~
nemanja-mit
It's a recruiting tool, that's all. They want to be a bit open sourcey to
attract top talent. The broken unit test battery that comes with it is a job
interview tool.

~~~
vrepsys
I would guess this was initiated by IT employees (open sourcing the library
might make life easier for them, assuming someone outside the company
contributes) and approved by top managers (because it's good for recruitment
and makes their IT staff happier).

However I would doubt this will make a big difference when attracting top
talent. One important reason for that being (IMO) that the best IT people
prefer innovative technologies and GS uses a proprietary in-house programming
language and db for everything that's important. Some say their tech was
perhaps innovative 25 years ago
[http://stackoverflow.com/questions/3392636/slang-goldman-
sac...](http://stackoverflow.com/questions/3392636/slang-goldman-sachs-
proprietary-programming-language) .

Not to mention that if you work for GS you lock yourself in those in-house
techs. When I went to a job interview at GS and asked what the advantages of
using an in-house language and db were, I was told that it's very hard to hack
their systems, because no one else uses them (Not sure how valid this argument
actually is though).

------
fatjokes
Why not? It's a large corporation with many branches and technical needs, some
of which are harmless to open-source. Despite its reputation, I don't think
they go through their day thinking "hmm... we could open-source this, or we
could go kick a puppy instead! Muahahaha!"

~~~
jcdreads
Why choose?

~~~
sliverstorm
I believe GPLv2 has a clause against kicking puppies

~~~
mkopinsky
Douglas Crockford puts an anti-puppy-kicking clause in his OS licenses.

www.json.org/license.html

~~~
dmoy
I actually looked, there is no such clause :(

Well, to be specific, there is no clause that prevents you from kicking the
puppy yourself just for the hell of it. There is a clause that prevents you
from using 'the software' to kick a puppy, assuming 'kick a puppy' qualifies
as evil.

Also gullible is not written on my ceiling.

~~~
crumblan
It might be written on the bottom of your shoe, have you checked? :)

Sometimes I think I'd like to release under a "you cannot use software patents
in anger" license that restricts behavior outside of the software usage. But
that's probably too restrictive to catch on.

------
babarock
I'm not entirely surprised. A few months ago (a year and a half! wow!) GS
hired Ulrich Drepper, the longtime project lead of the GNU C library.

I also read another article (no way I can find it again now) saying how big
investment banks are hiring more and more software engineers.

Disclaimer: I work in IT for a large investment bank which's gradually
outsourcing all its IT department to south asian countries.

~~~
mnemosyne51
In the same boat as you are. The bank that I work for is outsourcing very
heavily to India and East Europe.

------
DodgyEggplant
Ahh, it's Henry Blodget fault. He argued that Goldman lost the FB IPO partly
because the other underwrites were semi geeks investment bankers,
[http://www.businessinsider.com/morgan-stanley-goldman-
sachs-...](http://www.businessinsider.com/morgan-stanley-goldman-sachs-
facebook-ipo-2012-5)

~~~
creamyhorror
Interesting article. There's something wrong with the interface for me (it
doesn't pagedown properly), though.

------
sparknlaunch12
There are a few other brands on there, including Walmart and Amazon:

<https://github.com/walmartlabs>

<http://www.readwriteweb.com/archives/walmartlabs_kosmix.php>

<https://github.com/amazonwebservices>

I can imagine Goldmans are using Github to acquire talent and new ideas. I am
sure they have some complex problems and technology that needs fixing.

Stack Exchange had a discussion on this last year:

[http://programmers.stackexchange.com/questions/61062/why-
sho...](http://programmers.stackexchange.com/questions/61062/why-should-large-
financial-insurance-companies-use-git-and-or-github)

~~~
tar
I don't think Amazon being on Github is really that surprising.

~~~
xxpor
It is if you work at Amazon ;)

------
jlarocco

      ...
      import com.gs.collections.impl.block.factory.Comparators;
      import com.gs.collections.impl.block.factory.Functions;
      import com.gs.collections.impl.block.procedure.CollectionAddProcedure;
      import com.gs.collections.impl.collection.mutable.AbstractCollectionAdapter;
      ...
    

Gees, I feel sorry for people still stuck using Java.

~~~
ecopoesis
Why? Because Java has good, built-in, worldwide namespacing that always works?
Or because Java has IDEs that pull in imports automatically so developers
don't have to think useless shit?

Or is it because you're fanboi who dislikes Java merely because it's Java and
choose any opportunity, not matter how inappropriate, to disparege it.

Java is by no means perfect, but let's at least pick on it for the things it
actually does poorly rather then just picking on it because it's no longer
considered cool.

~~~
runn1ng
I hate auto-generated code by IDEs.

It always produces stuff like... that.

~~~
jrockway
I never use an IDE to edit Java, and that's pretty much what it looks like. To
use a class in Java, you must import it first. To import it, you type "import
" and then the fully qualified name of the class. From there, you can use the
unqualified name.

It's basically like that in every other programming language, though others
are less opaque. In Perl, you get a variable called %:: that holds the symbol
table, and you can directly manipulate it. That lets you write something like
"use all" and use every CPAN module at once. In C, you can include arbitrary
source files at arbitrary places, making it possible to import every library
with one statement. But in both languages this is considered terrible
practice, with most style guides wanting one use or include statement for each
library. Exactly the same as Java.

If you were going to complain about the API, you might complain about the
"impl" in every import. That's a silly convention that wastes typing. (Also,
Google puts their collection classes in the "collect" namespace, saving a few
letters over calling it "collections" like Goldman.)

~~~
jordyhoyt
But, if you're using a modern IDE, removing impl or going from "collections"
to "collect" isn't saving anyone any time. Or, at least, it shouldn't be.

~~~
jrockway
Sure, but it's always nice when imports fit on a single line without wrapping.
Essential, no, but nice.

------
mcot2
Any java guru think this is good stuff? Just curious. I moved on form java
years ago.

~~~
edwinnathaniel
Took a quick look, GS Collection seems to be a similar library like Google
Guava; a nice functional library helper to perform operation against Java
collection.

~~~
eropple
GS Collections also seems to have new implementations of the basic Java
collections (implementations of List<T>, Set<T>, etc.). I haven't studied them
sufficiently to say whether I like them better, though.

At first glance I think I dig Guava's API a little more, but I haven't looked
closely enough to really have an opinion.

------
user23409
_We currently do all development in an internal Subversion repository and are
not prepared to take external contributions._

It's a PR and recruiting tool.

~~~
jrockway
How is that statement good PR or good for recruiting?

~~~
nicholassmith
It's not good for either, but if this was an attempt at open source 'out
reach' then they're kind of failing at delivering by not taking pull requests.
That leaves it being a weak attempt at PR/recruitment.

------
joshu
Heh. Morgan Stanley open sourced Aplus a long time ago.

~~~
eddie_the_head
Have you ever used it or any other APL? I'm currently getting familiar with K,
which is the language Whitney and the company he founded (Kx Systems) after he
left Morgan Stanley made, but from an open source implementation called Kona
by Kevin Lawler and Scott Vokes: <https://github.com/kevinlawler/kona>

~~~
joshu
No. I get the sense that Aplus was used by the Fixed Income division more. I
was in Equities; our wacky custom language was Perl.

I still have "font kaplgallant not found" nightmares from time to time.

------
Peteris
Reminds me of the completely Open Source financial analytics company Open
Gamma (<http://www.opengamma.com>). They also have a GitHub account with (in
their own words) functional java code <https://github.com/OpenGamma>.

This Java paradigm of "private final static" all over the place and its
ugliness is one of the prime reasons Rich Hickey considered creating Clojure.

------
nn2
It has some nice features: parallel iteration and lazy iteration (return an
iterator that is only evaluated when the values are needed)

------
6ren
Software is eating the world. But I really shouldn't be surprised as I am at
this one, since trading is well-known to be the most algorithmic math-geek
industry at present.

------
jrockway
It's Guava, essentially.

------
tar
This does not seem to be new. According to their profile they have had an
account since Dec 16, 2011. This might be the first time they have open
sourced anything though.

------
satoimo
I'd be really impressed if they open sourced SecDB/Slang.

------
ruediger
No APL code? I'm disappointed!

------
adviceonly
Why simulate Lambda? Couldn't they just have waited on Java 8? Or maybe just
used JRuby, if Java was a requirement? Still- it's great that they shared
this.

~~~
ZenPsycho
I don't think languages, large organisations, and backwards compatibility work
in the way that you imagine.

------
gringomorcego
I fucking hate goldman sachs.

Note because of politics. Not because of any financial action they've done.

Because they hired that despicable fuck Ulrich Drepper. Seriously, the amount
of nice, young people who were forever turned away from GNU/open source with a
bad taste in their mouths because of that scumbag dipshit.

I don't care if he was right % percentage of the time. The point of a project
is to welcome users, and if you can't do that, why the fuck are you
maintaining it?

I mean fuck, how many projects switched their libc implementation because of
that fuck? Fuck. Fuck that guy.

The worst part? I didn't even get something rejected by him. I've just read
enough of the communications with that guy to have his name seared into my
brain next to the part that produces bile.

~~~
timtamboy63
Who is he, and where can I read more about why he's a despicable fuck?

~~~
jrockway
Ulrich Drepper is the maintainer of glibc. He is sometimes terse and unhappy
on mailing lists.

~~~
jsprinkles
Former maintainer of glibc. There was a vote in March which effectively
removed him from power.

