Skip to content

Licensing FAQs

Jason C. McDonald edited this page Feb 5, 2018 · 3 revisions

Licensing FAQs (Frequently Anticipated Questions)

Wait...Two Licenses?

You will encounter two licenses within Elements.

  • The whole project is licensed under GPL-3. This is necessary because I use a nifty library called 'mutagen'.

  • Certain files are licensed under the BSD-3. I'm allowed to do this under the terms of the GPL.

What Does This Mean?

Here's what this means for you.

  • Elements is, and forever shall be, Free and Open Source Software. Which is awesome.
  • If you want to fork Elements, or otherwise do something with the whole program's source code, your project must be licensed under the GPL-3.
  • If you only want to use some of the code in Elements, perhaps one file, or just a few lines of code, check the license at the top of the file...
    • If the file is licensed under the BSD-3, you can use that file and all of its code however you like, so long as you comply with that license's pretty simple terms.
    • If the file is licensed under the GPL-3, you can only use that file and its code under the terms of the GPL-3.

Why Are You Doing This?

I am an advocate, maker, and user of Free and Open Source software, and a card-carrying member of the Open Source Initiative. However, in the ongoing debate between Free Software and Open Source, I am squarely in the OSI camp.

I see proprietary software as having a role in a healthy software industry, and not as a wholly malevolent evil. Also, while I believe we need mechanisms that keep some code in the open source space, I do not believe it is ethical to force others to use a particular restrictive license such as the GPL-3 instead of other open source licenses on their own work; to do so is not true freedom, but rather forced sharing (which is technically the textbook definition of communism).

Since the GPL-3 does have a clause that allows one to include code under many other open source licenses, I am leveraging that to keep as much of my own code as possible truly free.

What About The Libraries?

The libraries I use have various licenses. You should look at each for more information. In general, though...

  • PyQt5 (and thus Qt5 by extension) is licensed under the GPL-3.
  • mutagen is licensed under the GPL-3.
  • sqlite3 is licensed under zlib/libpng.
  • (More included libraries inevitably coming soon.)