DEV Community

Discussion on: What exactly is Copyleft?

rootfsext2gz profile image

For me, I always understood it as if your code is copyleft it must follow below:

  • Must be able for recipient view the source code
  • Must be able for recipient to tinker with the source code
  • If recipient tinkers with source code and changes it, their code must also follow the rules above

My impression is that copyleft isn't the opposite in terms of law, but in terms of intended side effects.

Copyright, at least from a casual observer, was always intended to control how your work got distributed (if it could at all) and preventing it from unauthorised distribution.

Whereas Copyleft seems to go out of its way to enforce that you absolutely must share the work and make sure that if you make a derivative of the work, then that derivative must also be sharable in the same way.

I don't think it's quite so simple as that though. That above description does a good job of describing e.g. GNU GPL license, but BSD gives permission to copy, modify, and distribute the current code, but it doesn't apply to derivative works. Given how quite a lot of modern proprietary systems are based on BSD (e.g. macOS, Playstation's OS, Nintendo Switch, etc), this means that any BSD core can be tweaked, but the derivative works can be and often are incredibly proprietary.

I think in general, Copyleft and its licenses are about letting other people be the owners of your code, and there are multiple licenses to deal with that level of control. The GNU GPL can be seen as the "extreme" version where everything must be shared, and then there are 4-Clause BSD License all the way down to 0-Clause BSD License.

But I should add that I'm not a lawyer, and I could be very wrong on any part or all of what I said.

baenencalin profile image
Calin Baenen Author

Thank you, this helped clear some confusion I had.