Welcome, Guest.
Username: Password: Remember me

TOPIC: Open Source

Open Source 2 years 5 months ago #21

Modding scene of many games is full of VIP mods. My ENB configurations use a lot of sophisticated code and they have all been stolen, no exceptions. People that only removed my name to show it off as their own work. Very easy for show offs to remove the start-up title and replace it with their own.
Make it invite only, low chance of leaking and the ones that look into it actually can improve it, rather than take what they want for their own stuff. See yourself, you used a few third party libraries but did you make any improvements to their respective repos? No, even though your knowledge suffices to do so. Same will happen here. Project will be dismembered beyond recognition. ENBSeries is closed source for a reason, for instance.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #22

Yeah the ripping or what to call it of shaders and config files or presets is common enough but the actual shaders can't really be protected far as I'm aware since for one they are already available via a Github repository and since they are not compiled in any form they are already in plain text fully readable with nothing more than a text editor. (So even separately downloaded shaders are completely open.)

Far as the injector code goes though that's a bit trickier though the way I see it if someone really wanted to it would be easy enough to just deconstruct the .dll file via disassembler or other tools for that purpose.

Main thing would probably be the network part for disabling depth buffer detection which if available would make it simpler for anyone to just compile the .dll without that particular bit of code instead of the current practice of having unlock tools for some few specific games. (Mostly Guild Wars 2 far as I can tell for 3.0.5)


People would definitively fork the ReShade code for all sorts of purposes if made public via Github but then again that happens even to full game engines like UE4 or Cry-Engine (Even though the repositories are via invite and not fully public.) well I'm not too good at explaining really but there's clear downsides and benefits for both whichever direction Crosire ends up taking with ReShade.
(Depending on how complicated the actual code is the overall level of contribution might also be affected though this also varies with popularity.)
Last Edit: 2 years 5 months ago by JBeckman.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #23

Marty McFly wrote:
Modding scene of many games is full of VIP mods. My ENB configurations use a lot of sophisticated code and they have all been stolen, no exceptions. People that only removed my name to show it off as their own work. Very easy for show offs to remove the start-up title and replace it with their own.
Make it invite only, low chance of leaking and the ones that look into it actually can improve it, rather than take what they want for their own stuff. See yourself, you used a few third party libraries but did you make any improvements to their respective repos? No, even though your knowledge suffices to do so. Same will happen here. Project will be dismembered beyond recognition. ENBSeries is closed source for a reason, for instance.

Though, you said so yourself: "My ENB configurations use a lot of sophisticated code and they have all been stolen, no exceptions." Wouldn't this happen regardless? You have to understand that no open-source project will ever be completely protected from thieves... But the majority who use Reshade are people who don't know how to code, nor do they want to learn. ENB is closed source because the developer is unsure of what would happen if he were to release the source (much like this circumstance). This circumstance can be compared to the piracy market... Denuvo, an anti-tamper system, which is notorious for it's ability to slow down pirates (or even stop them completely) from stealing games. However, Denuvo is also notorious for grieving the paying consumer... Choose your trade-off. But much like the piracy scene, the majority are not thieves and have good intentions!

EDIT:

The thing with Reshade is, you already have a sizable fan-base. I could understand if you had second thoughts about open-sourcing your project if Reshade were a tiny project with barely any following. It's not! Reshade's popularity rivals ENB's.

If I were to ask you why every open-source project that has ever existed went open-source, what would you say? Contribution is one of them, but things like Github haven't always existed. Education, experimentation, compatibility, contribution and flexibility, just to name a few. There are projects that are truthfully better off being closed-source, but I, along with 11 others believe Reshade isn't. I have now made all of the arguments I can, and it's up to Crosire to assess both sides of the argument and make his decision. All that I ask of you all is to respect his decision either way!!!
Last Edit: 2 years 5 months ago by NoMansReshade.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #24

ReShade is an amazing project crosire and I can understand the amount of work and passion you've put into it.

I personally believe open sourcing it would be for the greater good, even considering the lack of anti-exploitation (wasn't there a program that hacked ReShade to allow depth in Guild Wars 2 anyway?).

I also think it could be massively beneficial to allow dedicated fans to tweak ReShade itself to work with any game with maximum compatibility (looking at you UE3 games that clear the depth buffer).

Interestingly enough, I have personally not seen any graphics injector project go open source (never seen one that is, it's perfectly possible that there are some out there), perhaps making ReShade one would do a big impact on the graphics modding community.

So yay for open source! :cheer:
Likes to reinvent the wheel.

My shaders repository: www.github.com/luluco250/FXShaders
The administrator has disabled public write access.

Open Source 2 years 5 months ago #25

(I have maintained and still do for years several widely used open source projects and have been involved in many others, the remarks below are from my own experience as an OSS developer, and from what I've learned during the many years being in several OSS communities (mainly developer focused tools, so the audience is more heavily involved in the project than Reshade users will be)). They're perhaps 'over the top' or 'that won't happen', but sadly, the world works that way.
crosire wrote:
Whether ReShade should be made open source or not is a topic that has been discussed multiple times throughout the history of the project, both internally and in this community. There are both advantages and disadvantages, which I'll try to list below to give you a rough overview before you decide in the poll above. Depending on the poll outcome I'll reevaluate if the entire project is made available under an open source license (haven't decided whether under a permissive or copyleft license yet). This includes the entire development history (Git) back to day one.

Pro
  • I have very little time to continue the project, so open sourcing it might help in speeding up development via contribution on GitHub.
  • ReShade implements some very interesting concepts that would surely be interesting for some people (depending on the licensing model).

As you state you have very little time continuing the project, there's likely no way this project will continue in its current form if you alone are the one able to make changes. With keeping things closed source, it looks like this project might in the end fail, as no-one will be able to fix issues or add new features or make the code adapt to changed environments (e.g. new DX versions, different app models etc.). That would be a true shame. You've worked very hard for a long time to build all this, it would be a waste if it would end like this.

IMHO it's essential for the continuation of the project that the code is open sourced so people who need to make changes (even only for themselves), can do so. This isn't the same as 'it will get numerous contributions from others so things will go well'. In general OSS projects don't really receive a lot of well-written contributions, especially projects which are highly technical/specialized. Sure a simple bugfix might happen, but larger contributions require deep knowledge of the code base and design decisions and that takes serious time to know all that.

Nevertheless, an important aspect of having the source is that one can build the code themselves, making changes for themselves so for them the project can continue. If these alterations are OK they can be contributed back, but don't expect them to happen frequently, just because it's OSS: they won't, in general. However this downside, not having the source out there makes it impossible for *everyone* to move the project forward.
Contra
  • All built-in anti-exploitation routines are rendered useless, since it's easy to remove them from the code and rebuild.
  • The base could be misused for creating cheat tools since it allows deep integration into game code with little effort.
  • Both of these could reflect bad on ReShade itself and might get the tool banned from online games entirely (which in the moment is just a gray zone)
  • I'm obviously afraid of code stealing, since A LOT of my time and passion went into this project. I haven't seen such issues with my other open source projects, so I'm confident it's not going to be a problem, but still worth mentioning.
The anti-exploitation code is a bit useless anyway, with cheat engine available to all of us. Not only that, with little effort it's doable to inject cameras into games to highjack the in-game camera and do as you please (I wrote a system to do so for screenshots, i.e. to add a photomode to games, others have too (like HattiWatti's cinematic tools)), be it through injectable cameras through dll's being injected or by simple cheat tables which intercept camera code.

In short: if people want to hack games, they will and are able to do so by other means. I don't think you should worry about that much. E.g. on the Cheat engine forums it's out of the question to talk about/offer cheat tables for on-line games. That doesn't stop people from creating them or use them, but it's the same as buying a hammer in a store: it doesn't come with a note which says "Don't hit yourself on the head with it, it might hurt!". Cheat engine isn't banned nor forbidden. Neither are many other disassembly tools, like X64dbg (which has a solid purpose, but also contains nifty tooling to circumvent anti-debugger code in software, to name an example).

Some of Reshade's code and which might help us screenshotters out, like being able to intercept viewport creation and resize at will (so dynamic screen resizing to higher resolutions, as the d3d device is known) as well as the input interception would be great for us screenshotters (who almost all use reshade). It would be a shame if that goes to waste.

About code stealing: that will happen, no matter the license. You could release it under the GPL, or even AGPL (the most restrictive form of it), so commercial usage is harder, but make no mistake: a tremendous amount of OSS code is used in other software under license-breaking circumstances. If you want your code to stay absolutely out of someone elses hands, then don't put it out in the open. That has one downside: it will likely also only be known to you what you really accomplished, i.e. the deeper technical aspects of reshade you likely are very proud of.

I can't tell you what you should choose, you alone can make that decision. What I can tell you is that projects like this, where a single maintainer does everything, they either die when the maintainer has lost interest or runs out of time, or keep living on in one form or another in OSS form, either as a single repo with a group of contributors or a myriad of forks. That last part isn't terrible though. Think of all the lifes you make easier with the code contribution you do with open sourcing Reshade. Even if people would just browse the code and learn something from it, it's already a win-win: it would otherwise have stayed hidden.

Additionally, if you setup a document how to build the code, how you want people to contribute (e.g. first file an issue, discuss what one wants to do, then a PR to contribute the code), and if you have the time: a global overview of what each sub system in code form does so people can learn how the system works and get up to speed, you can increase the success of having it a long life as an OSS project.

I hope this helps a bit.
The administrator has disabled public write access.
The following user(s) said Thank You: crosire, luluco250, FierySwordswoman, BlueSkyKnight

Open Source 2 years 5 months ago #26

Marty McFly wrote:
Modding scene of many games is full of VIP mods. My ENB configurations use a lot of sophisticated code and they have all been stolen, no exceptions. People that only removed my name to show it off as their own work. Very easy for show offs to remove the start-up title and replace it with their own.
True. But doesn't the v2 shader lib also contain shaders from games? Don't gamedevs share their shaders online as well in a lot of cases, with papers or slides? Your code isn't written in a cleanroom, you learned from other people's shaders too. If everyone keeps everything closed, a lot of knowledge would stay hidden.
Make it invite only, low chance of leaking and the ones that look into it actually can improve it, rather than take what they want for their own stuff. See yourself, you used a few third party libraries but did you make any improvements to their respective repos? No, even though your knowledge suffices to do so. Same will happen here. Project will be dismembered beyond recognition. ENBSeries is closed source for a reason, for instance.
ENB is closed source because Boris wants to control everything. That's his right, but there are many other reasons why one would open source things. I agree on the contribution (see above) amount. Invite only doesn't work, you kill off an important aspect of open source: being able to compile the code yourself and make changes only for you. My commercial code isn't on github as I make money selling commercial licenses for it. However the users all get the source, for the simple reason they can make changes themselves I can't make for them. Keeping it completely closed is IMHO a big burden for the maintainer: s/he alone can move the project forward and s/he alone can make the changes everyone wants / needs. That's impossible if it's your full time job, left alone if it's a hobby project ;)
The administrator has disabled public write access.

Open Source 2 years 5 months ago #27

I am thankful for the discussion that developed in this thread and made my decision accordingly: On the 1st of January 2017 I will make the entire ReShade project open source on GitHub. Cheers =).
Cheers, crosire =)
The administrator has disabled public write access.
The following user(s) said Thank You: JPulowski, klotim, brussell, OtisInf

Open Source 2 years 5 months ago #28

crosire wrote:
I am thankful for the discussion that developed in this thread and made my decision accordingly: On the 1st of January 2017 I will make the entire ReShade project open source on GitHub. Cheers =).

Thank you for considering this subject valuable, this brought up an interesting debate on both sides! While I can't contribute (you probably don't want me to anyways XD) I'm sure people with far more experience will help this project flourish :)

EDIT:

Considering how powerful Reshade already is, I have high hopes for the future!
Last Edit: 2 years 5 months ago by NoMansReshade.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #29

crosire wrote:
I am thankful for the discussion that developed in this thread and made my decision accordingly: On the 1st of January 2017 I will make the entire ReShade project open source on GitHub. Cheers =).
Awesome! :D
The administrator has disabled public write access.

Open Source 2 years 5 months ago #30

I have always been a supporter of the open source movement. People might choose to use it for evil or good, but still it should be on their decision. Knowledge should not be kept hidden because of fear of misuse. And misuse is a concern of ethics, not programming.

Yes, people will use ReShade as a cheating tool. Game devs better expect it. As a reaction they might choose to commit a PR suicide by outrageously banning the usage of graphics mods, which is an uneffective d*ck move when it comes to PC gaming. It has already been proven countless of times that people hate it when you restrict how they play their games.

On the other hand they might try to see it as an opportunity: an opportunity to use more proactive anti-cheat solutions, using adaptive machine learning algorithms to differentiate between cheaters and real players. People have been doing it by watching demos, it is not that hard to spot a cheater by analyzing his mouse movements and his movement/reaction patterns. If we can do it, we can also teach it to computers to do it for us. It might seem not possible, but the current technology trend is heading in that direction. Simply scanning for dll signatures and similar countermeasures are only enough to block script kiddies from using it. If somebody really wants to hack your game, he/she will hack your game. There is no way around that.

In my opinion, pros of open-sourcing ReShade surpasses the cons of it. There is a great community of modders out there, I am sure we will see amazing stuff happen with their support and interest. :)
Last Edit: 2 years 5 months ago by JPulowski.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #31

Cool runnings.

I look forward to future developments. Anyway if someone uses Reshade as a Dark force. I will whine at said games developer to remember that most people just want have some fun. Though using Reshade as a good force makes games sparkling
The administrator has disabled public write access.

Open Source 2 years 5 months ago #32

Sunesha wrote:
Cool runnings.

I look forward to future developments. Anyway if someone uses Reshade as a Dark force. I will whine at said games developer to remember that most people just want have some fun. Though using Reshade as a good force makes games sparkling

I doubt this will happen very often. Companies like EA and Ubisoft have made it clear that they don't mind modifications that don't harm their software or give players any advantages. Reshade specifically being a hot-topic on many game forums with people asking if they will be banned if they use it, and more often than not, the answer is no (sometimes even from a staff member of the companies themselves). Code WILL be stolen!! I'd be lying if I said it wouldn't. But a huge company like Epic Games doesn't see this as an issue with their Unreal Engine 4.

EDIT:
Fun-fact, my name "NoMansReshade" is a reference to "No Man's Sky" and Reshade being closed-source. It's invalid now XD
Last Edit: 2 years 5 months ago by NoMansReshade.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #33

NoMansReshade wrote:
Fun-fact, my name "NoMansReshade" is a reference to "No Man's Sky" and Reshade being closed-source. It's invalid now XD
Considering "No Man's Sky" is your namesake, I'm not sure it was valid to begin with...
Last Edit: 2 years 5 months ago by FierySwordswoman.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #34

Somehow missed this poll, but I would have voted for open source too. So thank you crosire for taking this step. I think it's the right decision.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #35

VIP versions, versions with removed copyright and hacktools incoming. Well, it was fun while it lasted. Doubt there will be many commits to this, everyone will cook their own soup.
Last Edit: 2 years 5 months ago by Marty McFly.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #36

Marty McFly wrote:
VIP versions, versions with removed copyright and hacktools incoming. Well, it was fun while it lasted. Doubt there will be many commits to this, everyone will cook their own soup.
You misunderstand the power of open source. ReShade won't be my first open source project. My .NET ScriptHook for GTA 5 is currently kept alive by 40 other contributors, the d3d8to9 project that was originally part of ReShade has been open source a while as well and got contributions too and I have seen it used successfully in other tools. ReShade is immensily popular and you won't get away with claiming it your own that easily.
The developer community is usually a nice bunch of people, not comparable to what you may have seen in the modding community (because that one can be pretty awful at times, with stealing other people's work etc.). Remember ReShade is a complex piece of software, not some game config somebody can write their name on and say its his.
Now I don't expect there to be many contributions right away, the codebase is not that simple to get into (even though I follow the KISS principle, use an easy to read style guideline and document code), but at least it is now possible to contribute. And there will be people who are interested. I know this because I have gotten numerous requests for this in the past, from actual developers, not just people from the modding community who wanted to take a peak.

>> Have some faith in people. =)

EDIT: Btw. ReShade won't be the first (successful) open source injector. GeDoSaTo is open source and it worked out great.
Cheers, crosire =)
Last Edit: 2 years 5 months ago by crosire.
The administrator has disabled public write access.
The following user(s) said Thank You: OtisInf

Open Source 2 years 5 months ago #37

crosire wrote:
>> Have some faith in people. =)

lol

New year optimism confirmed.

That said, still looking forward to it.
Last Edit: 2 years 5 months ago by ShoterXX.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #38

GeDoSaTo worked out pretty well but it was primarily configurations for other games and shader effects since as you said it's a complicated piece of software, had hoped to have seen some more activity but it seems to be a bit inactive for the moment.

It does heavily depend on how popular a project is though and well...

ReShade is pretty popular so I can definitively see contributions to that although I doubt someone will just write in a full DX12 compatibility code or say Vulkan that's probably being a bit optimistic but other smaller enhancements and improvements can happen along with other compatibility additions or bug fixes and the usual suggestions and bug reports. :)
Last Edit: 2 years 5 months ago by JBeckman.
The administrator has disabled public write access.

Open Source 2 years 5 months ago #39

Marty McFly wrote:
VIP versions, versions with removed copyright and hacktools incoming. Well, it was fun while it lasted. Doubt there will be many commits to this, everyone will cook their own soup.

Don't be such a debby-downer... @Crosire is an inelegant developer, I'm positive he's making the right decision.

Also @FierySwordswoman, *Shots Fired* :D
The administrator has disabled public write access.

Open Source 2 years 5 months ago #40

Well, all experience I got with open source was as negative as possible. But as you said crosire, it's the modding community. Let's see if I stand corrected :)
The administrator has disabled public write access.