1. The tarball suffers from the bundled library problem (libbam.a and libbammac.a are shipped precompiled). This is incompatible with the GPLv3 license.
2. The Makefile is not portable with its hard-coded paths to compilers (/opt/blc/gcc-4.5.0/bin/gcc should just be gcc).
The SOAPdenovo2 article was published today under the terms of the Creative Commons Attribution License. Here are the Availability and requirements for SOAPdenovo2 as reported in the article:
Availability and requirements
Project name: SOAPdenovo2
Project home page: http://soapdenovo2.sourceforge.net/
Operating system(s): e.g. Platform independent
Programming language: C, C++
Other requirements: GCC version ≥ 4.5.0
License: GNU General Public License version 3.0 (GPLv3)
Any restrictions to use by non-academics: none
I fired up my browser and in a flash went to the "Project home page". I downloaded the latest SOAPdenovo2 distribution but was disappointed to see that the SOAPdenovo2 distribution was binary-only. This is a logical contradiction with the GNU General Public License, version 3 -- the license under which SOAPdenovo2 is being distributed according to the article above.
Binary-only distribution is the path to the dark side (proprietary)The SOAPdenovo2 distribution contains 4 pre-compiled binaries and 2 plain-text files. No source files were found, which is confusing because the GNU General Public License, version 3, is for distributing open source software with an emphasis for freedom.
Table 1: Files distributed in the tarball called SOAPdenovo2_revision217.tgz
|MANUAL||ASCII text, with very long lines|
|pregraph_sparse_127mer.v1.0.3||ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, not stripped|
|pregraph_sparse_63mer.v1.0.3||ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, not stripped|
|SOAPdenovo-127mer||ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, not stripped|
Concerns of a bioinformatics adventurerConcern #1: ELF 64-bit LSB executables for GNU/Linux 2.6.9 are not platform-independent. Therefore, the claim of platform independence is false. For instance, I can not run these executables on OpenBSD.
Concern #2: GCC version ≥ 4.5.0 is not required as it is a proprietary binary distribution. Therefore this requirement is untrue.
Concern #3: proprietary software distributions are not eligible to licensing under the GNU General Public License version 3. Therefore, the authors should select their own proprietary license or release the source code of SOAPdenovo2. The previous last publicly available version was SOAPdenovo v1.05.
What the reviewers had to say ?
Reviewer #AJN was concerned here and here by the lack of source code.
Freedoms provided by free softwareAccording to the Free Software Foundation, Inc.:
A program is free software if the program's users have the four essential freedoms:
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.