• Sanyanov@lemmy.world
      link
      fedilink
      arrow-up
      19
      ·
      edit-2
      1 year ago

      The difference is that with permissive licenses everyone can take any amount of code, add literally whatever and make it all proprietary. This way, things like MacOS, as well as gaming console firmware for example, were made.

      Licenses like GPL don’t allow you to do that - if you borrow anything GPL, you have to make your creation open-source, or else a juicy lawsuit awaits you, technically on copyright basis. For example, Android as a base OS is open-source simply because it uses code from Linux kernel, and the latter is licensed under GPLv2.

      The latter is superior since it propagates the open-source code by forcing everyone who used the free code to share their code as well. This proved to be very useful with even corporations having their hands tied into showing the code, ensuring transparency and security for everyone.

    • nick@campfyre.nickwebster.dev
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      They’re both free software licences (i.e. you can get the source code for for BSD licenced software and GPL licenced software that you’re using at no extra charge and modify it as you please). The GPL licence has an additional restriction for developers that says if you use any GPL code in your codebase, your entire codebase must also be GPL or some other compatible open source licence.

      This means that if I made some code parses a file format and another developer includes that code in their program to support that file format, they’re now forced to licence their whole codebase with a similar licence to the GPL. If it was BSD then they would only have to mention that they used my BSD licenced code and include a copy of that licence. A user would then be able to go and see my original code that was used, but not the rest of that application’s code or any modifications that the application author made to my code. Because the GPL is too restrictive for most developers here, there’s a version of the GPL called the LGPL which is often used for code meant to be used by other programs which is closer to the BSD licence but additionally requires that if they modify your code, they must also share that modified code.

      I usually use a licence in the middle called the MPL (Mozilla Public Licence), which is similar to the LGPL but has a few things I prefer and has the advantage for me of not being connected to the FSF and GNU project.