I’m getting plenty of hassle on youtube currently to provide source code and instructions for my lego printer. This is my first public source code release so I want to do a “proper-job”. Started looking into licenses but already stuck.
Google source attempts to reduce license proliferation by limiting the licenses they support to a handful, and recommend apache or GPLv3, perhaps I should just use one of these, but what do they mean!!?
So between apache 2 and GPLv3, Main difference appears the restrictions placed on derived works, i.e. can it be used in non-free software or only other GPL projects.
I must not forget that my driver makes use of two other projects, ImageMagick for postscript to image conversion and the GNU RXTX library for serial IO. This will likely affect my choice. The ImageMagick license states:
Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work
… so I’m out of jail on that one hopefully as long as don’t include it, but just have it as a prerequisite. GNU RXTX is LGPL 2.1 and a little more complicated
…give you permission to link RXTX with independent modules that communicate with RXTX solely through the Sun Microsytems CommAPI interface version 2, regardless of the license terms of these independent modules, and to copy and distribute the resulting combined work under terms of your choice provided that every copy of the combined work is accompanied by a complete copy of the source code of RXTX (the version of RXTX used to produce the combined work), being distributed under the terms of the GNU Lesser General Public License plus this exception.
So I think that means if I include the RXTX serial library I must also include source code + the license.