developed by OceanDataLab


The SEAScope software suite (the viewer, Python bindings and scripts) is licensed under the GNU Lesser Public General Licence LGPL v3 logo

We chose this licence because, from our point of view, it offers a good balance between freedom and fairness: it allows SEAScope to evolve and grow thanks to the copyleft protection, and yet it lets users reap the benefits of their original work based on SEAScope.

What does it mean?

LGPL is a weak-copyleft licence, which means that linked code, i.e. your original work that calls SEAScope code, is not covered by the licence. In other terms you are free to choose any licence you want for the code you write, even if it depends on SEAScope. But if you modify our source code or change how SEAScope is built (compiled) you have to publish the modified source code or build instructions because it is protected by the LGPL.

Let's say that you spotted a bug or a performance bottleneck in SEAScope and you fixed it [improvement], implemented new features as a plugin [extension] or created a broader application that uses SEAScope [integration].

Whether you have to publish the modified source code depends on what you do with the modified version of SEAScope:

  1. You keep this modified version for yourself: you are perfectly free to do so! No obligation to share the source code.
  2. The modified version is only used internally at your company, by your co-workers or employees: here again, we do not consider this as a "distribution" of the software, so there is not obligation to share the modified source code.
  3. You distribute it to other people/companies/entities: the LGPL clause kicks in and you have to provide the source code for the modified version of SEAScope, licensed under the LGPL.

Someone on Stackoverflow gave a very clear description of what you must provide to end users when you use LGPL code in your project:

It must be possible for any user of the finished software to modify, re-compile or replace the portion of the software that is licensed under the LGPL and use this modified code with the same software.

So if your application stops working when users replace your version of SEAScope by the one we distribute, you must publish the modified source code as well as any additional code and instructions required to recompile a SEAScope version that is compatible with your application.

We know software licences may look overly complicated and even intimidating sometimes, so if you have a doubt or a question regarding what you are allowed or prohibited to do with SEAScope, do not hesitate to contact us.

Source code

Source code for SEAScope is available here. It is still a bit rough (some refactoring is needed) and lacks inline documentation, but we will try to improve code quality as the project gains in maturity.

We have been using SEAScope almost every day for a few months and fixed the problems we encountered during development, but some of them may still have escaped our attention (some of us are only human 😊).
So if you spot a bug or a performance bottleneck that we missed, please notify us, your help will be greatly appreciated!