Some of my time at my current employer is spent working on Open Source
software and issues related to open source software. As a result I have
had to think about how companies can use open source software and what
they need to do to respect the licences that software is released under.
The following are some thoughts on some aspects of dealing with the GNU
Public Licence (GPL). It sets out what I saw my role as at my employer
when it came to the GPL.
- Educate my employer on the GPL. This meant trying to move people away
from emotional responses to the GPL (ie, viral, communist, etc) and
towards thinking rationally about what benefits we could obtain from
the GPL and what our responsibilities are.
- Talk to lawyers and understand what they were saying about the GPL.
- Understand what we needed to do with respect to the GPL source we were
using and how to release it.
- Prepare the GPL'd source code we were using for release. This involved:
- Making sure that all libraries we did not want to release
were removed and the functions actually needed were added
to the source bundle being released.
- Making sure all datastructures that were needed were
- Making sure that what I prepared could be built by our
customers. We are not obliged to make it buildable on any
platform you can name, simply a platform that will allow it
to be built and then installed on our hardware. It will build on
the same build platform we use, which is readily available.
- Providing the source bundle to our web guys for them to put
where our customers can get it, and talking to the documentation
folks to make sure they include the necessary messages in the
- Thinking about how to automate this process.
None of these are particularly hard. I think it is a matter of being
committed to respecting the GPL, and following through to ensure that all
parts of the organization get all the steps right. I have yet to see if we
can manage that ourselves, but we are trying.