So, I started working on a new project, and I’m thinking of how to license it. Specifically, how to make it as copyleft as possible without making it unusable.

By unusable I mean the license blocking the game (or in a more likely case, any later project that reuses the code) from being published on platforms like Steam. I know that steamshim exists, but I’m not sure if that can be a real solution. Linking against the SDK seems completely optional in Steam’s case, but license compatibility is listed as a hard requirement regardless.

The game code consists entirely of a GDExtension written in Rust, so I think I can just neatly LGPL the GDExtension “library” without restricting the game executable itself. It sounds like it should work, but there are some things that I’m not sure of, like hardcoded references to assets.

I really don’t enjoy thinking licenses so I usually slap on either GPL or something permissive and be done with it. Anyone notice any holes in my plan, or am I good to go?

I know I can use my own code however I please, but it gets more difficult once there are multiple people involved; I’ve had one person express vague interest so far.

Thanks.

  • fum@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    2 days ago

    Interesting. So that phrasing sounds like even if you don’t use the steam works SDK then you can’t use GPL. I wonder how Krita reconciled that?

    • fum@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      2 days ago

      Interesting excerpt from Steamworks docs:

      Which Open Source licenses are compatible with the Steamworks SDK?

      In general, permissive licenses that do not put any requirements on you to redistribute your modifications under an open source license work fine. Common permissive and acceptable licenses includes MIT License, BSD 3-clause and 4-clause, Apache 2.0 and WTFPL.

      Which Open Source Licenses are problematic for shipping on Steam?

      Generally, any license that has a so-called “copyleft” element will be problematic when combining code with the Steamworks SDK. The best-known example is GPL.

      But I saw a GPL-licensed application on Steam!

      This can happen if the author of the code that is GPL-licensed has given the permission to do so. The author can of course always (a) decide to grant Valve a different license than the author grants everyone else or (b) decide that what the Steamworks SDK does is just a communication with a service that does not invoke the copyleft requirement of the GPL.

      Sounds like (b) above could apply to you?