Add a Permissive License
We need to add a permissive license to our code, e.g. MIT/BSD/Apache, otherwise, commercial developers will refrain from using our code. We cannot add such a license now, because at least one library (dtw-python) has the copyleft GPL license. We need to go through the following procedures
Procedure
-
search for copyleft libraries e.g. with Black Duck; -
replace copyleft libraries with alternatives or implement the algorithm ourselves in the worst case; -
add a permissive license, e.g. MIT license.
Protocol
Study the basics
Studied free and open source licenses and their compatibility
Found information: the whole project should be licensed under GPL, if a GPL library is used
Found information: MIT, BSD and Apache are compatible and the whole project can be licensed under any license, e.g. MIT
Check licenses in the repository
Black duck needs a paid license, skip it
Found FOSSology as an alternative
FOSSology can be installed in Linux or in Docker
Try the Docker version
Docker Desktop requires a paid license in IAV
Tried the server version, failed because it only supports Windows Docker images, FOSSology image is a Linux image
Found a Kubenetes solution
Skip the Kubenetes solution, because my account is cancelled after upgrade
Tried privated laptop with Docker Desktop
Learnt FOSSology
Found the library DBA with GPL-3 license
Tried Python OSS check tool pip-licenses
No new finding
Tried JS OSS check tool license-checker
No new finding
Found two libraries with GPL-3 license, dtw-python
and dba
, they should be replaced; JS library ZingChart has watermark, it should be replaced in the future.
Seach for permissive alternatives
Found DTW and DBA in tslearn
with BSD-2 licence
Testing tslearn.barycenters
Test result: tslearn.barycenters.softdtw_barycenter
has even better performance in terms of accuracy and speed
Replace copy-left libraries
Replaced dtw-python
(GPL-3) with ucrdtw
(MIT)
Replaced dba
from François Petitjean with tslearn.barycenter.softdtw_barycenter
Add a permissive licence