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.
Last week JISC CETIS put on a WidgetBash event. OSS Watch pitched in since W3C Widgets are an area we are particularly interested in having taken some code from the University of Bolton into the Apache Software Foundations incubator as Apache Wookie (incubating).
This two day event focused on getting people up to speed on building widgets. Our approach was to give some very light touch training and then get our hands dirty on code. Overall the two days were extremely successful.
in the run up to the event I had committed a few new widget templates to Wookie in order to make it easy for people to get started. This turned out to be a great tactic. Some attendees used these templates as a base for their work, looking to enhance them, one attendee even submitted a patch to fix an error in my work (which I have now committed to the project, thanks Sam Rowley). Another attendee reported that one of the tutorials was misleading (another issue I have now addressed, thanks Simon Booth).
A team from the Manchester Metropolitan University enhanced a widget they had already created to tell students which labs had available PCs in them. Now it’s a fully geo-locating widget that sorts the results by proximity to the users position (interestingly using the tutorial Simon helped us improve). Another team from Strathclyde enhanced the Moodle Plugin for Wookie; now widgets are able to get a little more context from Moodle and thus provide more targeted information to the user. We hope to see patches and contributions from both these teams.
Many other participants who had never build widgets before reported that they’d learned a great deal. There were plenty of “almost working” enhancements to our templates as well as completely new widgets. Again, I look forward to applying their patches.
Why not come and join us on the Wookie project and find out what it’s all about.
You can read more about the two days on Sheila’s blog.
Passport without a visa: open source software licensing and trademarks is an excellent article by Tiki Dare, Legal Director of Sun Microsystems USA, and Harvey Anderson, General Counsel, Mozilla USA. Using clear and accessible language from the start, it sets the scene with some background on open source and a few useful definitions. It then looks more closely at the legal structure around trademarks and their role in open source, touching on issues like licensing, copyright, patents and IP along the way. Theoretical discussion is balanced by a sprinkling of examples, bringing these subjects to life and making for a refreshingly readable article.
Although its focus is the US, many of the principles set out in the article apply equally in Europe. It’s written for the legal fraternity, but will be of interest to anyone wanting an overview of trademarks in FOSS, or simply further insight into the whole thorny area. As a relative newcomer to open source, I found it very useful having so much information in one place. Great value for half-an-hour’s reading!
OSS Watch discusses some of these subjects in documents including Open source development – an introduction to ownership and licensing issues and Free and open source software and your patents. Some will also be covered at our forthcoming open source event, TransferSummit.