REUSE Specification: Time to Replace OSP?

Replace OSP with REUSE?

  • Yes

    Votes: 1 12.5%
  • No

    Votes: 6 75.0%
  • I like this system but it should not replace OSP

    Votes: 0 0.0%
  • Mod authors should be able to require that others who use their content use REUSE if they want

    Votes: 1 12.5%

  • Total voters
    8

Users who are viewing this thread

Back in the day when I made Warband mods, I often copied content from other people's open source resource packages to use them in my projects. I also created packages for other people to use in their own mods to help them implement things like decapitation and shield bashing. Most of these resources were released as Open Source Packages (OSP), a term created by Taleworlds to describe a community made resource pack that you can use in your own projects as long as you give credit to the original creators. While a good idea, I have discovered this system to have a number of problems. Most of these problems stem from the fact that there is no clear definition of what "giving credit" actually means.

Should credit be given in a text file within the folder containing the assets? Should it be given in a text file in the top level folder of an entire package? Should you comment specific lines which contain code from an OSP? Should you add a credits page you can access in the game? If you publish a mod that uses the OSP, are you required to list all OSP package authors in the description on the download site? Are you required to mention OSP package authors on the steam workshop page? How are you supposed to list the credits? Do you simply write a list of OSP author names? Do you have to specify who created specific asset files?

Since how you have to give credit is not clear, mod authors do it in different ways. This can cause problems when modders release entire mods as OSP that include OSP from other authors. If someone else decides to fork this mod or pull out pieces of it for their own project, its easy for people to mistakenly forget to give credit to someone due to it not being clear who should be given credit for what. This mess makes it a challenge for the Taleworlds moderators to enforce the rules, causes people to plagiarize by mistake, and opens the door for people to maliciously plagiarize OSP resources while not getting caught.

I would also like to note that the OSP system is not enforced under law. OSP does not equate to copyright or licensing. The only people who can enforce that OSP are not plagiarized are Taleworlds mods, and they do this by banning people from the forums and mod distribution sites. Nothing stops people from releasing OSP resources in forum sites and mod distribution sites outside of the moderator team's control without giving credit.

There have been a few OSP authors over the years that have choosen to include copyright notices and licenses in their packages. However, most authors simply say that their creation is OSP and leave it at that. Adding a license and a copyright notice will cause your work to be protected by a legal framework that goes beyond the reach of Taleworlds. Its free, so why not?

The REUSE Specification is a standardized model for applying copyright and licensing information to open source projects. After using it myself for almost a year, I recommend its usage by the modding communities of Bannerlord and Warband. It defines a clear-cut and machine readable way that you must provide copyright and license notices to every file in your project for it to be considered "REUSE Compliant". With this system, the copyright and license notices can be unique per file. There is even a standardized way for applying specific licenses to binary files such as .dds and .brf files that cannot contain text. You can also verify that your project is REUSE Compliant in an automated fashion by using the REUSE command line tool. If you release your mod project to GitHub, it is very simple to set it up so that REUSE Compliance is tested automatically every time you commit changes.

As an example, look at my open source minesweeper clone named FossSweeper. This project isn't even a mod, but by looking at it you can easily see why I like REUSE so much. All of my source code files have a license header comment saying they are copyrighted by me and licensed under the GNU GPLv3 license. In the assets folder there png image with the spritesheet for the minesweeper game, and a license is included in the same folder in the form of a text file with the added file extension .license. The CODE_OF_CONDUCT.md file was created by someone named Caroline Ada and released under the Creative Commons 4.0 license, so it has a different license header comment to declare this information. For a file that helps embed the application icon for MacOS platform that I copied from a different project, I gave credit in its own license header comment.

I reccomend that Taleworlds adopts the REUSE Specification as a replacement for OSP from this point forward. Open source mods should be required by Taleworlds to follow the REUSE specification, and moderators should enforce that proper credit is given to third party authors through the use of the specification.
 
Last edited:
Should credit be given in a text file within the folder containing the assets? Should it be given in a text file in the top level folder of an entire package? Should you comment specific lines which contain code from an OSP? Should you add a credits page you can access in the game? If you publish a mod that uses the OSP, are you required to list all OSP package authors in the description on the download site? Are you required to mention OSP package authors on the steam workshop page? How are you supposed to list the credits? Do you simply write a list of OSP author names? Do you have to specify who created specific asset files?

Since how you have to give credit is not clear, mod authors do it in different ways. This can cause problems when modders release entire mods as OSP that include OSP from other authors. If someone else decides to fork this mod or pull out pieces of it for their own project, its easy for people to mistakenly forget to give credit to someone due to it not being clear who should be given credit for what. This mess makes it a challenge for the Taleworlds moderators to enforce the rules, causes people to plagiarize by mistake, and opens the door for people to maliciously plagiarize OSP resources while not getting caught.
Giving credits is an act of good will by the modders who are using OSPs provided by other modders. There is some bit passive pressure by the community to add credits if you haven't done so, the best example for that is the mod BannerPage. All in all there are no big issues though. Most people just add a line with a mentioning and that is fine.

I would also like to note that the OSP system is not enforced under law. OSP does not equate to copyright or licensing. The only people who can enforce that OSP are not plagiarized are Taleworlds mods, and they do this by banning people from the forums and mod distribution sites. Nothing stops people from releasing OSP resources in forum sites and mod distribution sites outside of the moderator team's control without giving credit.
I doubt that using your suggested page would help at someone uploading my work at some non-english webpage. I also doubt that it would be easier to enforce copyright laws just by using that webpage.

I reccomend that Taleworlds adopts the REUSE Specification as a replacement for OSP from this point forward. Open source mods should be required by Taleworlds to follow the REUSE specification, and moderators should enforce that proper credit is given to third party authors through the use of the specification.
As I wrote at the Modding Discord: You are basically suggesting that TW should not enforce some rather lax OSP but something more complicated, restricting people to use a specific software/webpage (as to force everyone who wants to create an OSP to register there). Is that correct? I don't recall any complaints about the current system. After all that just sounds a bit like you are doing an advertisement tour to get that page pushed.
Moderators like me are also working on report basis. We are not searching hours every day through the forum and internet to find malicious modders. If someone reports an issue with uncredited or unallowed usage of assets used at another mod we approach the other party if accessible to us. I am surely not going to force people to use a specific webpage, we are no promoters.
 
Yeah it seems unnecessary. Most OSPs are released as a gift to the community and crediting is just common courtesy. Its a social system that has worked for years with very few hiccups. Turning it into a formal system is just signalling to new Modders that they aren't to be trusted. It's like when dutch people charge you money for drinking tea at their house.

The one OSP I've seen that would benefit from a system like this was Polished Landscapes because the author used it as part of his portfolio (and went on to do the foliage for total war) so he didn't want people misusing it, but even that was never really violated.
 
Last edited:
As I wrote at the Modding Discord: You are basically suggesting that TW should not enforce some rather lax OSP but something more complicated, restricting people to use a specific software/webpage (as to force everyone who wants to create an OSP to register there). Is that correct?
You are not correct. REUSE is not a website that people register their projects on. It is a set of guidelines that describe how you apply licenses to a project made by the Free Software Foundation Europe. Its used by many open source projects, including the Linux kernel, curl, and KDE. Its not something you have to pay for or apply to use for your project like you are suggesting. In my experiance, it makes it a lot easier to handle licensing because you don't have to think much about how you do it, and it makes it easier for other people to understand how things are licensed at a glance.

I'll explain it again here so you can see how simple it is.

For text files, you only have to add a simple header comment to each file:

Code:
<!--
SPDX-FileCopyrightText: 2022-2023 Daniel Valcour <[email protected]>

SPDX-License-Identifier: GPL-3.0-or-later
-->

If the file is a binary file such as a .dds or .brf file for a Warband mod, you create a text file that shares the same name but with the .license extension like I did here for spritesheet.png:

https://github.com/Journeyman-dev/FossSweeper/tree/main/assets

You also have to keep complete copies of all license used throughout your project in a folder called LICENSES in the toplevel directory of your project:

https://github.com/Journeyman-dev/FossSweeper/tree/main/LICENSES

Finally there needs to be a folder in the toplevel directory called .reuse that has a file in it called dep5 that contains information about how the project is licensed:

https://github.com/Journeyman-dev/FossSweeper/blob/main/.reuse/dep5#L3

You are not required to use the REUSE helper tool, but it can make this process even easier because it does most of the work for you. All you have to do with it is run the command `reuse init` and then answer the questions it asks you, and then it sets up your entire project for you to start with including the LICENSES and .reuse folder. You can use the command `reuse download identifier` with the SPDX identifier of any license and it will download and add it to the licenses folder. List of all identifiers can be found here:


You can run the command `reuse lint` and the REUSE tool will run over all the files in your project and then verify that everything is licensed correctly. If it finds anything that does not follow REUSE compliance, it gives you a detailed explanation as to what you are missing.
 
AFAIK most Bannerlord source code on github already details the author's licensing. I don't see any need to impose anything further, and I don't follow how this approach would improve crediting for scenes and 3d assets distributed via Nexus etc. Within modding teams, 3d assets can be worked on modified/varied by multiple artists and may have been created from 2d designs by other artists.
 
Last edited:
AFAIK most Bannerlord source code on github already details the author's licensing. I don't see any need to impose anything further, and I don't follow how this approach would improve crediting for scenes and 3d assets distributed via Nexus etc. Within modding teams, 3d assets can be worked on modified/varied by multiple artists and may have been created from 2d designs by other artists.
All that matters is who owns the copyright and what it is licensed under. The copyright notice can include the names of multiple people.

Yeah it seems unnecessary. Most OSPs are released as a gift to the community and crediting is just common courtesy. Its a social system that has worked for years with very few hiccups. Turning it into a formal system is just signalling to new Modders that they aren't to be trusted. It's like when dutch people charge you money for drinking tea at their house.

The one OSP I've seen that would benefit from a system like this was Polished Landscapes because the author used it as part of his portfolio (and went on to do the foliage for total war) so he didn't want people misusing it, but even that was never really violated.
Perhaps this system doesn't need to be officially endorsed by Taleworlds, but I still recommend that people use it. If people don't care about issues arising that will cause others to not give them credit, that is their decision.
 
Last edited:
Maybe at least, people can say "if you use my stuff in your mod, you must document licensing using REUSE." If people use content that I create, I would personally require this. Added a new poll option.
 
Is there a specific problem you're trying to fix? If that's the case, then let's talk specifics. Otherwise it's a waste of time. We are modders, not lawyers - I don't care if people credit me, and when I credit others it's because of greatfulness that I feel towards them for releasing the code or asset that I used. Definitely not because there is a system imposing rules upon me.
If I forget to credit someone and he comes to me all offended, then I'm more likely to replace his asset with something else, rather than go through the hassle of dealing with a crybaby.

I feel like the current rules are unspecific on purpose - because TaleWorlds knows we are no lawyers, and the simpler the rules, and the more unspecific, the harder it is to break them accidentally.
 
Back
Top Bottom