On Releasing Your Company's Software as Open Source
itworld.com
itworld.com
Here is the abstract:
- it will take some effort to release an in house package to the community
- you may have to get approval from legal and that is no fun way to spend an afternoon
If that hasn't discouraged you from this path of folly then:
- you may have to do some cleanup work before a release
- If you should decide against all odds that 'Yes' you do want to release your in house code you must be a bit of 'arrogant', after all who are you to think that others will value your code.
Really, I find the tone of this article hard to stomach.
Not a single positive aspect of releasing your code as open source is high-lit, not even for contrast purposes.
Let's have some balance here:
Releasing corporate open source is great because:
- you will potentially have a lot more eyes looking through your source code, fixing bugs and cleaning things
- you may find that some of the contributions parallel your own in house needs effectively reducing your own development cost
- if you should decide you want to 'clean up' your code before releasing it you are likely to end up with better abstraction, in fact, you should probably have worked along those lines all the time.
- if you take from the open source community (the example is in house extensions to a framework) and you think there might be a general use case for that code then it won't cost you a lot to put it out there, not compared to the time you originally saved by basing your code on open source development in the first place. Take a lot, give back a little seems to be a pretty good deal.
A policy is made before the work starts, not at the time you think you may want to open source something (though that probably will happen plenty of times). It's a great way to be confronted with the need for such a policy though.
To use the fact that you need approval from legal as a reason to forego open sourcing anything is nonsense.
You need approval from legal for any kind of action that you do on behalf of the company you work for that interacts with the outside world, including opening up source code.
If only to make sure you do not inadvertently expose the company to a liability or give your competitors access to the software that gives you an edge.
Nobody ever suggested that would be a good idea.
Even google doesn't do that, ask them to release their GFS implementation and we'll see what comes back.
Yes -- the policy we have is roughly:
MIT/BSD/Apache: OK for any purpose -- Note the license requirements in the project's top-level LICENSE file.
LGPL - Only as a library, and only for non-statically-linked projects.
GPL/MPL/Copyleft - Only for system utilities, not to be integrated into any existing code base under any circumstances. We'll still contribute GPL licensed code back to projects.
On the flip side, the side-effect of this policy is that we rarely contribute anything back to GPL projects, but quite often contribute changes back BSD/MIT/etc licensed projects.
There's an interesting datapoint. I wonder if that's a common thing or not. It definitely might be.
Your policy makes perfect sense by the way. I don't know how large a group that policy applies to but I can imagine that if the group is large enough that you will have to have periodical refreshers on it and that people are required to sign off (or check a box) on having followed that policy before their code is accepted into 'trunk', just to reinforce it.
Same with new hires.
How about Automattic, Inc., the folks behind Wordpress? But maybe one can define what they do as "support and maintenance".
Or IBM, they sell hardware, (among other things) but with open-source operating systems on it. They contribute to the development of this software.
We, Akvo Foundation, also release open-source code of our products but may not qualify in your normal definition of "business". http://akvo.org/
Akvo is a non-profit foundation, but one which has as one of its goals to be able to self sustainable on the charges for running some of our services. We are what some people call a "social enterprise".
So some of the main differences between us and a "standard" company is:
- some of our investors don't expect to get paid back in money, but rather in increased efficiency / improvements / new ways of doing business, within the sector we are working in, water and sanitation development aid (we also have investors who expect some ROI in the form of cash).
- we can't turn a profit, but neither should we run at a loss.
As hackers with an entrepreneurial mindset, we might face the question of whether or not to open-source some of our work. The question is: when we make that decision, which hat are we wearing?
http://en.wikipedia.org/wiki/Scorched_earth
In other words, you can undermine your competitors by having a free version. An open source version takes this one step further.