Open source grew from the idea of software being written by a community of developers with similar needs. Those developers did not necessarily have any relationship with one another other than their overlapping needs. They found that building solutions to their individual problems as part of a community increased quality, expanded their individual understanding of the problem domain and the solution space and, in many cases, reduced the cost of development.
Open source licences were developed to protect the interests of the community by ensuring that the code would always be available to all community members, both current and future. The Open Source Initiative (OSI) came to be generally accepted as the authority on which licences could be considered as open source licences. However, the OSI only concerned itself with controls over the distribution and use of the source code, it id not consider how to protect the communities that managed that code.
As open source code has grown up, and as business models have begun to emerge that utilise open source code there has been an increasing number of companies that claim to be “open source companies”. Unfortunately, some of these companies take source code from the open source communities, but never contribute back. This is bad.
In Stuart Yeates’ recent blog here at OSS Watch he asks wether certain types of software packages that are released under an open source licence should be called open source. My own answer is the same as Randy Metcalfe’s and Tony’s (see comments on Stuart’s post). That answer is yes, as long as code is released under an OSI approved licence, and the conditions of that licence are met, then the software is open source.
However, I would like to ask a similar question, if a company releases its code under an open source licence, but does not generate a community around the development of that product is it an open source company?
Furthermore, I would like to ask, if a company does not release its code under an open source licence but it does use open source code in its products and it contributes resources and code back to the relevant project communities, is that company an open source company?
Finally, I would like to ask, if a company does not produce any software at all, but it uses open source software and contributes resources to the continued development of that software is it more of an open source company than those that simply leech from the community?
If you need some help in answering these questions then I recommend you read Garrett Rooney’s recent blog post “what makes an open source company?“
Another great question. Indeed a set of questions. And they are hard ones. I’m going to take a crack at answering them.
is a company that releases its code under an open source licence, but does not generate a community around the development of that product an open source company?
Oh, that’s hard. Half of me wants to say “yes”, and the other half “no”. Why is that? Maybe it is because it is clear that the code is open source, due to the licence. But it definitely falls down on any measure of “open development”. So if you aren’t merely equivocating between “open source” and “open development”, then I think it does count as an open source company. That, or you have to admit that we need this other term open development, in which case you are really asking a different question.
if a company does not release its code under an open source licence but it does use open source code in its products and it contributes resources and code back to the relevant project communities, is that company an open source company?
Another hard one. I’m not sure this one is well-phrased. What is the difference between “its code” and the code it is contributing to relevant open source project communities? I take it you mean there is some further code they are creating that is not that which is being contributed to those projects. Sounds like a mixed model. And my answer to this question is going to be mixed as well. On this one, I’d need to judge on a case by case basis.
if a company does not produce any software at all, but it uses open source software and contributes resources to the continued development of that software, is it more of an open source company than those that simply leech from the community?
“leech” is a rather emotive term that may be distracting me, so I’m going to try to ignore it. Your focus is on the difference between a company that provides resources to open source projects (but apparently not code itself), and one which does not. I might applaud the actions of the former, but I’m not certain there is a sharp distinction between these two (again setting aside your emotive use of “leech”). Both are companies based on open source software. Thus both effectively increase the profile of that software through their use of it, and that, we sometimes think, is in itself a contribution to that software project’s overall sustainability. But I wouldn’t want to be pressed too hard on that point – it seems a bit thin. So I think I’m going to stick with saying that both of these companies are dependent on open source software and thereby might minimally count as open source companies, but only the former (the one contributing resources) gains the extra label of being a good open source citizen. (I’m following the phrasing that is sometimes used in corporate governance language where a company might be describe as a good corporate citizen.)
Thanks also for the link to Garrett’s blog on this. An excellent read!
Perhaps the question ought to be: is there any such thing as an open source company?
We can have an open source project: one which releases its source code under an OSI licence. We can have an open development project: one which is open source and which has an open development process, ie it invites others to take part, allows others to contribute code, help text etc.
But an open source company? Does every piece of code it produces have to be open source: the accountant’s spreadsheet models? the developers’ timesheet calculator? Obviously not. And let’s face it, no-one is really interested in what a company is, but in what it does, and what it does that is useful to the user and development community will only relate to projects.
Companies will jump on the band-wagon and call themselves ‘open source’, whether they deploy OpenOffice for one secretary or have built their whole business model around the support and maintenance of an open source product (which is the installable endpoint of an open source project). Whatever we do will not change what they call themselves.
However, getting back to the questions, I’d go along with the Rooneg post:
. Let them call themselves what they will.