From the start in the XMarks project, we set up a page within our site to be our project's rights register
, where we could keep track of the external libraries we were using in our XMarks development and thus ensure we were able to select the appropriate OSI approved open source licence
for our project. This is something that it was made clear we needed to do from the very first project inception meeting for our programme. We had a meeting early on with our University's Research Contracts Officer to alert him and his colleagues to the fact that we'd be needing to select an open source licence for the XMarks project.
All very good.
But you can't really decide what licence to use in advance, as the options open to you depend to some extent on the use the project makes on other people's work and how that work is licenced. Obviously the use of libraries etc will change and develop over the life of the project, so you can't necessarily agree in advance what licence will best meet your project's needs.
And then what we didn't do was keep absolute track of every
library dependency. Towards the end of the project, we also discovered that we weren't really clear exactly how licensing issues applied to our project, and what was really
meant by 'distributing' someone else's source code. Some long and agonising conversations ensued. Were we distributing this work? Did that throw up any licence incompatibilities
Ross Gardler from Oss Watch
spoke to us on the phone, and sent some very helpful emails
with advice and explanations to us. In the end, Rowan Wilson, also from Oss Watch
, was able to come to Sussex and meet with members of the XMarks team and with Tim Harman, Research Contracts Officer at the University of Sussex. This face-to-face meeting was very useful, and enabled us to clear up a lot of our questions.
The web services component of our project required PHP to be compiled with a number of external libraries, so that we could call these libraries via PHP. However, we weren't planning to distribute these libraries ourselves and nor did our code directly invoke the library functions.
In the end, with advice from Oss Watch
, we decided that we probably weren't
distributing these libraries via the XMarks project. This meant that we could choose to licence the web services component pretty much as we wanted to.
We therefore decided that our XMarks web services component could be licenced with the MIT Licence
. This is a permissive licence that enables many kinds of uses of the software, and we hoped that using a permissive licence would facilitate engagement with the project by external groups.
We decided to release our XMarks plugin for Moodle with the GNU General Public Licence 2
, as this is what Moodle is licenced under and it was likely that our plugin could be viewed as a derivative work of Moodle.
So the "lessons learned" that we intend to take forward to future projects are:
- get as clear as possible about the issues around open source licensing, as early as possible,
- and seek advice from the experts when things start looking complicated!
Many thanks to Ross and Rowan from Oss Watch for all the help and advice.