Over past week there was some discussion on social media regarding the Nextflow license and its impact on users’ workflow applications.
… don’t use Nextflow, yo. https://t.co/Paip5W1wgG
— Konrad Rudolph 👨🔬💻 (@klmr) July 10, 2018
This is certainly disappointing. An argument in favor of writing workflows in @commonwl, which is independent of the execution engine. https://t.co/mIbdLQQxmf
— John Didion (@jdidion) July 10, 2018
GPL is generally considered toxic to companies due to fear of the viral nature of the license.
— Jeff Gentry (@geoffjentry) July 10, 2018
Nextflow has been released under the GPLv3 license since its early days over 5 years ago. GPL is a very popular open source licence used by many projects (like, for example, Linux and Git) and it has been designed to promote the adoption and spread of open source software and culture.
With this idea in mind, GPL requires the author of a piece of software, derived from a GPL licensed application or library, to distribute it using the same license i.e. GPL itself.
This is generally good, because this requirement incentives the growth of the open source ecosystem and the adoption of open source software more widely.
However, this is also a reason for concern by some users and organizations because it’s perceived as too strong requirement by copyright holders (who may not want to disclose their code) and because it can be difficult to interpret what a *derived* application is. See for example this post by Titus Brown at this regard.
If you are not distributing your application, based on Nextflow, it doesn’t affect you in any way. If you are distributing an application that requires Nextflow to be executed, technically speaking your application is dynamically linking to the Nextflow runtime and it uses routines provided by it. For this reason your application should be released as GPLv3. See here and here.
However, this was not our original intention. We don’t consider workflow applications to be subject to the GPL copyleft obligations of the GPL even though they may link dynamically to Nextflow functionality through normal calls and we are not interested to enforce the license requirement to third party workflow developers and organizations. Therefore you can distribute your workflow application using the license of your choice. For other kind of derived applications the GPL license should be used, though.
No. We are aware that this is not enough and the GPL licence can impose some limitation in the usage of Nextflow to some users and organizations. For this reason we are working with the CRG legal department to move Nextflow to a more permissive open source license. This is primarily motivated by our wish to make it more adaptable and compatible with all the different open source ecosystems, but also to remove any remaining legal uncertainty that using Nextflow through linking with its functionality may cause.
We are expecting that this decision will be made over the summer so stay tuned and continue to enjoy Nextflow.