OpenXcom Forum

Modding => Released Mods => Topic started by: DoxaLogos (JG) on April 13, 2016, 04:25:48 pm

Title: FMP on GitHub
Post by: DoxaLogos (JG) on April 13, 2016, 04:25:48 pm
Solarious,

Have you ever considered putting your FMP mod up (or at least the text files) on github particularly since this mod is no longer in feature development?  It might make it easier to maintain when people submit bugfixes.  They can do pull requests, and you can review them.   
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: Solarius Scorch on April 13, 2016, 04:36:32 pm
Solarious,

Have you ever considered putting your FMP mod up (or at least the text files) on github particularly since this mod is no longer in feature development?  It might make it easier to maintain when people submit bugfixes.  They can do pull requests, and you can review them.

I wouldn't say no, but what's the benefit? The FMP contains no code, just rulesets. But if you think it's OK, sure - but help would be appreciated, since I don't really want to learn gitHub just for this.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: DoxaLogos (JG) on April 13, 2016, 05:06:43 pm
I wouldn't say no, but what's the benefit? The FMP contains no code, just rulesets. But if you think it's OK, sure - but help would be appreciated, since I don't really want to learn gitHub just for this.

The benefit is version history, revertability to previous versions, and having other people able to contribute fixes.  The system helps highlight changes in text files and makes it easier to merge things back into your repo when other people contribute. Also, Github or any VCS isn't just for code.  A lot of companies use it for maintaining all kinds of assets from graphics to certain binaries to server configurations (a lot of stuff).  Where I work, we use Perforce and Github to store a lot of items beyond just code.   Anyway, i was just curious if you ever thought about it.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: Yankes on April 13, 2016, 07:28:51 pm
The benefit is version history, revertability to previous versions, and having other people able to contribute fixes.  The system helps highlight changes in text files and makes it easier to merge things back into your repo when other people contribute. Also, Github or any VCS isn't just for code.  A lot of companies use it for maintaining all kinds of assets from graphics to certain binaries to server configurations (a lot of stuff).  Where I work, we use Perforce and Github to store a lot of items beyond just code.   Anyway, i was just curious if you ever thought about it.
+1

And rulsset is CODE, this is file that have specific syntax and is read by programs. Fact that it not programing language is irrelevant because VCS can't recognize that.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: Solarius Scorch on April 13, 2016, 07:53:10 pm
All right, let's do it. :)

...I mean I'm not doing this, all my free time is modding. :) But as I said, I'll gladly accept help.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: DoxaLogos (JG) on April 13, 2016, 10:52:22 pm
All right, let's do it. :)

...I mean I'm not doing this, all my free time is modding. :) But as I said, I'll gladly accept help.

Okay, I take it to mean you want somebody else to put it up on GitHub for you? :)
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: Solarius Scorch on April 13, 2016, 10:54:44 pm
Okay, I take it to mean you want somebody else to put it up on GitHub for you?

That would be for the best, but only if such a person is prepared to. I wouldn't want to rope anyone into this. Otherwise I guess I'll do it myself... I'll have to anyway, for my next project.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: DoxaLogos (JG) on April 13, 2016, 11:00:44 pm
I can do it, but it may take me few days to get to it.  I'm trying to prepare my own taxes (due next Monday in US).  If you don't have a GitHub account, you should go ahead and make one.  I can add you as a collaborator on the repo.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: Solarius Scorch on April 13, 2016, 11:31:23 pm
I can do it, but it may take me few days to get to it.  I'm trying to prepare my own taxes (due next Monday in US).  If you don't have a GitHub account, you should go ahead and make one.  I can add you as a collaborator on the repo.

Ha, I've done it already a week ago :P
If you can set it up, please do. My GitHub nick is SolariusScorch.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: DoxaLogos (JG) on April 14, 2016, 12:17:23 am
Ha, I've done it already a week ago :P
If you can set it up, please do. My GitHub nick is SolariusScorch.

Okay. will do.  Okay if I put the MIT style license on it? or GPL? or Creative Commons?  This is probably the only sticky issue and probably recommend only committing the rulesets (and other text) to the repo, because I don't know how much of the original artwork from the game (TFTD included) is in this mod.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: R1dO on April 14, 2016, 12:41:18 am
+1 from here as well ... it can really help spreading out the workload on small fixes. And it provides easy access to all relevant versions for those already familiar with git.
You might even get away with less (but bigger) releases, meanwhile giving testers the opportunity to see new features before putting it on the download site.

The only difficulty i can see atm is that this mod grew from a collection of other mods. Cloners/forkers might not be aware that a specific part was made by somebody else, and give false/misleading credits.
But don't let this discourage you, it is probably a virtual concern since it can be applied to the current way of distributing as well.

Besides this point, i think HellRazor mentioned on the IRC that he was thinking of doing the same with his mod (not sure if he already succeeded). It might be advantageous to share experience. Heck .. if you manage to come up with a clever repository structure, it could become quiet easy to share those changes that overlap.

All in all ... Lead the way, and us rookies will follow ;)


P.s. If necessary i can help out.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: Yankes on April 14, 2016, 12:52:02 am
The only difficulty i can see atm is that this mod grew from a collection of other mods. Cloners/forkers might not be aware that a specific part was made by somebody else, and give false/misleading credits.
But don't let this discourage you, it is probably a virtual concern since it can be applied to the current way of distributing as well.
This could be fixed by way how this will be added to repo. Instead of one big commit you can create lot of small one, each one contains part of mod from one original author. Before committing using git-fu you can alter name of commit author to mach mod author. With this you will have 100% information who did what.
Only drawback is that will take lot of time to od (hardest part is split and figure out who did what).
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: DoxaLogos (JG) on April 14, 2016, 01:25:04 am
This could be fixed by way how this will be added to repo. Instead of one big commit you can create lot of small one, each one contains part of mod from one original author. Before committing using git-fu you can alter name of commit author to mach mod author. With this you will have 100% information who did what.
Only drawback is that will take lot of time to od (hardest part is split and figure out who did what).

Another solution might be to come up with a file that describes all the contributors and links to their mods until those mods get uploaded to Github.  Some of the information is already available on FMP's mod page at openxcom.com.  May not be perfect, but doable in the short term.  I only propose, because not sure I've ever tried to alter the commit author before via git.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: R1dO on April 14, 2016, 01:26:43 am
That certainly is a precise way to do this ... although it assumes that people track back to the original commit, which is not necessarily the 1st/bottom one (and i don't think it is an inviting way to start using git ;)).

That being said, if going your proposed route why not use branches for specific 'borrowed' content. If Solarius still has all the originals, they can serve as original from creator. With an appropriate commit message those first can attribute the author (no need for git-fu to mess with existing commits .. the horror). Any changes by Solarius can become the 2nd commit, and than it's liftoff. The added benefit of branches will be that its slightly easier to share specific submods between different modpacks (subtree/submodule comes to mind .. but that will probably scare more people away).
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: DoxaLogos (JG) on April 14, 2016, 02:55:21 pm
This sounds a little more doable by putting the author in commit message.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: Solarius Scorch on April 14, 2016, 03:24:17 pm
It's all really exciting, although as I said completely outside my experience. If it's doable, then I'm all for it.
As for the credits, I've never had any complaints about it. I'm trying to credit everyone, but in reality our community is very open - everyone's taking and modifying everybody else's resources, so it's often hard to identify the original author. Still, nobody complains.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: DoxaLogos (JG) on April 14, 2016, 06:56:33 pm
I created an empty public repo for now that can be a starting point until we figure out license and how to commit things.  Might be useful to make README.md (markdown) out of the current read me.  Solarius, I added you as a collaborator, so you don't have to fork if you don't want to do it.   You can just clone and get started.

https://github.com/jgatkinsn/final_mod_pack

Help guides:
https://guides.github.com/
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: yrizoud on April 14, 2016, 07:25:45 pm
The only person who can grant a public license on something is the copyright holder.
From what I understand, the license Creative Commons BY-NC seems to be what you would like : It allows others to modify and re-use in non-commercial works, as long as the original authors are credited.
You can only state that the FMP has such license if you make sure that every single part is either :
- already under a compatible license,
- or created from scratch by someone who agrees to grant this license.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: Solarius Scorch on April 14, 2016, 10:24:36 pm
Thanks!

You can only state that the FMP has such license if you make sure that every single part is either :
- already under a compatible license,
- or created from scratch by someone who agrees to grant this license.

Well, I'm obviously using resources from the vanilla game and TFTD...
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: DoxaLogos (JG) on April 15, 2016, 04:40:16 am
Thanks!

Well, I'm obviously using resources from the vanilla game and TFTD...

That's why my original suggestion is to commit just the rulesets to start out with.   Those should be safe to put under license.  The repo can also be setup to ignore certain files like the .pck, .png, .map, etc, so it will make it easier to map it over your directory for later bundling it altogether in a zip.

I really wouldn't now how to sort out what graphics were original and not original, but it could be done to where non-original items could be committed to the repo and have the original files ignored from git.  That could take a while though.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: Solarius Scorch on April 15, 2016, 10:19:38 am
That's why my original suggestion is to commit just the rulesets to start out with.   Those should be safe to put under license.  The repo can also be setup to ignore certain files like the .pck, .png, .map, etc, so it will make it easier to map it over your directory for later bundling it altogether in a zip.

I really wouldn't now how to sort out what graphics were original and not original, but it could be done to where non-original items could be committed to the repo and have the original files ignored from git.  That could take a while though.

I'd just ignore graphics at this point. If GitHub is supposed to help with debugging, then graphic files are irrelevant, no? (Yes, they can also be bugged, but I think it's past us already.)
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: R1dO on April 15, 2016, 04:35:17 pm
I'd just ignore graphics at this point. If GitHub is supposed to help with debugging, then graphic files are irrelevant, no? (Yes, they can also be bugged, but I think it's past us already.)

Github won't help you with debugging itself. They are however pretty good at showing you the differences between 2 versions, so you can track where something (probably) went wrong. One of the nice features of github is that they are also able to visualize differences between image versions (providing the format is supported).

I doubt that git will be (more) helpfull if you only intend to put in ruleset files, not the images. At best you would need to keep track of the images using a different method (current one?) and combine the two upon release. More likely the two will eventually desync causing extra work to put them back into sync (and then i'm not even thinking about what happens if you want to use previous commits after there were some changes to the images).

Since OXC already requires the original files to run in the first place, and i don't believe it is your intention to make it into a standalone mod, github with images is probably not worse than the current way of publishing the mod. The question marks regarding  giving credits i made before were mostly meant for contributions from the community, under the assumption that FMP does not supply original (UFO/TFTD) datafiles but adapted ones at worse (depending on the country you are living in derivative works might actually be pretty legal).
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: yrizoud on April 15, 2016, 06:18:12 pm
help debugging : By other pairs of eyes :) Having the ruleset in a public browsable form lets other forumgoers check changes and see possible errors.
Title: Re: Re: [COMPILATION] Final Mod Pack (FMP)
Post by: DoxaLogos (JG) on April 15, 2016, 07:53:53 pm
help debugging : By other pairs of eyes :) Having the ruleset in a public browsable form lets other forumgoers check changes and see possible errors.

+1 again.  And revert broken ruleset files is easier.
Title: Re: FMP on GitHub
Post by: Solarius Scorch on April 15, 2016, 08:53:14 pm
OK, I moved the discussion here for clarity.

So, what should I be doing now? :)
Title: Re: FMP on GitHub
Post by: DoxaLogos (JG) on April 15, 2016, 09:29:32 pm
OK, I moved the discussion here for clarity.

So, what should I be doing now? :)

My recommendation would be to commit FinalModPack_readme.txt, FMP_Tech_Tree_by_Meridian.png, metadata.yml, and Ruleset directory to the repo.  A license file can be added later, and we can convert the readmet.txt into a GitHub style markdown readme.md file. 

I can go ahead and commit these if you want me to do it.
Title: Re: FMP on GitHub
Post by: Xtendo-com on April 16, 2016, 10:26:09 am
It's all really exciting, although as I said completely outside my experience.
I started to use git by using this step-by-step guide (https://githowto.com/). But this is a command line based guide. Prepare yourself to spend some days to understand what you are doing with git.
Title: Re: FMP on GitHub
Post by: hellrazor on April 16, 2016, 12:10:57 pm
Btw i am also considering for my own Mod Hardmode Expansion.
But the biggest issue so far has come is which licence to pic.
To my degree, i would probably just put everything under a creative common licence, since this most likely represent the spirit of the community of stealing stuff from other modders like you see fit. (It would actually support such behaviour).

Another things is, i am not sure to which degree github can keep different versions of files. That would be most interesting especially for *.RMP, *.MAP, and MCD Tilesets. Does anyone know if there is a list of supported formats out there?

EDIT: Thanks for the Step by step guide, gonna take some time later to go throu it :)
Title: Re: FMP on GitHub
Post by: Solarius Scorch on April 16, 2016, 01:05:03 pm
I can go ahead and commit these if you want me to do it.

Yes, please.

I started to use git by using this step-by-step guide (https://githowto.com/). But this is a command line based guide. Prepare yourself to spend some days to understand what you are doing with git.

Sorry but no way. I don't have days. I don't even have hours. I mean I do, but not for something like this, I'm a modder with way too big plans for my own health.
I'll do what I can, but within my capacity.
Title: Re: FMP on GitHub
Post by: hellrazor on April 16, 2016, 03:01:46 pm
Yes, please.

Sorry but no way. I don't have days. I don't even have hours. I mean I do, but not for something like this, I'm a modder with way too big plans for my own health.
I'll do what I can, but within my capacity.

Modding will probably not earn you money. Github knowledge as a programmer does actually help.
Title: Re: FMP on GitHub
Post by: Solarius Scorch on April 16, 2016, 03:16:29 pm
Modding will probably not earn you money. Github knowledge as a programmer does actually help.

Unlikely. I could just as well become a brain surgeon at this point... :P

I'm not saying I don't want anything to do with the project, I think I've already expressed my enthusiasm enough. But I'm not prepared to learn it all right now.
Title: Re: FMP on GitHub
Post by: Xtendo-com on April 16, 2016, 04:25:44 pm
Sorry but no way. I don't have days. I don't even have hours. I mean I do, but not for something like this, I'm a modder with way too big plans for my own health.
I'll do what I can, but within my capacity.
I do not force you to learn a git, just another link in case you really interesting. By days I mean you spend hour in git learning for a day (read and perform an experiment), but you don't need to learn everything as I tried.
Title: Re: FMP on GitHub
Post by: DoxaLogos (JG) on April 16, 2016, 04:54:45 pm
Yes, please.

Okay, I'll see if I can get this done tonight.  Got a lot of yardwork to do today.

Sorry but no way. I don't have days. I don't even have hours. I mean I do, but not for something like this, I'm a modder with way too big plans for my own health.
I'll do what I can, but within my capacity.

You may want to look into using the windows client: https://desktop.github.com/

It may be easier, but I wouldn't know since I'm comfortable with the command line on Linux.
Title: Re: FMP on GitHub
Post by: R1dO on April 16, 2016, 07:01:29 pm
Another things is, i am not sure to which degree github can keep different versions of files. That would be most interesting especially for *.RMP, *.MAP, and MCD Tilesets. Does anyone know if there is a list of supported formats out there?

Git will always keep all versions of the files you put under control. Per commit it will save the complete files that were changed (compressed using zlib)
In the worst case (when your file cannot be compressed easily via zlib) it will store a full binary blob of the complete file.

Besides that, i wouldn't worry about it to much for mods. Most files are quite small, and it is unlikely a repository will meet 1GB in short to medium time. And even if it grows too large, you can always start a new cleaned up repository version by doing some git-fu.

I'm not saying I don't want anything to do with the project, I think I've already expressed my enthusiasm enough. But I'm not prepared to learn it all right now.
As for learning git ... if you are not interested in doing fancy things you might just as well get away with using a good gui that lets you perform the following tasks easily:
* add/remove files
* Display differences between current work and last commit
* Let you store those differences as a new commit (preferably by requiring some sort of commit message with a summary of those changes)
* Let you push/pull to/from the github version.

For more advanced things like merging and solving commits you can always ask the community, so no need to worry about that at the moment.

Title: Re: FMP on GitHub
Post by: hellrazor on April 16, 2016, 10:01:00 pm
I am doing a lot of stuff under linux on bash.
But git command line client uhhhh.... -> hunt me with it.

Any decent suggestions for a Linux GUI? *shame*
Title: Re: FMP on GitHub
Post by: DoxaLogos (JG) on April 17, 2016, 01:39:02 am
I did the initial upload.  I'll work on a prettier readme for GitHub to use.
Title: Re: FMP on GitHub
Post by: DoxaLogos (JG) on April 17, 2016, 03:11:53 am
Posted a markdown style readme to the repo.  Hope you like.
Title: Re: FMP on GitHub
Post by: DoxaLogos (JG) on April 17, 2016, 03:50:41 am
I am doing a lot of stuff under linux on bash.
But git command line client uhhhh.... -> hunt me with it.

Any decent suggestions for a Linux GUI? *shame*

Never tried any, but here's a list of GUI clients (some are Linux) - GitKraken looks promising.
https://git-scm.com/download/gui/linux
Title: Re: FMP on GitHub
Post by: DoxaLogos (JG) on April 17, 2016, 08:47:42 pm
Potential License?

https://creativecommons.org/licenses/by-nc-sa/4.0/

We could use this one.  It doesn't allow it to be used for commercial purposes, but this seems appropriate coming from a commercial product.  I don't think the original makers of XCOM would appreciate anyone profiting off of their work without a cut themselves.
Title: Re: FMP on GitHub
Post by: hellrazor on April 17, 2016, 09:01:10 pm
Potential License?

https://creativecommons.org/licenses/by-nc-sa/4.0/

We could use this one.  It doesn't allow it to be used for commercial purposes, but this seems appropriate coming from a commercial product.  I don't think the original makers of XCOM would appreciate anyone profiting off of their work without a cut themselves.

Jeah that would also make sure that the material doesn't commercialized.
Title: Re: FMP on GitHub
Post by: DoxaLogos (JG) on April 18, 2016, 08:46:50 pm
Jeah that would also make sure that the material doesn't commercialized.

If there are no objections (particularly from Solarius), I'll commit a LICENSE file listing this CCL license for the time being.

BTW, I added the following to the README.md about why the whole mod is not on GITHUB:

Quote
WHY IS THE WHOLE MOD NOT ON GITHUB?

Part of FMP is not commited to Github, because the mod contains some of the original XCOM graphics and original artwork from other creators. This could cause potential licensing conflicts that we don't know how to resolve yet. We may post more in the near future as we determine license compatibility. For now, mostly the text files for rulesets and metadata are committed to the repo for collaboration.

HOW DO I GET THE WHOLE MOD, SINCE IT'S NOT ALL ON GITHUB?

You get it from the OpenXcom mod site located here (link to mod page...not dropbox)
Title: Re: FMP on GitHub
Post by: Solarius Scorch on April 20, 2016, 01:05:42 am
Yep, you have my blessing. :)