Archive for September, 2011

SaaS – Who shares wins?

Fairly often we are asked by projects we advise whether they can make an open source release of their code while controlling whether others can make money from it. In fact, we get asked it so often that it now has a place in our FAQ document:

3.8. Can I restrain commercial reuse of my code using an open source licence?

Not directly, no. Point 6 of the Open Source Definition states that a pre-requisite for any licence to be considered open source is that it should make ‘No Discrimination Against Fields of Endeavor’. Commercial exploitation is a field of endeavour.

Having said this, some open source licences make code that they cover less appealing for commercial entities to include in their products. In general, licences with some element of ‘copyleft’ such as the GNU GPLv2 or the Mozilla Public License will compel commercial reusers to make some or all of their own code open source. Permissive licences such as the BSD License and the Apache License v2 on the other hand allow the code they cover to be added to a closed source project without compelling any other code to be open source.

Recently we received a novel variation on this query, and I have adapted my answer to be a post for this blog. It’s not yet a frequently asked question, but it may well become so. The questioner had written some code which implements a network service, and wanted to know if they could make an open source release while simultaneously discouraging others from selling hosted services based upon the code…

There are free and open source software (FOSS) licences which make conditions about this kind of use of the software that they cover. The Open Software License v3 and the GNU Affero GPL v3 are examples. There is a brief explanation of this kind of licence condition on the OSS Watch site.

All that these licences require, however, is that licensees who deliver functionality of the software over the network must make the source code to their version of the code available to users. This ensures that improvements to the software are released back to the community, but it may not act as a strong disincentive to those providing the service; after all, it does not compromise their core offering of network services. Contrast this with the more traditional model of distributing the software itself, where basing a product on (for example) GPL v2 code would mean that your own product must also be GPL v2 licensed, compromising the ability to charge for licences;  after all, customers could onwardly distribute the product to other potential customers, undermining the business model.

The second – more traditional – example there is the basis for the common dual licensing FOSS business model. The project provides a ’community’ version under a copyleft FOSS licence and a commercial licence for businesses wanting to build a product on the code base for which they charge a licence fee. The model works because the copyleft licence has conditions that the business will pay to avoid. In the ‘application service provider’ model we are discussing here however, the condition that source code must be provided may well not be onerous enough for the application service provider to pay to avoid, particularly if they have not invested in improving the code in any way.

The upshot of this is that – if one wants to restrain competing businesses from using the software to provide a network service – a FOSS licence may not be the optimal choice. Having said that, it might be worth examining the motivation behind restraining competitive network service provision in the first place. In the worst case, where the competitor uses the code unmodified and therefore sacrifices nothing by making that source available freely, they are also necessarily behind the project maintainers in terms of consideration of improvements and new features. Given a choice between buying hosting from the originators of the software and a copy-cat business which makes no contribution to the code base, customers may well choose the former. Conversely, if the competing business is actively improving the code and making those improvements available as a result of the conditions of the licence for the initial project, this could be seen as a positive outcome that benefits the entire ecosystem and leaves businesses to compete on quality of service rather than code quality.

Cross-sector engagement at TransferSummit

Many inspiring conversations made the TransferSummit conference, last week at Keble College in Oxford, a great success. The conference was chaired by OSS Watch alumnus Ross Gardler, now OpenDirective, who was responsible for putting together a excellent programme with a diverse range of sessions on open innovation in software. OSS Watch is a Silver Sponsor of TransferSummit and co-organised the conference. The programme was carefully crafted and the sessions followed on each other very nicely, telling the story of how open innovation can be successfully applied to software. We set up virtual tracks on specific topics to help delegates find their way through all the sessions. Still, an often-heard comment was that attendees found it difficult to choose which session out of the three tracks to attend, because so many appealed to them.

An addition to the overall programme this year was the Open Gadget Playtme. This showcased a number of open source hardware, or innovative hardware running open source software. For example, a RepRap printer was shown in action, an open source 3D printer that can print many of its own parts. Another example is the Rasperry Pi project, who aim to develop an ARM Linux box for $25, specifically aimed for use in teaching computer programming to children. This led to many interesting discussions about other applications of this technology, for example as part of a media streaming network.

Sessions were being presented by experts from diverse backgrounds, ranging from the academic sector, the business sector, and the public sector. This led to many interesting conversations about sharing experiences and the challenges in open innovation.

One compelling example of the kind of cross-sector discussions and engagement that TransferSummit facilitated was found in a session about the Apache Rave (Incubating) project . Matt Franklink of Mitre, with help from Ate Douma of Hippo, gave an presentation on how the project came about as a result of an initiative from six organisations, combining three code bases. In the audience was John Pybus of Oxford’s OeRC, who are working on the Bamboo project, an international collaborative research project that is developing tools and infrastructure for humanities researchers. As part of that project they are developing a Virtual Research Environment (VRE) platform, and they are already working together with one of the project partners on the Rave project. However, there is a compelling argument to move from reusing their isolated code base towards using and engaging with the Rave project. That would enable them to benefit from the programming efforts put in by all organisations involved. For Bamboo, it is important to know that they can build on a code base that will be sufficiently mature and supports the main features they need to build on. For Rave, it is an excellent opportunity to have another academic partner be involved with the project and with Bamboo’s input they can support a wider range of use cases.

This conversation and many others started at TransferSummit will hopefully lead to interesting new fruitful collaborations. OSS Watch will continue to play a facilitating role to connect people and projects relevant to the Higher Education sector to help foster open innovation. Do let us know about inspiring conversations you had at TransferSummit in the comments.