I give my personal point of view (as modder who has recently changed to github and - after some initial hesitation now uses it in a quite active form just like creepin described).
1. There are mods and there are mods -
2. Every now and then there are bugs detected in mods that are considered final or the modmaker decides to add a new episode or a ToB sequel etc. Those bugs are intermediately fixed (if you use BWS/BWP) in the fixpack and maybe later included in a release. Your understanding of a product and its release cycle is correct here.
2. There are mods no longer maintained which have bugs known for a long time and where the fixpack solution is an almost permanent one. Currently there is no mechanism for those as long as no one *adopts* those old mods and ventures to do a new release.
3. There are mods designated beta, work in progress etc - They are declared as such and you should not be surprised to find bugs and issues with them. The modder is actively testing and developping and fixing them while those who decided to use the mod provide feedback. This is a very interactive process and you can deal with it in two ways
a. Collect a number of issues/bugs etc, fix them, do a regression to verify that your fixes/additions have not broken something somewhere else - and if confident put out a new release. For a mod in progress those new releases will be quite frequent, ie. depending on the scope of the mod (maybe it has large contents) you will have the situation with players using and reporting on different versions of the mod with duplications on already known or fixed issues etc. On the other hand you will always be able to trace a trouble report exactly to the version that caused it.
b. Use the advantage of a dynamic repository (like github) and commit everything you are confident in to that downloadable version.For a new mod that may gain new interested players daily, the advantage is, that every new download will be the *best* version currently available while for those using a previous version nothing much changes to variation 3a.
c. For a large mod with work in progress (see SRv4, Might and Guile, my own mod, SCSbeta, etc) *predicting an optimal moment to get things downloaded [is] impossible*. This is the nature of such work. Those mods should adequately inform you about their status and policy - and it is for you to decide if you want the mod under these conditions or not.
4. With respect to my own mod - I followed the method of 3a when I started the public testing. I just recently changed to 3b when I learned to handle github and saw the advantages of this method (for me!!! This is not a global statement!!!). The arguments for my own mod were, that it is such a large mod, that if you start it in a game you will not have come to its end in a significant period (how long does it take you to go through BGT with all the megamods until ToB end??). For my mod I will always face the situation that people in the ToB sequence will most likely have a different version still than those starting anew.
5. My conclusion
- various options to maintain mods are available.
- there is no one-size-fits all
- for work-in-progress the new github method opens for possibilities we did not have before
- each modmaker needs to make an educated decision to see what is best for hisher mod and the status it has.
- the modmaker, if using github, should take care that what he commits to the community, is adequately tested (as far as possible) and in a small scale stable - you do not commit your working version directly to github.
- github updates must be considered as frequent mini-versions and be useable like real releases
- modmakers should publish their used update policy in a way for the user to make a decision whether to use this work-in-progress or rather wait for a finished version - if ever that comes. (It is a contract with the modmaker where you say :I know what you do, I know the shape your mod is in, I agree to take the risk)
- The BWS/BWP support this approach and classify mods accordingly in their recommendations.
Edit:
There are also other uses for github in BGT community, like features the BWS uses. It allows multiple contributors to propose corrections/addition/changes to the existing product in a development sideline - when consensus is reached and the proposal ist tested and ready, it is merged into the master and now ready for download.
Edited by Roxanne, 23 November 2015 - 02:55 AM.