Skip to content

Instantly share code, notes, and snippets.

@hakusaro
Created October 12, 2013 16:15
Show Gist options
  • Save hakusaro/6951797 to your computer and use it in GitHub Desktop.
Save hakusaro/6951797 to your computer and use it in GitHub Desktop.
This is the conversation that happened with two tAPI developers and me regarding the openness of the server and the client.
8:25:23 AM → Shockah joined ⇐ Diablodoc quit
9:18:47 AM <Shockah> geh, nicatronTg
9:18:51 AM <Shockah> seriously
9:18:58 AM <Shockah> i already said we can't do that with the server source
9:18:59 AM <~nicatronTg> Morning Shockah
9:19:04 AM <~nicatronTg> How?
9:19:08 AM <Shockah> but i guess you were afk
9:19:13 AM <Shockah> like 4 hours ago
9:19:27 AM <~nicatronTg> Shockah: unless you highlight someone in irc, they won't see your messages
9:19:28 AM <Shockah> the thing is, we DON'T HAVE AN ACTUAL SERVER.
9:19:38 AM <Shockah> tAPI Server.exe just references tAPI.exe
9:19:43 AM <Shockah> and sets variables
9:19:50 AM <Shockah> and launches the "game"
9:19:56 AM <Shockah> nicatronTg, i did...
9:19:57 AM <~nicatronTg> so how can't you release that source code?
9:20:08 AM <Shockah> because there is no such thing in this case
9:20:14 AM <~nicatronTg> Yes, there is
9:20:15 AM <Shockah> we use one codebase for both client and server
9:20:31 AM <~nicatronTg> Shockah: you and I both know that the code that runs the server and the client is effectively the same code running in different modes
9:20:38 AM <~nicatronTg> you can decompile the server and backport changes
9:20:42 AM <~nicatronTg> into that exe
9:20:52 AM <~nicatronTg> if not just flat out change the client to run the server instead
9:21:01 AM <~nicatronTg> that's why the server has a Dust.cs and other random XNA stuff
9:21:06 AM <~nicatronTg> (which we usually remove)
9:21:22 AM <~nicatronTg> https://github.com/Deathmax/TerrariaAPI-Server/blob/master/Terraria/Dust.cs
9:21:34 AM <Shockah> i don't really feel like having to have 2 codebases for both server and client
9:21:46 AM <~nicatronTg> https://github.com/Deathmax/TerrariaAPI-Server/blob/master/Terraria/ClientSock.cs
9:22:11 AM <~nicatronTg> Shockah: at this point, you're making excuses mate
9:22:31 AM <~nicatronTg> again, "feeling like not having" is not going to fly
9:22:51 AM <Shockah> excuses? i'm just saying we already asked Redigit several times, got "nope" each time, and that we're not splitting source into 2
9:23:06 AM <~nicatronTg> So this is a case of "he said, she said"
9:23:25 AM <Shockah> which doesn't mean i can't share the source through private ways
9:23:28 AM <~nicatronTg> Asking Redigit about client code - yeah, we're pretty confident he doesn't want the source to his game out
9:23:34 AM <~nicatronTg> the server is 100% fine though
9:23:56 AM <~nicatronTg> you just can't be bothered to backport changes / split source and remove XNA
9:24:12 AM <Shockah> would YOU like to do it in such a case?
9:24:22 AM <Shockah> adding new code to 2 sources is just a stupid idea
9:24:39 AM <~nicatronTg> You shouldn't be copy pasting code into code twice, first of all
9:24:48 AM <~nicatronTg> 90% of our API is outside of the server
9:24:49 AM <Shockah> you don't really have to care about it though, because tShock is a server mod
9:24:53 AM <~nicatronTg> the only thing we put in is hooks
9:25:01 AM <~nicatronTg> Shockah: at this point, we only care about the server
9:25:07 AM <~nicatronTg> how many times have I said that?
9:25:18 AM <Shockah> again, you have just 1 codebase
9:25:27 AM <Shockah> so it's a different situation
9:25:30 AM <~nicatronTg> no, it isn't
9:25:38 AM <~nicatronTg> you can implement the same hooks in different places
9:25:44 AM <~nicatronTg> and sure, it's more work to deal with two codebases
9:25:55 AM <~nicatronTg> but that does not excuse not at least publishing the server source code with each version
9:26:07 AM <Shockah> and that work is having to add code to 2 almost the same places
9:26:10 AM <Shockah> which is totally dumb
9:26:28 AM <~nicatronTg> No, you shouldn't be doing that in the first place?
9:26:34 AM <~nicatronTg> Here's how you can stop replicating code
9:26:34 AM <Shockah> oh god, nicatronTg, there is no such thing as server source code in this case, give it up
9:26:42 AM <~nicatronTg> http://git-scm.com/book/en/Git-Tools-Submodules
9:26:47 AM <Shockah> ...
9:26:48 AM <~nicatronTg> Split the codebase
9:27:00 AM <~nicatronTg> use git submodules and use existing private source in two repos
9:27:23 AM <~nicatronTg> The only reason why we haven't done a client API
9:27:42 AM <~nicatronTg> is because we would prefer someone more experienced with client code does it
9:27:56 AM <~nicatronTg> otherwise we wouldn't have this discussion, and we would have a "TerrariaClient-API"
9:28:11 AM <~nicatronTg> but if you want to go try to split the server userbase in two
9:28:22 AM <~nicatronTg> you're signing up for a lot more bugfixing and support than you think
9:28:25 AM <Shockah> it's already split, you know.
9:28:26 AM <~nicatronTg> if you don'
9:28:30 AM <~nicatronTg> don't* release the source
9:28:47 AM <~nicatronTg> No, it isn't - we have metrics to prove that we are effectively the only thing used by most game service providers
9:28:59 AM <Shockah> ..lol
9:29:06 AM <~nicatronTg> We have 300,000 page views a day on tshock.co alone
9:29:18 AM <Shockah> you didn't get the idea at all
9:29:18 AM <~nicatronTg> .google multiplayuk
9:29:19 AM <@Internets> [Google] Multiplay: Passionate About Gaming : Multiplay (http://multiplay.com/)
9:29:19 AM <@Internets> [Google] Description: We know gaming. We know how it feels to have gaming be a part of you, professionally and personally. From pixels to polygons and across the globe, we' ve ...
9:29:19 AM <Shockah> but whatever
9:29:24 AM <~nicatronTg> .google vortexservers
9:29:24 AM <@Internets> [Google] Vortex Servers (https://vortexservers.com/)
9:29:24 AM <@Internets> [Google] Description: Vortex Servers, specializing Minecraft Hosting, powered by Xeon E3-1240v2 @ 3.8GHz, 1Gbps Network and SSDs.
9:29:40 AM <Shockah> ...why didn't i think about such a name for an IRC bot
9:29:49 AM <~nicatronTg> Shockah: we aren't asking for a fight here
9:30:05 AM <Shockah> you're telling me to do something that would totally disrupt our work
9:30:06 AM <~nicatronTg> we're asking that you get off your high horse as the ini file based client modding group
9:30:20 AM <Shockah> ...
9:30:22 AM <~nicatronTg> and start working with the rest of the server community
9:30:28 AM <Shockah> okay, you're now trying to pick a fight
9:30:41 AM <~nicatronTg> Nope, I'm not - I want you to stop making excuses about extra work
9:30:48 AM <~nicatronTg> you already knew that it was extra work when you promised it
9:30:59 AM <Shockah> i promised to share the source.
9:31:04 AM <Shockah> that's the only thing i promised.
9:31:13 AM <~nicatronTg> Shockah: to whom/from where?
9:31:31 AM <Shockah> to the "tShock dev team"
9:31:34 AM <Shockah> because i was asked to.
9:31:47 AM <~nicatronTg> Shockah: again, how does this make sense?
9:31:53 AM <~nicatronTg> you are telling me that you can't have open source code
9:32:02 AM <~nicatronTg> and now you're telling me that you would share with us the source code
9:32:22 AM <Shockah> having the code public is different from sharing it with someone
9:33:53 AM <~nicatronTg> Shockah: what license are you putting on your code, by chance?
9:34:16 AM <~nicatronTg> I'm not entirely sure how you are legally saying that you can allow us to see/work on your code
9:34:25 AM <~nicatronTg> but keep it private at the same time
9:34:35 AM <~nicatronTg> (bearing in mind that Redigit has copyright on 100% of Terraria, server and client)
9:35:53 AM <Shockah> yes, it makes little sense, but so does what you say
9:36:16 AM <~nicatronTg> Shockah: license?
9:36:17 AM <Shockah> "i know server and client code are almost the same, but we just keep silent about it and publicize the server code anyways"
9:36:32 AM <~nicatronTg> Shockah: no, we have _asked Redigit_
9:36:38 AM <~nicatronTg> he has seen TerrariaAPI-Server
9:36:40 AM <~nicatronTg> we remove XNA
9:36:48 AM <~nicatronTg> we remove a lot of client code in our stripping, just to get it to work with mono
9:36:55 AM <~nicatronTg> you cannot run a client from the TerrariaAPI-Server code
9:37:01 AM <~nicatronTg> even though a lot of the client code exists
9:37:12 AM <~nicatronTg> at least, initially, before people go in and remove it
9:37:30 AM <~nicatronTg> So as I was saying, TShock is GNU GPL V3 - https://github.com/NyxStudios/TShock/blob/general-devel/COPYING
9:38:00 AM <~nicatronTg> (and so are the modifications that we make to the server api, just not the api raw source code from Terraria itself)
9:38:24 AM <~nicatronTg> Even if you expect to do a private release with us, you have to have some idea of a license that you are bundling with your code
9:39:30 AM → Yoraiz0r joined ([email protected])
9:39:33 AM <Yoraiz0r> Hello.
9:39:55 AM <~nicatronTg> hi Yoraiz0r
9:40:00 AM <Yoraiz0r> hi
9:40:25 AM <~nicatronTg> Shockah: our entire goal here is to make it so that server owners have the best of both worlds - they can run TShock or their own cup of tea modding tool on top of either our API or your's
9:40:26 AM <Yoraiz0r> so ugh, I heard there's some debate going on?
9:40:43 AM <@Zidonuke> Hello World
9:40:50 AM <~nicatronTg> oh hi Zidonuke
9:41:01 AM — ~nicatronTg runs over to Zidonuke and hugs him
9:41:02 AM <Yoraiz0r> nicatronTg, tAPI's issue at the moment is that the server itself is merely a single program.cs referncing tAPI's client and that's it
9:41:12 AM <@Zidonuke> I've been working and just ignoring the world for a bit
9:41:30 AM <@Zidonuke> So anyways I'm like a week or so out of date XD
9:41:39 AM <~nicatronTg> Yoraiz0r: and?
9:41:42 AM <Yoraiz0r> a project containing a single cs file, the rest of the code is just lying in the random spots around the files both of the server and the client share
9:41:57 AM <~nicatronTg> Yoraiz0r: so move "the rest of your code" into a single, cohesive set of tools
9:42:01 AM <~nicatronTg> that can be dropped into both
9:42:06 AM <~nicatronTg> and only hook into each side
9:42:12 AM <@MarioE> hm
9:42:15 AM <@MarioE> per chance, what methods do you hook?
9:42:24 AM <Yoraiz0r> per chance?
9:42:27 AM <@MarioE> like
9:42:51 AM <@MarioE> i'd like to see if it'd be possible to (ab)use mono.cecil or something
9:42:51 AM <Yoraiz0r> to give off an example , we call an event in the middle of UpdatePlayer , this event would be called on both the client and the server , but it must be there in the middle of the method
9:43:01 AM <~nicatronTg> Zidonuke: hmm, I've been working on classwork the entire week
9:43:35 AM <Yoraiz0r> If you guys have any convenient solutions as to how we can inject the code at the middle of methods or whatever , feel free to explain it
9:44:22 AM <@Zidonuke> I can see why you want too considering the mess that is UpdatePlayer
9:44:38 AM <~nicatronTg> Yoraiz0r: so because we have open source code, you can see our implementations here
9:44:39 AM <~nicatronTg> https://github.com/Deathmax/TerrariaAPI-Server/tree/master/TerrariaApi.Server
9:44:48 AM <~nicatronTg> all of the code in that folder is ours
9:44:53 AM <@MarioE> I think he meant reflection-wise.
9:45:09 AM <~nicatronTg> MarioE: I don't think they're doing reflection if I'm hearing this right
9:45:15 AM <~nicatronTg> but we aren't either
9:45:37 AM <@Zidonuke> Reflection isn't a perfect solution to the worlds problems to say :PO
9:45:42 AM <@Zidonuke> neither is
9:45:48 AM <Yoraiz0r> We're avoiding reflection , but it does happen in some circumstances , for example initial binding of assemblies and etc
9:46:04 AM <~nicatronTg> Yoraiz0r: we have hooks in the middle of statements all the time - they ask our API if anything needs to be called, and when it does, anything that asks to be called, we call that plugin's function with the associated arguments
9:46:17 AM <Yoraiz0r> Also, keep in mind I am slightly confused at the moment , I'm running under fever here and only came around since I've been asked to ._.;
9:46:20 AM <~nicatronTg> and that associated function can return back code for use in the api/etc
9:46:58 AM <~nicatronTg> Yoraiz0r: and a call looks like this
9:46:59 AM <~nicatronTg> https://github.com/Deathmax/TerrariaAPI-Server/blob/master/Terraria/Netplay.cs#L424
9:47:20 AM <Yoraiz0r> We're doing the same , only our code is involved in many more classes =\
9:47:40 AM <Yoraiz0r> also netplay is but a single class , do you include the entire game's source in your folders?
9:47:43 AM <@Zidonuke> Yoraiz0r, that is really the only solution you can go with
9:47:48 AM <~nicatronTg> https://github.com/Deathmax/TerrariaAPI-Server/blob/master/Terraria/messageBuffer.cs#L246
9:48:01 AM <~nicatronTg> Yoraiz0r: https://github.com/Deathmax/TerrariaAPI-Server/tree/master/Terraria
9:48:16 AM <~nicatronTg> (albeit, some client functions and related bits are cut out, as you can see)
9:48:57 AM <Yoraiz0r> That's most of terraria's source... how does Redigit differentiate this from a client to a server, lol.
9:49:14 AM <~nicatronTg> Zidonuke: care to explain?
9:49:22 AM <@Zidonuke> We all should realize that at the end of the day reverse engineering terraria is trivial beyond belief and the client source code is already fixed in full plain view on servers that do not respect the DMCA
9:49:26 AM <Yoraiz0r> You just ripped the draw methods? (main didn't load yet)
9:49:46 AM <~nicatronTg> Zidonuke: or rather, how terraria, when compiled, chooses if it is the server or the client
9:50:25 AM <Yoraiz0r> I don't see how this answers my question as to how Redigit 'okays' this
9:50:33 AM <~nicatronTg> Yoraiz0r: logistically speaking, Redigit is entirely aware that we do not offer a compilable version of the client
9:50:37 AM <~nicatronTg> and that if you were to grab that code
9:50:42 AM <~nicatronTg> and try to run a client from it
9:50:43 AM <~nicatronTg> you would fail
9:50:53 AM <Yoraiz0r> ...
9:50:55 AM <~nicatronTg> because it is missing half of the client code and all of the XNA framework
9:51:02 AM <~nicatronTg> XNA Is entirely gone from that
9:51:11 AM <Shockah> tAPI is missing all the content
9:51:12 AM <Shockah> so what
9:51:15 AM <Yoraiz0r> Yes, I've seen you've been using substitutes
9:51:53 AM <~nicatronTg> the difference, again, is that if you have client code and you compile client code (and add the content folder), you basically have Terraria's source code
9:52:15 AM <Yoraiz0r> So basically he okays it as long as the user of said executable cannot 'play'
9:52:17 AM <Yoraiz0r> hmmm
9:52:22 AM <@Zidonuke> What the fuck are you all even arguing about now, seriously, its been cracked, its been released, who the fuck cares anymore
9:52:26 AM <~nicatronTg> the amount of stuff missing from our codebase that would have to be reverse engineered back in to get the same thing is insurmountable to quantify
9:52:34 AM <Yoraiz0r> Zidonuke, its called respect.
9:52:42 AM <Yoraiz0r> look it up or something , I guess.
9:52:54 AM <~nicatronTg> Zidonuke: because, you know, we want to stay on Redigit's good side and I would prefer not having repeats of prior events with being yelled and screamed at
9:53:06 AM <~nicatronTg> and obviously, aside from piracy/hacking sites that don't respect DMCA
9:53:15 AM <~nicatronTg> thinks like github and the terrariaonline forums and ovh DO
9:53:21 AM <@Zidonuke> then don't make your releases able to run without steam
9:53:22 AM <@Zidonuke> its simple
9:53:43 AM <@Zidonuke> thats how you respect him
9:53:48 AM <~nicatronTg> Zidonuke: their problem is that Redigit does not want the "client" code out
9:53:54 AM <~nicatronTg> and we don't want their "client"
9:54:08 AM <~nicatronTg> our problem with them is that they are holding the server code in, but this is a result of them only using one codebase for the two jobs
9:54:14 AM <Yoraiz0r> and the steam check can be disabled with 2 lines worth of edit , whilst the client code is much more of hassle..
9:54:24 AM <Yoraiz0r> Hmmph
9:54:28 AM <~nicatronTg> and their problem with us requesting to split it is because it takes a lot more effort to remove the client and run the server
9:54:34 AM <Yoraiz0r> nicatronTg, a question if I may...
9:54:57 AM <Yoraiz0r> Suppose we finish working on tAPI r1 , send you the source , you get your substitutes and remove any draw methods
9:55:19 AM <Yoraiz0r> (assuming nothing else is considered 'client' code)
9:55:19 AM <~nicatronTg> Yoraiz0r: so again, what license is your code under?
9:55:28 AM <Yoraiz0r> license?
9:55:39 AM <Yoraiz0r> im confused about the context?
9:55:49 AM <~nicatronTg> GPL / MIT / Do what the fuck you want?
9:55:55 AM <@Zidonuke> nicatronTg, its kinda like TerrariaServer-API, it has no license
9:56:00 AM <@Zidonuke> you can't license it
9:56:05 AM <@Zidonuke> its owned by redigit
9:56:08 AM <~nicatronTg> Zidonuke: our api has a license
9:56:12 AM <~nicatronTg> our code is licensed gpl v3
9:56:16 AM <~nicatronTg> redigit's is his
9:56:41 AM <~nicatronTg> it just so happens we are missing headers and the COPYING file inside the TerrariaApi.Server folder
9:56:52 AM <~nicatronTg> I mean, maybe you can't cross license if the code is directly added in?
9:57:06 AM <~nicatronTg> Yoraiz0r: so assuming you send us the source code
9:57:15 AM <~nicatronTg> which by the way, you can still just disable the client stuff yourself
9:57:26 AM <~nicatronTg> because we really don't feel like reverse engineering two people's code here
9:57:37 AM <~nicatronTg> we make changes
9:57:40 AM <~nicatronTg> and release it
9:57:57 AM <~nicatronTg> there is some disconnect between the copyrighted modifications that you guys have made
9:58:07 AM <~nicatronTg> like say, lines 20-30 of some file are yours)
9:58:32 AM <~nicatronTg> under what restrictions are we being given your changes and under what equal restrictions are we releasing them back to you (if at all)?
9:58:53 AM <Yoraiz0r> I uhm, would have to avoid this question until I look into the subject farther
9:59:12 AM <~nicatronTg> Well, I'll be here all day
9:59:20 AM <Yoraiz0r> I havn't dealt with such questions in the past
9:59:41 AM <~nicatronTg> because again, you haven't had to consider the fact that someone like us could just reverse engineer your reverse engineered code
9:59:44 AM <Yoraiz0r> It would probably take me more then a day, as I mentioned I am under a rather heavy fever and went to hospital 3 times by now
9:59:48 AM <~nicatronTg> and etc
9:59:54 AM <~nicatronTg> Yoraiz0r: then why the fuck are you here?
10:00:03 AM — @Zidonuke sighs
10:00:07 AM <@Zidonuke> this is all too much you two
10:00:11 AM <~nicatronTg> clearly Shockah could have said "yo, Yoraiz0r is dead/dying, can he talk to you in a bit?"
10:00:11 AM <Yoraiz0r> simple, I can't go back to sleep and I don't have anything else to do
10:00:13 AM — @Zidonuke goes afk.
10:00:32 AM <~nicatronTg> Yoraiz0r: go watch some netflix and feel better
10:00:55 AM <~nicatronTg> we can shelve this discussion until you're okay?
10:00:56 AM <Yoraiz0r> I'll avoid the latter, thanks for the offer
10:01:03 AM <Yoraiz0r> I am fine with talking about it
10:01:06 AM <Yoraiz0r> allow me to ask though
10:01:14 AM <Yoraiz0r> what does your license cover?
10:01:26 AM <Yoraiz0r> You've mentioend your code is licensed..care to explain?
10:01:55 AM <~nicatronTg> Yoraiz0r: the right hand side of this page covers most of the clauses that the GPL provides
10:01:55 AM <~nicatronTg> http://choosealicense.com/licenses/gpl-v3/
10:02:07 AM <Yoraiz0r> tyvm...
10:02:39 AM <~nicatronTg> Effectively, you can use our source code as much as you see fit, permitting that you keep our copyright, don't change the license from something other than a newer version of the GPL v3, and you share all changes you make with us and the rest of the world
10:03:01 AM <~nicatronTg> you are permitted to distribute your own copies of our software (with modifications), modify it, or even sell it
10:03:22 AM <~nicatronTg> though you cannot hold us liable if your stuff breaks because of it, and you cannot change our license when you distribute your copy
10:03:37 AM <Yoraiz0r> Thank you for the short explanation , that saved me from reading the document in whole or guessing what some things mean.
10:03:59 AM <~nicatronTg> Yoraiz0r: here are a lot of variations on that: http://choosealicense.com/licenses/
10:04:28 AM <Yoraiz0r> Personally I understand your concerns about server defense and pleasing the community, but I'd just want to continue what we're doing in tAPI atm without much concern about the latter
10:04:46 AM <Yoraiz0r> Actually , let me ask further , what does tShock actually do in terms of features?
10:05:00 AM <Yoraiz0r> I guess I can go look in the thread
10:05:03 AM <~nicatronTg> Yoraiz0r: this is normally where we start referring people to download pages
10:05:06 AM <~nicatronTg> or the wiki
10:05:12 AM <Yoraiz0r> yeah
10:05:20 AM <~nicatronTg> Yoraiz0r: the readme http://github.com/NyxStudios/TShock
10:05:23 AM <~nicatronTg> has all of what you want
10:05:24 AM <eggster> its always a rough thing to do, have a good quality code base and maintain a community
10:05:26 AM <Yoraiz0r> thing is, most people asked about tConfig for commands
10:05:28 AM <~nicatronTg> or at least, a general overview
10:05:33 AM <Yoraiz0r> which- I made a tConfig mod for as an example
10:05:54 AM <Yoraiz0r> so I really didn't see the need to do a lot of work and use tShock's code and whatever...
10:05:55 AM <~nicatronTg> Yoraiz0r: you can see all of the commands we have here
10:06:03 AM <~nicatronTg> https://github.com/NyxStudios/TShock/blob/general-devel/TShockAPI/Commands.cs
10:06:23 AM <Yoraiz0r> Hmph
10:06:57 AM <Yoraiz0r> Aside mysql support which I barely have the basics of understanding how it works , I suppose all of those can be done as a mod in tAPI or even tConfig...
10:07:09 AM <@Zidonuke> Yoraiz0r, exactly
10:07:29 AM <~nicatronTg> Zidonuke: I think he found the point
10:07:39 AM <@Zidonuke> Yoraiz0r, Just keep going with what you are doing
10:07:48 AM ← Zidonuke was kicked by nicatronTg ([email protected]): bad advice
10:07:49 AM <Yoraiz0r> I wish to do so, but I don't want to be rude >.<;
10:07:59 AM → @Zidonuke (opped) joined
10:08:30 AM <~nicatronTg> Yoraiz0r: the point here is that we could do something like run TShock off of your API instead
10:08:54 AM <~nicatronTg> but again, without the source code, it is difficult or impossible to verify that we are correctly using it and referencing the correct things
10:09:11 AM <~nicatronTg> if we can't see where your, I don't know, "on logon" hook is
10:09:19 AM <~nicatronTg> we cannot know the context in which we should be doing some actions
10:09:36 AM <Yoraiz0r> Well, we never did stop anyone from decompiling tConfig you know...
10:09:55 AM <~nicatronTg> Yoraiz0r: I've said and stated several times
10:10:08 AM <~nicatronTg> "we would rather not reverse engineer two people's sets of code"
10:10:18 AM <~nicatronTg> we already have a great amount of fun working with Redigit's
10:10:20 AM → bippity joined ([email protected])
10:10:30 AM <~nicatronTg> we would rather not have to do the entire thing for your stuff too
10:10:47 AM <~nicatronTg> and Yoraiz0r, decompiling is still a licensed act
10:10:54 AM <~nicatronTg> we continue with permission from Redigit
10:11:14 AM <~nicatronTg> and I'm pretty sure even if you give us "permission" to do the same, you are effectively sublicensing Redigit's code
10:11:37 AM <Yoraiz0r> ..guh
10:12:16 AM <Yoraiz0r> excuse me if I sound rude for the time being but I don't reall have the endurance to handle this , at the moment the amount of people who complains about tConfig/ tAPI being closed source is a minority and we'd rather not go through the trouble of changing that
10:12:31 AM <~nicatronTg> Yoraiz0r: like I said, go rest
10:12:40 AM <~nicatronTg> or do what you want
10:12:52 AM <Yoraiz0r> heh, sorry, I guess we'll continue this chat at another time
10:12:59 AM <~nicatronTg> my friend would kill me if she found me working while I was sick
10:13:08 AM <~nicatronTg> (even if that seems counterproductive for my overall health)
10:13:18 AM <Yoraiz0r> Apologies for any inconvenience I caused to you , and I hope we can find some nice road in the future without going through too much trouble
10:13:22 AM <Yoraiz0r> peace~
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment