Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

My company has a very broad range of products and there are a few that are not strategic to us so I wanted to open source them (so we can focus on what makes us unique and open source the products that every firm has).

Our industry(hedgefund) does not open source(we would be the first firm to try this) and the feedback I'm getting from my management team is either 1) we'll destroy the industry or 2) all competitive commercial firms will unite against us and we'll be wiped out either way. It's a big battle in my firm right now between the IT people who have seen the positive effects of sharing and the business people who think we'll be giving up everything (they prefer we sell parts we want to opensource, but in their defense this is standard when divesting something).

So what are your thoughts? Does open sourcing apply generally or is it only really applicable to software? Is it overall good for people in the industry and outside? I'm actually more interested in the negativeness effects(although positive are welcomed as well)

Update: Long story short, although code is involved this is not so much about code as it is more about the idea of open sourcing.

We are a mid sized quant hedge fund. We have some unique strategies but also have the standard long/short, arbitrage, global macro, etc.. funds.

We are keeping the unique funds we have but the other stuff that everyone else has we are considering open sourcing (We have put in years of work & millions of dollars into. Our funds is pretty popular and our performance is either in first or second quartile so I suspect there will be interest from firms in or thinking of getting into the industry but I don't know to what extent).

The goal is not to get a community to work for us, the goal is to let anyone who wants to tinker with it do so and create anything they want (it will not be part of our product line although I may unofficially allocate some our of staff's time to assist any community that grows). Although the code base is quite large, the value in this is the industry knowledge and approaches we have acquired (there are many books on artificial intelligence and quant trading but they are often years behind what's really going on as most firms forbid their staff from discussing what they are doing). Long story short, there maybe value here for people or not but I'm approaching open sourcing as a way to benefit the general public while we divest a product line up. But the flip side, is this is a core product to many other firms and they won't be happy(I think about linux/windows, wikipedia/britannica, google maps/commercial map firms, and so on). I'm fine with people disliking me but I'd rather it not be for unindented consequences and this question is to try to understand what those consequences generally are on industries that get core areas open sourced. For example, its hard to judge what part of the OS market grew because of Linux or was naturally growing on its own and so on. Technology has such fast grow and I'm struggling to understand how open sourced impacted it(and if it was positive or not. I.e. one of our large competitors has very large grants to top universities which obviously helps the schools, would open source limit the need for things like that?).

I understand this can seem very specific to me but I'm trying to understand general impact of open sourcing and software seemed like a good place to learn.

share|improve this question
2  
This question might fall into the categories of "freelancing and business concerns" or "software licensing." However, to make the question answerable, please provide additional background regarding the industry and what the product lines are that might be open sourced. It would help if you could list the OSS licenses / models being considered. And please note that "open source" != "out source"; they're completely different terms. At the moment, this question is too vague for anyone to be able to provide a meaningful answer. –  GlenH7 Jun 18 '12 at 17:20
2  
Consider showing them what has happened with WiX when Microsoft open sourced it. –  user1249 Jun 18 '12 at 18:01
    
Thanks I'll look up that example. @GlenH7 I updated the question to hopefully shed some more light. –  Lostsoul Jun 18 '12 at 18:06
    
Thanks for the update - the specificity provides enough context to generate some answers. I have some thoughts, and will put in an answer this afternoon. –  GlenH7 Jun 18 '12 at 18:14
1  
This question is being discussed on our meta discussion site. –  user8 Jun 18 '12 at 21:20
show 5 more comments

3 Answers 3

up vote 15 down vote accepted

There's a good possiblity that your firm could significantly change financial market making by releasing the source code. Having mulled through the idea, I have to agree that the pros outweigh the cons.

For what it's worth, I'm fairly familar with market structure. I interviewed with an exchange to join their IT staff. It wasn't a good fit and I didn't join them. But I think I understand the ramifications of what you're proposing.

Educational tool
There is a dearth of available programming talent in financial services. In my opinion, one of the biggest barriers to entry is (lack of) subject matter knowledge. There are few, if any, reference frameworks, and as you note, academia can't teach about information that isn't accessible.

I think there are a number of professors who could utilize the information and concepts instantiated by the source code. Theory is one thing; but having a concrete example is quite another.

Your firm's past results will be poured over by academics and competitors alike to determine what impact the flaws in the model(s) could have had on your returns. Disclaimer: all models have flaws, so that's not a critique by any means.

Driver for growth
There are a number of solid, successful open-source projects that have driven dramatic growth in the industry. Eclipse, Linux, and Apache are just three examples.

You described the projects you're releasing as being low-end, borderline commodity. Releasing them will absolutely push those areas into commodity land. That's not necessarily bad, as it enables many more people to participate. It also allows for untold innovation. It's impossible to predict what can happen when outside viewpoints are allowed to pick up the pieces and put them back together again.

Technology disrupter
On the negative side, this can be a serious technology disrupter like Linux, cell phones, digital media, etc. Whenever you open up a previously locked-down environment with a high barrier to entry, there is no telling what can or will occur. Some folks will end up losing jobs as the industry adapts to the game changers that could come out of this. Some would turn around and argue that this will introduce greater efficiencies and the ends justify the means.

Without being too dramatic, this is kind of like dropping a grenade in some of your competitors' laps. Effectively, you are forcing them to adapt to using more sophisticated models and to exit the soon-to-be completely commmodity environments they were working within.

Market Transparency
Given some of the recent SEC comments and public (mis)information about trading activity and dark pools, this may provide your company more attention than it was expecting. Some of it will be good. Some of it will be bad. Either way, it is something to consider.

Reference framework / Community
I would encourage you to allocate some staff time in order to document the projects and be available for follow-up questions. Dumping a large blob of otherwise opaque code into the ether will simply be an exercise in bit shuttling. If you provide a roadmap so people can understand the code base, then they'll have a means to dig in and start working with it.

Adoption rates and end-impact are difficult, if not impossible, to predict due to the number of variables involved. In almost all cases, though, the game changers started out small and grew incrementally. All the variants of Linux grew out of alpha geeks swapping stacks of 3.5" floppies or the occasionally revered burnt CD. Accessibility is a key aspect, and it's crucial to have folk available who understand the codebase.

To take things a step further, you could reach out to counterparts in other firms to see if they are considering a similar thing. Putting together a consortium, a.k.a. what is now the Apache Foundation, is one way of gaining critical mass. Another approach would be to generate tutorials, a la CodeAcademy, and run a minor public relations campaign in order to advertise it. These methods would help push the likely outcome into positive territory, but going into details would go beyond the scope of the original question.

To summarize the negatives:
- This can really disrupt the patterns that many have fallen into.
- Doing so will anger some of your competitors, who will malign you.
- You'll also pick up some negative press based upon misunderstandings of how the code and / or the market worked.

I would encourage you to use a GPLv3 license for this release precisely because of the viral nature of the license. Future modifications that are distributed must have their source released, which will in turn help grow any sort of community that may come from this.

To reframe this with your peers:
- This will make you look good in the eyes of the SEC (U.S. Securities and Exchange Commission) since you are trying to foster a level playing field.
- This code is a sunk cost that is no longer profitable for you. The long term benefits of improving available programming talent in the market are incalculable.
- This will encourage greater market efficiency, which is what we're all supposed to aspire to, since it gets us closer to correct valuation for equities.

share|improve this answer
5  
A viral license such as GPL is not necessary to ensure that future modifications to the code must have their source released. If that's what you want, publish it under MPL instead. GPL's viral nature means that anything else that touches this code in any way must also have its source released. It's not about protecting the code in question, it's about pushing an anti-proprietary-code ideology. –  Mason Wheeler Jun 18 '12 at 23:33
1  
@MasonWheeler - you make a good point, and there is a fair amount to consider when picking a license. I recommended the viral component in order to ward off "theft" of the code base without a return back to the community. Normally, GPL is not my first choice. However, the non-technical factors involved made the viral component attractive. For the "greater good" that I believe the OP is striving for, the anti-proprietary-code ideology actually has some benefits in this case. The ideas that would be made Free would benefit from the protections of the GPL. –  GlenH7 Jun 19 '12 at 14:16
2  
@Lostsoul If you want to enable others to make a company / LoB, then definitely do not go with the GPL. There are many other licenses better suited for that. MPL as Mason pointed out is one. BSD, Eclipse, IBM, Apache, and countless others also have licenses to consider in this case. –  GlenH7 Jun 19 '12 at 21:44
1  
Thank you for your great answer and advice so far. You really have a excellent grasp of the question, industry and impacts. I don't think people outside of software understand the shift that open source caused. Thank you Glen for taking time to answer this. –  Lostsoul Jun 19 '12 at 22:01
1  
Also, the marketing impact of having your company's name attached to THE standard software tool used by all serious players in your industry (if/when that happens) would be immense. –  Matt Gibson Jun 29 '12 at 13:24
show 3 more comments

I think it's probably a bad idea to open-source anything that gives you a competitive edge. What would the advantage be to open-sourcing your code? You seem to say that the advantage would be:

so we can focus on what makes us unique and open source the products that every firm has.

It sounds like you're not planning to open-source your flagship product, but maybe some small utilities that ship with it, with the hope that the community will pick up the maintenance slack so your company can focus on the core product. That seems risky, if the community you hope for never materialises. Are these potential targets of open-sourcing potentially useful to other industries and users from other backgrounds? Do you really think it likely that random hackers will pick them up and improve them?


In response to your update: It sounds like the code you might open-source is very niche. How will you generate interest in it? How will you get people to tinker with it? If you just dump it on github or sourceforge and say "have fun!" who will find it, and how will they find it and why will they download it? The marketing side of this idea I think needs some work.

Maybe you should open-source some of it and market it to the students you want to hire later. Send some demo kits to professors so they can have their class use your software for their projects.

This will involve work though, someone will have to put together the kits for students, build the community website, monitor forums and answer questions, etc... Does your company have any interest in paying for all that? It could be a big benefit, but then again, maybe not...

share|improve this answer
    
Thanks for the great answer. I updated the question to provide some more info about my firm but to some of your points I don't plan to return to this product so a community materializing or improvements to the product won't directly impact us(other than our staff learning from others forks so they can do their job better, and us being able to identify talent thats outside our industry. We only recuit from competitors and top schools in Chicago/NYC, this may allow us to find people outside those cities). –  Lostsoul Jun 18 '12 at 18:13
    
@Lostsoul: I've updated in response to your updates. –  FrustratedWithFormsDesigner Jun 18 '12 at 18:18
1  
Another excellent answer, about whether it serves any purpose to open source the code. Very nice to see an outline of how to do it effectively e.g. demo kits to professors, website, forum support. That is not excessive for a company to fund, if they decide to choose this path. –  Feral Oink Jun 29 '12 at 8:01
add comment

Let me add my 2 cents on what @FrustratedWithFormsDesign said.

To get your company to do anything you have to do something to quantify the impact/benefit. No amount of talk or feeling or emotional outbursts (or frustration) will help in any way.

Use the 5-Why's technique to nail down the 'end-benefit' of actually open-sourcing the project. (You may need to ask more than 5 :) Now, you may land up with more than 1 end-goal, of course - since you can branch off on any answer and keep asking 'Why' (i.e. you may get a graph of causally linked goals and not just a linear tree).

See if you can quantify the goals as value gained to organization - if you think it's hard to measure I suggest reading "How to Measure Anything - Doug Hubbard" Now this should be used as your 'weapon of choice' for taking it to the higher management showing them the 'value' of open-sourcing. Unless the numbers are believable (along with risks factored in!) they won't even bother looking at it.

If they find something worthy of interest, they will spend some time to look into it further. Unless it aligns with their strategic interests and is value adding they WON'T look at it (or rather won't bother looking at it).

Hope this helps.

PS: You may also want to look up Business Model Canvas as an alternate means of communicating the same.

share|improve this answer
    
Up vote based on your words alone. I'm not criticizing your choice of linked references. That was a good thing to do, an extra effort that some will appreciate. But what you said, about making a convincing case, and quantifying it for upper management, is consistent with what I've observed to be effective. They never seem to care about frustration, outbursts, just sit through it without any discernible response (except maybe something negative that I don't realize). Addressing the issues you mentioned is necessary, regardless of any other context-specific considerations. –  Feral Oink Jun 29 '12 at 7:52
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.