02:01 < bridge> Can’t write to HKLM without UAC, only HKCU 02:01 < bridge> Can’t write to HKLM without elevation, only HKCU 02:02 < bridge> Can read 05:41 < bridge> As Long as you dont have an Nvidia - wayland is great :justatest:, i want to properly try Out hyprland as soon as i have my new Setup 06:49 < bridge> me wanting nvidia for it's cuda capabilities (I don't have a dgpu rn) 08:16 < bridge> morning to everyone less python users 08:17 < bridge> today i decided to hate on em dont mind me 08:17 < bridge> :NekoEvil: 08:17 < bridge> ☕ 08:23 < bridge> https://google.github.io/typograms/ 08:26 < bridge> Evil 08:27 < bridge> hello 08:27 < bridge> We should invent darkpython 08:27 < bridge> Maybe that is a niche 08:27 < bridge> how can i identify the players after they leave and rejoin ?? 08:27 < bridge> Ip 08:27 < bridge> all the ip's here is dynamic, like me 08:28 < bridge> little noise on the internet and your ip is changed :poggers2: 08:29 < bridge> and what is CUuid used for ? 08:29 < bridge> morning 08:29 < bridge> it’s a uuid 08:29 < bridge> google it 08:30 < bridge> basically a number you can depend on always being unique 08:30 < bridge> universally unique identifier 08:31 < bridge> cool 08:34 < bridge> i see this on uuid_manager.h 08:34 < bridge> ```cpp 08:34 < bridge> struct CUuid 08:34 < bridge> { 08:34 < bridge> unsigned char m_aData[16]; 08:34 < bridge> 08:34 < bridge> bool operator==(const CUuid &Other) const; 08:34 < bridge> bool operator!=(const CUuid &Other) const; 08:34 < bridge> bool operator<(const CUuid &Other) const; 08:34 < bridge> }; 08:34 < bridge> ``` 08:34 < bridge> is uuid generated for every tee who connected to your server ? 08:34 < bridge> i see this on uuid_manager.h 08:34 < bridge> ```cpp 08:34 < bridge> struct CUuid 08:34 < bridge> { 08:34 < bridge> unsigned char m_aData[16]; 08:34 < bridge> 08:34 < bridge> bool operator==(const CUuid &Other) const; 08:34 < bridge> bool operator!=(const CUuid &Other) const; 08:34 < bridge> bool operator<(const CUuid &Other) const; 08:34 < bridge> }; 08:34 < bridge> ``` 08:34 < bridge> is uuid generated for every tee who ever connected to your server ? 08:35 < bridge> i really don't like to bother the players to register with chat command like /register and /log 08:39 < bridge> i see somewhere at the client side uuid get generated randomly, is that uuid is the same at the client and server side for each player ? 08:49 < bridge> i see somewhere at the client side or shared, uuid get generated randomly, is that uuid is the same at the client and server side for each player ? 08:49 < bridge> i see somewhere at the client side or shared, uuid get generated randomly, is that uuid the same at the client and server side for each player ? 08:57 < bridge> a uuid can be used for identification of whatever basically. it's a universally unique identifier 08:57 < bridge> I can not really recommend that for authentication. The things the client sends all might change 08:57 < bridge> hi zilera 08:57 < bridge> Ali 08:58 < bridge> i dont use Threads, but Instagram sometimes shows some Threads and I've just seen one saying "halts m@ul sagen bevor man youtube werbung überspringt>>>" and I had to laugh a little 08:58 < bridge> Xd 08:59 < bridge> @reitw sneaky 08:59 < bridge> Recommend them to use a client with password manager and automatic login hehe 09:10 < bridge> is everything is shared folder, shared between server and client side ? 09:10 < bridge> no, it's just shared code 09:11 < bridge> both programs run individually and share nothing 09:26 < bridge> @ryozuki 09:26 < bridge> prenk 09:26 < bridge> pronk 09:27 < bridge> sucksess 👍 09:27 < bridge> !ryo 09:28 < bridge> phonk 09:29 < bridge> i want to make a bank system and show all the players balance on a board in map :feelsamazingman: 09:29 < bridge> coooool 09:30 < bridge> yay yet anothery city mod 09:31 < bridge> nice it has its own name now, YAC 09:31 < bridge> It will be his own mod :greenthing: 09:31 < bridge> it's block mod 09:31 < bridge> blockcity 09:32 < bridge> SkyBlock to be exact 09:32 < bridge> original 09:32 < bridge> the main fight happens in the sky 🙂 09:32 < bridge> inf jumps 09:32 < bridge> Is it from Minecraft? 09:32 < bridge> upgraded jetpacks :troll: 09:33 < bridge> i published my spaghetti boy on gitgub 09:34 < bridge> send 09:34 < bridge> even me can't read the codes i implemented 09:34 < bridge> where 09:34 < bridge> oh that guys message 09:35 < bridge> im still waiting for flatcity 😴 09:35 < bridge> https://github.com/mamadof/ddnet_SkyBlock.git 09:35 < bridge> sound for emote? :d 09:36 < bridge> yey 😂 09:36 < bridge> funny idea but seems annoying and abusable 09:36 < bridge> i published my rcon password in my server at some point 😂 09:38 < bridge> that's how you know you making a opensource project 09:38 < bridge> https://github.com/DDNet-Team-Searcher/website/blob/master/packages/server/.example.env i even published my database url for my website 😂 09:39 < bridge> How to remove embed on phone ;-; 09:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1194198772448772126/image.png?ex=65af7b46&is=659d0646&hm=91a070aa2e464c666f005c5dea44043ddc5bff316c19f68676df4c6a686cbc3b& 09:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1194198934114013235/image.png?ex=65af7b6d&is=659d066d&hm=9d421a566f907c023ee3285b3204f7611eb95f237e1ceadfb164461346e0dec5& 09:40 < bridge> @mamad_melanin what do you have to say to your defense 09:41 < bridge> as tesla said, you can find the secret of the universe in 3, 6, 9 09:42 < bridge> if i found another bug on my server, i cant fix it, i just shutdown the server and run 09:43 < bridge> leave the project and make a new one 09:50 < bridge> you can tryout the server 185.164.73.109:8303 09:50 < bridge> 185.164.73.109:8303 is not a DDNet or KoG server. 10:02 < bridge> but your idea is cool to find a team to play with 10:03 < bridge> even tho almost nobody used lfg channel on this server 10:04 < bridge> don't worry maybe they all dummy players 10:04 < bridge> i dont care if anyone would use it, i just wanna finish this project. i like it a lot. and it will be my first "big" project for portfolio :owo: 10:04 < bridge> i dont care if anyone would use it, i just wanna finish this project because i like it a lot. and it will be my first "big" project for portfolio :owo: 10:12 < ChillerDragon> https://zillyhuhn.com/cs/.1704791541.png 10:12 < ChillerDragon> @mamad_melanin yikes bro 10:16 < bridge> thank you bro, i think i found the crash bug when a player attempts to join the spectator 10:16 < bridge> Time to crash server 10:17 < bridge> why did u remove that if statement 10:18 < bridge> i think i was experimenting with something and forgot to put it back 10:18 < bridge> what about putting // in front of lines 10:21 < bridge> nice good luck man 😉 10:43 < bridge> this is how real men change the map 10:43 < bridge> https://github.com/mamadof/ddnet_SkyBlock/blob/ed31dcfe1f36142f40e34d147f2d7a5d132f0675/src/game/server/gamemodes/DDRace.cpp#L312-L317 10:48 < bridge> sv_map 11:08 < bridge> i want to implement a bank system for my server, write and read accounts to/from a file, what is the correct way to do it, do i better of using system.h methods like str_format(...), or using std:: methods ? 11:08 < bridge> i just want to do it in a right way 11:09 < bridge> real people reinstall OS to change map 11:10 < bridge> there's no new year screenshot map ? 11:10 < bridge> I'd use std. But if you want to stick to ddnet style, use base 13:09 < bridge> @.alexander_ I'm trying to use open graph for a link preview with an image. The image has to be provided using an url, do you know how i can provide an image in a specific path, e.g. ddnet.org/images/x.png which I can then use ? 13:10 < bridge> (I'm using Vue, if that matters) 13:16 < bridge> nvm 13:23 < bridge> Use sql 14:25 < bridge> https://www.githubstatus.com/ 14:25 < bridge> yay 14:25 < bridge> github working bad 14:36 < bridge> yea i am noticing that aswell currently 14:36 < bridge> so annoying :D 14:49 < bridge> Where ping 14:55 < bridge> sry 14:55 < bridge> xd 14:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1194278798133305374/image.png?ex=65afc5ce&is=659d50ce&hm=ebb772bd63bb90ce4cf0329fe15d757dd332e38e6a6c1868306a9a8a5105676e& 14:57 < bridge> what did you do to the internet 15:02 < bridge> @fokkonaut no stealing features from spotify 15:19 < bridge> How to make the distance to draw players? How to use fng to protect against cheat clients 15:35 < bridge> good morning 15:40 < bridge> what a beautiful day 15:40 < bridge> 🤩 15:40 < bridge> give some of that positivism 15:42 < bridge> i am not sure how i can do that 15:42 < bridge> jithub dead 😦 15:46 < bridge> 4pm btw 15:46 < bridge> 7:46 am 15:59 < bridge> -11c out but i sit and enjoy the balcony 15:59 < bridge> chilly even with my 2 pairs of pants and coat 16:25 < bridge> Where u from? 16:25 < bridge> united states 16:25 < bridge> Which zone :0? 16:25 < bridge> Colorado 16:25 < bridge> mountain time 16:27 < bridge> Oooh beauty zone i think ✨ 16:28 < bridge> im gonna use files with c++ 16:28 < bridge> You can use sql with C++ 16:28 < bridge> how can i get the size of the string, but i have only a pointer to it's firs element ? 16:29 < bridge> str_length 16:29 < bridge> str_lenght(pointer) ? 16:29 < bridge> Yap 16:29 < bridge> i love you 16:30 < bridge> I have small example of accounts with sqlite here: https://github.com/Myr-13/MMOTeeReloaded 16:30 < bridge> (My shity mmo mode based on ddnet xd) 16:33 < bridge> pets, crafting ? whaat ? 16:33 < bridge> Yep 16:33 < bridge> myr sql is rly easy to use 16:33 < bridge> i mean 16:33 < bridge> uh 16:33 < bridge> cosmos 16:34 < bridge> :owo: 16:34 < bridge> Maybe I will rewrite this to lua and create custom client with lua support and dynamicly downloading of content xd 16:34 < bridge> you gonna make the next generation of teeworlds 16:34 < bridge> make sure this is a real heap allocated string tho and not just a ptr to the first of a char array 16:35 < bridge> if it has no null terminating character then it will do lots of bad things 16:35 < bridge> I think no, a lot of dudes here don't like lua 16:35 < bridge> report wrong size/count until it reaches another \0 which isn’t that string’s/segfault 16:36 < bridge> you can use str_length on malloc’d strings but prefer to use sizeof with statically sized strings like is usually done in ddnet 16:36 < bridge> char String[16]; 16:36 < bridge> sizeof(String) // 16 16:38 < bridge> so, they are not dudes 16:39 < bridge> i love the language as long as it's not c++ 16:41 < bridge> that's... not a heap allocated string? and char arrays afaik should always be null terminated. (or the null could be before the end of the allocation which would mean the size is actually smoller) 16:41 < bridge> Idk how str_lenght works tho 🤷‍♂️ 16:41 < bridge> what 16:41 < bridge> that is a stack string 16:41 < bridge> y 16:41 < bridge> you're not supposed to use str_length on stack allocated strings 16:41 < bridge> even if it works it's a waste of time 16:41 < bridge> ohh okay 16:42 < bridge> do use it on heap allocated strings 16:43 < bridge> ```cpp 16:43 < bridge> char *pString = static_cast(malloc(64)); 16:43 < bridge> str_copy(pString, "this is a string allocated on the heap"); // i think that all str_* functions will ensure null termination when necessary 16:43 < bridge> str_length(pString); // 64 16:43 < bridge> ``` 16:43 < bridge> also don't do this in ddnet codebase ^ 16:44 < bridge> reviewers will go for the jugular 16:45 < bridge> can you do a c cast on the ddnet codebase instead of a static one? 16:45 < bridge> ```cpp 16:45 < bridge> void CGameContext::ConRegister(IConsole::IResult *pResult, void *pUserData) 16:45 < bridge> { 16:45 < bridge> CGameContext *pSelf = (CGameContext *)pUserData; 16:45 < bridge> if(!CheckClientID(pResult->m_ClientID)) 16:45 < bridge> return; 16:45 < bridge> 16:45 < bridge> if(str_length(pResult->GetString(0)) > 20) 16:45 < bridge> { 16:45 < bridge> pSelf->Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "chatresp", "try something shorter for username, less than 21"); 16:45 < bridge> return; 16:45 < bridge> } 16:45 < bridge> if(str_length(pResult->GetString(1)) > 20) 16:45 < bridge> { 16:45 < bridge> pSelf->Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "chatresp", "try something shorter for password, less than 21"); 16:45 < bridge> return; 16:45 < bridge> } 16:45 < bridge> 16:45 < bridge> 16:45 < bridge> // pSelf->SendBroadcast(p1char, pResult->m_ClientID); 16:45 < bridge> } 16:45 < bridge> ``` 16:46 < bridge> u will get shit for it 16:46 < bridge> is unnecessary 16:46 < bridge> :justatest: 16:46 < bridge> very rarely is there a situation where you actually need a c cast anyway 16:46 < bridge> well, isn't the code equivalent there 16:46 < bridge> c++ 16:46 < bridge> the c cast is ambiguous 16:46 < bridge> why have ambiguity 16:46 < bridge> probably should use a static cast here 16:47 < bridge> wdym ambiguous. (char *)malloc(64) doesn't seem ambigous. I don't really care though it was just out of curiosity 16:47 < bridge> a c cast basically just tries most of the casting methods until one works 16:48 < bridge> what 16:48 < bridge> for *pself ? 16:48 < bridge> yea 16:48 < bridge> ```cpp 16:48 < bridge> CGameContext *pSelf = static_cast(pUserData); 16:48 < bridge> ``` 16:48 < bridge> i just copy the existing code on code base 16:49 < bridge> This will work without static cast 16:49 < bridge> i just copied the existing code on code base 16:49 < bridge> it will work but clang tidy will yell at u in most configs 16:49 < bridge> i think only reason ddnet's doesn't is bcs c cast is already so abundant in code base 16:49 < bridge> doesn't mean it should be used 17:01 < bridge> oic u mean in this scenario lol 17:01 < bridge> it isn't ambiguous here but the nature of the c cast has potential to be 17:04 < bridge> see "Explanation" 17:04 < bridge> and it's not different in cpp 17:04 < bridge> > If there is exactly one expression in parentheses, this cast expression is exactly equivalent to the corresponding C-style cast expression. 17:06 < ChillerDragon> @mamad_melanin why cap password at 20 characters? 17:06 < bridge> i just don't want to get too long 17:06 < bridge> u can cap higher 17:06 < ChillerDragon> 20 is too long? 17:07 < ChillerDragon> imo 64 should be minimum as allowed length 17:07 < bridge> how much is consider good ? 17:07 < bridge> i would prob do at like 96 17:07 < ChillerDragon> how long do you consider problematic? 17:07 < bridge> or 100 works just as well xd 17:08 < bridge> 5gb is just as good 17:08 < ChillerDragon> 5gb is a bit intense o.O 17:08 < bridge> i just wanna look at them in a text file, each of them looking good, not to long 17:08 < ChillerDragon> also if register happens via chat there is a max len on chat messages 17:08 < bridge> I use the harry potter book series as my password, hbu? 17:09 < bridge> I use the movies 17:09 < ChillerDragon> i use sha1sum of harry potter 2 thumbnail img 17:09 < bridge> Binary PW ftw 17:09 < ChillerDragon> thats 41 characters 17:10 < bridge> Jup do you at least flip the movies upside down? else I'll steal all your accounts rn 17:10 < bridge> The most secure PW for tw ingame chat is invalid utf8 17:10 < ChillerDragon> xxxD 17:10 < bridge> lol 17:10 < bridge> Yeah opengl textures xd 17:10 < ChillerDragon> jopsti logging in gets flagged as ddos 17:11 < bridge> But not in Germany, where internet speed is basically infinity 17:13 < bridge> what's the best residential internet u can get 17:13 < bridge> Depends on region 17:13 < bridge> But I can get 17:13 < bridge> 250/40 17:14 < bridge> (in GB) 17:14 < bridge> Jotta bytes 17:15 < bridge> jupstar is that Gb 17:15 < bridge> lol 17:15 < bridge> That would be awesome 17:15 < bridge> but we get 1000/40 residential internet 17:16 < bridge> and there's a 2G plan too iirc 17:16 < bridge> I can get that too but only cable internet 17:16 < bridge> Red flag for me 17:16 < bridge> cable internet? 17:17 < bridge> unless u have ftth which i find unlikely then there's coax somewhere in ur route 17:17 < bridge> it's residential 17:18 < bridge> apparently hotel ip is banned from kog 17:23 < bridge> what is the variable to user path like .local/share/ddnet 17:25 < bridge> im sure u can get it but u should instead use IStorage apis 17:26 < bridge> data dir 17:31 < bridge> Internet that is not DSL or fiber 17:31 < bridge> https://en.m.wikipedia.org/wiki/Coaxial_cable 17:31 < bridge> i already using std:: for file handling 17:32 < bridge> then you can use CStorage::GetDataDir or something like that 17:32 < bridge> let me look it up 17:32 < bridge> 17:32 < bridge> FindDatadir 17:33 < bridge> wow, there is ddracenetwork docs 17:33 < bridge> why i am not aware of it 17:33 < bridge> it's just automatically made from the doxygen comments 17:34 < bridge> it's not particularly enlightening 17:34 < bridge> thank you 17:34 < bridge> it lets u navigate the api with some ease tho 17:35 < bridge> but like functions are not documented particularly well, even if they do have comments they do not really explain anything about how to use it in a more big-picture sense 20:56 < bridge> gh removed lines changed from contributors graphs :/ 22:20 < bridge> WTF why. Time to switch 22:20 < bridge> Where to go? 22:20 < bridge> I heard gitlab has an open source version 22:20 < bridge> Yes 22:20 < bridge> which many open source projects actually use 22:21 < bridge> I maintained that at work 22:21 < bridge> It’s okay 22:21 < bridge> i see line changes still 22:21 < bridge> Scrumplex codeberg also peeked my interest 22:21 < bridge> I only see additions/deletions, but not combined 22:21 < bridge> ah 22:21 < bridge> I think it had combined at some point 22:22 < bridge> i dont remember fishy memory xd 22:22 < bridge> with additions in green above the middle, deletions in red below 22:22 < bridge> use codeberg 22:22 < bridge> why do u see it 22:22 < bridge> https://codeberg.org/ 22:22 < bridge> its open source too 22:22 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1194390779829956669/image.png?ex=65b02e18&is=659db918&hm=8c267fd1ae021b5e7982a96fbe1b07a9eeeff62af30586a77beb9c773f04b1c4& 22:22 < bridge> got a codeberg vs gitlab comparison? 22:22 < bridge> the source https://codeberg.org/forgejo/forgejo 22:22 < bridge> top right has a combobox 22:22 < bridge> @jupeyy_keks 22:22 < bridge> well the advantage of github is simply that the project has more visibility 22:23 < bridge> @heinrich5991 first one is obvious, gitlab is a for profit company iirc, codeberg is a non profit 22:23 < bridge> https://ruky.me/2022/10/17/codeberg-a-github-alternative-from-europe/ 22:23 < bridge> Leave project there for discovery. But put redirect links in description 22:25 < bridge> i dont get which combobox u mean 22:25 < bridge> combobox = dropdown with free typing 22:25 < bridge> Did GitHub find more past data somewhere and add it to the graph? I don't remember the data going all the way back until 2008. It also tracks commits by matricks again somehow, which it didn't do before. 22:27 < bridge> true 22:27 < bridge> epic gamer moment 22:27 < bridge> Codeberg cool 22:29 < bridge> interesting. I only had one on another repo, but not ddnet 22:29 < bridge> and apparently only a dropdown, no free typing 22:29 < bridge> They use AI to hallucinate additional stats axaxaxax 22:30 < bridge> So when move ddnet to codeberg? 22:30 < bridge> Codeberg is cool and all, but discoverability is bad :( 22:31 < bridge> better than GitLab though 22:31 < bridge> GitLab search is useless 22:44 < bridge> Keep a repo on GitHub for marketing but point it to codeberg. Seems good enough to me Scrumplex also how many new ddnet players found it while browsing their GitHub for you page. We can also add a „make sure to star on GitHub“ note to the codeberg readme 22:45 < bridge> Probably not many. But sadly most people already have a GitHub account and probably wouldn't bother creating a Codeberg account. People are sadly lazy and every obstacle decreases the likelihood of getting contributions 22:45 < bridge> That might be true. Then we just bridge prs lmao 22:45 < bridge> Era of bridges 22:49 < bridge> that doesn't sound like discoverability though 22:49 < bridge> more like the good old network effect, like e.g. from facebook back in the times 22:54 < bridge> and that from you. the person that uses github as chat instance, email provider, stay-in-contact-network to oldschool ppl 22:54 < bridge> 😂 22:55 < bridge> cloud storage not to forget 22:56 < bridge> + for codeberg - open source policy letsgo 22:57 < bridge> I think Scrumplex argued in favor of open source policy for ddnet communities 22:57 < bridge> ill make a github like platform that only accepts agpl 22:57 < bridge> i think fsf has one 22:58 < bridge> AGPL ... 22:58 < bridge> the license of non-freedom 22:58 < bridge> https://savannah.gnu.org/git/?group=coreutils 22:58 < bridge> the license enforcing free dom 22:59 < bridge> free, but not liberated 22:59 < bridge> https://savannah.gnu.org/ 22:59 < bridge> We host free projects that run on free operating systems and without any proprietary software dependencies. 22:59 < bridge> Hosting requirements 22:59 < bridge> Our service runs with 100% free software, including itself. 23:00 < bridge> nice, now don't look like 1998 xddd 23:00 < bridge> > No dependencies on nonfree software 23:00 < bridge> 23:00 < bridge> To be hosted on Savannah, your project must be free software, and it must be kept independent of any nonfree software. The package must not refer the user to any nonfree software; in other words, it must not say anything that in our judgment is likely to lead or steer users towards any nonfree software. In particular, it must not automatically download or install any nonfree software. For more info, see References to Non-Free Software and Documenta 23:00 < bridge> 23:00 < bridge> The program should deliver its full functionality and convenience on a completely free platform based on a free operating system, such as GNU/Linux, working entirely with other free software. Otherwise, it would be an inducement to install nonfree operating systems or other nonfree software. 23:00 < bridge> 23:00 < bridge> It is ok for the program to run on nonfree platforms or nonfree operating systems, and to work with well-known nonfree applications, in addition to working with free software, provided it gives the free software at least as good support as it gives to nonfree counterparts. In other words, at no time, in no way, should your program put free software users at a disadvantage compared to those willing to use proprietary software. 23:00 < bridge> so based 23:01 < bridge> sounds like ddnet would still fit, I think? 23:02 < bridge> bcs ddnet's freedom is a superset of theirs 23:02 < bridge> 😏 23:02 < bridge> Yes. Ideally we would all be using open code forges like Codeberg. But we don't live in that ideal world. As long as you don't make yourself dependent on GitHub I don't really see too much of a problem. It's a matter of compromises 23:03 < bridge> Paradox of tolerance! 23:04 < ChillerDragon> yea jopsti i spend more time on github than in ddnet the last few years. Basically all data i own is either backed up or stored exclusively on github. I browse github for cheap dopamine like others browse tiktok. I love the design and never gave gitlab a chance. But still would like to switch the more ms breaks it 23:04 < bridge> Copyleft does not tolerate the intolerant (or in other words, doesn't tolerate making code proprietary) 23:04 < ChillerDragon> its closed source and it starts to also become ugly 23:07 < ChillerDragon> sounds like heinrich he is also not tolerating intolerance claimbing bladiblu tolerance paradoxon 23:07 < ChillerDragon> claiming* 23:08 < ChillerDragon> if you enforce freedom/tolerance you are not freeing/tolerating 23:09 < ChillerDragon> @Jupstar ✪ whats your opinion on tolerating toxic people that do not tolerate others? 23:10 < bridge> https://tenor.com/view/robot-congratulations-you-are-rescued-please-gif-17932648 23:11 < bridge> I feel like you are missing a don't here 23:12 < bridge> i dunno, depends on the grade of toxicity 23:13 < bridge> From my experience GPL/AGPL only really affects companies. If you are hacking on software for your own use, the license doesn't even matter 23:14 < bridge> the aliens that kill humanity can then use my public domain code, but not AGPL. i'd say this is so future proof 23:15 < bridge> it's only a game tho, bcs the same rules as for companies apply 23:15 < bridge> If you force freedom with AGPL you take the freedom from people to go closed source. 23:15 < bridge> 23:15 < bridge> If you enforce tolerance you do not tolerate specific groups your self. As in you do not tolerate groups that do not tolerate others. 23:15 < bridge> u can change the laws 23:15 < bridge> the copyrights lift after some decades 23:17 < bridge> They don’t? You should know you come from minecraft land! Everything is GPL there. 23:17 < bridge> TIL minecraft is based 23:17 < bridge> nah, not minecraft, only minecraft mods 23:18 < bridge> Ah, okay 23:18 < bridge> Yea Minecraft it self is more of a other weirdness. It’s basically open source but illegal to publish source 23:18 < bridge> that's not open-source 23:19 < bridge> It's written in Java. Nobody wants that code anyway😬 23:19 < bridge> open-source guarantees you to have the right to modify the code 23:19 < bridge> You can publish tooling to decompile Minecraft. And mojang provides mappings to restore method and class names. 23:19 < bridge> https://en.wikipedia.org/wiki/Open_source 23:19 < bridge> thats basically easy made reverse engineering, not open source 23:19 < bridge> Ok the it’s wrong word 23:19 < bridge> source-available, maybe 23:19 < bridge> Not reverse engineering 23:20 < bridge> Straight up official symbols 23:20 < bridge> You get full on code 23:21 < bridge> You can also edit the code but do not publish the mojang code along sides your edits 23:21 < bridge> So imo you even have the right to modify the code 23:22 < bridge> Well with your private copy u can do lot of stuff 23:22 < bridge> With the public too 23:23 < bridge> I mean as soon as you made a private copy 23:24 < bridge> We need xxxx for lawyers day 23:24 < bridge> To discuss grey zones xd 23:24 < bridge> scrumplex already rq the convo because I talk too much bs about mc axaxaxa 23:25 < bridge> Every day is lawyer day when lawyer jopsti is here 23:27 < bridge> nah i was just getting ready for bed 23:27 < bridge> Im trying that since 40 min alr 23:27 < bridge> Im procrastinating sleep 23:27 < bridge> Whole new level laziness 23:30 < bridge> What do you mean here 23:33 < bridge> Every mc mod I see on GitHub is GPL 23:34 < bridge> Then there are also a few closed source projects. I wonder if you know some drama where people can not enforce their GPL 23:34 < bridge> Yeah but wdym by "they don't" 23:34 < bridge> Ah 23:34 < bridge> You said they don’t matter 23:34 < bridge> gjgnhgbgnfj 23:34 < bridge> I wonder if they really do not matter and if you have some stories 23:34 < bridge> mixing a germanized way of saying "hä bist du dir sicher? immerhin: *content*" in english is confusing sometimes - happens to me aswell 23:35 < bridge> How to say it in English? 23:35 < bridge> Yeah what I meany is licenses don't matter if you use the code yourself and don't publish it. Like I can write a tool that uses GPL code and never release its source code as long as I don't release any binaries either 23:36 < bridge> Obviously once something is published you need to deal with licenses 23:36 < bridge> are you sure they dont? since: *content* 23:36 < bridge> i think its just the order in which you say stuff that matter's here, the wording itself was correct 23:37 < bridge> Um oke too tired xd 23:37 < bridge> fair enough :D 23:37 < bridge> good night y'all! 23:37 < bridge> Oh yea of course 23:38 < bridge> GPL is quite interesting in the context of Minecraft. 23:38 < bridge> 23:38 < bridge> There is no legal precedent about Minecraft mods' GPL enforceability, because they are effectively "linking" (using terms from the license text itself) against proprietary code 23:38 < bridge> 23:38 < bridge> Though technically they do use a permissively licensed shim layer (like Fabric Intermediary Mappings) 23:38 < bridge> Closed source licenses is next level shit. As in the license text is closed source. So nobody can know the license. 23:39 < bridge> You know what is the worst OSI-approved "open source" license? 23:39 < bridge> MS-PL 23:39 < bridge> Wat it do 23:40 < bridge> It is a copyleft license like the GPL. BUT it doesn't require you to disclose source code 23:40 < bridge> GPL can like proprietary right? But not vice versa? 23:40 < bridge> What does it require? 23:40 < bridge> GPL can link proprietary right? But not vice versa? 23:41 < bridge> This means you can't use MS-PL code in a GPL codebase, because both are viral. 23:41 < bridge> 23:41 < bridge> But you can just make a MS-PL codebase proprietary 23:41 < bridge> That’s trol 23:41 < bridge> So it's easier and less headache to just keep it proprietary 23:41 < bridge> Nope. Both are disallowed 23:42 < bridge> Oh that’s news to me 23:42 < bridge> Interesting 23:42 < bridge> Though you can always bypass the GPL by doing things in runtime 23:42 < bridge> Licenses are always about distribution 23:42 < bridge> that's unclear: https://en.wikipedia.org/w/index.php?title=GNU_General_Public_License&oldid=1194394122#Linking_and_derived_works 23:42 < bridge> If the proprietary code is distributed separately and is loaded dynamically by the GPL code, then it's fine 23:43 < bridge> How on earth is MSPL a copyleft license without disclosure requirements? 23:44 < bridge> Copyleft just means that you have to use the same license 23:44 < bridge> > https://discord.com/channels/252358080522747904/293493549758939136/1194411111110418524 @learath2 23:44 < bridge> > How on earth is MSPL a copyleft license without disclosure requirements? 23:44 < bridge> In reply to @discord\_216912122083409925:ddnet.org 23:44 < bridge> How on earth is MSPL a copyleft license without disclosure requirements? 23:44 < bridge> 23:44 < bridge> Copyleft just means that you have to keep using the same license 23:44 < bridge> that doesn't appear to be true: https://en.wikipedia.org/wiki/Copyleft 23:44 < bridge> Why did element break my reply 23:44 < bridge> I noticed too 23:45 < bridge> > Copyleft is the legal technique of granting certain freedoms over copies of copyrighted works with the requirement that the same rights be preserved in derivative works. 23:45 < bridge> It arrived fine then it broke later xd 23:46 < bridge> I guess Copyleft is specifically for freedoms then. 23:46 < bridge> 23:46 < bridge> I guess just calling it viral then? 23:46 < bridge> If we just replaced freedoms with rights it would fit in 23:47 < bridge> Either way. MS-PL encourages proprietary code. It's worse than permissive IMO 23:51 < bridge> https://en.wikipedia.org/wiki/Shared_Source_Initiative 23:51 < bridge> 23:51 < bridge> MS-PL is called Copyleft here. 23:51 < bridge> ¯\\\_(ツ)\_/¯ 23:52 < bridge> the citation in that sentence doesn't contain the word 'copyleft' 23:52 < bridge> > It also tracks commits by matricks again somehow 23:52 < bridge> GitHub matches committer/author email in the commits with all emails in users https://github.com/settings/emails. The commits from 2007 (teewars-0.3.0) have matricks current gmail address, so matricks's "contribution" could be easily tracked from the very first moment. 23:52 < bridge> Maybe matricks removed/hidden his gmail address from the account, and re-added the mail recently. 23:53 < bridge> but yea, the wikipedia page says so… 23:53 < bridge> > It also tracks commits by matricks again somehow 23:53 < bridge> GitHub matches committer/author email in the commits with all emails in users https://github.com/settings/emails. The commits from 2007 (teewars-0.3.0) have matricks current gmail address, so matricks's "contribution" could be easily tracked from the very first moment. 23:53 < bridge> Maybe matricks removed/hidden his gmail address from the account, and re-added it recently. 23:53 < bridge> True. Not sure. I think the definition is a bit fuzzy as it was mostly influenced by the GPL 23:54 < bridge> Copyleft for me just means that something has to retain its license 23:55 < bridge> I guess we could call MS-PL a hybrid license 23:55 < bridge> Or just Anti-GPL license ^^