The hypothetical mod pack permission database

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord
Status
Not open for further replies.

systemv

New Member
Jul 29, 2019
94
0
0
Go with me on this, I promise it'll have a happy ending. If not, then you deserve a cupcake.

Here goes:

So often as I drive home from work ideas spring up that make a lot of sense. I try to remember to jot them down when I get back home and if they still make sense, I ponder how they would work and if they would make a positive difference. This is such an idea.

As an example, let us consider the music CD. Redbook audio CDs.

There was a time not too long ago when a organization called CDDB sprang up to collect table-of-conent (TOC) vectors of the tracks on a CD. I won't bore you with the actual technical details, but suffice to say Redbook standard audio CD's contain a vector of integers coded on the media that the compliant driver can read. This vector defines in units of a frame (1 frame = 1/75th of a second) of duration of each track on the disc. When discs are mastered, a person (human) literally marks the end points. So, during the production of a CD, over the lifetime of making instances of the versions of the CD, the TOC may change slightly. Pink Floyd Dark Side of the Moon has about 100 different TOC variations in the wild, for example.

CDDBs algorithm was (is) basically to hash the TOC into a 32 bit number, represented by a 4 octet hex number.
The algorithm had a feature to be loose enough to create collisions on TOC's that were close to another. This meant that if the same disc title had two distinct TOC, the algorithm would still collide to hash on the same key. This is by design.

Now CDDB eventually became very popular and during the history of the group, was approached by several media player software companies to acquire them. They refused and now they are known as GraceNote (or whatever they have morphed into).

The point being that a database of media, with open standard to submit and query became very popular and useful. It is how when you insert a music CD into your player, the software knows which disc it is. More advanced standards of encoding include other tags now (ID3, and other data) that make this system almost obsolete, but the impact is still there.

Now turn to Minecraft mods and the idea that had me up awake thinking through the process.

One essential part of mod pack development is securing permission to use the mod. Typically, this involves a lot of painful web surfing through ad hell to find the developer, find their license, and analyze the facts. Then a list is made and this tedious manual process is continued until the list is burned down to what you describe as the permissions list.

I think there's abetter way to deal with this.

Let's suppose there's a service, a website with a database. The database accepts submissions of a mod developer for their mod. The mod dev provides the meta data and in return the site returns a key. The key is actually the public part of a key-pair. The server keeps the private portion.

The mod developer uses a (yet to be made protocol) to insert a statement to generate a log entry that prints another key (which happens to be the data produced by a private key of the mod-dev and the public key given by the web site).

When a mod pack developer wants to seek permission, all they need to do is get the data-string from the log, go to the web site and enter it. The website (because the mod dev entered it beforehand) spits out the actual licensing terms of the mod (CC, GPL, whatever, whatever the specifics are). Then the end-user knows exactly where they stand.

No more annoying PM's to mod developers. No more guess work. No more huntin through ad-hell infested web sites. Plus it actually forces mod pack developers to seek, run and test the mods before asking. This will also have a side effect of (hopefully) cutting down on the number of 12 year olds who want to throw mods together and ask vague questions on the wrong forum "can I use it?"

The other side effect is that it forces the end user (mod pack developer ) to know that THAT version of the mod is the one they got and specifically if the permissions are granted. Having to guess is a pain.

So, having a log that is auditable, complete and concise is very useful for a user to know where they stand with respect to permissions and licensing.

So, the immediate questions you might have are:

"who is going to host this service?"
"who is going to maintain it?"
"who's going to build it?"
"will mod developers be required to use it?"
"how do users know they got a bonafide key of the mod and aren't victim of MitM attack?"
"does the site actually host the mod?" Flat answer "f* no. It stores meta data, not the mod or anything that the mod produces. Just meta data and a keypair"

I'll take astab at answering these questions but the essence of this is to improve the system by making the process of getting permissions (the one stumbling block among a handful) of mod pack developers.

To me, it would create a new formal sense of responsibilty in the mod-pack and mod dev community to hold up some standard on how they define licenses and how users may apply them.

So, that's the idea. I'm eager to try to implement this on the back end and a mod on the system side that will use it. I think working through the use-cases will be valuable to determine any risks and feasibility.

I wrote the software in various media player software that did CDDB algorithms and back end services of the same. So I've been down this road before. I want to leverage that knowledge here for the minecraft mod community.

Comments, suggestions, big rotten tomatos, etc.. welcome.

Thanks.
 
Last edited:

RealSketch

New Member
Jul 29, 2019
2,016
0
0
I've always wanted this, it would save me the trouble of having to use imgur! And you're right having to take 100 screenies is just tedious.
I'm sure FTB already has a spreadsheet for this, but it really isn't up to date and doesn't cover most mods.
 

systemv

New Member
Jul 29, 2019
94
0
0
Right. Let me walk through the typical use case scenario.

Bill the mod pack guy wants to shake the world up with his awesome and paradigm changing pack. He's on a path to greatness.

So he puts together a server with mods. He tests it out. He pulls hair, gnashes teeth. He tests it with his friends. They solve the problems and refine the pack. They think they got it finally. There is, deep in the night a yelp of "Eureka" heard across the misty moors of some god forsaken countryside farm estate. [Cue "Empty Spaces" by Pink Floyd]

Now if they think they're ready (and they know they are becuase they did the f'n due diligence to make it work and not just throw mods together then they can collect the keys spit out by the logs, and go fetch the licensing terms in one step from the aforementioned site.) For the mods NOT conforming to this system, then Bill has to hunt the licenses down in the dark with a torch (as we do now).

No tears, no ignored PM's. No hassles. Everyone wins.

A Mod developer can likewise take a peek at the database to see what their hit rate is.

Oh and another thing I forgot to mention, the database shall be ad-free. No ads.
 
  • Like
Reactions: RealSketch

Azzanine

New Member
Jul 29, 2019
2,706
-11
0
You see what we have here is an unfeasibly good idea(not impossible though).

This really depends on WHY permissions are important to modders. This database might not even be needed.
I am under the impression it's solely for distribution control purposes. Like you can use ANY mod in your public mod pack without ASKING permission so long as as that modpack sources the mod/s from the modders preferred download link and you are not distributing copies of their code on your end. Kind of like how I think ATL does it, you don't DL from them it will open up the accepted link to the modders content and ATL places it in the mod folder once it DLS.
Then again there might still be a permission requirement for ATL I don't really know.

I say that becasue I have no idea why a modder would feel that they have the right to dictate how we use their mod and what we use it with or the benefits that such controls give them. But needing control over how and who is distributing their code sounds like something they need to have to prevent their code from turning in to a chaotic monster (also maybe revenue to keep files hosted).

Essentially we need to do some google-fu or ask directly why these permissions are necessary and important. Back in the day modpacks where just a spreadsheet of the mods names and versions and a config unless you did the wrong thing and distributed them against the will of the modders. Your fellow pack players had to do the leg work and DL each mod in it's correct version and then get the config pack that makes it all work. If permissions are more then just distribution "rights" then even those old school packs that DLed from the right places are in the wrong and that makes no sense.
 

systemv

New Member
Jul 29, 2019
94
0
0
I agree to the most part that there are a few technical processes that would need to be sorted out. I'm not really frightened by that end of it.

But in the abstract, the spectrum of licensing requirements for mods is insane. Most (gladly) are GPL/CC or "don't care". Still requires some google-fu (laf, like that term).
Some are absolutely diabolical, almost to the point of "DEPOSIT $1324 dollars and you will be released your rightful inheritance from bfe.nigeria.co"

It could be readily solved by Mojang updating their terms of use and just say: If you modify the game behavior with a mod, the mod is automatically <insert nice public license of your choice here>.
Not holding my breath there.

I want to bypass the rigmarole that goes into this. The mod (for whatever reason) has a license. The sad fact is too man mods have their own cocked up licensing scheme and it should have never happened that way.

Interesting points to think about; thanks for the comment.
 

Azzanine

New Member
Jul 29, 2019
2,706
-11
0
I agree to the most part that there are a few technical processes that would need to be sorted out. I'm not really frightened by that end of it.

But in the abstract, the spectrum of licensing requirements for mods is insane. Most (gladly) are GPL/CC or "don't care". Still requires some google-fu (laf, like that term).
Some are absolutely diabolical, almost to the point of "DEPOSIT $1324 dollars and you will be released your rightful inheritance from bfe.nigeria.co"

It could be readily solved by Mojang updating their terms of use and just say: If you modify the game behavior with a mod, the mod is automatically <insert nice public license of your choice here>.
Not holding my breath there.

I want to bypass the rigmarole that goes into this. The mod (for whatever reason) has a license. The sad fact is too man mods have their own cocked up licensing scheme and it should have never happened that way.

Interesting points to think about; thanks for the comment.

Yeah, modders need to realize that people with Tekkit F* the modder mindset probably started out much like your self being willing to respect boundaries only to become tired of the inconvenience of the whole process.
That being said, I'd still like to know the proper boiled down core reason why modders even require permissions to be actually submitted to them. What exactly are they allowing you do do?
 

ShneekeyTheLost

Too Much Free Time
Dec 8, 2012
3,728
3,004
333
Lost as always
As previously mentioned, this is probably unfeasible for the following reasons:

1) Really, the only thing you need to worry about is a) permissions granted, or b) permissions not granted. If it is granted, you can distribute in a mod pack. If not, you can't. A whole system like you are talking about is completely unnecessary.

2) Updating this database of information is going to end up being a full time job that someone is going to have to do that won't earn a cent for. I think you vastly underestimate the number of man-hours this is going to be.

3) This is going to end in Drama. This is a very sore and sensitive topic that is going to draw fire from virtually every direction. You will almost certainly never get any thanks for this enormous project, you will simply be unfairly reviled for the attempt.
Yeah, modders need to realize that people with Tekkit F* the modder mindset probably started out much like your self being willing to respect boundaries only to become tired of the inconvenience of the whole process.
That being said, I'd still like to know the proper boiled down core reason why modders even require permissions to be actually submitted to them. What exactly are they allowing you do do?
It boils down to distribution permissions. Basically, some mod authors don't want third parties to distribute their mod for whatever reasons. Permissions are to distribute their mod in your mod pack. Otherwise, you can't include their mod in your mod pack when you distribute your mod pack because it would end up also distributing that mod.
 

Dezil_nz

New Member
Jul 29, 2019
118
0
1
I did my first mod pack for 1.5 that was late 2013 and i would like to say that since then allot of mod authors have loosened there restrictions on mods, having made a start on a themed pack for 1.7 currently most authors have given permission to include in public mod packs on the requirement you link back to there page which is not a hard ask

the only benefit from this massive undertaking would be the possible removal of the 12 year olds from posting ......... but they will most likely still post
 
  • Like
Reactions: Azzanine

systemv

New Member
Jul 29, 2019
94
0
0
I am thrilled by CoFH's work. I really am.. So, take this with a dose of good humor --

I am not singling them out because I dig their work, but I just happen to stumble on this a few minutes ago (searching for some code examples). This is the sort of license aka (DBAJ License )that makes me want to laugh.

GPL would be just fine here. The code would STILL be copyrighted. The user has to maintain the GPL in derived works. They never lose the copyright, and the carry-forward GPL license virtually makes it impossible for anyone to reasonably assume the derived work is not based on CoFH's effort.

@ShneekeyTheLost -- No one really maintained the CDDB database. The thing was self-repairing and grew on it's own. Same here. If a mod-dev wants to play the game, they do so on their own time. If a mod-pack builder wants to inquire, they do so on their own time. The code doesn't scare me, what does is the emotional resistance. (It's part of the reason why I go rogue with my own Launcher). I do think you're absolutely right about being reviled.

ps.
You're allowed to re-post no more than 50% of this post because this post is covered by the DBAJ License. ;-)

pps.
Someone lock the thread before we have a thermonuclear meltdown.
 
  • Like
Reactions: YX33A

YX33A

New Member
Jul 29, 2019
3,764
1
0
I like the idea you're cooking up here. But it could be one step easier then it's already been said to be; list if a mod has no limits on redistribution(aka modpacks) or has some.
Oh, and @systemv if they DBAJ license makes you laugh, what are your thoughts on the WTF PL?
 

Not_Steve

Over-Achiever
Oct 11, 2013
1,482
3,264
293
I like the idea you're cooking up here. But it could be one step easier then it's already been said to be; list if a mod has no limits on redistribution(aka modpacks) or has some.
Oh, and @systemv if they DBAJ license makes you laugh, what are your thoughts on the WTF PL?
Ender io is licensed under that... I love crazy pants
 

systemv

New Member
Jul 29, 2019
94
0
0
@YX33A "I'm just happy to be here, happy to be alive."

So, like I was talking to my son (who's 12, and plays MC, etc..) and I was talking about all this. He says, "I got an idea for a mod-pack!"

/me covers his face

I told him that the way to do this is, find a list of mods you like, and check their licenses. Anything that is GPL/CC/etc, then put them in a list and I'll help you get it in the Launcher.
But, I'd rather he pick up a Java book and write a mod. So in order for that to happen I have to finish a mod so he can figure it out.
 

YX33A

New Member
Jul 29, 2019
3,764
1
0
If he's 12, he'll likely make a mod before you do. There a quite a few young modders around here. I could name a few, but I'm sure @ThatOneSlowking could tell you the lot of 'em easier. As could @RealSketch but he's clearly a child, and has the maturity that too few actually show. My niece is 3 years old and is in many ways more mature then me! ...as long as she gets what she wants or can be convinced to take what she's given, she's insanely mature.
 

Azzanine

New Member
Jul 29, 2019
2,706
-11
0
If he's 12, he'll likely make a mod before you do. There a quite a few young modders around here. I could name a few, but I'm sure @ThatOneSlowking could tell you the lot of 'em easier. As could @RealSketch but he's clearly a child, and has the maturity that too few actually show. My niece is 3 years old and is in many ways more mature then me! ...as long as she gets what she wants or can be convinced to take what she's given, she's insanely mature.
Yeah 12's a funny age, it's when you REALLY start (key word) to get smarter but still pretty dumb as that's when adolescents kicks in, hormones derp your brain up reel gud.
 
  • Like
Reactions: YX33A

YX33A

New Member
Jul 29, 2019
3,764
1
0
Yeah 12's a funny age, it's when you REALLY start (key word) to get smarter but still pretty dumb as that's when adolescents kicks in, hormones derp your brain up reel gud.
I do my best to kickstart the kids I know around that age. The trick is simple, since mental maturity is really only two things. Lying and not caring about what people think of you. I know a girl who is 14 and she's almost there. She just needs to work on the lying. Sure, that's the hard part, right? Jokes on anyone who thinks this.
Like the tagline from the "Fallout: New Vegas" DLC "Dead Money" says, the hard part is Letting Go. And I think she's got that down pat. She doesn't yearn for peer approval but doesn't suffer for lack of it nor suffer when she has it. For a well and true scientist one needs to be able to more the just let it go. One has to know when to let it go and when to seek approval and when to give it, and went to take it away or not give it at all.
And to be a scientist, one needs to only ask questions about the world and seek answers for yourself, even if you find them in a book, but if you can run a test from the answer to see if you get the same answer, you are doing the most important part of research: Peer Analysis.

But she's a good friend of mine. Until she can convince me she doesn't care what I think, I think she will be a kid. I think. She'll grow up. Maybe she just can't lie to me, come to think of it. Or my Best Friend, her brother. We're both damn good liars come to think of it... And it's damn hard to kid a kidder, y'know?
 
  • Like
Reactions: Not_Steve and Narc

RealSketch

New Member
Jul 29, 2019
2,016
0
0
If he's 12, he'll likely make a mod before you do. There a quite a few young modders around here. I could name a few, but I'm sure @ThatOneSlowking could tell you the lot of 'em easier. As could @RealSketch but he's clearly a child, and has the maturity that too few actually show. My niece is 3 years old and is in many ways more mature then me! ...as long as she gets what she wants or can be convinced to take what she's given, she's insanely mature.
I'm a child inside. :p
I'm a adult alien person on the outside.
Besides YX, you're crazy, whatever you say is probably not true. :p
 

buggirlexpres

Relatable Gamer
Trusted User
Retired Staff
Nov 24, 2012
3,937
7,362
663
she/her
twitter.com
I know I link to this a lot, but the folks at FTB already have a few permission "databases." My favorite is the Mod Permissions Spreadsheet, which contains some of the more popular mods. There's also the Central Mod Permissions, which include basically every mod dev who has taken the time to look at these forums, and accepts giving away the mods. Our great FTB team also recently created the Extendable Permissions, which give you text files full of permissions for the main 1.6 modpacks.
 
  • Like
Reactions: RealSketch

systemv

New Member
Jul 29, 2019
94
0
0
Alright. I get the sense so far that the preferred method might be to rely on lists. I'll keep gathering advice here and see where it goes.

@Gideonseymour - Thanks for pointing that out
 
  • Like
Reactions: RealSketch

RealSketch

New Member
Jul 29, 2019
2,016
0
0
Alright. I get the sense so far that the preferred method might be to rely on lists. I'll keep gathering advice here and see where it goes.

@Gideonseymour - Thanks for pointing that out
I did actually mention exactly that in my reply, though Gide has provided links to the data I was talking about.
Still, only some sheep get eaten...
 
  • Like
Reactions: buggirlexpres

systemv

New Member
Jul 29, 2019
94
0
0
In 1995, when I started programming in Java I did it all wrong. I wrote crap code because I didn't understand the paradigm. That had to be fixed so I started reading a bit more and when I was writing Java Servlet code for ATG/Dynamo things got a bit better. I had to put all that Java away and focus on C/C++ for the rest of my career as I started doing more firmware on game consoles.

So, every once in a while a new graduate or new programmer would ask me what I thought about Java and I'd tell them that the "lingua franca" (coin of the realm) in the Software Engineering world is C++.

Doing Java programming again for mods has rekindled some interest in Java for me. I'm finding the language lets me express concepts in code in a much more relaxed manner. I can stop worrying about the heap, and object references, or strict timing requirements in C firmware and deal with behavior and data and abstraction for a concept.

So, for the younger generation, like my son, who will probably begin programming in Java and not in C/C++ I am sort of envious. The comment above about kids being able to code mods faster than "the old man" are probably true.

I know this is straying off the original topic, but I just wanted to share this. I appreciate the comments so far about the idea in the opening post. It's always refreshing to learn something new.

Don't mind me, I'll try to keep the "new ideas" in check for a while ;-)
 
Status
Not open for further replies.