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.
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: