I plan to build a closed-source software with C++ language using GSL (GNU Scientific Library). This software is made by compiling my source codes into executable. By the way, my source codes use GSL without any modification (as it is from its official website).
I plan to do the following things. But before that, I want to make sure if it is allowed.
- I sell this software to only one client. I give the client both the executable software, and my source codes. The money I will get from my client is only to compensate the my labour hours.
- My client will use my software as backend. He will make front-end (the graphical user interface) which calls the backend to do some tasks. My client will then pack the backend and front-end as a whole software, put it on the internet, and make it free-to-use by anyone. Note that it is not a web-service. Users need to download it and use on their own computers. But my client will not share the source codes (neither my source codes for the backend, nor his source codes for the front-end).
In the whole process, I do not modify GSL, I only use GSL in my source codes to build my software.
So my questions are:
- Are the above mentioned two actions allowed?
- If yes, my client will also write a license.txt file for the whole software. Do you have any suggestions about which type of the license should be? Must he also use GPL license? Or can he use like BSD, MIT, Apache license?
This is quite important to me, since I have to choose a scientific library which can do linear algebra, Bessel functions, Fourier transformation (fft, and inverse fft).
I checked some other asked questions like Can I use GPL libraries in a closed source project if only the output is distributed?, I learned something from them, but I could not find any information related to my questions.