Menu

Changing the license

2019-09-06
2019-11-14
  • Daniel Marjamäki

    I am thinking about if it would be a good idea to change the license for Cppcheck.

    For instance the MPL would be less restrictive about linking.

    If there is a company that is interested to create a commercial extension then I think it would be interesting to allow that. 2-3 years ago there was a company that talked with me about such an idea. It was obviously a problem that Cppcheck is GPL-licensed. If some company wants to link cppcheck into their product to offer some better interface I think that should be allowed.

    I do not want to disallow such usages.. I think that is win-win.

     
  • versat

    versat - 2019-09-06

    AFAIK the GPL allows to dynamically link libraries into commercial/proprietary software.
    What is not allowed is static linking, but i do not see why this should be necessary.
    If a company wants to develop a commercial extension for Cppcheck then they could implement an open source interface and then develop closed source extensions (like closed source modules for the linux kernel).
    Developing a closed source GUI for Cppcheck also should not be a problem, as long as Cppcheck is not statically linked into the GUI.
    I am not against the MPL or so, but i do not understand why it is necessary.
    In my experience many people do not understand licences like the GPL (i am also no expert with licences).

     
  • Georgiy Komarov

    Georgiy Komarov - 2019-09-06

    AFAIK the GPL allows to dynamically link libraries into commercial/proprietary software.
    What is not allowed is static linking, but i do not see why this should be necessary.

    Actually, no, GPL prohibits any use with non-free components. But LGPL allows dynamic linking with some reservations (see sections 4-5 in license text). MPL seems even more permissive then LGPL and allows static linking.

     
    • versat

      versat - 2019-09-06

      Actually, no, GPL prohibits any use with non-free components.

      I read a bit and i admit that it is not that clear that it is allowed. It also does not seem to be clearly disallowed. See for example:
      https://opensource.stackexchange.com/questions/2157/is-it-allowed-to-dynamically-link-a-gpl-licensed-library-for-commercial-use
      But i see the issue that companies have if they want to develop something like Daniel wrote.
      So GPL clearly is not that useful.
      A small change would be to make a linking exception ( https://en.wikipedia.org/wiki/GPL_linking_exception ).
      But i think it would be better to switch to LGPL, MPL or so.
      IMHO LGPL is well known, so i would choose that. MPL seems to be acceptable too.

       

      Last edit: versat 2019-09-06
  • Daniel Marjamäki

    With GPL ... no company will want to link with Cppcheck for any commercial product.

    I fear that it's questionable with LGPL also.

    I am absolutely no lawyer but I have read a little lately .. With LGPL .. as far as I understand only dynamic linking is allowed... So you are forced to distribute the Cppcheck and your product in separate files that are dynamically linked at runtime.
    The license says that it must be possible for users to modify the Cppcheck component and use that instead.

    Technically.. if you write a client and want to call some function in Cppcheck then I would assume you include a Cppcheck header to get the function declaration. That technically means you statically compile some Cppcheck code into your project right? Is that allowed?

     
  • Sander Bouwhuis

    Sander Bouwhuis - 2019-09-20

    Aren't there an MIT license and a FreeBSD license that are more permissive? Then no one has to worry about legal non-sense.

     
  • Daniel Marjamäki

    I do not have a strong opinion about MIT / FreeBSD.

    But well I do not like when companies just "steal" our code. i.e... I do not appreciate this:

    https://github.com/Tencent/TscanCode/blob/master/trunk/lib/astutils.cpp

    They removed our copyright and stuff and there is absolutely no indication that this was developed by us not them.

    Companies can use Cppcheck in their products.. I like that. ... but not try to steal it.

     
  • Sander Bouwhuis

    Sander Bouwhuis - 2019-09-20

    So, basically another open source application took some of your code? Isn't that the whole idea behind open source? (apart from leaving out the copyright comments)
    I would actually be surprised if a lot of open source would NOT find its way into closed source software as well.

    I now see it's Tencent. That is a Chinese company. Obviously they steal pretty much everything. They don't care about copyrights and patents and such in China.

     

    Last edit: Sander Bouwhuis 2019-09-20
    • versat

      versat - 2019-11-14

      IMO using the code in commercial, closed source software and not giving back anything or stealing the code and make it look like someone else created it is absolutely not the idea behind open source software.

      IMHO open source is about giving back and improving the software so everyone can enjoy the best software possible. Lying, stealing and such things are not really useful to improve software.

      Thats just my view on it.

       
  • Daniel Marjamäki

    Lying, stealing and such things are not really useful to improve software.

    Yes I agree. It feels best to stay with GPL. I did not appreciate that so liberal licenses would not make me happy.

     

Log in to post a comment.