Why we chose LGPL license for Polaris

After we started to show Polaris to more and more people we started to wonder if the license we chose had been the right one. In this post I explain why we decided to use LGPL.

Why we chose LGPL license for Polaris

One of the main questions you have to ask yourself when starting an open source project is which license will you be using. There are several options but overall they can be split into permissive (e.g. MIT and BSD) and copyleft licenses (e.g. GNU GPL).

Non-judgmental guidance on choosing a license for your open source project

This is a complex decision, not only because there are many options but also because software evolves, which means the initial idea can change and require a different license. Moreover, developers are not lawyers, and at least in my case, I have to admit I don't put too much effort when reading legal terms.

But let's get to the point and talk about Polaris.

At first, our idea was to design a tool that could be fed with any timeseries dataset and return an analysis using state-of-the-art statistical and machine learning techniques. Nowadays, after showing our work to some people, I see Polaris as a extra tool for the SatNOGS Community. I envision a future where any satellite operator can open a website, pick their satellite from a list, select the time range they want to focus on and see the results of the analysis.

Remember when I said that projects evolve and licenses may have to change too? Well, this could be one of those cases. For instance, depending on how we implement this in the future, Polaris could become a web app. When I realized about this I started have many doubts. What if a company wants to use Polaris? What does our Community feel more comfortable with? What's better for the future of the project?

After some discussion and talks to other open source project maintainers, we decided to stick to our initial decision and keep the LGPL license for two main reasons:

  • Polaris started as a learning project, and GPL-like licenses enforce developers to keep modifications open source, which means everyone can keep learning from forks of the project.
  • Even if a company wants to develop a commercial and proprietary tool, they can use Polaris by linking it dynamically and by not distributing our code along with the proprietary software.

I don't think I will ever give back as much knowledge to the open source community as I benefit from, but I hope that being part of an open source collaborative project like Polaris helps and inspires someone as other projects did with me. Remember, if you want to know more visit our GitLab repo or say hi in our public Riot room.