41 ms·
Didn't see this coming: The Goldman Sachs Github Account
- jasonhitchcock 14y agoanecdote (no facts): I ran into some GS folks at the X.Commerce conference last year in SF and they said that engineers comprised their largest employee category. They said that they have built proprietary versions of a lot of really basic software (like email clients, office suites, etc...) purely out of security concerns and the fact that they have more money than god.
- fatjokes 14y agoWhy 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 14y agoWhy choose?
- sliverstorm 14y agoI believe GPLv2 has a clause against kicking puppies
- mkopinsky 14y agoDouglas Crockford puts an anti-puppy-kicking clause in his OS licenses. www.json.org/license.html
- dmoy 14y agoI 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 14y agoIt 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.
- rmc 14y agoThat sort of licence is not "Open Source" nor "Free Software", since it does not allow Freedom 0 (the freedom to run the programme for any reason) nor OSD № 6 "No Discrimination Against Fields of Endeavor". (http://www.gnu.org/philosophy/free-sw.html http://www.gnu.org/philosophy/free-sw.html and http://www.opensource.org/osd.html http://www.opensource.org/osd.html) It might be nice to have a chuckle about "do no evil" in a copyright licence, but that's a massive loophole that the original author could use to stop almost anyone from using their software.
- nullspace 14y agoNot to troll here, but in all honesty I thought GS was the kind of company which would prefer to spend money kicking puppies, than open sourcing a library they wrote. ;) This will surely earn them some cred from the programming community.
- mcot2 14y agoAny java guru think this is good stuff? Just curious. I moved on form java years ago.
- edwinnathaniel 14y agoTook 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.
- arcdrag 14y agoThe examples they give seem to be pretty much standard functionality of the Guava Collections2 class. With Guava quickly becoming one of those standard libraries that just gets automatically added to virtually every new project, I don't see much reason to use this.
- eropple 14y agoGS 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.
- nvarsj 14y agoNot to take away from the act of open sourcing it, but I think Google's guava library is a lot more polished. But I expect Google has spent a heck of a lot more manhours on their library.
- chrisaycock 14y agoFrom 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.
- deleted 14y ago[deleted]
- chrishenn 14y ago“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.
- tar 14y agoWhat about people finding issues with their code: https://github.com/goldmansachs/gs-collections/issues/2 https://github.com/goldmansachs/gs-collections/issues/2 ?
- nemanja-mit 14y agoIt'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 14y agoI 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-sachs-proprietary-programming-language http://stackoverflow.com/questions/3392636/slang-goldman-sac... . 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).
- DodgyEggplant 14y agoAhh, 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-facebook-ipo-2012-5 http://www.businessinsider.com/morgan-stanley-goldman-sachs-...
- creamyhorror 14y agoInteresting article. There's something wrong with the interface for me (it doesn't pagedown properly), though.
- jlarocco 14y ago... 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.
- koko775 14y agoWhy? It's pretty good, all things considered.
- laluser 14y agoYou don't have to be so explicit: import com.gs.collections.impl.*; Just out of curiosity, how are imports done in your language of choice?
- jabr 14y agoI can't speak for jlarocco, but my concern is not directly the import statements, but rather, what those import statements imply. That repo has 1,290 files. Excluding file pathnames containing 'test', there are 601 files. Of those, 430 are .java files. Java is complicit in that crime, but Enterprise Java is the bigger culprit. The library makes doing a map on an array cleaner for me, but behind the scenes it is using a dozen "factories", a bunch of "builders", several "strategies", and a handful of "visitors", "bridges", and "proxies". And guilt by association is valid here. We bleed over whether semicolons are needed in some languages, but Java is off limits for needing 10-fold more boilerplate code for something most languages handle out of the box?
- jrockway 14y agoThis has nothing to do with Java. I thought the same thing until I started working for Google. There, I saw correctly designed APIs that are pleasant to use, all while still being standard Java. As an example, with Google's collection library (Guava), you might create a set like: import com.google.common.collect.ImmutableSet; ImmutableSet<Foo> foos = ImmutableSet.of(bar, baz, quux); This is simple syntax for a simple operation, which is the point of libraries. (Goldman also has a lot of mutable data structures. I don't think I've used or created a mutable data structure at Google ever :)
- tar 14y agoThis 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.
- babarock 14y agoI'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 14y agoIn the same boat as you are. The bank that I work for is outsourcing very heavily to India and East Europe.
- thisisstupid 14y agoI'm about to accept a job at a large investment bank. Any advice? (yes, it is GS)
- factorizer 14y agoso you have two reasons to leave?
- adviceonly 14y agoWhy 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 14y agoI don't think languages, large organisations, and backwards compatibility work in the way that you imagine.
- arcdrag 14y agoJava 8 is still probably a minimum of a year or 2 off. After that, it will go through another year or two of testing before any big corporation will dare even bother touching it. After that, it might start being used for new apps, but it will be another 2-3 years before it has widespread adoption. On the flipside, what they've done isn't exactly groundbreaking, and could be used with Java 6.
- kevinpet 14y agoThey don't want lambda just because they want lambda. They want function collections with filters and transformations, and you can't have that without lambda. When Java 8 lambda syntax arrives, it will be compatible with this and Guava. They also likely have no interest in using JRuby because it isn't statically type safe and therefore adds another category of things that can go wrong at run time that is completely unnecessary to test for when using Java with Generics.
- gringomorcego 14y agoI 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 14y agoWho is he, and where can I read more about why he's a despicable fuck?
- Mithrandir 14y agoSearch "ulrich drepper arrogant" Seems he's has a bit of an attitude problem or something (or as LWN put it, "his blunt manner".) http://lwn.net/Articles/333755/ http://lwn.net/Articles/333755/ Edit: Here's an example (http://www.reddit.com/r/programming/comments/78ufa/ http://www.reddit.com/r/programming/comments/78ufa/) I'm surprised how many people hate him, although I can understand their frustration.
- jrockway 14y agoUlrich Drepper is the maintainer of glibc. He is sometimes terse and unhappy on mailing lists.
- jsprinkles 14y agoFormer maintainer of glibc. There was a vote in March which effectively removed him from power.
- fizx 14y ago
- 6ren 14y agoSoftware 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.
- joshu 14y agoHeh. Morgan Stanley open sourced Aplus a long time ago.
- eddie_the_head 14y agoHave 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 https://github.com/kevinlawler/kona
- joshu 14y agoNo. 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.
- f45s8g2 14y agoThere was someone on Kuro5hin some years ago who called k an Excel replacement. The more I use kona (which isn't very much), the more I believe he was right. It seems like a really nice little language. Much more agile than a "desktop spreadsheet program".
- nn2 14y agoIt has some nice features: parallel iteration and lazy iteration (return an iterator that is only evaluated when the values are needed)
- jrockway 14y agoIt's Guava, essentially.
- sparknlaunch12 14y agoThere are a few other brands on there, including Walmart and Amazon: https://github.com/walmartlabs https://github.com/walmartlabs http://www.readwriteweb.com/archives/walmartlabs_kosmix.php http://www.readwriteweb.com/archives/walmartlabs_kosmix.php https://github.com/amazonwebservices 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-should-large-financial-insurance-companies-use-git-and-or-github http://programmers.stackexchange.com/questions/61062/why-sho...
- user23409 14y agoWe 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 14y agoHow is that statement good PR or good for recruiting?
- nicholassmith 14y agoIt'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.
- satoimo 14y agoI'd be really impressed if they open sourced SecDB/Slang.
- thisisstupid 14y ago> I'd be really scared if they open sourced SecDB/Slang. FTFY
- lordmatty 14y agoI 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.
- deleted 14y ago[deleted]
- gaius 14y agoWhen 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 14y agoI 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_ 14y agoThere'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 14y agoI 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.
- Peteris 14y agoReminds me of the completely Open Source financial analytics company Open Gamma (http://www.opengamma.com http://www.opengamma.com). They also have a GitHub account with (in their own words) functional java code https://github.com/OpenGamma 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.
- ruediger 14y agoNo APL code? I'm disappointed!